На протяжении всей нашей жизни мы не раз сталкиваемся с проблемой выбора: где работать и какой деятельностью заняться. Иногда мир проявляет к нам доброту и сам предоставляет нам решение. Благодаря росту спроса на услуги разработчиков, им есть что сказать на эту тему, пишет в издании InfoWorld Питер Вейнер, автор 16 книг на технологическую тематику.
Работаете ли вы на фрилансе или сидите с блуждающими глазами в своей кабинке в офисе, рынок кишит предложениями по разработке, каждое из которых продвигает свой набор рецептов о том, как строить карьеру. Для некоторых это абсолютно неизведанная территория, и руки так и чешутся начать работать с компьютерами.
Следующие девять пунктов являются ключевыми для процесса выстраивания вашей карьеры. Одни обращают внимание на резюме, другие предлагают искать возможности для карьерного роста в себе самом. И размышление о своих ответах на эти вопросы – нечто большее, чем простая подготовка к тому, что вам вдруг эти вопросы зададут. Это первый шаг на пути формирования ваших умений и интересов.
1. Какие преимущества дает сертификация?
Общая дилемма для всех разработчиков, ориентированных на карьеру, – стоит ли уделять внимание сертификации. Начнём с того, что все работодатели хотят понимать, действительно ли вы знаете всё то, о чём заявили в резюме, и технические компании всегда готовы пойти им на встречу и предложить соответствующие сертификационные программы.
Цель этих программ – обучить заданной технологии, а затем проверить вашу компетенцию в изученном. Они фокусируются на практических решениях, а не на теоретических изысканиях, как сделано в большинстве университетских курсов. А, значит, они обращаются к компаниям, желающим проверить претендентов на способность решать задачи из реальной практики.
Ключевой вопрос для разработчиков – есть ли реальный спрос на какой-то конкретный сертификат? Большая часть современных технологий слишком нова, чтобы подвергаться тестовой проверке, поэтому работодатели ищут другие подтверждения компетенциям претендентов. Основой рынка сертификации всегда будут инструменты вроде сертификатов обслуживания БД Oracle или поддержки Microsoft. Компании, завязанные на этих технологиях, обычно больше платят тем, кто уже продемонстрировал свои способности. Когда ваша сертификция и потребности заказчика уравновешивают друг друга, все счастливы.
Но разработчикам следует внимательно подходить к вопросу о необходимости пройти сертификацию. Ведь подготовка к экзаменам занимает длительный период времени, а вопросы часто проверяют только основной набор знаний, поскольку тестирование проводится автоматически с помощью заранее внесённых в систему вопросов. Я сам проходил несколько таких экзаменов на проверку знаний по Java, и думал: «Знание этих фактов – это забота Eclipse, а не моя!»
Кроме того, сертификаты обычно имеют ограниченную область применения. Быть специалистом в Windows XP было круто десять лет назад, но это не выручит вас сегодня – если, конечно, компания не зависнет на Windows XP до самого своего горького конца. А помимо этого вы можете обнаружить, что прошли сертификацию в одной из версий продукта 1.0, 1.2, 1.4.
2. В чём истинная ценность диплома в области компьютерных наук?
Если определить, стоит ли вложенных усилий сертификат по определенной технологии, просто трудно, то решить, нужно ли вкладываться в традиционное высшее образование, – просто невозможно. Один взгляд на таких лидеров, как Стив Джобс, Майкл Делл, Билл Гейтс или Марк Цукерберг, доказывает, что диплом бакалавра не является гарантией того, что вы сможете изменить мир.
Но традиции живучи. И в некоторых компаниях диплом бакалавра или даже магистра – это непременное условие для работы. Так проще отфильтровать резюме из кучи запросов и предложений, а также определить некоторые характеристики, не поддающиеся измерению, такие как серьёзный интерес и разносторонние знания в работе с компьютерами. Какой бы ни была причина, многие люди продолжают верить необходимость диплома, и разработчики, бросая взгляд на запросы компаний, снова и снова сталкиваются с необходимостью тратить время и деньги на получение диплома.
Практическая ценность высшего образования весьма сомнительна. Некоторые считают, что учебный план университетов слишком сфокусирован на теоретических вопросах об алгоритмах, чтобы принести хоть какую-то пользу в работе. А профессора больше заинтересованы тем, определять ли время работы алгоритмов полиномиальной или экспоненциальной функцией.
Другие верят, что умозрительное понимание алгоритмов обязательно для эффективного выполнения работы при возникновении новых задач, поскольку языки возникают и исчезают, а глубокое понимание сущности вопроса остаётся с нами до конца.
3. Специализация или универсализация?
Хороший разработчик способен программировать на любом языке, поскольку языки — это просто «if-then-else»-образные конструкции и умные фичи для повторного использования. Но каждый программист в итоге определяется с любимым языком с его собственным набором идиом и конструкций, которые прочно оседают в его мозгу.
Сложность заключается в том, чтобы остановиться на языке, на который есть спрос на рынке. Хорошим выбором будут языки вроде Java, C++, PHP и JavaScript. Они формируют ядро технологических стеков, а, значит, будут востребованны среди работодателей.
Но не менее привлекательными будут новые языки, которые не только помогают решать проблемы головоломные для старых языков, но и предлагают новые концепции, не сформулированные ранее.
Когда дело доходит до новой технологии, сомневаются не только разработчики, но и работодатели. С одной стороны, их привлекает мысль о том, что новый язык решит все старые проблемы, с другой – они достаточно благоразумны, чтобы скептически относиться к подобным «причудам». Достижение технологией равновесия сжет занимать десятилетия, и они должны уметь мудро подойти к вопросу, чтобы не попасть в ловушку языка-однодневки, который больше никто не знает.
Лучшая позиция для разработчика — наработать опыт в языке, спрос на который на рынке возрастает. Перед выходом iPhone, Objective-C был вымирающим языком, использовавшимся исключительно для написания native-приложений под Mac. Все изменилось и потребность в Objective-C стремительно возросла. И для каждого разработчика выбор нового языка, который в любой момент может стать популярным или уйти в небытие – всегда авантюра.
4. Стоит ли вкладываться в open source?
Частый стереотип, связанный с проектами с открытым исходным кодом, состоит в том, что их якобы делают чистюли, которые воротят нос от денег. Стереотип рассыпается, как только люди осознают, что опыт со специализированными проектами такого рода может быть ценной визитной карточкой или даже собственным карьерным путём.
Наиболее зримым достоинством работы над open source проектами является возможность продемонстрировать код потенциальному работодателю. Никаких соглашений о неразглашении и проприетарных ограничений, которые помешают вам отправить собственноручно сделанный кусок проекта со словами: «Это написал я». Посмотреть может абсолютно любой. А если вы получили статус участника, это показатель того, что вы умеете работать в команде и знаете, как принести пользу в проект. Всё это – важные умения, о которых часто забывают разработчики.
Некоторые наиболее популярные проекты с открытым исходным кодом теперь стали частью организаций, и компании очень внимательно наблюдают за разработчиками, являющимися частью сформировавшихся вокруг open source проектов, от которых зависят их стеки. Один менеджер из серьезной серверной компании как-то сказал мне, что он не может нанять Линуса Торвальдса, но ему нужны эксперты по Linux. Он следил за проектом Linux и в результате нанял людей, знакомых с Линусом Торвальдсом. Если списки почтовых рассылок показывали наличие итераций между Торвальдсом и разработчиком, менеджер поднимал трубку.
Многие open source проекты нуждаются в поддержке – подобная работа может быть дополнительным заработком и шагом на пути к карьере на полную ставку. Зачастую компании считают более выгодным с финансовой точки зрения не приобретение проекта, а адаптацию open source технологии и найм нескольких специалистов, которые бы поддерживали её в рабочем состоянии.
Активные программисты обычно вкладываются в open source проекты на ранних стадиях их развития. Они могут тратить на них свое свободное время только потому, что проекты классные. Однако если проект становится новым Hadoop, Lucene или Linux, программисты получают возможность сделать из эксперимента работу и даже карьеру.
5. Как решить проблему возрастной дискриминации?
Что нужно каждому ИT-рекрутёру? Неженатый 21-летний выпускник ведущего компьютерного вуза, готовый работать часами и творить разные классные штуки. А как там насчет 22-летнего с опытом работы 1 год? Ну, может быть… Возможно… Ещё остались свободные 21-летние?
Один из сильнейших негласных законов мира программирования заключается в том, что менеджеры имеют весьма смутные представления о том, какой возраст лучше всего подходит для этой работы. И речь не о сознательной дискриминации со стороны менеджеров, и не о том, что с возрастом люди меняются – но факт остается фактом. И стереотипы сильны, даже если они противоречат закону.
Это наиболее заметно в гиперконкурентном мире тех-стартапов, где отношение к соискателям примерно такое же, как в NBA. Если вы задержались с получением степени, вы уже вне игры. В этом мире все призы достаются тем, кто часами сидит за реализацией своих навязчивых идей. Они предпочитают молодежь, и здесь не редкость услышать, что какой-нибудь венчурный капиталист отбросил в сторону специалиста старше 20-ти с чем-то.
Хорошие новости для программистов состоят в том, что некоторые компании предпочитают специалистов постарше, матёрых, которые наработали позитивный опыт в командной работе. Это не те до блеска отшлифованные вакансии, которыми полны объявления, но часто работа, которая приносит и деньги, и удовлетворение.
Наиболее шустрые программисты учатся позиционированию в этой конкурентной борьбе. Ряд вакансий заточен под фанатично преданную молодежь, которая будет кодить ночи напролет, и более взрослые программисты, успевшие обрасти семьями, подобные вакансии рассматривать не будут. Другие требуют специалистов с опытом, и молодые «рок-звезды» не должны искать путей туда, где работодатель желает видеть разработчика стабильного и надежного, а не горящего идеями.
6. Важна ли локация?
Если вы молоды и готовы упаковать все свое имущество в багажник авто и уехать, единственное, что имеет значение при выборе места работы – это нравится ли вам, как готовят буррито в кафе а углом. Хорошая еда и приятное окружение — единственное, что в этом случае важно.
Сложнее будет обстоять дело с вашей следующей работой, когда вы уже не сможете за 10 минут уместить все ваши пожитки в машину. А если у вас появилась семья или другая причина, которая делает кочевую кодерскую жизнь трудной до невозможности, придется подумать о том, чтобы застолбиться в этом месте, прежде чем идти к новому работодателю.
Многие разработчики Кремниевой долины успешно скачут от стартапа к стартапу, и если не срабатывает один, в эту же минуту вырастает другой. Там достаточно работы в различных компаниях, что облегчает поиск нового места трудоустройства.
Подобная ситуация может быть главной причиной того, что некоторые фирмы испытывают проблемы с привлечением талантов в регионы, где существует только один лидирующий работодатель. Скажем, если вы переедете в штат Орегон или Вашингтон, а устроиться не получится, вы будете вынуждены снова сниматься с якоря.
7. Существует ли вечновостребованная сфера?
В последнее время выбором многих программистов стала специализация на каком-то одном направлении. Один становится мастером в области пользовательских интерфейсов и занимается тем, что сочетает в них простоту и силу. Другой специализируется на шаринге и big data.
Перспективы карьерного роста в определенной сфере всегда должны быть очень хорошо взвешены, в частности из-за вероятной угрозы попадания на периферию разработки. Некоторые думают, что особенности пользовательских интерфейсов предопределены культурой, что спасает их от вышеназванной угрозы. Другие уверены, что только выбор крупного течения вроде хранилищ big data помогут держаться на плаву.
Поскольку изменения в ИТ-сфере происходят постоянно, они вряд ли будут повторяться от волны к волне. И если вы не обладаете соответствующим эстетическим вкусом, звездой пользовательского интерфейса вам, скорее всего, не стать. Равно как нет никакого смысла в том, чтобы пытаться позиционировать себя как мастера big data, если у вас серьезные проблемы со статистикой. Существуют определенные ограничения в возможностях построения карьеры, но вы также можете дать вашим сильным сторонам другое направление и таким образом защитить себя от выпадения с рынка.
8. Есть ли смысл вкалывать на себя?
Наиболее часто встречающаяся карьерная дилемма сейчас – работать на фул-тайм или на контракте. Большое количество компаний, особенно крупных, рады работать с контрактниками, поскольку это упрощает весь процесс долгосрочного планирования и позволяет брать на себя проекты без риска вызвать раздражение начальства, беспокоящегося об увеличении штата.
На практике самым крупным отличием оказывается ситуация со страховкой и пенсионными льготами, о которых контрактнику приходится думать самостоятельно. Для кого-то это головная боль, но есть и те, кто любит ощущение стабильности, возникающее от чувства полного контроля над ситуацией.
Другое отличие заключается в том, что вы сами предпочитаете делать. Постоянные служащие часто и кураторы, и временно исполняющие обязанности, ответственные за то, чтобы все работало. В то время как контрактники и фрилансеры выполняют роль строителей и решают исключительно те вопросы, для которых их пригласили. Разумеется, это не истина в последней инстанции, но в большинстве случаев те, кто находится ближе, вынуждены исполнять роль оперативной технической поддержки.
Это причина, по которой контрактники занимаются тем, что специализируются на определенных технологиях, в то время как штатные сотрудники – на том, чтобы поддерживать компанию на плаву. И те, и другие могут позционировать себя как специалисты в Oracle, Microsoft или Lucene, но только штатники могут получить задание запустить проект, потому что боссу он нужен до следующей пятницы.
А уже в зависимости от культуры самого работодателя, подобное может предполагать либо широкое поле для экспериментаторской деятельности штатников, либо возрастающую вероятность использования в компании устаревшего ПО дольше, чем кому-либо этого хотелось бы.
9. Работа вне tech?
Многие разработчики забывают, что работу можно найти и в компаниях, косвенно связанных с технологиями. Проще думать, что программисты всегда работают в tech.
Сообразительный прогер осознаёт, что выбор работодателя нетехнической специальности может обеспечить уникальные карьерные перспективы. Сейчас почти каждая компания нуждается в сотрудниках, подкованных в компьютерах, а также стратегии создания большинства компьютерных систем. Специалисты по продажам нуждаются в ПО для отслеживания поведения потенциальных покупателей, склады – для того, чтобы вести логистику, и часто кто-то должен настраивать все эти решения, чтобы удовлетворить нужды бизнеса..
Понимание сути бизнес- и технических процессов организации — одно из лучших средств от аутсорсинга. Знание популярных инструментов часто становится источником дохода, что приводит к конкуренции с забугорными программистами и их меньшими ценниками. Но осведомленность в двух или большем количестве областей – единичный товар, который трудно заменить.
Дальновидные компании всегда будут создавать организаторские перспективы для собственных технических специалистов, если очевидно, что развиваемая технология станет важнейшей частью будущего организации. Компания с большим компьютеризированным хранилищем также будет создавать карьерные перспективы для специалистов, так как развитие софта, которым в будущем займется компания, станет существенной частью ее развития. Технические специалисты часто могут играть важные роли в технологичных компаниях.
Основной вопрос – насколько вы готовы изучить дело, каким бы оно ни было. Если вы хотите просто говорить об указателях и структурах данных, хватайтесь за тех-компанию. Но если вы проявляете естественный интерес к проектированию складов и вам всегда было дело до других аспектов бизнеса помимо ИТ, пора осознать, что люди, подкованные в компьютерах, не менее востребованы в других секторах.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.