Не беспокойтесь, сравнивая себя с людьми из интернета

2 лайка

Думаю, беспокойство выросло в том числе из-за стремительного роста IT-рынка и современных требований. 10 лет назад, если ты ничего толком не умел, но выявлял желание верстать, тебя легко могли взять джуном (практически без пре-реквизитов) со стартовой неплохой зарплатой (для Украины). Теперь в рамках бурной конкуренции и развития IT сферы, компании стремятся брать готовых профессионалов. У них нет времени воспитывать джунов, которые к тому же потом могут взять и уйти. Нужны спецы с опытом работы целого стека технологий.

Уже много раз слышал, что новички попадают в порочный круг: для того, чтобы устроиться на работу нужен опыт, а чтобы получить этот самый опыт нужна работа. Деваться некуда, надо с чего-то начинать. Плюс, из-за очень многогранной сферы программирования, твой уже полученный опыт может не сыграть в контексте определенного проекта. И тут ты вдруг понимаешь, что ты лошара :) Что ты со своим опытом только потерся попкой о верхушку айсберга, а возомнил, что на глубоком уровне знаешь технологию. Все это в связке с постоянной гонкой технологий, конечно, не добавляет уверенности.

Помню около полугода назад наткнулся на просторах веба на сайт, где девушка в коротком платье и с большой грудью пыталась продать курс обучения по фронтенду. В краткой биографии о себе она написала, что обучалась цеееелый гоооод (sic! :o) разработке, получила много опыта и теперь готова всех научить.


Чтобы быть ликвидным на рынке труда, нужно быть в курсе последних трендов. Особенно это касается фронтенда, который по видимому сейчас кипит как первичный бульон. Когда увлечение своей работой ослабевает, появляется прокрастинация. И тогда быть в курсе всего становится еще сложнее. Безусловно это не отменяет рабочих мест типа отдела разработки на каком-нибудь заводе. Где верстальщику 45 лет, он верстает таблицами, и ни о каких дивах, реактах и ангулярах ему не интересно слышать. Но там и зарплата, и проекты – соотвественные. Реальность такова – хочешь быть выше в “ладдере” разработчиков – развивайся.

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

Учить – это хорошо. Когда мы учим, мы также сами для себя систематизируем и кристаллизируем имеющийся опыт. Есть хорошая поговорка: If you can’t explain it simply, you don’t understand it well enough (переводится примерно как “Если ты не можешь объяснить простым языком, значит ты сам это недостаточно хорошо понимаешь”). В каком-то смысле это наш общественный долг – отдать знания. Потому что когда-то мы сами в них нуждались, и нам их дали.


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


Вот классные касты по смежным темам от техлида Spotify (на английском):

  • Getting shit done (о том, как работать лучше, не зацикливаться на незначимых мелочах, о прокрастинации и т.п.)
  • Teaching (о пользе наставничества)
2 лайка

Рост стоимости разработки толкает бизнес к урезанию издержек. Многие выбирают путь взять одного фуллстек вместо двух фронт и бек.

Тоже слышал такое не раз. Сложил мнение что работодатель очень часто не понимает какие именно характеристики опыта нужны от устраивающегося на работу. Молодые разработчики думают что в выставленных требованиях есть смысл, а работодатель выставляет требования без понимания их механики. По итогу для успешного разработчика успех в работе решают сфокусированность, трудолюбие и другие, не относящиеся напрямую к программированию факторы.

Тут проблема в появлении ощущения что человек познал всю глубину технологии. Де-факто это познание одного из возможных аспектов. С другой стороны не избежать развития излишней уверенности в человеке, который справляется со всем с чем сталкивается. Ему остается только быть готовым что вновь открытый аспект программирования изменит его точку зрения о себе.

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

Ответ в том чтобы сделать такой выбор технологии, который с одной стороны даст достаточно времени чтобы качественно изучить технологию, и чтобы за время изучения технология не стала совсем отсталой.

Хорошее знание технологии позволит решать задачи бизнеса, а это и есть первостепенная задача разработчика.

Новое - не означает лучшее. Смотрите на опыт людей, которые создают новые вещи. Сколько они вложили знаний в то что делают, а сколько амбиций “сделать не так как другие” или “сделать как мне удобно/хочется”. 90% новых технологий умрут, и выживут 10%, и выживут совсем не из за тех причин, что закладывали авторы. И играть в рулетку, пытаясь угадать что именно выстрелит, можно тогда когда “прикрыты тылы” в виде уже изученной техлологии.

Развивай полезные навыки. Полезные навыки - это то что надо работодателям, и то что ценится опытными, пожившими разработчиками.

Золотые слова про передачу навыков и знаний.

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

2 лайка

Под “быть в курсе всего нового” я не имел ввиду хвататься за все подряд. Но быть в курсе того, какие решения создаются. Ведь по факту одно из них может быть блестящим ответом для специфичной проблемы. В свое время для меня откровением был Ангуляр 1.х, который дал какую-никакую архитектуру вместо черного ящика жквери кода, в который через пол года побоялся бы сам черт заглянуть.

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

1 лайк