Как выживать в изменяющемся мире разработки
В прошлую пятницу провели с коллегами небольшой внутренний митинг о постоянном самосовершенствовании в личное время. В современном IT необходимо всё время бежать, чтобы просто оставаться на месте. Так как я люблю и проводить подобные встречи делясь опытом и самосовершенствоваться, я с радостью принял предложение коллег провести митинг именно на эту тему. Чтобы не быть одиноким рассказчиком я попросил тим-лида и одного из сеньоров подготовить свои рассказы из собственного опыта, чтобы создать атмосферу для дискуссии. Результатом этой дискуссии стала эта статья в которой мы собрали 9 способов выживания в современном IT-мире.
[sendpulse-form id=”278″]
Заглянем в мир фронтенда. Со знанием JavaScript пятилетней давности сейчас хорошую работу не найдешь. Сейчас RequireJS + Grunt не прокатят, надо знать React, Webpack, современный ES или TypeScript и т.д. Причем в следующем году многое уже снова устареет.
Не всегда на работе можно получить новые знания, потому что зачастую там тонны легаси (если долго пилится какой-то продукт — это неизбежно), которые никто переписывать “по модному” не даст.
Что же делать? Делать pet projects по ночам? Или пытаться сменить направление развития на более стабильное во времени?
Способ выживания №1 – Уйти в руководство
Преимущества:
- Иногда достаточно знать технологии по верхам (это зависит от вида руководства, team lead, tech lead, CTO и т.д. — совершенно разные обязанности)
- Можно выбирать технологический стек самому.
Недостатки
- Не знать детали технологий пожалуй можно лишь менеджменту верхних уровней. Простой тимлид должен всё знать, никуда не денешься. Tech lead должен знать лучше всех.
- Эта работа многим не по нутру. Управление людьми — это совершенно отдельная профессия, не имеющая ничего общего с программированием. Многие туда стремятся, но, едва попробовав, с радостью возвращаются обратно к коду.
Если одним из поощряемых качеств простого программиста является суперконцентрация на сложной задаче, то здесь наоборот: зачастую жонглируешь задачами, толком не вникая в реализацию (просто нет на это времени). - Даже если ты выбираешь стек сам, то ты не будешь делать радикальных изменений в проекте (переписать с PHP на Rust), потому что для этого всё так же не будет ресурсов. Когда ты отвечаешь за всю “техничку”, то понимаешь это как никогда.
Способ выживания №2 – Уйти в суперстабильные или зарегулированные компании
Говорят, до сих пор где-то в банках и нефтянке пилят на Java 7 и горя не знают. И такой работы там еще на 100 лет.
Недостатки тоже очевидны: скукота, бюрократия. Ну и если вдруг стабильная компания внезапно умирает, а так тоже бывает, то на рынке труда с java 7 будет сложновато.
Способ выживания №3 – Полумёртвые языки
Ходят легенды о программистах на COBOL и их нечеловеческих зарплатах. Вполне верю: спрос хоть и маленький, но предложения вообще нет. Никто не пойдет учить cobol.
Недостатки: древние языки ужасны, и инструменты для них ужасны. Перспективы не ясны, вполне возможно язык доумирает до конца.
Способ выживания №4 – Развивать ядро базы данных или линукса
Есть такие продукты на все времена, где люди как пилили что-то там на Си двадцать лет назад, так и пилят.
Из недостатков можно отметить, что писать безопасно на Си — это непросто, и не все любят ручное управление памятью. Возможно когда-нибудь эту нишу займет язык Rust, хотя точно не в ближайшее десятилетие.
Вакансий на чистом Си не так уж и много, и обычно подразумевается наличие большого количества других знаний помимо языка.
Способ выживания №5 – Изменение мышления работодателя
Это из серии несбыточных мечт, но всё же.
Если человек знает три языка и две базы, сколько ему нужно времени, чтобы начать писать на четвертом подобном? Очень мало. Тем не менее в вакансиях как мантру пишут что-нибудь такое: “опыт работы на java от трех лет”. Я предлагаю работодателям писать так: “опыт работы на java от трех лет или выполнение тестового задания”. Вам ведь ехать, а не шашечки.
Подкину немного на вентилятор: php-шник с десятилетним опытом, который хорошо знает ООП и, допустим, писал на typescript, запросто пересядет на java. Там даже ключевые слова одинаковые: class, interface, extends, implements и т.д. Принципы SOLID ровно те же.
И возможно через 2-3 месяца будет писать не хуже, чем 3-летний труъ джавист. Потому что уже умеешь писать сложные SQL-запросы, знаешь стандарт HTTP, умеешь верстку и JavaScript и прочее. Конечно, там есть 100500 нюансов, многопоточность и т.д., но если ты за 10 лет привык решать проблемы, то разберешься уже с чем угодно, дайте только мануал полистать.
На первых порах кто-то должен бить по рукам, но это всё равно не сравнимо с полным новичком в профессии.
Способ выживания №6 – Смена деятельности
Есть куча разных направлений деятельности, связанных с разработкой: консалтинг, developer advocate и прочие такие штуки. Если подвешен язык, то почему нет.
Можно начать своё дело и делать вообще что угодно. Правда и риск максимальный: 9 из 10 таких начинаний обычно прогорают. Ну и саморазвитие здесь обычно также в приоритете )
Способ выживания №7 – Постоянная смена работы
Если менять работу раз в год-два, то точно будешь востребован на рынке. На одной работе изучил React, на другой Postgres и т.д. Однако недостатков тут тоже много. Карьеру построить сложнее; всё время надо притираться к новой команде и начальству; придется объяснять на собеседованиях, почему ты такой “летун”
Способ выживания №8 – Путь компромисса
Если мы не можем решить проблему, то можно её ослабить. Например, хотя бы какую-то часть кода продукта осовременить и т.д., ведь иногда можно найти выгодные для бизнеса изменения. Ну и по мелочам тоже: переехать с Grunt+RequireJS на Webpack+ES Imports — дело одного дня, а дальше уже можно спокойно использовать современный JavaScript.
Способ выживания №9 – Тайм-менеджмент
Если изучать новое интересно, но нет времени, то зачастую можно что-нибудь придумать. Я когда еду в метро или другом общественном транспорте читаю или слушаю книжку. Во время пауз перерывов читаю статьи и новости или как сейчас, например, пишу статью в свой блог )
Вместо вывода
Эта статья не попытка научить жить в стиле дурацких статей а-ля “7 способов разбогатеть, ничего не делая”. Это просто какие есть способы выжить в современном мире IT если кажется что все плохо.