Otus
4723

Опыт тимлида, уставшего от математики: 3 ключевых промаха в IT-карьере

В закладки

Привет, это Женя Картавец. 5 лет я занимался C#-разработкой, а когда добрался до управления командой, оглянулся и понял, что работа вызывает грусть и скуку. Рассказываю, где на карьерном пути спотыкается большинство айтишников и как не застрять в развитии.

Евгений Картавец
руководитель отдела продюсирования образовательных программ OTUS

Спонтанный выбор первых языков

Я пошел на кафедру системного программирования, и С++ был моим первым языком. На тот момент я не слишком представлял, чем хочу заниматься. Математика мне не нравилась, но я твердо решил, что не дам пропасть своему МГУ-шному образованию. Метался между 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.

Записывайтесь и подключайтесь к прямой трансляции — будет возможность задать вопрос по своим целям и проблемам и получить консультацию.

Кстати, в комментариях поделитесь, какие промахи допускали на карьерном пути. Что переиграли бы, если бы могли вернуться в прошлое?

{ "author_name": "Otus", "author_type": "editor", "tags": [], "comments": 32, "likes": 1, "favorites": 9, "is_advertisement": false, "subsite_label": "otus", "id": 102010, "is_wide": false, "is_ugc": false, "date": "Mon, 20 Jan 2020 13:07:25 +0300", "is_special": false }
0
{ "id": 102010, "author_id": 412745, "diff_limit": 1000, "urls": {"diff":"\/comments\/102010\/get","add":"\/comments\/102010\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/102010"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 412745, "last_count_and_date": null }
32 комментария
Популярные
По порядку
Написать комментарий...
17

Статья закончилась не начинаясь. Вот мой опыт, а тут друзья, а там те, кого я собесил. А вот держите мой интенсив. В сухом остатке кликбейтный заголовок и пустая реклама.

Ответить
4

Влад, тут действительно "затравка" к бесплатному мероприятию ) Тема большая, мне на нее нужно часа 3 чтобы раскрыть.

Ответить
2

В смысле 3 часа? Интенсив идёт 2 и они академические, т.е., 1,5 астрономических. А потом записываться на очередной курс ниочем? Поэтому и кликбейт, а за кликбейтом очередная продажа от гуру, который якобы осознал и просветился.

Ответить
1

У меня 2 вебинара по 2 академ часа, итого 3.

Ответить
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), потому что язык/фреймворк - просто инструмент, но если уж прицепился к языку - смотри на тот, на котором пишут у тебя в команде.

Ответить
3

Если опыт 5+ лет - то пожалуйста, да, и то из резюме должно быть четко понятно, где у человека реально хороший опыт, а где он просто книжечку почитал и кодил для себя.

Если опыт работы у человека меньше года, но 5 языков программирования указано - ситуация совсем другая =)

Ответить
1

я когда учился в школе, знал несколько десятков языков :)  вы правильно подметили - знать это одно, иметь опыт (и с ним глубокое знание платформы) - другое. я например несколько раз тюториал по питону прочёл, но поскольку я с ним не работаю - всё это скоро забывается

Ответить
0

Булат, я тоже писал и на C++, C#, и на Java, и на Pascal и на Си. Но при этом я профилируюсь в C#, и богатый опыт у меня именно на C#.

 
Если из моего резюме это невидно, и я позиционирую себя в резюме как одинаково крутого во всех 6 языках - это точно сигнал о том, что я в них разбираюсь неглубоко.

Ответить
0

Евгений, я полностью согласен с вами по фактам, но не с утверждениями "я знаю C#, а джуны - нет". На выходе из вуза у всех, и у вас наверно тоже, обычно бывает набор из 5-10 языков, которые там изучали, делали небольшие задачки. В норме ни у кого из выпускников нет такого глубокого знания языков, какое у вас сейчас C#, верно?

и что же писать выпускникам и джунам в резюме - что они не знают ни одного языка? :) а теперь представьте человека который 30 лет работает на плюсах. по его меркам, вы тоже не знаете свой язык. и что - это означает, что вы тоже должны писать, что не знаете ни одного языка? :)

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

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

 Если из моего резюме это невидно, и я позиционирую себя в резюме как одинаково крутого во всех 6 языках - это точно сигнал о том, что я в них разбираюсь неглубоко.

ну всего с 5-ю годами опыта - да :)  на самом деле деление идёт по платформам, для меня нет никакой проблемы изучить C# или скалу, поскольку языковые средства остаются неизменными от языка к языку, но вот изучение платформы и опыт работы на ней - это действительно требует несколько лет. люди с 10+ годами опыта, знающие jvm/clr/c++ есть, а Си и паскаль - устаревшие/нишевые платформы, не стоящие изучения в наше время

Ответить
0

Проблема в том, что если вы студент, но знаете только Си/Паскаль, и нет опыта в том языке, га котором хотите работать - работу будет крайне сложно найти. Мало кто из работодателей готов платить зп и ждать, что вы на работе выучиье язык.

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

Мнение субъективное, можете прислушаться, можете нет) 

Ответить
1

о, вот теперь я вас понял, совет действительно отличный!!! и ещё сделать пять резюме на все остальные языки LOL и в каждом написать что специализируетесь на x, но знаете и остальные популярные щас языки. джуну это действительно может помочь хоть как-то выделиться

Ответить
0

Ага, про 5 разных резюме - годный вариант. 

Ответить
0

Ну то есть это примерно так же тупо, как написать "я предпочитаю не тратить время на кандидатов-девушек и кандидатов старше 35, потому что, как показывает практика..." - только еще тупее =)

Ответить
0

поверхностно знать 5 языков с 5 годлами опыта - можно и даже нужно, но хорошее знание платформы - потребует несколько лет на каждую (clr, jvm, c++, haskell....)

Ответить
2

Очень плохо. Кликбейт нужно выжигать калёным железом. 

Ответить
1

“На позиции тимлида мне нередко попадались резюме-винегреты с несвязным набором из 5-10 языков”, - как-то слишком дерзко. Либо исправляй текст либо это твое невежество, если тебе там что-то непонятно, то не надо тут с умным видом учить джунов ахинеи.

Ответить
0

Кира, у вас тоже очень дерзкий комментарий.

Когда в резюме опыт работы меньше года, указано много разных языков, и при этом не видно, какой из языков является профильным - это звоночек, что компетенции у человека мало. Ну либо резюме плохо написано.

Ответить
0

если опыт меньше года - этого уже достаточно. на выходе из вуза у него будет 5-10 языков, дальше если он будет работать только с одним из них - то станет как вы писать в резюме только его.

Ответить
0

После 3 лет работы программистом под DOS ушел в сетевые админы, потом в их "начальника" и дальше так и остался менеджером среднего звена, периодически пытаясь поиграть в предпринимателя, на что были потрачено время и деньги и нервы.  Сейчас снова хочу уметь в современный код на профессиональном уровне, но только ЗП там "сладкие" в нише, куда джуну сильно за 40 путь заказан.  Поэтому х.з.  Была бы ниша четкая, где пенсионеры востребованы были бы со знанием сишарпа, я бы на неё уже нацелился б :)

Ответить
1

Игорь, конечно, стать junior-программистом в пенсионном возрасте сложнее, чем в 25, но нет ничего невозможного. Знаю лично примеры, когда в первый раз выходили на работу программистом в 50 лет.

При прочих равных скорее всего выберут кандидата в 25 чем в 50. Но если вы на собеседовании покажете результаты лучше - думаю, что возьмут вас.

Ответить
1

в люом случае при смене направления вы становитесь джуном и теряете в з/п

Ответить
0

У меня есть друзья, которые пересаживались с языка на язык, оставаясь на позиции Middle. Думаю тут зависит от того, сколько времени вы потратили на переход на новый язык перед тем, как пошли искать работу.

Ответить
0

тут не программист, а менеджер

Ответить
0

Я говорю именно про программистов. 

Ответить
0

А с чего начать девушке-подростку, если хочется пойти в IT?

(Старт с Яндекс Лицея Питон)

Ответить
1

Есть много путей:

1) Пойти в университет и получить образование на программиста. 
2) Не дожидаясь универа начать практиковаться на бесплатных/платных ресурсах (курсы) и нарабатывать практику. Благо курсов сейчас тьма.

После того как обучитесь, уже разберётесь с работой) 

Ответить
0

Как раз буду про это рассказывать на вебинаре. Если коротко - то проще начать карьеру в IT с тестировщика (ручного) или аналитика. Сложнее - программистом.

Ответить
0

т.е. лучше стать тестером, чем пойти в мгу?

Ответить
0

А откуда такой вывод? Я написал как проще) Тут уж человеку решить, как он сам хочет. 

Ответить
0

кстати есть яндекс ШАД и куча других мест, где учат ИИ. если хватает сил на такое углубленное изучение математики - рекомендую однозначно, как говорит мой знакомый сатанист, программисты - устаревшая профессия :D

Ответить
0

"Ежегодно в ШАД поступают старшекурсники, выпускники и аспиранты МГУ, МФТИ, ВШЭ, ИТМО, СПбГУ, УрФУ, НГУ и других ведущих вузов. .."

Посмотрел вебинар Евгения. Ответ получается или в институт и потом как получиться. Или по предложенным Евгением ступенькам-специальностям, т.е. изучение языков под конкретную специальность.

Ответить
0

у меня такое ощущение что Евгений недооценивает что в вузах кроме языков преподают ещё и CS

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }