«Местные» против «понаехавших» — новое поле, теперь айтишное. За «местных» играют те, кто пришел в программирование давно и «по зову сердца». За «понаехавших» — те, кто пытается только сейчас освоить профессию.
«Местные» закончили какой-то вуз много лет назад. Часто — даже профильный. Хотя качество вузовского образования сильно не любят. «Понаехавшие» учатся на каких-то сверхскоростных курсах. Поскольку одних курсов мало — некоторые проходят по несколько курсов.
«Местные» верят, что для достижения больших высот нужно начинать в школе и грызть теорию. Хотя часто стесняются признаться, что уже подзабыли и комбинаторику, и теорию алгоритмов. «Понаехавшие» верят, что им и зарплаты миддла с головой хватит на ближайшие несколько лет.
«Местные» доказывают, что у понаехавших нет шансов. Доказывают чаще себе, так как бизнесу как-то пофиг. «Понаехавшие» знают, что шанс невелик. Но попытка того стоит.
«Местные» неохотно учат новые технологии. Смысла нет менять проверенную Java/C#/etc. на непонятный node.js. «Понаехавшим» пофиг, что учить. Важно только, когда будет первая зарплата.
«Местные» берут опытом и теорподготовкой. «Понаехавшие» берут усидчивостью, небрезгливостью и ценой.
«Местные» уже хорошо устроились и ведут расслабленный образ жизни. «Понаехавшие» вджобывают.
«Местных» берут на работу на руководящие и экспертные должности. «Понаехавших» берут на работу.
Рано или поздно каждый «местный» становится перед выбором — «либо ты становишься начальником над джунами „понаехавшими“ и научишь их работать, либо повышение получит кто-то другой».
О чем статья?
Много людей хотят войтивайти. Многим ветеранам с десятилетним опытом не нравятся новички с «за две недели научим Java + JS». Бизнес бы и рад этот поток новичков превратить в деньги, но не совсем понятно как. Ну и политики, которые не прочь бы и подзаработать на теме.
Итого: чуть-чуть статистики, личного опыта, рекомендаций. Сборник разрозненных мыслей по теме, объединенный в разделы для новичков, ветеранов, бизнесменов.
Разоблачение
«Понаехавшие» становятся «местными» и наоборот. «Местные» думают, как бы понаехать в свой бизнес. Классификация на местных и понаехавших — искусственна и применима только здесь. В IT очень популярны классификации, не прошедшие хорошего критически настроенного тестирования. Для меня такие классификации — признак зарабатывания денег или авторитета на пустом местеоснования своей религии. Не надо так.
Новичкам и желающим войтивайти
Этот раздел предназначен для новичков. Если вы уже давно в IT, он может быть скучным. Или противоречивым. Если скучно — проматывайте, если противоречит убеждениям — велкам в комменты.
«От» и «К»
«Одному Бог дав крила, а іншому — підсрачника. І начебто обидва летять, але які різні відчуття і перспективи». © не моё
«Хочу стать программистом, потому что кушать хочется» и «Хочу стать программистом, потому что нравится программировать»... Когда хочется кушать, то:
- если подвернется хоть какой-то заработок «прямо сейчас» — люди спрыгивают;
- если что-то не получается, а не получается у всех — люди отпадают;
- если приходит неизбежное «надо же еще и вот это знать» — люди теряют силы.
Судя по статистике, отрасль готова принять примерно 10 000 новичков ежегодно. Желающих — намного больше, поэтому давка на входе.
Что учить?
«Хочу войти в ІТ, но не знаю, какое направление выбрать. Какое направление будет наиболее перспективным в ближайшем будущем? Что выбрать?» © вопрос в личку
- Здесь цель не «научиться кодировать в идеальном мире», а «получить работу». Поэтому романтика паттернов и монад уступает быту рынка труда.
Мой ответ был: HTML+CSS, потом JS, потом React. Сейчас я бы еще на Python посмотрел, судя по статистике. Ну и поговаривают, что на мобильную разработку берут без опыта охотнее. Это если глубоко не закапываться.
Если же закопаться всерьез, то лучше посмотреть на рынок труда (DOU, Work, Rabota). Мест для новичков мало, поэтому ориентироваться лучше и на вакансии «с небольшим опытом работы».
Самое важное:Рассчитывать надо на
Disclaimer:
- Числа получены наблюдениями за группой студентов 20+ человек. Мало для научного подтверждения.
500-1000 — это уже с поправкой на усложнение рынка труда, реально было200-400. - «Качественный час» мерялся жестким таймтрекером GrindStone2. Вышел чая налить — трекер отключался. У меня есть гипотеза, что 30 качественных часов в неделю — это биологическое ограничение для освоения принципиально новой информации.
Как выбрать курсы?
Disclaimer: я не веду и не рекламирую курсы и тренинги для новичков. Три года назад — набрал группу на волонтерских началах, она давно завершена. Те курсы, о которых я знаю, — близки к убыточности. Желающие могут подсчитать расходы на учителя, аренду, риски и т. д.
Однажды мне в FB пришел вопрос: «...чи можете ви порадити ці курси (або взагалі цю школу), або порадити якісь інші, або щось категорично не рекомендувати :) ?»
Конкретно курсы не посоветую, но ...
Я советую связываться с организаторами и спрашивать:
- Сколько уже человек выпущено?
- Сколько из них работает по специальности спустя три месяца после выпуска?
- Сколько человек было набрано за предыдущие курсы?
- Сколько из них продолжает учиться?
- Сколько часов в учебном курсе:
А) лекций;
Б) самостоятельных;
В) личного времени преподавателя на одного ученика. - Помогаете ли вы в трудоустройстве? В чем это выражается? Проверка резюме/рекомендации/написание и проверка pet project?
- Можно ли связаться с выпускниками предыдущих наборов?
Теперь трактовка:
- п. 1: «много/мы не знаем/это секрет/наши выпускники работают в google» — сразу жирный минус.
- п. 2/п. 1 — чем выше процент успешности выпускников, тем лучше. Предполагаю, что многие курсы просто не собирают такой статистики. Минус им.
- п. 1/п. 3/ п. 4 — отсев. Если выходит за рамки
5-20 %, значит либо врут, либо сильно выдаются из общей картины. Нужно гуглить. - п. 5 (А+Б+В) в сумме должен давать хотя бы 400. Иначе все остальное придется набирать самостоятельно. Либо брать несколько курсов, понимая, что два курса по 300 хуже, чем один курс по 500 часов.
- п. 5В должен быть > 5 часов. Лучше, конечно, 10 % от п. 5А+Б.
#войтивайти может каждый, а с таким списком будет меньше разочарований и у студентов, и у работодателей.
Организатор курсов думает: «Я не могу брать на себя ответственность за судьбу учеников. Люди разные и люди взрослые». Рекламщик думает: «Так я слона не продам. Напишу-ка я про высокие зарплаты и про большую потребность в айтишниках. Про то, что это у синьоров, а мы готовим джунов — писать явно необязательно». Потенциальный студент читает: «Закончишь эти двухнедельныекурсы — будешь гарантированно получать как синьор».
Приглашаю в комменты представителей курсов. По-хорошему, тут нужно делать отдельную статью и обзванивать курсы. Я не возьмусь.
Я прошел курсы, но что-то не получается
ххх> я закончил курсы QA полгода назад, сходил на несколько собеседований, там хорошо ответил на вопросы, но меня так и не взяли. Сейчас вот найду время, подтяну английский и попробую снова.
На одну вакансию джун QA приходится полсотни одинаково пустых резюме. Если ты не гений и не дебил, то нужно побывать на сотне собеседований, и то это даст всего 87% на трудоустройство. Нужно быть готовым к отказам, нужно извлекать из них максимум — запрашивать обратную связь, записывать вопросы и дома гуглить ответы, самому задавать вопросы, искать бесплатную работу и т. д. Нужно каждый день рассылать резюме, гуглить и трясти родственников, знакомых, родственников знакомых и т. д.
Люди после рекламы курсов и вузов абсолютно не готовы к провалам. Впрочем, к тому, что в освоение новой профессии нужно вложить больше месяца, тоже не готовы.
- Работу получают не самые способные и знающие, а самые упертые.
Чуть психологии
Со школы нас готовят к враждебному английскому: «Малейшая ошибка — это маленькая смерть». В IT английский дружественный: «Сказал коряво? Ну и ладно, я тебя понял. А если сомневаюсь — мне не стыдно переспросить».
Человек, который попробовал и провалился, часто ищет самооправдание и больше не пробует. «Нужно подтянуть английский» — «некогда», «не очень-то и хотелось». Часто по самооправданиям и можно определить, что человек больше пробовать не будет.
И это не только про собеседования, но и про личную жизнь.
Закладывается в детстве, спасибо родителям, и наука для воспитания своих детей.
Выводы для новичков
500-900 часов. 10-30 часов в неделю;- если «учиться как все» на курсах, то «все» как раз до конца и не дойдут;
- работу получают не самые способные и знающие, а самые упертые;
- у всех пустое резюме. Думайте, как заполнить — бесплатная работа, pet project. Я эту бесплатную работу включил в
500-900.
Опытным
ххх> Синьор может развиваться либо по технологии: тимлид, архитект и т. д., либо по менеджменту: ПМ и т. д.
ууу> У нас в компании уже четвертый год два программиста, расскажи мне еще о развитии, карьере и перспективе :)
В этом разделе будет про актуальность знаний, книги, сертификаты и ошибки.
Актуальность знаний
Предположим, n лет назад программист забодался и ушел в монастырь. В женский? В буддистский? Оставим это за скобками и предположим, что он взял с собой ноут и у него было время поддерживать квалификацию. Т. е. есть ноут, есть электричество, но нет интернета. Этакий облегченный офлайн. И вот после n лет он возвращается в мир и идет на собеседование по профессии. Какие сценарии будут?
- n=1: За пару недель можно обновить знания и без проблем ответить на техническую часть;
- n=2: С осени 2015 бэкенд сильно не изменился, а вот фронтендеру придется выслушивать: «Что, только первый Angular? и ES6 на уровне статей на хабре? фи, слабовато»;
- n=4: Фронтенд-синьору v2013 придется зубами выгрызать право называться миддлом. Бэкендерам тоже будет несладко, хотя и чуть проще, зависит от языка. К примеру, Ruby изменился гораздо меньше, чем PHP. Рынок труда поменялся, но опять же не катастрофически;
- n=8: «Вы кто? Веб-программист? А что умеете? Что, только верстку и jQuery? Не, верстальщики нам не нужны. Даже со знанием IE6». И бэкендерам, и фронтендерам придется заново изучать всё и бороться за первую работу. Ладно, у Java, C++ и Cobol шансы выше :)
- n=16: Всё учить заново. Может, алгоритмы и структуры данных пригодятся для прохождения собеседования. А вот для первой работы — уже вряд ли, алгоритмы актуальнее уже миддлу.
К чему я это? Мир меняется. Мир меняется всё быстрее. Кто не успевает адаптироваться — уходит в страну вечной охоты, к мамонтам и ЕС ЭВМ. В программировании это просто заметнее, чем в других профессиях. Здесь будущее наступило на дцать лет раньше, чем у врачей, банковских сотрудников, солдат, водителей и менеджеров по продажам. Волна накроет всех, учитесь плавать сами и учите детей.
Какие книги читать?
За последний месяц несколько человек спросило: «А какие книги ты бы посоветовал широкому кругу читателей?».
Вот представим, кружочек — это знания одного человека. Человек может расширять свой круг знаний только на границе этого круга.
Итого, каждая книга:
- может оказаться внутри уже существующего круга — скукота, и мало что добавляет. Букварь.
- может оказаться далеко от зоны ближнего развития. Откройте что-то из arXiv — в 99% вам будет непонятно.
- может оказаться близко к границе, но быть написано неподходящим способом. К примеру, мне очень тяжело даются видео- и аудиолекции. Текст мне гораздо привычнее. Люди разные, любимые каналы восприятия тоже разные.
- может оказаться близко к границе и быть написано подходящим вам способом. Если вы дочитали досюда — это значит, что я пишу на темы, близкие к кругу ваших знаний. Психологу-профессионалу и программисту-джуниору многое из мной написанного бесполезно и неинтересно.
На тренингах я видел, как материал, зашедший одной группе, во второй оставался темным пятном. Увы. И в каждой группе были как те, которым было сложно понять, так и те, для которых это азбука.
Большинство книг вам сейчас не полезны. Выбрать подходящие — сложно. И через год список поменяется. В результате список «на прочитать» только растет. Я не хочу писать бесполезный список. А с учетом чувства вины у тех, кто такие списки читает — «у меня 100 500 книг в очереди» — так это еще и вредно.
Практический вывод: список книг имеет смысл писать, если знаешь текущий круг знаний + цель + любимый способ обучения.
Примечания:
- Круг ближнего развития — это метафора, этот круг не видно на МРТ. Её область применения ограничена. Например, я не слышал об экспериментах «а что будет, если первокласснику дать изучать математику — теорвер — квантовую физику — а потом уже обычную физику как частный случай квантовой и теории относительности».
- Кружочек знаний у людей имеет пушистую границу.
- При добавлении в круг теоретически есть фильтры на логичность и непротиворечивость. Практически, есть масса способов эти фильтры обойти. Мнение авторитета, недосып, стресс и т. д. Пропаганда, религия и т. д. строится обычно на обходе фильтров.
Сертификаты
Пока я не встречал ситуации, когда наличие сертификата у программиста/менеджера влияло на трудоустройство или зарплату. Это не значит, что таких ситуаций нет, это значит, что я их не встречал. Вполне возможно, что для специалиста по безопасности или по сетям сертификация может быть очень кстати.
- Прежде чем вкладываться в сертификацию — посмотрите требования в вакансиях. Если там этого сертификата нет, значит, он вряд ли повлияет на вашу жизнь.
Если от процесса сертификации вы получаете удовольствие, то, конечно, такая прагматика там не нужна. Получайте удовольствие любым неугрожающим другим способом.
Если сертификация — это ваш способ испытать себя, то конечно. Лично я одобряю это куда больше, чем «а до какой скорости я смогу разогнаться на отечественной дороге?».
Единственный курс, о котором я слышал позитивные отзывы от работодателей, — это PMP. Впрочем, за две недели его и не пройдешь.
Как-то на конференции прослушал рекламу PMP сертификации. Мне сильно не хватило показателя «сертифицированные получают на n% больше зарплаты, чем несертифицированные» — для мотивации менеджеров. И показателя «сертифицированные делают проекты на m% лучше по попаданию в сроки/ресурсы/фичи, чем несертифицированные» для мотивации заказчика.
Путем общения с докладчиком и фейсбуком выяснилось, что какая-то статистика у них таки есть. И... я как-то с ходу не увидел сравнения менеджеров с одинаковым опытом работы. 20% может быть обусловлено просто накопленным стажем, ведь PMP в среднем старше, чем неPMP.
Ошибки
xxx: С ростом квалификации и набором опыта временной отрезок между фразами «Какого хера не работает» и «Млять, я дебил» сокращается. © баш
Ошибки делают все. И чем опытнее становишься, тем более ответственную работу получаешь и тем дороже твои ошибки.
Уверенные в себе эксперты — скорее всего, джуны или миддлы.
Более подробно можно прочитать в вики: эффект Даннинга-Крюгера, Синдром самозванца, ну и Принцип Питератоже.
- Единственно верный для меня критерий оценки своего профессионализма — «насколько легко я могу найти работу чуть лучше нынешней?»
Этот критерий подходит не для всех. Водитель марсохода и психотерапевт находятся в совсем других условиях.
Смена работы
Часто ли вы думаете о смене пола? А о смене работы? Если о смене работы чаще, то рано или поздно вы её таки смените.
Выводы для опытных
Следите за тенденциями. Лучшее место для этого — рынок труда и вакансии.
Отставать от тенденций можно. «Работать некогда, я трачу всё свое время на самообучение» и «Я только работаю, учиться некогда» — каждый находит баланс самостоятельно.
Исходя из современных реалий, на смену мему «двадцатитрехлетний синьор» придет мем «сорокалетний джуниор» © не моё. С джуниорами работать придется. Качайте софт скилы. Кстати, на джуниорах любого возраста отрабатываются те навыки, которые потом пригодятся при воспитании своих детей. И за отработку этих навыков ещё и деньги платят.
Государству
Я понял, нужно просто запретить людям делать ошибки. Тогда сразу программисты классный код писать будут, причём быстро. Не понимаю, почему такое очевидное решение еще не реализовано законодательно.
Очень черный раздел. Читайте только если у вас крепкие нервы и устойчивость к черному юмору.
Предположим, я депутат без этических принципов и хочу срубить с украинских айтишников денег. Ну а действительно, третья статья экспорта, и целится стать первой, а ни с кем не делится. Так что пофиг с каким КПД, главное, чтобы денег в краткосрочной перспективе стало больше. Например, на выборы. Шаги: P.S. Вот только не говорите, что это главная айтишная тайна, до которой неайтишники никогда не догадаются. Средний IQ у политиков очень высок. Это этика у них другая, а вот IQ — очень даже. P.P.S. Это шутка. Мрачная. Пока никто третью форму не трогает.Утечка мозгов
К одной предыдущей статье был провокативно-саркастический комментарий, и я его понял как: «Не надо плодить недоучек, пусть все знают программирование на отлично». Я отбросил троллинг и задумался, как бы это реализовать. Поскольку все ученики проходят стадии от «ничего не знаю» до «мегаэксперт» постепенно, так что задача нетривиальная. Скачкообразный переход бывает только в фильмах, и то режиссер показывает многомесячную тренировку за минуты. Тем интереснее поискать решение. Идеи: Практические шаги для реализации:Недоучки
А теперь серьёзно
Я не призываю вводить эти идеи в жизнь. Более того, я считаю их безусловно вредными. Вмешательство государства там, где без него можно обойтись, — почти всегда вредно. Украинское IT развивалось без внимания государства много лет — и вполне успешно.
Я считаю, что в ближайшие годы ситуация у нас в IT останется примерно такой же, как сейчас. Это печалит — могло быть лучше. Это радует — могло быть хуже. Видны перспективы на горизонте. Который год видны.
После выдавливания Эдуарда Рубина из ХНУРЭ я не верю в реформу высшего образования. Удаленное образование от Курсеры etc. выглядят перспективнее.
- Узкое место в обучении — это первая работа.Кто сумеет расширить это бутылочное горлышко — заслужит памятников при жизни.
В первую работу новичка нужно вкладывать свои деньги, а выгоду получит кто-то другой и намного позже. Трагедия общинв современном варианте.
Бизнесу
Вот этот раздел я советую прочитать и новичкам, и опытным.
Классный неопытный vs Сложный опытный
У Sergiy O. Movchanнаткнулся на «Кого лучше брать — классного неопытного и потом его учить, либо сложного опытного и потом с ним жить?».
При такой постановке все кандидаты попадают в квадраты любимой матрицы 2×2. И мы сразу знаем ответы для «классный опытный» и «сложный неопытный».
Для меня эта матрица слишком многое оставляет за бортом и для принятия решения в общем виде не подходит.
Я бы задал вопросы:
- У нас другие кандидаты есть? Если «нет», то задачу отложить можно?
- Можем ли мы взять обоих?
- Сколько времени и сил займет обучение? Причем опытного-то тоже учить надо будет. Это если он захочет учиться. «Я и так всё знаю, а наняли вы меня, чтобы я у вас всё переделал правильно».
- «Сложный опытный» — он сложный для меня или есть шанс, что вся команда разбежится? Если только для меня — что я могу сделать, чтобы научиться с таким работать? Если и для команды — а эта команда важна? Вообще, какие суммарные затраты и риски на работу с этим сложным человеком?
- «Классный неопытный» — кто его будет учить и сколько? Задача это терпит? Какие суммарные затраты на обучение? Через сколько времени от этого человека будет больше пользы, чем затрат?
- Ещё вопрос, который я себе обычно задаю: «Насколько проблемно будет через полгода уволить?». В любом случае за меньшее время ничего понять не удастся: растёт ли «неопытный», нашёлся ли общий язык с «опытным»... © Михаил Пайсон
Если цена ошибки велика, то этот список вопросов надо расширять дальше. В нынешнем виде список — это баланс между трудоемкостью принятия решения сейчас и ценой ошибки. Сферический баланс в вакууме.
Переманивание джунов
Когда говоришь с бизнесменами и топ-менеджерами о джунах и внутреннем обучении, то часто возникает тема о переманивании.
«Мы тебя берем без опыта, учим, а ты потом долго работаешь на минимальную зп» — точка зрения нанимателя. «Рабовладения у нас нет, я работаю за зарплату. Если где-то предлагают лучшие условия — я уйду» — точка зрения ex-джуна. В итоге у работодателя — обманутые ожидания и нежелание брать еще джунов. В итоге у недавнего джуна — обида на работодателя — «А что это он мне зп мало поднял?» и плохой отзыв. Это конфликт ожиданий.
Обычно при риске конфликта ожиданий рекомендуют проговаривать эти самые ожидания. В этом конкретном случае работодатель не знает, как будет работать новичок. Новичок не знает, каким он станет. «Год назад я обещал работать хорошо в обмен на обучение. А теперь мне предлагают перейти в другое место на 25% больше, а тут прибавку обещают через полгода...» В таких условиях даже честный и умный новичок начинает посматривать на сторону. Ну или хотя бы начинает больше конфликтовать и меньше работать. Выгонят? Ну так и хорошо, предложение о работе уже есть.
Так что здесь просто проговаривание малоэффективно. Нужно передоговариваться всё время, а это дорогое время работодателя. Простого экономически-эффективного решения я здесь не вижу. У кого есть позитивный опыт — с удовольствием почитаю.
Экономически-эффективные сотрудники
Джуны нифига не умеют, зато стоят дешево и готовы браться за любую работу.
Синьоры могут делать чудеса, но стоят дорого, чаще внезапно увольняются, и от некоторых задач отказываются: «не интересно», «не моя область» и т. д.
Миддлы еще ничего не умеют, зато уже хотят денег и вертят носом :) Шучу, миддлы — это часто отличный выбор с бизнес-точки зрения. Особенно, когда проект уже сформировался архитектурно.
Цените миддлов!
Нововведения
«Заставь дурака <любое правило>, так он <тяжелые последствия>». © два года назад
«Заставь <творческая профессия>, так он <сопротивление, саботаж, низкая производительность>. Насилие ведет к сопротивлению. Зона ближнего роста и наводящие вопросы — наше всё». © современный апдейт
Вместо заключения
Эта статья — сборник моих мыслей по теме. Систематизация моего опыта в разных областях. В каждой области наверняка можно копнуть глубже. Обычно я выкладываю одну короткую мысль в день у себя на FB, и эта статья появилась как сумма этих мыслей.