One of the ways in which developers become better at their craft is by building software. They tackle a personal project or maybe modify someone else’s code. They may work through exercises, solving problems like the Advent of Code. As with many tasks, practice makes perfect.
Database developers need to do the same thing. To grow their skills, they certainly need to find ways to improve their skills. That means tackling some sort of database project, which is often inherently more complex than a software project. Beginning code projects might ask you to reverse a string. Certainly a T-SQL project might do that, but what about storing a set of data for strings? What about setting up a server and database? There can be a lot more to database development than the programming code.
I do think that learning to model data, and store it in an efficient, useful fashion, is a skill. Whether in a relational database or a NoSQL store of some flavor, you need to find a way to not only solve a problem, but get feedback.
Today I wonder if you have a thought on a good beginner project? I found a list, but are there any that you think will help a junior database developer learn how to built entities and relationships?
Maybe more importantly, how do you evaluate a good design? How do you get feedback, or test and evaluate your work? Often many of us make choices in the real world, and we may not learn how well they actually work until lots of code is written and an application stresses our design. Then it might be too late, or very difficult, to change things.
If you’ve got ideas, exercises, or even ways to share designs, let me know today.