Harder job search for junior developers

And this isn't just a problem for developers themselves, but for the development field as a whole.

Junior developers used to write code according to specs provided by more experienced colleagues. Today, that niche is increasingly being taken over by AI-generated code. At first glance that seems great — it speeds up and cuts the cost of part of development — but junior positions used to be the entry gate for software engineers. In that role, specialists built up their initial experience, deepened their understanding of proper architecture (which more experienced colleagues had designed), trained their eyes to «read» code, and got feedback on their work through code review — in short, the process of passing on experience was in full swing.

Today, you could say that process has broken down. I can't claim that's clearly bad for the industry, but it's definitely a new challenge that the development field will need to figure out how to solve.

An even higher level of abstraction

Right at the dawn of the programming profession, in the 1940s-50s, programmers wrote code in the form of machine code. That was the most direct level of instructions for a computer. When programmers wrote this code, they kept a reference sheet handy for translating binary code into a human-understandable value (a number or operation). A need emerged for people to be able to focus more on the actual task rather than the tedious work of translating meaning into machine code. That's how assemblers came about — the first programming languages, where a programmer could write code in a more readable form, and the assembler would translate that code into machine code.

This exact process — where a programmer thinks and writes code in a more convenient language without thinking in detail about the machine code itself — is called abstraction. As a rule, the higher the level of abstraction, the easier it was to teach someone to program, and the more efficient the development process was overall. So the process of abstraction kept moving forward: programming languages and other technologies emerged that helped programmers focus more on the task itself, minimizing the cognitive overhead of the surrounding work.

You could say AI has raised this level of abstraction to an entirely new level. A software developer can describe a task in completely ordinary human language and get back part of the project's implementation, but today's situation with abstraction is very different from before. Previously, the intermediate languages and technologies between developer and computer operated on strict logic: if a person wrote safe, working code in a high-level programming language, there was no need to check what code was being generated at the lower levels. Today, in my view, a developer is obligated to keep an eye on what code is being generated, since AI doesn't follow strict logic — the same input instruction can produce different code depending on a host of other parameters.

Rising overhead on various platforms

As AI use has grown, we've seen a sharp rise in content volume across a wide range of fields: music tracks on streaming platforms, videos on video platforms, articles. It's one thing when we're talking about quality content, where AI is genuinely useful as an assistant, and quite another when content is generated in massive quantities in hopes of «winning by volume». This kind of low-quality content, known as «AI slop», quickly led to countermeasures from various platforms. Spotify, for instance, reported last year that it had removed 75 million «spam» tracks over 12 months (link to the article). Not all of it is tied to AI use, but the article notes that the rapid growth of this kind of content coincides with the spread of AI adoption.

The same thing is happening on the App Store and Google Play. I wrote about this in part in my article on app publishing. In short — because of the flood of apps, the time it takes to publish on these platforms keeps growing.

Brief conclusion

AI has brought major changes to the development process overall, including mobile app development. On one hand, a good helper has emerged that speeds up the development process (which, by the way, is only part of a project), but on the other hand, new transaction costs have been added. I'm optimistic about the future, expecting the current trend to expand the field of custom software development. In the past, only mid-size and large businesses could afford custom development — today that paradigm is changing.