Let's talk about language and how it's linked to the future of Software Engineers and Programmers. Now, these terms—Software Engineer, Programmer, Software Developer, Coder—often get used interchangeably. But I believe we're going to see more differences between them soon.
The best way to understand this is by looking at language.
What does language do? It's a tool for moving and storing information. It could be written, spoken, or even stored on a computer hard drive. Language helps us put structure to our thoughts or instructions, be it an image in our mind or a set of steps to follow.
Now, when we talk about "programming," language is how we tell a computer to do something step by step to get a result.
Machine language, the most basic form of programming, is tough to use for complex instructions. That's why we came up with Assembly Language, a step up but still pretty hard to use. So, we created compiled languages like C for more complex tasks. But underneath C, Assembly Language was still there.
Compiled Languages still had their challenges. So, we invented even more languages, with better ways of organizing and expressing our instructions.
And then we got to a point where compiling was a limitation. So we created languages that didn't need compiling and were easier to read and change.
The big thing here is that as we changed languages, we changed the role of the "programmer." But these changes weren't random. We wanted better ways to move and store information—specifically, algorithms. Programmers didn't disappear, but their jobs changed. Software engineering didn't disappear either, but the level at which it could operate got higher. Each time, we hid away the boring and tedious stuff, improving the human experience of engineering.
Fast forward to today, we have Large-Language Models (LLMs), a big leap in how we use language to give instructions. We can now use everyday language for tedious and error-prone tasks, making our work more abstract and focused on higher-level goals. Isn't this just the next stage in how we use language to give instructions? Why would this make engineers irrelevant?
This is a new era of empowerment! This will allow smart engineers to give more complex instructions with ease and have a better experience than ever before. Each step in programming language advancement opened new doors and made it easier for people to enter the field, and this will too.
I don't believe AI will replace engineers. Rather, it will make them more expressive and powerful, and it will allow us to think about tackling more advanced projects. We may have fewer "coders" and "programmers", since those are jobs whose definition is bound to the languages used to perform them.
But just like nobody longs to be a “punchcard technician” today, nobody will be sad that we’ve moved on.
Top comments (0)