Skip to content

Latest commit

 

History

History
36 lines (21 loc) · 2.75 KB

SkillsForFutureDevelopers.md

File metadata and controls

36 lines (21 loc) · 2.75 KB

Skills for Future developers

Key takeaways:

We already had many revolutions which were supposed to “take our jobs” - when we started using compilers, IDEs etc. They were supposed to drastically speed up our work and improve the code quality. We now know they’re only tools, and it all depends on how they are used.

Everyone who has experience with outsourcing knows that it’s not so easy. There is more review necessary and we need more judgment. Just delegating may lead to poor quality solutions and spaghetti code. Research showed that AI generated code is verbose and leads to more technical debt https://devops.com/does-using-ai-assistants-lead-to-lower-code-quality

Software engineering is 20% of creating new features and 80% of maintenance. The maintenance part is hard to fully automate, so people will be necessary for a very long time.

On one hand, no-one understands what happens in the black box, on the other hand, AI don’t really have “intelligence” like humans. Therefore, it’s unlikely people will be excluded from the software engineering process.

When we think about the skills of future programmers, they are mostly:

  • Understanding the context and requirements
  • Communication skills (with humans and AI tools)
  • Negotiating and selling ideas to business people
  • Reviewing and judging generated/someone else’s code
  • Adapting to change and learning new tools
  • Context switching

It’s aligned with what predicted skills of the future will be https://www.weforum.org/agenda/2020/10/top-10-work-skills-of-tomorrow-how-long-it-takes-to-learn-them/

Coding skills per se won’t be a differentiating factor anymore - there is a need to change interview processes.

AI training costs a lot of electric power and water, so there is a need to make those solutions more sustainable.

We cannot really predict the future and decide if this is “just another hype” or “magic bullet” to solve all problems. We need to stay curious and open-minded. The curve is dramatically rising.

“The worse you are, the more AI can help you”. AI tools are great to solve simple problems and junior challenges.

The problem of “empty java file” will go away. A lot of bootstrapping processes will be automated.

Great code and totally crappy code are not problematic. We need to spend most of the time reviewing code which falls in the middle, when you need to review it.

Public discussions like StackOverflow will be replaced by private discussions with AI assistants. We will see the result, but not the process of decision-making and justifying them. This can be problematic for content creators and educators, because we cannot look for problems people have on a daily basis. All this decision-making process becomes private, and it’s owned by the tool's owners.