The post has been translated automatically. Original language: Russian
AI already knows how to write code, create tests, fix bugs, and work with an existing project.
But the more code writing is automated, the more interesting another question becomes.:
and then what remains for the developer and the system analyst?
In my opinion, the value is gradually shifting above the level of individual lines of code.
For example:
It was:
Write a function
↓
Write an API
↓
Write a test
Becomes:
Understand the problem
↓
Design a solution
↓
Define constraints
↓
Split the task
↓
Give AI context
Check the result
↓
Integrate
↓
Test itAI can offer an implementation.
But who will determine:
- does this solution really match the business process?;
- what kind of edge cases are there;
- what data can be changed?;
- where should the boundary between services be?;
- What are the security requirements?;
- what should happen in case of an error;
- how will the change affect the existing system?
These are not so much questions of "writing code" as of systems thinking.
Therefore, perhaps AI does not so much remove the need for engineers as it increases the requirements for their ability to design, test and control complex systems.
Even within large companies, the transition from AI as a "code assistant" to AI as a participant in the engineering process is already being discussed.
I wonder how the role of Junior/Middle/Senior developers will change in 3-5 years.
AI уже умеет писать код, создавать тесты, исправлять ошибки и работать с существующим проектом.
Но чем больше автоматизируется написание кода, тем интереснее становится другой вопрос:
а что тогда остается разработчику и системному аналитику?
На мой взгляд, ценность постепенно смещается выше уровня отдельных строк кода.
Например:
Было:
Написать функцию
↓
Написать API
↓
Написать тест
Становится:
Понять проблему
↓
Спроектировать решение
↓
Определить ограничения
↓
Разбить задачу
↓
Дать AI контекст
↓
Проверить результат
↓
Интегрировать
↓
ПротестироватьAI может предложить реализацию.
Но кто определит:
- действительно ли это решение соответствует бизнес-процессу;
- какие есть edge cases;
- какие данные можно изменять;
- где должна проходить граница между сервисами;
- какие требования к безопасности;
- что должно происходить при ошибке;
- как изменение повлияет на существующую систему?
Это уже вопросы не столько «написания кода», сколько системного мышления.
Поэтому, возможно, AI не столько убирает необходимость в инженерах, сколько повышает требования к их способности проектировать, проверять и контролировать сложные системы.
Даже внутри крупных компаний уже обсуждается переход от AI как «помощника с кодом» к AI как участнику инженерного процесса.
Интересно, как изменится роль Junior/Middle/Senior разработчиков через 3–5 лет.