Новый инженер-программист: Должен ли я искать новые проекты/работу, если я работаю с устаревшей технологией?

Я закончил колледж полтора года назад и с тех пор работаю инженером в компании по разработке программного обеспечения. Это была хорошая среда, в которой я набирался опыта.

Однако в последнее время меня беспокоит то, что если я неожиданно потеряю работу, мой единственный профессиональный опыт будет связан с устаревшим языком, которым я в основном пользуюсь. Хотя я знаю, что любой опыт работы с большой кодовой базой — это хорошо, я заметил, что во многих объявлениях о вакансиях в области разработки игр/программного обеспечения указано «x лет профессионального опыта работы с технологиями y», что, по-видимому, подразумевает, что общий опыт программирования может быть недостаточным. мне достаточно, чтобы найти другую должность в будущем. «Профессиональная» часть этого предложения также, по-видимому, не учитывает личные проекты с более соответствующими технологиями.

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

Во-первых, убедитесь, что ваше имя пользователя не совпадает с вашим настоящим именем. Вы же не хотите, чтобы ваш работодатель узнал, что вы так думаете. Во-вторых, технологии меняются очень и очень быстро. По моему мнению, вы могли бы порекомендовать новые языки программирования и технологии, но не ожидайте, что они будут быстро восприняты, и убедитесь, что вы не говорите, что основная причина этого в том, что вы беспокоитесь, что ваши навыки устареют в рынок труда. Исследуйте, принесет ли это пользу вашей компании.
Не обращайте внимания на «x лет с технологией Y». Я видел требования к 5-летнему опыту работы с двухлетней технологией.
Хотя я согласен с закрытыми голосами по букве формулировки, я не согласен с тем, что этот вопрос должен быть закрыт. OP затрагивает важную часть развития карьеры: застой. Вопрос можно перефразировать так: «Что мне делать?» и больше в сторону «опасна ли стагнация для развития карьеры», не меняя основного вопроса.

Ответы (4)

Я заметил, что во многих объявлениях о вакансиях в области разработки игр/программного обеспечения указано «x лет профессионального опыта работы с технологиями y».

Я встречал вакансии, где просят 5+ лет опыта работы с Visual Studio 2019. Задумайтесь об этом на секунду.

Требования к работе часто не так точны, как вы пытаетесь представить. Может быть, это ошибка копирования/вставки (они просто имели в виду Visual Studio), может быть, это тактика прополки, чтобы избежать безуспешных интервью с разработчиками начального уровня. Какой бы ни была причина, большинство работодателей на самом деле будут судить о вас, основываясь на ценности, которую вы можете принести, а не на том, что вы ставите галочки.

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


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

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

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

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

Лично я плохо помню синтаксис. Частично это связано с тем, что у меня есть собственный репозиторий фрагментов и StackOverflow. Что у меня есть, так это способность судить о том, что разумно возможно в данной структуре/ситуации, и быстро оценивать, как разбить проблему на составляющие ее этапы (каждый из которых я затем просматриваю в SO или в репозитории фрагментов).
Когда интервьюеры задают конкретные вопросы по синтаксису, я перенаправляюсь на то, чтобы сказать что-то вроде:

«Я не знаю, как написать XSD-документ наизусть, но я знаю, что он позволяет легко настраивать проверку XML-файла как на наличие определенных элементов, так и на определенные значения, которые он содержит. определенный синтаксис, но я знаю, что могу настроить [X, Y и Z] для достижения необходимой проверки».

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

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


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

Это основная причина, чтобы избежать стагнации.

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

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

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


Разумна ли эта паранойя?

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

Несколько лет назад был виртуальный огненный шторм новых JS-библиотек для внешнего интерфейса, которые вымирали так же быстро, как становились популярными. И кстати, моя собственная компания перешла от презентаций на тему «Tech X — это будущее!» к презентациям на тему "X устарел, Y - будущее!" в течение 1-2 месяцев (я смотрю на тебя, KnockoutJS...). Было просто невозможно успеть за новыми технологиями, когда они так быстро появляются и уходят со сцены.

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

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


Разумна ли эта паранойя, и если да, то было бы разумно поговорить об этом с руководством?

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

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

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

Я заметил, что во многих объявлениях о вакансиях в области разработки игр/программного обеспечения запрашивается «x лет профессионального опыта работы с технологиями y», что, по-видимому, подразумевает, что общего опыта кодирования может быть недостаточно для меня, чтобы найти другую работу в будущем. «Профессиональная» часть этого предложения также, по-видимому, не учитывает личные проекты с более соответствующими технологиями.

Не зацикливайтесь на формулировках требований. И пусть это не отговаривает вас от экспериментов с другими игровыми движками/языками.

Я закончил колледж полтора года назад

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

Разумна ли эта паранойя, и если да, то было бы разумно поговорить об этом с руководством?

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

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

Я думаю, вам следует продолжать пробовать новые технологии в свободное время.

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

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

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

Младших нанимают с расчетом на то, что они будут учиться. Средний/старший уровень нанимается с расчетом на то, что он сможет выполнять работу.

Я застрял в одном месте, занимаясь VB в течение нескольких лет. После этого устроиться на работу в компанию C# было практически невозможно. Несмотря на то, что я знал синтаксис C#, мой 7+ профессиональный опыт работы с VB ничего не значил.

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