Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Articles When the Jobs Go Marching in

When the Jobs Go Marching in

Key Takeaways

  • In the next decades, there will be a surge in demand for coders and IT professionals in general.
  • It is just natural that persons displaced by new technologies such as automation will be drawn to these jobs.
  • Rushing to quickly learn new hot technologies has the potential to create a group of “practitioners” but not “professionals”.
  • Businesses that rely on “practitioners” will be underserved.
  • Newcomers to IT should focus on a stable core instead of transitory “buzz knowledge”.

When the jobs go marching in

Much has been said lately about the return of manufacturing jobs to the United States, but how much prosperity and economic stability come from these “legacy” jobs? Automation and artificial intelligence are showing huge strides towards mainstream, and although automation potential varies from area to area, one can be assured that no economic sector will be left unaffected by this revolution. An interesting analysis of this trend and its repercussions can be seen in this article by McKinsey&Company. And this phenomena is certainly affecting not only the United States, but has enormous global impact, as another fascinating perspective is offered by the World Economic Forum in its report named “The Future of Jobs”. By reading these documents we can clearly understand the profound and worldwide implications of this unstoppable trend. We then realize that the insistence to look at a snapshot of the market place taken years ago, and project that into the future is nothing but an exercise in nostalgia.

Thus, given this new landscape, where are the jobs? A recent online article at states that coding is the new big blue-collar job. With virtually all relevant economic activities nowadays relying on technology, coders are indeed the fuel for this emerging engine. These are stable, challenging and well-paid jobs which will require a legion of people willing and capable of taking them.

This is all good but as always, the devil is in the details. How well is this new contingent of blue-collar workers being trained to fulfill the demand? Browsing the Internet, it is not difficult to find web sites that announce things such as “web programmer boot camp” or “become a web developer in 7 simple steps”.  It is in fact tempting for someone who sees the opportunities around to embark on this bandwagon. After all, this is the future, isn’t it? But can you really become a (good) coder by focusing on programming only?

Author Steve McConnel offers a brilliant discussion of the profession of software engineering in his book “After the gold rush”. He postulates that software engineering (with coding being one of its disciplines) is a profession just as important as many other established ones like law, medicine and architecture. And in that regard, it should then mirror these professions and bring with it the same type of rigor and attention needed to qualify its professionals.  Someone entering the field should not be encouraged to take shortcuts by focusing only on “what is hot” currently, but instead start with the foundation, which in software engineering includes concepts such as:

  • Data structures
  • Design and analysis of algorithms
  • Software design and project management
  • Object-oriented analysis, design and programming

The list above is not all-inclusive, and many other important skills could be added, but what is common among them is the fact that they all are technology-agnostic, which in other words means they are a stable core. For a great resource about core knowledge in the software engineering field, please refer to IEEE’s Software Engineering Body of Knowledge. By focusing in and mastering the stable core, one can easily transition between technologies, a requirement that any seasoned professional will attest is among the top qualities needed to be a successful software developer/coder. Without this foundation, what we end up with is a group of “practitioners” of the trade, not much different from a Wild West dentist that learned how to extract teeth by trial and error, using clients as guinea pigs.

In addition to this, there is one fact that puts extra pressure on this whole context. A lot of software that is being written these days will be embedded in IoT hardware, which will in turn be added to cars, phones, homes, etc. We all know that quality and reliability are key elements when we talk about these devices, and that it will be just a matter of time before some exploit shows up that takes advantage of poorly written software, with possible dire or even fatal consequences. For a real example of that see this article. No company can afford to have its name in the headlines because of things like these.

Along with knowledge about the stable core (technical skills), one cannot disregard the importance of so-called ‘soft skills’ in any IT professional. The stereotypical image of the developer in front of his computer, alone, for hours and hours just doesn’t match reality most of the time. The ability to get a point across, to explain complicated things in an easy way, to work with others, are all quintessential skills in our modern world. In a lot of cases, these skills will make or break a career it IT, and those are not abilities that can be mastered in a seven-day crash course. For a further discussion about this topic, see the following article from Harvard University.

That said, let’s stop for a minute and think about the perfect storm forming:

  • big demand for coders/IT workers in the next decades
  • a huge contingent of people realizing these are the jobs that will become the new middle class
  • low barriers of entry due to the non-regulated nature of the profession.
  • proliferation of consumer-driven software.

We’ve already established that people can follow the “practitioner” or the “professional” path. What will the impact be for companies when they use these different groups? In my years of experience as an IT consultant, one thing that has always been true in all my engagements is this: IT resources are not a commodity. I understand some people and companies would love if they were, and are willing to treat them as so. One Oracle DBA just left? Just pick one from the “shelf” and replace it. Can the task (theoretically) be done remotely and at a cheaper cost? Let’s do it! Well, how often does that work? Reality is that IT workers are not generic cogs. A great coder most likely brings additional qualities to the job that aren’t easily replaced, and this difference will be especially noticed when “practitioners” and “professionals” get mixed together. If companies just hire people based on the knowledge of the new shiny technology, it is easy to see how Mother Nature will eventually prove its power and a process of “natural selection” will occur:

  • Practitioners” will soon find out that they can’t navigate horizontally (new technologies) or vertically (new roles) and will then get frustrated. Lack of motivation and declining quality will follow;
  • Some companies will suffer when they realize the size of the gap between what is needed to succeed in terms of flexibility and competence and what the market offers in general. Costs will increase due to rework and a few organizations will succumb to PR scandals and/or lawsuits;
  • Valuable professionals will be considered “rain makers”, but at the same time some will be disappointed when being part of teams that cannot deliver what they are supposed to deliver purely based on the quality of their resources.

How to deal with this scenario then? I can think of this issue from two different but complementary points of view:

1-Companies and their Human Resources departments: there must be an understanding that while the path of least resistance is rather tempting, a long-term vision is certainly more beneficial. Instead of recruiting “practitioners” that only bring superficial knowledge, focus on hiring “professionals” that have solid understanding of the stable core. Since this is not HR’s main expertise, senior IT professionals from other areas should be involved early in the recruitment process to filter out undesired candidates. Whenever possible, recruit from areas within the company where you can find people that are motivated to invest in core knowledge. It may be necessary to establish a basic curriculum that internal candidates can follow. It is also valuable for companies to encourage an “apprenticeship” approach, where younger professionals can be mentored by more seasoned ones, thus benefitting from their experience. For companies that outsource part or all of their IT function, establish guidelines to be able to vet vendors and verify that they are not offering “practitioners-only” resources.

2-People wanting to take advantage of new IT jobs: look for classes that focus on the foundations. This does not mean that a new four-year degree is needed, but maybe some courses at the closest community college could be useful. Mix these courses with some current technology training, so you have a chance to apply your newly acquired knowledge as soon as possible. Do not expect to master everything quickly, but rest assured that once you have the foundations covered it will be a lot easier to navigate the ecosystem. If possible, find a mentor that can guide you and help you in your journey. Don’t get lured by magical promises. If it looks too good to be true, probably it is.

Please notice I am purposely leaving out one aspect: the role that government and other institutions could play in terms of incentives related to education and professional development along with accreditation programs. This certainly is relevant, but it is such a complex theme that should be discussed in a separate article.

I see tremendous benefits in the convergence of the two points of view above. Companies will be staffed with a new generation of IT workers who will be able to consistently fulfill present and future technology needs. At the same time, new professionals will be able to successfully deliver quality results, but more importantly, be qualified to go beyond the new shiny thing. This scenario is not for the short-term, “instant-gratification-minded” players, but certainly is the one that most likely favors businesses and individuals in the long run.  Ultimately, society will be the main beneficiary, since this new environment will foster the creation of a new and stronger workforce, the one that will move the economy forward in the next several decades and shape the path for future generations.

About the Author

Alex Barros is a Solutions Architect and Director of Brazil Operations for QAT Global. For years, he has worked as a consultant for several businesses in the United States and other countries, in areas as diverse as transportation, animal science and smart grid. During his career, he had the chance to work with multiple technologies such as Java, .Net, LAMP, Data Warehouse and others. He holds a B.Sc. in Electronic Engineering from UFRJ Brazil and an MBA from University of Nebraska Omaha. Contact him at

Rate this Article