The post has been translated automatically. Original language: Russian
It's easy to fall into the trap in IT: learn a new framework, write a couple of services, and assume that you've "grown up." But in practice, they don't value someone who knows more tools, but someone who thinks systematically.
A good engineer:
- He asks questions first, and then writes the code.;
- designs a solution, not "fixes the symptoms";
- thinks about support and scaling even before the first commit;
- He knows how to say "no" to a bad decision, even if it's quick.
Technology is becoming obsolete.
Architectural thinking is not.
If you want to grow faster:
✔ read other people's code, not just the documentation;
✔ figure out "why" the system works, not "how";
Write your code as if it will be maintained by another person (and most often by you in six months).
In the long run, it's not the most "hype" that wins, but the most understandable and reliable engineers.
Code is a reflection of thinking. If you improve your thinking, the code automatically improves.
В IT легко попасть в ловушку: выучить новый фреймворк, написать пару сервисов — и считать, что ты «вырос». Но на практике ценят не того, кто знает больше инструментов, а того, кто думает системно.
Хороший инженер:
- сначала задаёт вопросы, а потом пишет код;
- проектирует решение, а не «чинит симптомы»;
- думает о поддержке и масштабировании ещё до первого коммита;
- умеет сказать «нет» плохому решению, даже если оно быстрое.
Технологии устаревают.
Архитектурное мышление — нет.
Если хочешь расти быстрее:
✔ читай чужой код, а не только документацию;
✔ разбирайся, «почему» система работает, а не «как»;
✔ пиши код так, будто его будет поддерживать другой человек (а чаще всего — ты через полгода).
В долгой перспективе выигрывают не самые «хайповые», а самые понятные и надёжные инженеры.
Код — это отражение мышления. Улучшаешь мышление — автоматически улучшается код.