Принципы важнее техник
Чем более базовым является знание и чем дольше оно живет - тем в среднем оно полезнее.
Довольно часто вижу и слышу в обсуждениях вопросы из разряда “что лучше - технология X или технология Y?”. Особенно часто такие вопросы задают джуны и миддлы. Что учить - Java или Go? React или Angular? Kafka или RabbitMQ?
Я глубоко убеждён, что базовые принципы важнее конкретных техник. Языки, фреймворки, технологии - всё это приходит и уходит, а базовые принципы остаются постоянно.
Например, паттерны проектирования. Банда четырёх написала свою книгу в 1994 году - и она до сих пор ни капли не утратила своей актуальности. Потому что сменились фреймворки, появились новые языки и ушли старые - а проблемы разработки остались теми же.
Или другой пример - DDD. Первая книга появилась в 2003 году, но актуальность темы не просто не упала, а даже выросла. За последние 10 лет системы стали больше, сложнее и навороченнее, поэтому роль грамотного разделения на домены тоже увеличилась.
Я уж молчу про алгоритмы, многие из которых раза в 2 старше меня и с тех пор особо не менялись. Что поменялось в алгоритмах сортировки? Обхода графа? Да ничего в общем-то.
Поэтому я считаю, что максимум своего времени и внимания в обучении нужно уделять универсальным, переносимым, фундаментальным вещам. Эти знания останутся с вами, если вы смените фреймворк, БД, язык программирования, даже профессию. Специфику конкретной технологии всегда можно доучить, и чаще всего это не самая сложная задача.
Я не говорю, что вообще не нужно учиться технологиям. Нужно, но не забывайте про баланс. Не всегда рациональным будет закапываться в конкретную технологию - кто знает, на сколько она с вами.
Post #223
1.03K
- 👍 7
- 🔥 2
- 🌚 1