Mailbag: Advice For a Young Computer Professional
A young friend of mine with a few years of computer industry experience under his belt has just started a master’s program in computer science and inquired about the health of the database industry in the US with a view to making a career in it. My reply was that there is tremendous innovation happening in the database industry in the US—Exadata, Netezza, ParAccel, VectorWise, and Vertica are some examples that came to mind in the analytics space—but database administration jobs are being outsourced and offshored. I asked some colleagues for their opinions and Arup Nanda had this to say:
“What specific career would you want to pursue? Developing database systems code is very different from building and managing databases. Even in managing there are several fields. If you want to be the former (the developer), the expertise does not stop at databases alone. You then become an expert in the specific programming language and constructs of the system you are working on. That skillset is highly transferable to pretty much any industry; not just databases. That will always be demand for such skills.
On the other hand, if you want to be a user of such technologies (being a DBA, for instance), then you are restricting yourself a finer segment of the market. As Iggy mentioned, that skillset is easily exported overseas where jobs are much cheaper. One example: my own company. We just outsourced 1500+ jobs to India including all (yes, all) DBAs. You can survive being the top notch player in the field; but there is room for only a few and the journey there is tough.
There are other aspects of the data user market, being Data Architect (different from Database Architect), who usually do modeling and logical analysis. That allows you to be less technical than a DBA; but more informed of the business your organization is in. This skillset makes you highly valuable to the company you work for since this is not easily replaceable and usually not out-sourced. It will also make you attractive to other companies in the similar sector.
At the end of the day, you have to ask yourself this question – would you want to remain technically strong throughout the career or become a manager of people. Contrary to everyone else may say, I believe the skillset required to become a manager is very different from a technical person. The transition is very tough; but many have done that. Some, such as me, have failed. On the other hand, if you want to remain technical, remember time is counted in technology years, which is even smaller than dog years.
My suggestion: if you want to be a DBA, understand from the get-go that you want to be the top dog as soon as possible, and commit yourself to the effort that this goal demands. If you want to be the passing by sort of DBA, never bother. Those jobs are going to as extinct as T-Rex in the US. If you want to wan to be a data architect, work towards it immediately and establish a foothold in a company. Your goal should be very different – data structures as opposed to technologies. If your would rather be a manager, demonstrate those traits of the personality as soon as possible. Remember, your skills as a technocrat will have little bearing on your attractiveness as a manager.”
Arup’s advice applies to me too. I can paraphrase it as “choose a specific career path such as software developer, database administrator, or manager; aim at becoming an expert and commit to the effort involved; and, if possible, choose a job category that is not easily outsourced.”