Опыт тимлида, уставшего от математики: 3 ключевых промаха в IT-карьере
Спонтанный выбор первых языков
Я пошел на кафедру системного программирования, и С++ был моим первым языком. На тот момент я не слишком представлял, чем хочу заниматься. Математика мне не нравилась, но я твердо решил, что не дам пропасть своему МГУ-шному образованию. Метался между C # и Java и почти поддался на красноречивые рассказы друга, восхвалявшего Erlang. В итоге остановился на C # и посвятил ему 5 лет. Получил ценный опыт, но все время чувствовал, что это не мое. Тогда еще я не видел всей картины карьерных возможностей в IT, но догадывался, что вслепую тыкаться и хвататься за все неумно.
Коллекционеры языков программирования
На позиции тимлида мне нередко попадались резюме-винегреты с несвязным набором из 5-10 языков: C #, Java, JavaScript, Python, Ruby, Haskell, Erlang, Go, Scala и т.д. Не понятно, по какому принципу человек их выбирал и чем на самом деле хочет заниматься? Я предпочитал не тратить на таких кандидатов время: как показывает практика, они лишь поверхностно владеют каждым из указанных инструментов. Без разбору осваивать все, до чего дотянутся руки, тупиковый путь. Появляется иллюзия, что ты крутой, но в реальности этим можно впечатлить друзей, но не работодателя.
Блуждания в туманных перспективах
Выбирая новый вектор роста, я задумался о переходе в аналитику. Оказалось, я плохо понимал расстановку сил и искренне думал, что сделаю если не шаг вверх, то просто горизонтально. На самом деле, это было решение, которое откинуло бы меня на пару ступенек (читай — лет) назад.
А у моего бывшего однокурсника вообще смешная история получилась. Его отчислили из университета за поддельную справку, а так как квалификации писать хороший код еще не было, он пошел в тестировщики. Сделал хорошую карьеру, сейчас пишет автотесты и очень рад, что не потратил еще 2,5 года на вуз.
Глядя на профессиональное окружение, я пришел к мнению, что время — ключевой ресурс любого айтишника. Пока теряешь его на освоение ненужных навыков и эксперименты, будешь глотать пыль за теми, кто продумал и четко держится карьерного маршрута.
Путеводитель по IT-специальностям
Когда, наконец, в моей карьере наступил порядок, захотелось систематизировать свои знания и поделиться опытом с другими. Так появился мой бесплатный 2-х дневный интенсив «Стратегическое развитие и карьера в IT». В первый день рассказываю про языки программирования и их наборы под разные задачи. Во второй показываю карьерные карты и переходы.
Вот что разбираем с аудиторией:
— как выбрать язык программирования,
— через какие точки входа и специальности проще попасть в IT,
— как выглядит цикл разработки ПО, кто и на каком этапе что делает,
— какие есть направления в разработке,
— на основе чего делать выбор в рамках каждого конкретного направления,
— какие навыки нужно иметь, чтобы быть успешным разработчиком,
— как правильно составить резюме,
— каковы пути карьерного роста программиста.
Материал будет полезен и тем, кто уже работает в IT. Расскажу, как сменить технологическое направление, из кого проще переквалифицироваться в программиста, куда двигаться дальше Middle- и Senior-разработчику, как стать CTO, чем занимаются Devops-инженеры, Product и Project-менеджеры, как попасть и успешно развиваться в Data Science.
Записывайтесь и подключайтесь к прямой трансляции — будет возможность задать вопрос по своим целям и проблемам и получить консультацию.
Кстати, в комментариях поделитесь, какие промахи допускали на карьерном пути. Что переиграли бы, если бы могли вернуться в прошлое?
Статья закончилась не начинаясь. Вот мой опыт, а тут друзья, а там те, кого я собесил. А вот держите мой интенсив. В сухом остатке кликбейтный заголовок и пустая реклама.
Влад, тут действительно "затравка" к бесплатному мероприятию ) Тема большая, мне на нее нужно часа 3 чтобы раскрыть.
В смысле 3 часа? Интенсив идёт 2 и они академические, т.е., 1,5 астрономических. А потом записываться на очередной курс ниочем? Поэтому и кликбейт, а за кликбейтом очередная продажа от гуру, который якобы осознал и просветился.
У меня 2 вебинара по 2 академ часа, итого 3.
"Я предпочитал не тратить на таких кандидатов время" - а что за контора скажите, чтобы нам тоже время зря не тратить. Потому что выглядит как-то очень непрофессионально. 5-6 языков для кодера с 5+ лет опыта - совершенно нормально, при минимальной любознательности образуются сами по себе. Например для веба как-то так:
- первый учебный язык из школы/вуза (например C)
- первый основной язык (Java, PHP, Ruby)
- второй основной (первый уже не секси, соответственно Kotlin, Go, Elixir)
- скриптовый для автоматизации рутины (Python)
- JS как lingua franca для веба
Это уже 5. И для расширения кругозора:
- что-нибудь функциональное (Scala / Haskell)
- что-нибудь хайповое (например Rust, потому что грядет WASM ну и вообще весело)
Не очень понимаю, как Евгений, видевший 2 в целом похожих языка, берется судить о "поверхностном владении каждым из указанных инструментов". Вообще надо смотреть на "smart & get things done" (c), потому что язык/фреймворк - просто инструмент, но если уж прицепился к языку - смотри на тот, на котором пишут у тебя в команде.
Если опыт 5+ лет - то пожалуйста, да, и то из резюме должно быть четко понятно, где у человека реально хороший опыт, а где он просто книжечку почитал и кодил для себя.
Если опыт работы у человека меньше года, но 5 языков программирования указано - ситуация совсем другая =)
я когда учился в школе, знал несколько десятков языков :) вы правильно подметили - знать это одно, иметь опыт (и с ним глубокое знание платформы) - другое. я например несколько раз тюториал по питону прочёл, но поскольку я с ним не работаю - всё это скоро забывается
Булат, я тоже писал и на C++, C#, и на Java, и на Pascal и на Си. Но при этом я профилируюсь в C#, и богатый опыт у меня именно на C#.
Если из моего резюме это невидно, и я позиционирую себя в резюме как одинаково крутого во всех 6 языках - это точно сигнал о том, что я в них разбираюсь неглубоко.
Евгений, я полностью согласен с вами по фактам, но не с утверждениями "я знаю C#, а джуны - нет". На выходе из вуза у всех, и у вас наверно тоже, обычно бывает набор из 5-10 языков, которые там изучали, делали небольшие задачки. В норме ни у кого из выпускников нет такого глубокого знания языков, какое у вас сейчас C#, верно?
и что же писать выпускникам и джунам в резюме - что они не знают ни одного языка? :) а теперь представьте человека который 30 лет работает на плюсах. по его меркам, вы тоже не знаете свой язык. и что - это означает, что вы тоже должны писать, что не знаете ни одного языка? :)
вы вышли на довольно глубокий уровень, и оцениваете именно свой уровень как норму. но это не значит что весь остальной мир должен подстроиться под вас и нормировать свои резюме под ваше понимание. более того, у студента даже нет представления о более высоких уровнях владения языком - ему действительно кажется что он знает язык достаточно для реальной работы
поэтому ваш рант - ошибочен. каждый пишет о тех языках, которые он лучше всего знает, ваше дело как нанимающего менеджера - поделить годы работы число на указанных им языков и оценить степень владения каждым из них. именно поэтому для вас и логично писать в резюме, что вы знаете только один язык, а студенту - что он знает десять
Если из моего резюме это невидно, и я позиционирую себя в резюме как одинаково крутого во всех 6 языках - это точно сигнал о том, что я в них разбираюсь неглубоко.ну всего с 5-ю годами опыта - да :) на самом деле деление идёт по платформам, для меня нет никакой проблемы изучить C# или скалу, поскольку языковые средства остаются неизменными от языка к языку, но вот изучение платформы и опыт работы на ней - это действительно требует несколько лет. люди с 10+ годами опыта, знающие jvm/clr/c++ есть, а Си и паскаль - устаревшие/нишевые платформы, не стоящие изучения в наше время
Проблема в том, что если вы студент, но знаете только Си/Паскаль, и нет опыта в том языке, га котором хотите работать - работу будет крайне сложно найти. Мало кто из работодателей готов платить зп и ждать, что вы на работе выучиье язык.
Выход, если ты студент : выбрать язык, например Python, его поучить, попрактиковаться, сделать портфолио. И писать резюме как Питон разработчика. И можно вообще не фокусироваться на том, что вы еще в школе на паскале писпли)
Мнение субъективное, можете прислушаться, можете нет)
о, вот теперь я вас понял, совет действительно отличный!!! и ещё сделать пять резюме на все остальные языки LOL и в каждом написать что специализируетесь на x, но знаете и остальные популярные щас языки. джуну это действительно может помочь хоть как-то выделиться
Ага, про 5 разных резюме - годный вариант.
Ну то есть это примерно так же тупо, как написать "я предпочитаю не тратить время на кандидатов-девушек и кандидатов старше 35, потому что, как показывает практика..." - только еще тупее =)
поверхностно знать 5 языков с 5 годлами опыта - можно и даже нужно, но хорошее знание платформы - потребует несколько лет на каждую (clr, jvm, c++, haskell....)
Очень плохо. Кликбейт нужно выжигать калёным железом.
“На позиции тимлида мне нередко попадались резюме-винегреты с несвязным набором из 5-10 языков”, - как-то слишком дерзко. Либо исправляй текст либо это твое невежество, если тебе там что-то непонятно, то не надо тут с умным видом учить джунов ахинеи.
Кира, у вас тоже очень дерзкий комментарий.
Когда в резюме опыт работы меньше года, указано много разных языков, и при этом не видно, какой из языков является профильным - это звоночек, что компетенции у человека мало. Ну либо резюме плохо написано.
если опыт меньше года - этого уже достаточно. на выходе из вуза у него будет 5-10 языков, дальше если он будет работать только с одним из них - то станет как вы писать в резюме только его.
После 3 лет работы программистом под DOS ушел в сетевые админы, потом в их "начальника" и дальше так и остался менеджером среднего звена, периодически пытаясь поиграть в предпринимателя, на что были потрачено время и деньги и нервы. Сейчас снова хочу уметь в современный код на профессиональном уровне, но только ЗП там "сладкие" в нише, куда джуну сильно за 40 путь заказан. Поэтому х.з. Была бы ниша четкая, где пенсионеры востребованы были бы со знанием сишарпа, я бы на неё уже нацелился б :)
Игорь, конечно, стать junior-программистом в пенсионном возрасте сложнее, чем в 25, но нет ничего невозможного. Знаю лично примеры, когда в первый раз выходили на работу программистом в 50 лет.
При прочих равных скорее всего выберут кандидата в 25 чем в 50. Но если вы на собеседовании покажете результаты лучше - думаю, что возьмут вас.
в люом случае при смене направления вы становитесь джуном и теряете в з/п
У меня есть друзья, которые пересаживались с языка на язык, оставаясь на позиции Middle. Думаю тут зависит от того, сколько времени вы потратили на переход на новый язык перед тем, как пошли искать работу.
тут не программист, а менеджер
Я говорю именно про программистов.
А с чего начать девушке-подростку, если хочется пойти в IT?
(Старт с Яндекс Лицея Питон)
Есть много путей:
1) Пойти в университет и получить образование на программиста.
2) Не дожидаясь универа начать практиковаться на бесплатных/платных ресурсах (курсы) и нарабатывать практику. Благо курсов сейчас тьма.
После того как обучитесь, уже разберётесь с работой)
Как раз буду про это рассказывать на вебинаре. Если коротко - то проще начать карьеру в IT с тестировщика (ручного) или аналитика. Сложнее - программистом.
т.е. лучше стать тестером, чем пойти в мгу?
А откуда такой вывод? Я написал как проще) Тут уж человеку решить, как он сам хочет.
кстати есть яндекс ШАД и куча других мест, где учат ИИ. если хватает сил на такое углубленное изучение математики - рекомендую однозначно, как говорит мой знакомый сатанист, программисты - устаревшая профессия :D
"Ежегодно в ШАД поступают старшекурсники, выпускники и аспиранты МГУ, МФТИ, ВШЭ, ИТМО, СПбГУ, УрФУ, НГУ и других ведущих вузов. .."
Посмотрел вебинар Евгения. Ответ получается или в институт и потом как получиться. Или по предложенным Евгением ступенькам-специальностям, т.е. изучение языков под конкретную специальность.
у меня такое ощущение что Евгений недооценивает что в вузах кроме языков преподают ещё и CS