Database Programming and Architecture
An experienced database developer is able to read between lines when a customer approaches him with functional requirements. He anticipates data redundancy problems, concurrency issues (number of simultaenous users connecting at the same time) and potential performance bottlenecks. He interactively discusses with the client to understand how he operates his business and what is the optimal way to represent this information in a reliable database.
What if the company grows? What if the organization changes over time? What if the product or service offerings gradually take more optionals? A good database developer knows that change is a natural part of business, plans for this and conceives a database architecture that has room for growth - avoiding future headeaches.
It is also the task of an effective database developer to thoroughly think in what ways the client may use the data, what reports he may need (even beyond the ones he was originally asked to do). How can we use the data to better service end users or buyers? How can it save us time? How can we spot overspending or waste? How can we learn from our customer behavior, find tendencies and detect ways to upsell or cross-sell? An experienced eye can detect and analyze all these variables so you make the best of your investment.
At 3D-Rex Studios we create and design rights-based database applications that allow users to access, enter or modify (upgrade/update) data with these criteria in mind. Smaller database applications utilize SQL, MySQL or PostgreSQL in combination with PHP, ASP or ASP.net. Our databases can be setup locally on a client’s PC or server or remotely on a hosted server and depending on the size allow up to 50.000 concurrent users. We also can implement and work frequently with Oracle (relational database management system; RDBMS), IBM (e.g. Cognos TM1) and SAP (MaxDB).
But beyond all the technical jargon, what matters most is the essence of the database developer: the ability to optimize your company's data storage so it brings value to you later when you access it. It's not about storing the dots, but connecting them.