I'm a Java developer. Is it worthwhile spending the time to expand my database skills beyond basic skills?
Yes. As a programmer, it is very advantageous to have strong database skills. It makes you more professionally rounded, more versatile, and as a result, more marketable.
With the exception of certain specialized application types, the majority of applications are designed to move data in and out of databases. Therefore, your ability to manipulate data increases your software development capabilities.
When I think of database skills, I mentally divide them into three primary skill sets; database design, stored procedure writing, and database production. Database design, as the name suggests, is the ability to analyze the data being stored and construct an appropriate database structure that balances data usage flexibility, data storage efficiency, and application performance. Stored procedures are similar to application software, but written using a database-specific programming language designed to store, manipulate, and retrieve data. Database production is the process of allocating needed disk space, re-indexing overworked indexes and other ongoing production processes. As a programmer, you would be best served to first learn to program stored procedures and then expand your skills to include database design. Learning database production would be an advantage, but as a programmer, it's not as important as the other two.
One more thing to consider regarding database knowledge is that, over the years, various front-end technologies have come and gone, but the data remains. A deep understanding of data storage, data movement, and data usage will be valuable to you throughout your professional career.
If you have any questions about your career in IT, please email me at eric@ManagerMechanics.com.
Until next time, work hard, work smart, and continue to grow.