It Is Not the Programming Languages You Know
Tags: Paradigm Shift, Coding, Programming, Data Science

Photo by John Petalcurin on Unsplash

There is a lot being written about what language you should learn to become a developer. In fact, too much is written about this, I think. In my opinion, this is mostly a moot point, because if you can code in SOME reasonably current language, you can likely get a job somewhere right now. Rapid change in tech periodically brings opportunities to break-in, even to those without a degree. The industry runs through these labor cycles regularly. In this case, if you know React and Node you are employable now, but learning about them from scratch just because, may not be the way to go.

You cannot just look on the job board and pick a language to learn based upon the number of ads you see. It is best if you have some background and user experience in the environment that you are trying to succeed in. If in college you always spent a lot of time mucking with spreadsheets and Excel formulae, then perhaps taking up Visual Basic for Applications and VB.NET are the quickest ways to getting a coding job. If you have been mucking about publishing your writing on the web and styling that writing to look good, then perhaps HTML, CSS, SASS and JQuery will be the languages for you to leverage to become a web developer.

You see the “paradigm” of the technology matters a lot. If you have never done anything with Linux, it might be more difficult to pick up Perl or PHP and start making money. The reason being that the code has to exist in the Linux operating system for the most part. That is a different paradigm than Windows or the web. It is these paradigm shifts and differences that create opportunity, but it can also turn coders into managers.

We are currently in a time of very rapid change. The cloud, mobile, microservices, NOSQL databases and serverless architectures are transforming the technological landscape. Coders always need to stay on top of such changes. Currently, anyone that can get something done in these new paradigms is HIGHLY employable. I congratulate and even envy your ability to write your ticket right now. Negotiate well my friend, because the landscape can change.

Things that seem so solid and lucrative can change. They do so in tech fairly regularly. Frankly, I have had to relearn this job every 5–7 years over this long tech career. During that time, there have been a couple of moments where I felt completely unemployable. I first started on mainframes and then the Graphical User Interface became all the rage. I was asking myself, “Why do people need mice?” I was a very good typist and the mouse seemed to slow me down. I did not want to learn about using a mouse, but I realized if I still wanted to be a “coder”, I needed to adapt.

I almost became unemployable, because of the huge paradigm shift that the graphical user interface represented. These paradigm shifts are much much harder to deal with than simply learning another language. You cannot write code unless you are well-versed in the environment that you are writing code for. You cannot easily “grok” event-driven programming until you have spent some time using a graphical user interface, for example.

Paradigm shifts can come from almost any direction. The way the data got from the user to the computer changed with the GUI. Other things can change though besides just the language or the I/O. The way data is stored and/or retrieved can change for example.

At one point in the mid-nineties, relational databases were taking over. If you did not know what a “table” was compared to the old paradigm of a “file” or why a “record” had become a “row”, you struggled in the new data paradigm. If you could not operate in that paradigm, it would be difficult to learn Structured Query Language and thus you would not get a job...as a coder anyway.

When the Internet took off being able to code for the web made one very employable. I lucked into that paradigm because fancying myself a writer meant when the ability to publish to the public sector with HTML became a thing, I was there immediately. This meant as the dotcom boom took off, I was very employable.

In any case, it must be clear to you now that being a “coder” is a pretty steep hill, but once you get to the top, it is only climbing other steep hills (the paradigm shifts) that keeps you being a coder. Right now, the salaries are very good, if you know the technology du jour. You will land a great paying job right now, but make sure to save some money for the paradigm shift. It will come. I guarantee it. I may not know WHAT the paradigm shift will be, but I know it will come.

We are in one right now, but it is beginning to settle down. Serverless architectures in the cloud are becoming much, much more common. For a few years here, we are going to be able to know what languages to learn and what the paradigm is that we are operating in. We will also have more and more people with language skills in this paradigm under their belt. Soon the competition for the jobs will begin in earnest again as more and more people enter the field and salaries will get tighter. People follow the money in this society meaning businesses will begin to have more choices.

Rest assured though, a paradigm shift will rock the industry. Those that “grok” that new paradigm will easily be able to pick up a new language if that is necessary. Those that cannot have to move to some other career, perhaps they become project managers or business analysts or scrum masters, but they will not likely become coders again. Keep an eye peeled for that next “paradigm shift”, so you can position yourself, transition on and be a coder for a long time.