Rethinking programmer training for today’s coders

The proliferation of low-code and no-code applications is changing the software landscape. Growth in these areas over the past decade has enabled employees to generate solutions at the speed of a digital world, regardless of their technical background.

This raises several questions: What kind of programmers do businesses really need? Should they always rely on programmers formally trained at four-year universities – what you might call “white collar” programmers? Or, conversely, are blue collar programmers with self-taught skills or those who learned from a bootcamp more valuable? What will give organizations the right mix of programming skills?

The short answer is that all programmers can be of great value. In general, blue collar programmers, after all, connect things within the computing environment, while white collar programmers create the things that are connected. The essence of low-code is that it allows more people to connect things and use their creativity to become more productive. But that doesn’t eliminate the need for professional programming and tools at its core.

Basically, low-code and no-code are about democratization. They allow people without technical skills to work creatively in ways that make everyone a programmer. A parallel to an earlier computer generation is the Excel Spreadsheet, which allows people with no programming experience to perform calculation tasks and possibly switch from simple formatting to full-fledged programming. But at some point, refined programming skills are always required, no matter how easily no-code or low-code can render some of those things.

In the hectic pace of cloud-based computing environments with new services constantly being developed and deployed at the edge, it is worth considering the distinctions between white-collar and blue-collar programmers and the types of education appropriate for each.

Four-year colleges vs. Training camps

A career as a programmer can seem daunting to viewers. This is especially true when that work involves complex languages ​​such as C ++ and Java, which are often used in large projects that can take years to develop and involve millions of lines of code. Some of that is still true, but the evolution of programming over the years to languages ​​that require less code, such as Python, and to domain-specific languages ​​(DSLs), has also started to lower the standards. entry barriers for programming.

It’s true that you never needed a four-year computer science degree to be a programmer. In fact, many of those who dropped out or never attended university have made significant contributions to the industry. However, universities provide a theoretical foundation and algorithms that have always served programmers well and allow them to branch out into new areas, such as artificial intelligence or other disciplines, such as bioinformatics. Coding bootcamps, on the other hand, can provide intensive training on DSLs or frameworks like Rails or React.js that can benefit business plans, giving blue-collar programmers practical skills that white-collar programmers may not. to have. They also attract career-changing participants with four-year degrees in other subjects, including humanities and sciences, which brings much-needed new ways of thinking to the profession.

While every method is valid, four-year institutions and bootcamps also have their flaws. Universities deepen software development theory, but often don’t focus on critical aspects of work, such as teamwork, testing, and agile processes. They also don’t focus much on key areas of business today, like cloud computing. Boot camps, targeting specific areas and emerging technologies and languages, can help people get internships or entry-level jobs, but do not provide a broader theoretical knowledge of programming. And they can be random, with some of them using sketchy practices for payments and placement.

The inherent weaknesses in white-collar and blue-collar training can be corrected through apprenticeships and internships, but only up to a point. The question remains: who will train low-code programmers in modern coding and development practices? Many companies use terms like Agile and CI / CD, but these are often just new labels on old and inefficient practices. Businesses will need white collar programmers to upgrade blue collar programmers.

Programming for Masses

Codeless software is a great tool for people with no formal education or experience to master a programming environment. On the other hand, for people with formal training, whether formal education or boot camp experience, low-code simplifies their jobs, leaving time to learn. focus on more complex projects. But programmer or not, users of no-code, low-code solutions need to understand more than just deployment and testing if they want their software to be reliable and useful.

Professional developers can make a difference by building and maintaining the pipelines used to build, test, archive, and deploy low-code software; they will have to create new tools to adapt to low-code frameworks. And while learning about current development techniques, they could become masters of essential computing practices that don’t involve coding.

A cooperative and productive relationship between white-collar and blue-collar programmers is essential for moving forward with software development, as it will allow both to continue to gain new skills and experience outside of low-code, which is only a product of programming, no matter how ubiquitous it can be.

Make the connection

Today we are entering a business world where virtually everyone will have to code, making low-code and no-code frameworks necessary, especially for users without formal training. However, the importance of professional programmers will also remain.

We will likely see a proliferation of DSLs created to solve specific problems, which will eventually evolve into general-purpose programming languages. Programmers will need to build web frameworks, cloud capabilities, and more, including everything from web widgets to high-level tools that let users get things done. This may be the only way to start meeting the demand for more people who can program as more devices come online, more connections are made, and the world becomes more dependent. automation.

Sam D. Gomez