A change of path
Being a developer is a thing that attracts intelligent minds. The ability to create software that performs the way you want it to be, regardless of its complexity, is something truly fascinating and exciting. This path is all about creative solutions combined with a lot of knowledge about pretty much everything. It’s difficult to create software for medical, financial or another specific purpose without really knowing how it works. Being a developer is all using your troubleshooting skills and creativity in order to produce positive results.
Many chose this path at an early age when confronted with technology. I know many people who already wanted to become Software Engineers in High School and chose Computer Science as their career. They have been happy and successful developers ever since. Other people, like me, chose this path with a little bit of experience in something else under their belt. Each and everyone has their reasons to change their path to software development and I am here to explain mine.
I’ve been passionate about technology since I was a little kid. My older brother studied Computer Science and I would rather sit around with him and watch what he was doing rather than playing with my toys. My father was also involved in technology as he knew DOS and worked his accounting using LOTUS. I grew surrounded by technology and that was the thing that I decided very early I wanted to study further. Many years later, when I finally had the chance to choose my career I was confronted with two options: Computer Science and Telecommunications Engineering.
I chose the latter because of the same people that inspired technology in me. My father was also a radio aficionado and my brother diverted from Computer Science to Network Administration after he began working. I was more involved in Telecommunications and at this point in my life, I never saw a single line of code. The choice was pretty easy to make and Telecommunications Engineering was my path.
However, it was at the university where I learned how to program basic things on Java, C++, and JavaScript when JavaScript was not even considered a programming language. I thought of changing careers when I was exposed to coding but I never really considered it. You see, I am a man that doesn’t quit and I would’ve considered a failure to change my career just because something else tingled my interest. I continued my path but always in the back of my mind, there was this “what if” that stood dormant for many years after finishing university.
I began working for a bank and then for another in my 6 years of experience. I went from a Network Analyst to a Network Administrator, dealing with a team of 6 Network Engineers solving complex design problems and troubleshooting. I really enjoyed working as a Network Administrator as I also had the ability to solve problems using creativity and a fair amount of knowledge in that field.
However, being a Network Engineer is a very sacrificed job. Most of the job is done overnight as we work with production systems. Any change means downtime, means money loss and it means you have to work when people are usually many hours past their bedtime. And this is even truer when working with banking systems as everything revolves around money.
Working as a part of the IT Team, I understood in depth what a System Administrator did, what a Network Administrator did, what an IT Support Technician did and finally what a QA and Software Developers did for a living. I also saw a very clear pattern that repeated itself in all the places I’ve worked so far. The Production Team (aka Network Administrators, System Administrators and IT Support Technicians) were only there to maintain availability. This means, as long as availability is fine, no one really cares what you do or even remembers that you actually do a lot of work to prevent outages. But if something failed, even if it was outside their reach, you were treated very poorly.
You see, part of the sacrifice of being a production side of IT is that no one really sees your work but they remember perfectly every time you fail to provide availability or good service. No one cares about your maintenances or your creative solutions, they care about percentages. You work in the shadows and you remain in the shadows. In contrast, you see how the development team is handled. As long as they meet their goals and deadlines, they are allowed to work however they need to. Creative minds are treated with care. They are hard workers and get respect for it. Everyone sees their work and praise it. When things broke or misbehaved, they were treated with a reasonable amount of professionalism, unlike the production team. I can’t tell you how many times I’ve heard “get it down quickly or I’ll find someone better than you” for the smallest things.
I came to Canada with the idea of continuing my network engineering endeavors. I was quickly met with the reality that you companies look for consultants with 10+ of experience in Network Administration and many other fields like System Administration and Security expertise. The job I once did with such passion is either automated by software or performed by a System Administrator that knows how to tweak said software. I also was met with another reality: for every 1 network administrator job post I came across, I saw 10 of development of some sort. Full-Stack Development, Front-End, Back-End, you name it. The market is filled with opportunities for developers.
Once again, at this point in life, I was confronted with two choices. I could start studying to become a Software Developer or I could become an IT Technician (starting over from scratch) with the idea of eventually becoming a System Administrator to be reunited with the Network Administration I once was so passionate about. Again, I chose the latter but this time the “what if” from 10 years ago started to resonate in the back of my mind.
I found a job as a Help Desk technician that I soon left because it was monotonous and boring. I was an answering machine where I had to read a script to troubleshoot a problem. Having 6 years of experience on troubleshooting the most complex network problems and while managing multiple projects at once, this was way too easy for me. Reading a script on how to fix a problem did not appeal to me. Then I found a job as an Intermediate IT Technician where I had a lot more room to be creative about problem-solving as well as being involved in the roles of Junior System Administrator working with servers.
To my surprise, I did not like this path. I am doing a job I am not passionate about, receiving the “production treatment” every time something goes wrong and I am many years from being involved in Network Administration again. Why am I doing it? I don’t like working with servers, is a completely new skill I need to learn and spend probably another 6 years of learning the ins and outs while I deal with angry clients that call because Word is crashing on their computers. All of this, to have a chance to work with networks but never in the amount of complexity that I did back home.
The true option became clear when I realized this. If I am to start over again, what if I start as a Developer? What if I pursue the idea I had 10 years ago? It’s not a failure to change your mind. It’s a failure to be stubborn and continue doing something you no longer enjoy. But if I am to start from scratch, might as well do it with something I know I’m going to love. And this change, far from a failure, I consider a victory.