Как стать автором
Обновить

Почему вы никогда не выучите все фреймворки

Время на прочтение5 мин
Количество просмотров3.5K

Когда вы в последний раз чувствовали себя настоящим экспертом в разработке? Лично я — где-то в тот момент, когда впервые написал программу, которая завершилась без ошибок. Программирование — это как бесконечный ремонт дома, в котором ты уже живёшь. Ещё вчера тебе казалось, что новая крыша будет решением всех проблем. А сегодня оказалось, что появились окна с автоподогревом, и без них дом вообще не дом. И, конечно, все соседи уже поставили такие.

Когда я только начинал писать код, казалось, что всё устроено достаточно просто. Выучил язык, разобрался с парой библиотек, написал несколько алгоритмов — и ты уже молодец, программист. Но со временем это ощущение исчезло. Теперь я захожу в Telegram или читаю очередной техноблог, и мне кажется, что все обсуждают что-то, в чём я ещё не разобрался: вышел новый фреймворк вроде Bun.js, обновилась спецификация языка (JavaScript ECMAScript 2024), релизился Webpack 6. А кто-то успел протестировать какой-нибудь новый линтер. И на фоне этих ярких изменений я смотрю на свой рабочий проект и задаюсь вопросом: а смогу ли встроить в свои проекты весь этот сверхсовременный стэк, да и нужен ли он вообще.

Программисты как спортсмены

Одно из самых сложных (и интересных) качеств нашей профессии — её неспособность остановиться. Если в разработке и есть что-то постоянное, так это скорость изменений. Мы живём в индустрии, которая развивается быстрее, чем любая другая — каждый месяц:

  • Приходят новые инструменты (вроде Vite && TurboPack),

  • Кто-то находит проблемы в существующих подходах (например, проблемы с масштабируемостью старых монолитов),

  • А кто-то предлагает принципиально новые архитектурные решения (как популяризация микросервисов или "serverless-first").

Эти новшества делают нас частью невероятного прогресса, но одновременно и участниками гонки. Только вот эта гонка часто оказывается далеко не про технологии — она про нас самих. Ты будто сравниваешь себя сегодняшнего с собой вчерашним и задаешь всё те же вопросы: сколько мне ещё нужно знать? Как быстро я могу освоить новую технологию? Смогу ли я за неделю разобраться в том, что другие изучали месяцами?

И вот это постоянное сравнение — как и в профессиональном спорте — может либо стимулировать, либо разрушать.

Да, мы живём в мире, где на нас всегда давят дедлайны и новые фреймворки. Но признайтесь: ведь круто поспорить с коллегами, нужен ли вашему проекту новый "лёгкий" инструмент, о котором вы потом будете жалеть весь следующий квартал

Фреймворк недели. Или как технологии бегут быстрее нас

Каждый месяц появляются не просто новые технологии, а "ослепительно новые" — настолько, что кажется, будто без них ваш проект обречён. Примеры есть у всех:

  • Кто-то внедрил Next.js и утверждает, что без серверного рендеринга (#SSR) современные сайты уже неактуальны.

  • Кто-то перешёл на SvelteKit и рассказывает, что его отдача по производительности переплюнула проект на React.

  • Или вспомните хайп вокруг Deno, который якобы должен был заменить старый добрый Node.js. А вы его используете?

Новые 'убийцы технологий' появляются быстрее, чем ты успеваешь допить кофе и открыть вкладку с их докой. А к моменту, когда ты делаешь последний глоток, уже появляется другой материал с кричащими заголовками про то, что и на "убийцу" нашелся еще более ультимативный конкурент. Помните, как NoSQL заменил все эти устаревшие и неактуальные подходы реляционных баз, создав прекрасный мир без PostgeSQL/MSSQL/...? А как шарповый Blazor уничтожил JS, TS, да и вообще всю фронтовую разработку?

Объем доков новых фреймворков, вышедших в 2024 не перечитать и за год и никто из нас не знает их всех. Никто. Даже самые популярные технические блогеры, которые дают великолепные доклады на конференциях, не успевают прыгнуть в каждый технологический поезд.

Жизнь программиста — это постоянный выбор: что выучить, а что пропустить. Kubernetes выглядит как сложный монстр, но нужен ли он вам в вашей реальной работе? Может быть, прямо сейчас проще сосредоточиться на углублении знаний в вашем стекe или на освоении TypeScript?

В какой-то момент я понял, что знания накладываются слоями. Если ты обладаешь хорошей базой — тебе не составит труда разбираться в новых инструментах, ведь концепции остаются те же самыми. Забавно, но чем больше опыта у тебя в программировании, тем медленнее начинают устаревать твои знания.

Формула давления: почему нам кажется, что мы всегда отстаём

Ключевая проблема, с которой сталкивается большинство разработчиков, — это восприятие времени. На вас давят дедлайны. Это накладывается на восприятие обучения: нам кажется, что новые инструменты стоит освоить немедленно, ведь "это должно было быть сделано ещё вчера". А если вы проводите время на GitHub, Hacker News или Reddit, то вокруг сплошь истории успеха:

  • Кто-то запустил маленький программный продукт, который заработал миллионы.

  • Кто-то выложил библиотеку, которая собрала десятки тысяч звёзд.

  • А кто-то имплементировал алгоритмы, которые вы не знали даже в теории.

Но это иллюзия. Реальная жизнь не такая. Никто не публикует гифки, как он 3 дня пытается понять, почему у него не работает docker-compose. Никто не выкладывает посты о том, как 2 часа бился головой о стену, пока не запустилась база данных для тестов. Мы видим только результат, а не путь. И мы себя сравниваем с этим "отредактированным образом".

GitHub — это как Instagram для программистов, только вместо красивых фоточек еды здесь проекты с идеальным кодом, из-за которых забываешь, что реальная жизнь чуть менее гламурна. Никто не выкладывает stories "пять часов дебага, а причина оказалась у меня в кэше".

В этой гонке важно понять одну вещь: такой подход разрушает. Если постоянно бежать только ради того, чтобы "догнать", то вы устанете быстрее, чем добьётесь успеха.

Как справиться с этой гонкой

Я не думаю, что кто-то из программистов может до конца выбраться из этого ощущения. Мы всегда будем чем-то увлечены, чем-то обеспокоены в своей работе. Но я научился относиться к этому иначе.

Первое — теперь я не сравниваю себя с другими. Не существует никакой позиции "идеального инженера", к которой нужно стремиться. Даже если ты встретишь крутого разработчика, который создал кучу библиотек, он тоже с чего-то начинал. Его путь — это его путь, а ваш — это ваш.

Второе — цените свой прогресс. Одним из главных принципов для меня стало постоянное "фиксирование маленьких побед". Да, сегодня я не изучил новую библиотеку или не внедрил суперновый инструмент, но разобрался с очередным багом, оптимизировал модуль или закрыл несколько задач. Это уже повод для удовлетворения.

Наконец, работа программиста — это больше про любопытство, чем про обязательства. Мы не должны "выучить все технологии" или "стать лучшими во всём сразу". Мы должны постоянно оставаться любопытными и исследовать. Это лучшее, что мы можем сделать для себя и этой профессии.

Как выбраться из "гонки"

  • Не торопитесь осваивать всё и сразу. Добавьте технологии в свой список, но не пытайтесь погружаться в каждую. Новые инструменты всегда кажутся незаменимыми, но, как правило, только 10–20% из них действительно становятся стандартами.

  • Сравнивайте себя только с прошлым опытом. Научились использовать новый инструмент? Решили задачу проще? Это и есть ваш прогресс.

  • Вдохновляйтесь, но не ориентируйтесь на чужие графики. У каждого своя "гонка". Некоторые к 20 годам пишут нейросети, а у других карьера строится к 30–40 годам, но ведёт к глубокому пониманию фундаментальных знаний.

  • Учитесь основам. Это замедлит устаревание ваших знаний. Если вы сделаете ставку на принципы разработки (SOLID, алгоритмы и структуры данных, асинхронщина), то любой фреймворк будет гораздо проще освоить. Ведь концепции не меняются.

Вместо заключения

Мне нравится думать, что программирование — это профессия, в которой ты будешь узнавать и расти до самого конца. Это нескончаемая гонка с самим собой. Только она не про то, чтобы стать лучшим на какой-нибудь конференции или блеснуть на собеседованиях. Это про то, чтобы каждый день спрашивать себя: "Что нового я могу понять и создать?"

Но если уж признавать это гонкой, то представьте, что это гонка ради удовольствия, а не чтобы первым прийти к финишу. Оглянитесь вокруг: вы — участник невероятного марафона, в котором нам не столько важно выиграть, сколько научиться наслаждаться бегом.

Да, мы всегда будем немного отставать от реальности, но это не повод останавливаться. Ведь самое лучшее в этой работе — это процесс. Всё, что вы делаете, — это шаг вперёд. Как сказал один мой коллега:

"Если ты до сих пор задаёшь вопросы — значит, ты продолжаешь расти и учиться — а это главный признак хорошего программиста".

Теги:
Хабы:
+17
Комментарии43

Публикации

Истории

Работа

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область