Как выживать в изменяющемся мире разработки

В прошлую пятницу провели с коллегами небольшой внутренний митинг о постоянном самосовершенствовании в личное время. В современном IT необходимо всё время бежать, чтобы просто оставаться на месте. Так как я люблю и проводить подобные встречи делясь опытом и самосовершенствоваться, я с радостью принял предложение коллег провести митинг именно на эту тему. Чтобы не быть одиноким рассказчиком я попросил тим-лида и одного из сеньоров подготовить свои рассказы из собственного опыта, чтобы создать атмосферу для дискуссии. Результатом этой дискуссии стала эта статья в которой мы собрали 9 способов выживания в современном IT-мире.

[sendpulse-form id=”278″]

Заглянем в мир фронтенда. Со знанием JavaScript пятилетней давности сейчас хорошую работу не найдешь. Сейчас RequireJS + Grunt не прокатят, надо знать React, Webpack, современный ES или TypeScript и т.д. Причем в следующем году многое уже снова устареет.

Не всегда на работе можно получить новые знания, потому что зачастую там тонны легаси (если долго пилится какой-то продукт — это неизбежно), которые никто переписывать “по модному” не даст.

Что же делать? Делать pet projects по ночам? Или пытаться сменить направление развития на более стабильное во времени?

Способ выживания №1 – Уйти в руководство

Преимущества:

  1. Иногда достаточно знать технологии по верхам (это зависит от вида руководства, team lead, tech lead, CTO и т.д. — совершенно разные обязанности)
  2. Можно выбирать технологический стек самому.

Недостатки

  1. Не знать детали технологий пожалуй можно лишь менеджменту верхних уровней. Простой тимлид должен всё знать, никуда не денешься. Tech lead должен знать лучше всех.
  2. Эта работа многим не по нутру. Управление людьми — это совершенно отдельная профессия, не имеющая ничего общего с программированием. Многие туда стремятся, но, едва попробовав, с радостью возвращаются обратно к коду.
    Если одним из поощряемых качеств простого программиста является суперконцентрация на сложной задаче, то здесь наоборот: зачастую жонглируешь задачами, толком не вникая в реализацию (просто нет на это времени).
  3. Даже если ты выбираешь стек сам, то ты не будешь делать радикальных изменений в проекте (переписать с 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 если кажется что все плохо.