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

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

Однако, боюсь, мои навыки программирования больше не востребованы. Я провел большую часть последних семи лет, создавая интранет-интерфейсы для баз данных или создавая онлайн-отчеты. Так что большая часть моего опыта связана с SQL, с некоторыми ASP Classic. Я получил некоторый опыт работы с C# и VB, но мой менеджер настроен против Visual Studio, поэтому я не использовал эти навыки годами. В последнее время меня познакомили с проектами, использующими mySQL и PHP. Но даже после семи лет на этой должности я не являюсь экспертом в какой-либо конкретной области.

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

Что бы вы ни делали, не повторяйте ту же ошибку снова. Всегда спрашивайте: «Что я получаю от этой работы, кроме денег?»

Ответы (6)

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

Сертификаты, по крайней мере в США, обычно не имеют большого значения. Ценность, которую они приносят, на мой взгляд, заключается в том, чтобы зажечь огонь для кого-то, чтобы изучить тему вдоль и поперек. Лучшая часть получения сертификата - это обучение, навязанное вам с крайним сроком (тестом), а провал теста приводит к пустой трате времени и денег. Я заставляю вас усердно учиться, а знания стоят гораздо больше, чем сертификат.

Оставайтесь в программировании и приобретите еще несколько востребованных на рынке навыков. Возможно, вам придется сделать это в свободное время. Навыки работы с базами данных переносятся на любую СУБД, так что, похоже, это вам подходит. Даже простое углубление навыков PHP с вашим опытом работы с SQL может привести к потенциальным возможностям. Посмотрите на такие языки, как Ruby, которые популярны и обычно считаются более легкими для изучения. Отход от технологий Microsoft и переход к открытому исходному коду также должны открыть больше возможностей в будущем. Компании, связанные с Microsoft, могут ограничить ваш выбор, в то время как магазины Unix/Linux могут использовать несколько языков.

И вы можете прочитать этот пост в блоге, который я написал о том, чтобы оставаться на вершине технических навыков, работая в ограниченной технической среде. fecak.com/…
Программисты говорят, что сертификация не имеет значения, но обычно не они занимаются наймом.
Я говорил как рекрутер программистов, а не как программист (я не программист). Мои клиенты, как правило, не придавали никакого значения сертификатам, и на самом деле некоторые очень настороженно относились к кандидатам, которые просто пытаются получить несколько сертификатов, не имея реального опыта работы. На мой взгляд, это может работать против вас — загрузка сертификатов или тестов Brainbench, чтобы попытаться доказать свои навыки, может создать видимость того, что кто-то пытается обмануть систему, и было бы лучше потратить время на проекты с открытым исходным кодом или личные проекты, где код можно показать.

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

Итак, хорошенько взгляните на свои достижения на работе. Они говорят гораздо громче, чем конкретные технологии в вашем резюме, особенно если вы можете найти способ, чтобы рекрутеры и компании обратились к вам, а не наоборот. Один из способов сделать это — обновить свой профиль на Dice.com или LinkedIn.com, указав новое уверенное резюме.

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

Отвечайте на вопросы на таких сайтах, как этот. Это даст вам более широкий опыт, чем вы могли бы получить на работе, поскольку вы ищете ответы на вопросы других.

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

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

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

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

Ваши навыки кажутся мне выгодными . Поэтому я был бы склонен спросить, имеете ли вы в виду «навыки программирования» что-то более конкретное, например, навыки программирования настольных приложений или навыки написания алгоритмов? В прошлый раз я проверял, что чрезмерное количество веб-сайтов использует SQL (обычно, но не всегда MySQL) и либо ASP, либо PHP, поэтому мне было бы трудно думать, что навыки веб-программирования не востребованы или не пользуются спросом, или что вы не получили значительные знания предметной области из вашего многолетнего опыта.

Рассмотрите возможности там, где вы находитесь . Вы, безусловно, могли бы поговорить со своим начальником и рассказать о своих стремлениях, а также сообщить ему или ей, как он или она может помочь вам достичь некоторых из ваших целей в области знаний. Конечно, бизнес-задачи могут стоять на первом месте, и вы можете быть не в состоянии работать на 100% только в своей любимой части работы, но когда ваш начальник пытается решить, должны ли вы делать X и Джо, ваш коллега должен делать Y или и наоборот, если он/она знает, чем вы хотели бы заниматься, это может помочь повлиять на процесс принятия решений, чтобы привести ваши задания в соответствие с вашими интересами.

Решите, на чем вы хотели бы специализироваться . Если вы чувствуете, что ваша нынешняя должность привязывает вас к специальности, в которой вы не заинтересованы продолжать работу в долгосрочной перспективе, начните с оценки того, какой другой специальностью вы бы хотели заниматься. Учет того, какие языки популярны в вашем районе или какие языки и навыки востребованы в списках вакансий, может помочь сузить список вариантов. Вы бы предпочли быть программистом на C#? PHP-программист? Выучить Java или C++? Стать гуру базы данных? И т.п.

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

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

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

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

В отличие от других ответов, я порекомендую получить пару сертификатов (выберите то, что вы знаете) и обновлять сертификаты каждые пару лет. В качестве одноразового приключения сертификаты не так уж хороши — они представляют собой моментальный снимок того, что вы знали технологию X на дату Y. В качестве постоянного усилия они показывают потенциальным работодателям, что вы идете в ногу с новейшими технологиями и не останавливаетесь на достигнутом. вы сделали несколько десятилетий назад. Я также разработчик, и мое внимание сосредоточено на .NET. В результате у меня есть сертификаты Microsoft с 1998 года, и каждые пару лет я получаю новый четырехбуквенный сертификат. Так что я могу указать на этот прогресс как на доказательство того, что я не расслабляюсь, когда дело касается технологий.

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

Модное название для этого — «бизнес-аналитика». Умение работать с Crystal Reports или Pentaho (есть версия с открытым исходным кодом) или SSIS может стать новым направлением в вашей карьере.

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

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

  1. Я хочу верить, что за эти семь лет вы приобрели очень специфические для отрасли знания (как финансовый разработчик, я освоил ISO 8583урегулирование, примирение и арбитраж споров). Таким образом, вы должны уметь классифицировать некоторые знания/опыт как отраслевые. Знание предметной области имеет неоценимое значение при восхождении на руководящие должности.

  2. Получите независимый от поставщика сертификат . Что-то, что не имеет абсолютно никакого отношения к основному программированию. Посмотрите на эти три PMP, ITIL V3 (Foundation is adequate), CISMи/или CISA. Эти сертификаты находятся в порядке ответственности сертифицирующего органа. С PMP или ITIL вы можете просто получить сертификацию и сразу же начать практиковать и начать получать отдачу от своих инвестиций без необходимости платить плату за обслуживание или ежегодные кредиты на повторную сертификацию и т. д. РЕДАКТИРОВАТЬ (уточнение) Получение сертификата ставит вас в правильное положение ум и дает вам необходимое обучение, чтобы взять на себя больше ответственности и другую точку зрения в бизнесе.

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

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

7 лет вряд ли большой опыт, и ОП, похоже, не уверен в своих навыках. Сейчас не время для управления для него. Ему нужно больше времени, чтобы расти, больше учиться, прежде чем он сможет рассчитывать на передачу знаний другим.
@fecak Я твердо верю, что 7 лет достаточно для роли руководителя команды, если у него есть опыт работы в качестве руководителя команды. Богатство опыта, а не только навыки или количество лет, является фактором, влияющим на общую сумму профессионала. Я встречал людей, которые за 5 лет технической работы видели, сделали и испытали больше, чем многие люди получают за 10. Если он взял на себя достаточную ответственность за свои 7 лет, почему он не может настаивать на роли руководителя команды? по минимуму?
Он говорит, что он «на самом деле не является экспертом в какой-либо конкретной области». В вашем ответе № 3 говорится: «Никто не любит мастеров на все руки…». Вы хотите сказать, что лидерами должны быть те, у кого нет опыта? Я не имею к вам никакого неуважения, но ОП действительно должен пытаться развивать свои навыки и даже не думать о лидерстве, если у него нет врожденной способности к лидерству. Его вопрос касался улучшения его навыков программирования и выхода на рынок. Он не востребован как менеджер (похоже, нет опыта управления). Он в некоторой степени востребован как программист, особенно если он изучает более востребованные на рынке навыки программирования.
где ОП упоминает свой опыт руководства командой? Я имею в виду ваше первое предложение «если у него есть опыт работы руководителем группы». Что заставляет вас предполагать этот опыт?
@fecak, не беспокойся. То, что я сказал в пункте 3, я считаю, связано с тем, что вы сказали. «В качестве технического руководителя/менеджера настоятельно рекомендуется, чтобы вы были экспертом в предметной области или близкими к нему экспертами в конкретной технологии», — так я завершил заявление, которое вы процитировали. Конечно, он должен иметь глубокие познания в конкретных областях. Это переход, а не бросить работу сегодня и подать заявку на работу в следующий вечер. Переход. Он должен начать сейчас и, вероятно, будет готов к переезду через 2-4 года.
Спасибо за разъяснения. Я с уважением не соглашусь и скажу, что ему нужно изучить больше технологий, прежде чем переходить на следующий уровень. Рад, что он может видеть разные мнения.
@fecak, лол. Не беспокойтесь, шеф. Вот почему мы все здесь.
Просто хочу отметить, что для подачи заявки на сертификацию PMP (Project Management Professional) необходимо иметь определенный опыт . Это включает в себя 3-летний опыт управления проектами, а также 4-летнее образование или образование в области управления проектами.