So a while back, I talked about the imposter syndrome and one of the ways to combat it in the programmer’s life. We talked a little about going deep into a technology. How it can help offset the ignorance about technology x by giving you power in technology y. Today, we will talk about the dark side of going deep into technology.
What could be bad. You become an expert at something and that is never bad.
First, that statement on the surface is true. It can also be a trap for many people. Let me illustrate what i mean.
I was at a career fair about 2 years ago. I talked with a man who was maybe 40 or 45 years old. Still in the prime of his career. Still youngish but with lots of experience. Basically sitting in the prime spot of life.
His life was not going so well. First he was with the same employer for nearly 20 years. In that time, he developed a absolutely dominate understanding of FoxPro dbfs. I gave him a couple of test questions based on my experience with dbfs and he knocked it out of the park. There was one major issue in his life. His boss was becoming abusive to him and he wanted out. His issue is that most people under 30 have not heard of dbfs much less played with them. Relational database knocked that technology off the map 30 years ago. He was an expert at a dead technology.
After hearing his story, I had nothing to tell him. The fact is that we don’t do new development with dbfs and fewer and fewer clients use dbf based systems. We did not have anything for him. I told him what our experience was with dbfs and how a big chunk of my early career was move off of dbf system. It was heartbreaking to watch him realize that it was not going to be easy to find another job with his existing skill set.
I gave him the best advise of looking for old small businesses that might still be using legacy systems. There was probably somewhere in the metro he would fit in with perfectly but it was likely going to be a challenge to find that perfect match. I said contact some head hunters and hope. Otherwise, learn a relational database system. I gave him a quick rundown of Oracle, MySQL and SQL Server and where I felt they fit in the market to help give him some guidance.
Moral of the dark side of going deep story?
A couple of times a year, I remember him. He is a cautionary tale of the deep end. If you are an expert of dead technology. You a functionally an expert at nothing.
That is the dark side of going deep. You can render yourself highly knowledgeable yet valueless. Being trapped in a job can be one of the most miserable experiences possible.
So what is the antidote to the dark side of going deep.
If you remember the programmers career path in my observation? It is a manifestation of the solution. The basic idea is first go deep into something. Spend a couple of years truly grokking it. Then jump to a different technology. For instance, if you are a web page designer. You know all the components of HTML 5 like the back of your hand.
You may not really be programming. Rather you maybe more a scripter. So improve yourself by learning a back end technology. In that case Node.js might be good. If you really want to challenge yourself then learn a C# or php. Do that for a couple of years.
What you will discover is the understanding of the front end make understanding the back end easier. With your JavaScript scripting background you have most of the pieces needed to learn how to properly code. Now you have improved your front end skill and developed back end skills.
Next you could jump over and learn about web servers. All of a sudden you know what the programming part should do and what makes things more efficient. That knowledge will serve you well as you learn about the web server. You are a leg up on your competition. Then you could bounce over to the database side.
See where I am going. In 7-10 years you become a powerful beast of a developer. You are on your way to actually being a mythical creature, a full stack developer.
So what happens if the web goes away? That is the cautionary tale after all.
If the web went away, you have a strong foundation in database so you can pivot over the a DBA role. You have a strong programming background so you can move to a new language fast and easy. You become a dynamic individual rather than a stagnate one.
Finally, there are times you don’t want to leave your job because you are happy. I am not someone who advises swapping jobs every 3 years. If you want to remain in your job and there is not really the ability or desire to jump lanes, that is ok. To handle that situation, make something that you find useful. That something just needs to utilize the skills you want to develop. You need to enjoy it and value it because you are going to dump a bunch of free time developing it. As an extra incentive, if it is something useful then you could build your next job. I can tell you how great it is to have your next job planned out while at your current job.