Мой путь в ИТ. Часть 1: Планирование
Данная статья открывает цикл, в котором я хочу поделиться своим опытом перехода с должности менеджера в крупной украинской компании на позицию Java EE Software Developer. Надеюсь, мои статьи будут интересны людям, находящимся вне ИТ, но желающим переквалифицироваться в разработчика программного обеспечения. Планирую по завершению каждой фазы перехода писать статью. Хочу заметить, что ни в коем случае не претендую на описание «единственно верного пути настоящего джедая» и т.п., а лишь описываю свой личный опыт.
Ссылки на все статьи цикла:
- Часть 1: Планирование
- Часть 2: Сертификация OCA Java SE 8 Programmer (экзамен 1Z0-808)
- Часть 3: Подготовка, поиск, собеседование
1. Предыстория.
Я спокойно и с удовольствием работал успешным менеджером в большой и успешной компании на должности главного технолога. Моя ответственность состояла в обеспечении поддержки и технологического развития компании путем разработки и усовершенствования бизнес-процессов, написания инструкций и стандартов. Также сотрудники моего подразделения выступали участниками и менеджерами проектов по разработке новых услуг, внедрению инноваций и т.п. В работе мы достаточно тесно сотрудничали с разработчиками программного обеспечения: ставили технические задания, проводили функциональное тестирование (без автоматизации), составляли инструкции для пользователей. Я всей этой деятельностью управлял.
В определенный момент ситуация начала изменяться и по ряду субъективных и объективных причин я решил сменить место работы. При этом для себя я выбрал и новую сферу деятельности — разработку программного обеспечения. Такой выбор был обусловлен следующими причинами:
- в детстве и юности я активно занимался программированием, хотя мое любительское увлечение не стало профессией;
- мне нравится писать программы и работать с компьютером;
- есть ощущение, что разработка ПО — одна из сфер, где можно самообучением и упорным трудом прийти к успеху;
- в отрасли хорошие специалисты получают хорошие зарплаты.
2. Выбор языка.
После принятия решения встал вопрос о выборе языка программирования. В итоге размышлений о том, чего хочу, я сформулировал требования к необходимому для освоения языку:
- широкое использование языка в решении бизнес-задач крупных компаний. Это требование обусловлено моим желанием использовать в работе свой предыдущий опыт работы с бизнес-логикой.
- достаточная распространенность. Думаю, очень сложно найти работу, если на рынке всего 3,5 вакансии.
- понятная мне философия и синтаксис. По мнению психологов язык тесно связан с мышлением. Язык программирования — это способ выражения своих мыслей. Если способ не соответствует образу мышления, вряд ли можно рассчитывать на более-менее серьезные успехи.
- возможность освоить язык программирования и необходимые для начала работы остальные знания (фреймворки, библиотеки, инструменты и т.д.) за не слишком продолжительное время.
- перспективность с точки зрения профессионального роста.
Языки программирования, в которых у меня был хоть какой-то опыт (MATLAB, C, Assembler, Python), эти требования не удовлетворяют. Значит, нужно изучать новый язык. После недолгого исследования сайтов по трудоустройству, википедии и прочих ресурсов свой выбор я остановил на Java.
3. Составление плана.
Язык выбран, какой дальнейший план? План должен логично выводиться из цели. Моя цель — получение должности Java Software Developer. Решение брать меня на эту должность или нет принимает работодатель. Чего же он хочет? По моему мнению, работодатель хочет видеть в кандидате:
- Адекватность и вменяемость, соответствие корпоративным ценностям компании.
- Профессионализм, под которым я понимаю способность в заданные сроки решать поставленные задачи с необходимым качеством при минимальном
вмешательстве и волнении руководителя.
Требование № 1 логично, так как очень трудно управлять сотрудником, если он тебе не понятен, а коммуникация проблематична. Определяют соответствие данному требованию обычно по резюме и личному собеседованию. В Сети полно статей и как составить красивое резюме, и как показать себя «лицом». Нет смысла повторяться.
Давайте лучше более детально рассмотрим второй пункт. Как работодатель оценивает профессионализм претендента на вакантное место? По моему мнению, он уделяет внимание таким аспектам:
- Наличие опыта работы. С точки зрения работодателя опыт кандидата — мегаважный критерий. Ведь, если ему кто-то уже платил, например, год за разработку ПО, значит кандидат это ПО разрабатывал и не самым худшим образом.
- Решение кандидатом тестового задания. Логично, что если кандидат решает данное ему задание, похожее на настоящую задачу, то и с настоящей задачей он справиться. Проблема в том, что если HR не увидит в резюме нужного опыта/скилов/знаний, то задание могут и вообще не прислать.
- Ответы кандидата на технические вопросы на собеседовании. Они позволяют оценить уровень знаний кандидата и логичность его мышления.
Исходя из этих соображений и отсутствия опыта профессиональной работы программистом я составил для себя минимальную программу подготовки:
- Освоение языка Java в необходимом объеме и прохождение сертификации Oracle Certified Associate Java SE 8 Programmer. На мой взгляд, сертификация полезна вдвойне. Во-первых, подготовка к сертификации даст знания основ Java, без которых профессионально развиваться начинающему непросто. Во-вторых, наличие сертификата говорит работодателю, что претендент не просто хочет, а еще и что-то знает. При этом знания его подтверждены Oracle.
- Написание квалификационного демо-приложения и выкладывание его в Сеть. По моей задумке, выполнение этой работы даст некоторые минимальные навыки программирования на выбранном языке, код можно будет предоставлять потенциальному работодателю для подтверждения квалификации. Кроме того, практическая работа даст возможность еще и приобрести базовые навыки по работе с IDE и прочими инструментами разработчика.
Теоретически, выполнение данного минимального плана подготовки должно дать мне возможность начать поиск работы в выбранной сфере. В следующей статье опишу подготовку и сдачу экзамена Oracle Certified Associate Java SE 8 Programmer.
Спасибо всем, кто дочитал статью до этого места. Очень жду в комментариях Ваших замечаний и предложений по описанному выше плану и всей статье.
Продолжение:
Мой путь в ИТ. Часть 2: Сертификация OCA Java SE 8 Programmer (экзамен 1Z0-808)
Найкращі коментарі пропустити