I've been a programmer for the past six years. Throughout my career, I have worked on many web applications.
Most of the time, when a database was needed, it was given to us (the programmers) or we had some legacy database to work on. If not that, we had to create and design the database on our own which was not that tough.
But are we, as programmers, supposed to create the entire database from scratch when we have to build new application where data is so important and have messy requirements with a complex data model?
Isn't it in the best interest of the app and the company to get it done by an expert?
I am not trying to run away from designing the database, but it's a thing that is so important to get right.