Йода: Мастер Квай-Гон, есть что еще сказать тебе?
Квай-Гон Джин: С вашего позволения, магистр. Я обнаружил точку сосредоточия Великой Силы.
Йода: Сосредоточия, сказал ты?
Мэйс Винду: Внутри живого существа?
Квай-Гон Джин: В мальчике. Его клетки содержат высочайший уровень мидихлориан из всех, что я видел. Вероятно, он был зачат мидихлорианами.
Мэйс Винду: Ты намекаешь на пророчество об Избранном, который привнесет баланс в Силу. Ты веришь, что это тот мальчик?
Звёздные войны. Эпизод I. Скрытая угроза.
Дружище, если ты читаешь это, то, скорее всего, ты — инженер. И, возможно, тебя уже все достало. А может, и нет. Впрочем, хочу поделиться с тобой опытом и мыслями о том, как мне удалось воплотить свою внезапно появившуюся мечту в реальность.
Темная сторона Силы скрывает все. Предвидеть невозможно наше будущее...
Защитил я свой красный диплом на тему беспилотной авиации и решил внедрить свой беспилотник, который я же сам и «надипломил». К тому времени я уже полтора года работал инженером-конструктором в отделе аэродинамики ОКБ (опытно-конструкторского бюро). Эх, знал бы я заранее, как быстро меня «приземлят» вместе со всеми моими амбициями и хотелками… В общем, осознал я суровую реальность и продолжил тихо работать в тряпочку.
Романтика работы рядового инженера обычно заключается в расчетах, отчетах, перерасчетах, в вечном переделывании, вплоть до потери связи с реальностью. У нас даже у начальника была забавная печать «Все *ня. Переделать!» И все бы ничего, но меня стал дико угнетать тот факт, что вот ты колдуешь-колдуешь годами, а результата-то нема! Нет четкого группового мозгового взаимодействия — половина работы, которую мы делаем, оказывается ненужной. Отсюда и вечные переработки, и выходы в выходные. Ну и как-то нет той «советской», общей идеи и желания руководства обогнать «клятые штаты». А ведь главный мотиватор в опытном проектировании — общая идея.
Поработал я так больше трех лет — надоело, нужно что-то менять. И тут я вспомнил свои порывы стать программистом. Хотел сдать ЕГЭ по информатике, дабы поступить куда надо, но хмурая учительница на первом же факультативе быстро отбила желание: «ЕГЭ не сдашь. Ты очень слаб в информатике».
После долгих вечеров осмыслений я вдруг понял, что должен стать разработчиком! Долой все эти расчеты, кипы бюрократического мяса и вечные формальности! Хочу кодить и быть крутым! Ну, или наоборот.
Отпустить ты должен скорее всё то, что ты потерять боишься...
Какой выбрать язык?
Первое, с чем я столкнулся, это выбор языка программирования. Никогда не знаешь, чем это все кончится. Так и я — начитался, насмотрелся, наболтался. В итоге оказался между двумя гигантскими курултаями: первые — «джависты» (кодят на Java), а вторые — «сишарписты» (кодят на языке C#). Чуть не стал «сишарпистом», но тут меня соблазнила Java своей кроссплатформенностью и тем фактом, что «джавистов» мало. Ну а мы, как говорится, не ищем легких путей. В итоге — Java.
Как научиться писать код на Java?
Первое что приходит на ум — самообразование. Ну, думаю, выучу сам по туториалам и видосикам, тем более, бесплатно! Но после недели издевательств над своей волей я понял, что мне нужны курсы, ибо псевдо-самообучением я рисковал растерять весь свой интерес к кодерству.
Поиск не занял у меня много времени. Среди онлайн-курсов, тренингов и школ я нашел курс по Java-программированию в IT-парке Казани (на Петербургской 52), и там как раз набирали группу для запуска. График обещали удобный: по субботам и воскресеньям, 70 академчасов в целом. Цена на курс для 2017 года была 24 тонны деревянных. Их можно было выплачивать в рассрочку ежемесячно по 6к. Для инженера сойдет. Да и жертвовать выходными ради общей цели — мы такое уже проходили, не дрогнем.
Я согласен. Знания свет путь укажет нам
Перед стартом курса нас поделили на две группы: старшая и младшая. Делили посредством незамысловатого тестирования. Я попал в старшую. А кто бы сомневался, я ведь инженер.
Дальше работа шла в ключе «неделю готовишь домашку, в выходные ее сдаешь». Таким макаром от вывода “Hello, World!” до написания и разворачивания своего веб-сервиса на удаленном Linux-сервере прошло 5 месяцев.
После курса у меня уже было какое-то представление, как писать простейшие программки, показали, куда тыкать в SpringBoot’е, научили создавать виртуальную машину и устанавливать туда Linux, показали, как разворачивать там свой сервис и т.д. На выходе у меня был первый мини-проектик в виде RESTful веб-сервиса с прикрученным сваггером. Ах да, вишенкой на торте стал сертификат о повышении квалификации.
Воспользуйся чутьем своим, и ты его отыщешь
За месяц до окончания курсов я создал резюме на нашем любимом «хэ-хэ ру» и начал потихоньку искать новое место для своих деяний. Ощущение собственной крутости после курсов немного перебило реальность и, начав ходить на собеседования, я стал важный как бумажный. Где-то это сыграло со мной злую шутку, а где-то мне даже предложили переучиться на PHP.
После месяца собственной популяризации я нашел то, что искал. Вакансия на стажера Java-разработчиком. Ну, а что? И Храм джедаев не сразу строился. Выполнив тестовое задание и пройдя собеседование, я был принят. Причем устроился я не только на полставки, но и по совместительству, ведь я еще остался на полставки в своем Конструкторском Бюро! Да-да, так не хотела меня отпускать авиация, да и любим мы, инженеры, всякие изощренные способы ведения дел. А если по чесноку, то «жить-то на что-то нужно было».
Терпение! Джедаи ужинают сейчас. Хе-хе
Варианты исхода стажировки были оговорены заранее. В зависимости от приобретённых знаний меня либо сразу берут в штат, либо предлагают еще одну стажировку, либо мы прощаемся. Продолжительность одной стажировки три месяца, больше двух стажировок быть не может.
За мной закрепили Buddy — моего личного Оби-Ван Кеноби. Кстати, еще один плюс к моей общей мотивации. Он был практически всегда и везде. Эх, все-таки приятно ощущать себя джедаем. Ой, то есть «джавистом» =)
Я зарядился терпением, слабоумием и отвагой и ринулся покорять просторы опыта программирования! Сам факт, что меня взяли стажером, уже был маленькой победой, ведь на этом этапе запустился счетчик опыта в программировании.
Моя первая стажировка дала мне опыт автономности от всяких IDE, я понял глубже суть JVM, да и самой Java, научился находить причины ошибок и освоил сервлеты. Заодно начал подтягивать свой English, ведь почти вся документация к языкам, API и фреймворкам полностью на английском. Погоди. Я сказал — первая стажировка?
Но ему еще многому нужно научиться. Он очень талантлив и потому — самонадеян
Да-да, все верно. После окончания первой стажировки мне предложили пройти еще одну с целью получения знаний и опыта. Всё напрасно? Нет, конечно, просто у меня еще не набрался тот багаж знаний, который обычно получают айтишники за четыре-шесть лет обучения. Обычно на этой стадии начинает отваливаться немотивированный народ, и недавняя мечта вдруг превращается в объект ненависти.
На второй стажировке мне предстояло освоить азы SQL, познакомиться с языком JavaScript (пожалуйста, не путайте с Java), пользоваться библиотекой JQuery и много-много всего интересного. В общем, хапнул всего понемножку. Как говорил мой первый учитель по Java: «Сейчас тенденция изучения языков программирования стремится к букве “Т”, горизонтальная линия является поверхностным знанием нескольких языков, а вертикальная — глубоким знанием одного».
Да, вторая стажировка была действительно интересной. Портфолио моих проектов пополнилось различными страничками с поиском товаров, страничками авторизации и т.д. Но главным выпускным проектом был сайт с кучей страничек и пользователями. Я вложил в него все, что изучил за весь этот год!
Да пребудет с тобой Сила
Ну и, собственно, момент истины — меня взяли как junior Java developer или, если на «инженерском», то инженером-программистом 3 категории! Наконец-то, я уволился со старой работы и начал заниматься исключительно программированием. Теперь моя главная цель — стать Йодой в Java-программировании!
Вчера, когда я собирался на работу, мой диплом, слетая с верхней полки гардероба, покусился на приземление на моей голове. Но мое джедайское чутьё меня не подвело, и я остановил его при помощи Великой Силы. Это была последняя попытка ситхов заставить меня перейти на тёмную сторону Силы. Но теперь-то я знаю — чтобы быть джедаем, не нужны никакие дипломы, а нужна светлая сторона Силы и мидихлорианы!
Вот такой вот «горизонтальный промоушн» в другую ветку технической индустрии всего за один годик. Не так уж и много, чтобы кардинально изменить профессиональное направление на одно из перспективнейших в ближайшие несколько лет, а то и на всю оставшуюся… Мы в универе больше времени тратим на ту специальность, которую, возможно, никогда и не будем юзать.
А ты, дружище, работаешь в перспективной среде? Видишь результат своей работы? Готов ли ты работать сейчас за идею? Кем ты видишь себя через пять лет? Если ответил(а) хотя бы на один вопрос «нет» или «не знаю», задумайся!
Скайоукер все за горизонт смотрит. А как же здесь и сейчас, ммм? Решение у тебя перед носом!
Магистр Йода
Комментарии (37)
GarfieldX
13.12.2018 17:20Если бы еще на курсах учили правильно думать, т.е. алгоритмически.
А так, просто еще одним кодером стало больше…
тенденция изучения языков программирования стремится к букве “Т”
Как джавист после прочтения этого подумал совсем о другом, а реальность оказалась слишком поверхностна.
dom1n1k
13.12.2018 17:45+3Свежий анекдот: встретились как-то раз хирург, таксист и авиаконструктор…
Whuthering
13.12.2018 19:54Авиаконструторы в данном случае все-таки ближе к программистам. Как ни крути, и тем и тем присуща любовь к технике, точным наукам, наличие абстрактного и логического мышления, умение читать и понимать документацию, творческий подход, и т.д.
Exponent
13.12.2018 19:35+1Я вот и «джавист» и «сишарпист» одновременно, это мне помогает смотреть на вещи под разными углами. Боюсь однако что автор через несколько лет поймет что программирование это то же самое конструирование, тоже не всегда все так как хочется, да и выкидать код порой приходится. Наверное автору еще нет 30 лет, поэтому он еще идеалист. Но раз решил сдаваться нельзя, только вперед.
xRay
13.12.2018 21:30Выкидывать свой код это половина беды. Сопровождать старый код, отладка и ловля багов, поиск узких мест в производительности SQL-запросов вот оно счастье. :)
Xop
14.12.2018 01:34Есть ещё более адовый вариант — в сжатые сроки писать кучу костылей зная, что потом это все придется выкинуть и переписать нормально. И полный яд — когда наступает час Ч, проект наконец шевелится, и тут заказчик говорит — а зачем переписывать, давайте просто будем написанное поддерживать.
roscomtheend
14.12.2018 11:42Говорит не так, говорит «у нас нет ресурсов на переписывание, т.к. мы уже продали этот набор костылей другому заказчику, их только чуть допилить, ничего капитально не трогая, срок сдачи вчера… как до свидания? как трахайтесь с этим сами?»
nmrulin
15.12.2018 00:23В этом нет ничего плохого. Кто не делал костыли, то и нормальное не сделает. Плохое, да, что надо поддерживать старые костыли. В результате надо писать костыли в новый проект, чтобы использовать старый код(который с костылями), чтобы разработчик не дай бог не подумал, что уже пишется новый проект. Но заказчика тоже можно понять. Никто не знает же сколько будет жить программа — три дня или «вечность». В первом случае никому нормально написанный код не нужен будет. Причём по закону подлости обычно — чем глючнее код, тем больше чего срок службы.
aeeneas
13.12.2018 20:03+1Сам раньше хотел переквалифицироваться в программиста, но потом перехотелось заниматься дауншифтингом из инженера с дипломом университета и спокойной работой в очередного программиста-вайтишника с дипломом шаражки и перспективой лёгкой замены на индуса, да и типичные проекты вроде интернет-сервисов по продаже фигни не особенно привлекают.
Конторы сейчас тоже всё чаще хотят не кого-нибудь, а “bachelor degree in computer science or equivalent” с опытом работы с десятком фреймворков, что намекает на насыщение рынка труда в этой области.Whuthering
13.12.2018 20:17и перспективой лёгкой замены на индуса, да и типичные проекты вроде интернет-сервисов по продаже фигни не особенно привлекают.
Вы так говорите, как будто вас насильно заставляют заниматься интернет-магазинами и выполнять тупые индусские задачи. Развиваться можно и в сторону сложных и интересных вещей: высоконагруженные сервисы, системное программирование, IoT, телекоммуникации и связь, большие данные, искусственный интеллект.
хотят не кого-нибудь, а “bachelor degree in computer science or equivalent”
Зарубежом — да, а у нас в РФ в столицах в приличных местах уже сто лет как на диплом почти нигде не смотрят, кроме олдовых, гос- и полугосконтор или каких-то совсем специфических мест. Смотрят на знания и реальный опыт. На диплом могут попросить взглянуть разве что только при найме джунов, которым вообще нечего показать, кроме синей бумажки.
с опытом работы с десятком фреймворков
Как я уже выше сказал, никто не заставляет вас идти в индусский веб-фронтенд. Есть много областей, где фреймворки не меняются каждые три года, и требования совершенно другие.
что намекает на насыщение рынка труда в этой области.
Как я уже как-то раз отвечал, это может свидетельствовать только о насыщении рынка труда джунов, и там своя специфика. На опытных и толковых специалистов же спрос по-прежнему большой, их остро не хватает, и условия контрактов им предлагают совершенно другие. Не говоря уж о том, что в большинстве случаев большой список требований не означает «обязательно владеть абсолютно всем этим как джедай», а ближе к «владеть уверенно чем-то из перечисленного, а остальное будем хорошим плюсом, ну или стоит хотя бы представлять, что это и зачем оно».
Ну и да. Всё вышесказанное я вам говорю не как диванный теоретик, а как человек с дипломом инженера-электроника, много лет проработавший на предприятиях связанных с выпуском вполне реального оборудования, а потом плюнул на всё это, и перешел в «большое IT», пройдя долгий путь от джуна до техлида.
Для меня это был не дауншифтинг, а наоборот, развитие, шаг вперед. Как в плане интересности и простора задач, так и в плане рабочего комфорта и денег.alek0585
13.12.2018 20:24В яндексах и им подобным считается что инженер-программист должен иметь соответствующий диплом и уметь решать типичные задачки с codility. Правда потом кнопки в пережатых жпегах и сайты жрут по 100% цпу, но кого это волнует.
Whuthering
13.12.2018 20:30+1В яндексах и им подобным считается что инженер-программист должен иметь соответствующий диплом и уметь решать типичные задачки с codility.
Я проходил собеседование в питерский Яндекс, сначала онлайн-этап, потом 4 собеседования в офисе (с командами разных проектов), потом итоговое собеседование с руководителем проекта, куда меня хотели позвать. В итоге они очень долго созревали, и через три недели сказали, мол, сорян, мы все-таки взяли кого-то другого. Но у меня к тому времени уже было два оффера от других компаний :)
Про не-программистский диплом они знали заранее, и судя по тому, что они меня позвали на всю цепочку собеседований, и даже оплатили билеты на Сапсан до Москвы (вот это я реально не понял зачем им нужно было), их это не смутило.
Не говоря уж о том, что одними Яндексами IT-рынок не ограничивается.
aeeneas
13.12.2018 22:32плюнул на всё это, и перешел в «большое IT»
Перешли случайно не до момента насыщения рынка теми самыми джунами? Условия сейчас не те, что десять лет тому назад.
Зарубежом — да, а у нас в РФ в приличных местах уже сто лет как на диплом нигде не смотрят
Если хорошее место, то нет отбоя от желающих и с дипломами, а при прочих равных диплом решает.
Whuthering
13.12.2018 23:17+1Ну, не 10 лет назад, но довольно давно.
Перенасыщение джунами для меня не было проблемой, у меня был немного специфичный случай. Паять и собираться всякие поделки любил с детства, и специальность в вузе я выбирал именно желая делать что-то реальное, что можно увидеть и потрогать своими руками, и чтобы оно было востребованной на реальных производствах.
А программированием я увлекался ещё со школы, пробовал писать игры, в студенческие годы подрабатывал делая сайты (тогда интернет как раз начинал активно развиваться и это было интересно, потом по просьбе замдекана сделал сайт факультета, потом сработало сарафанное радио, и т.д.), потом занимался программированием и как хобби, и для автоматизации рутины на работе. Плюс потом пришлось иметь дело с микроконтроллерами на производстве.
А потом, когда менял профессию и отрасль, получилась интересная ситуация: во-первых нет релевантного опыта по документам (в трудовой чисто инженерные должности и конторы), ни знаний актуальных технологий (я писал на Delphi, но внезапно выяснилось, что к тому времени он уже почти умер и вакансий по нему почти нет; писал на Си под микроконтроллеры, но там ограниченная специфика: не принято использовать динамическую память, нет системных вызовов, никакой многопоточности, и т.д.), ни навыков промышленного программирования (системы контроля версий, юнит-тестирование, разные инструменты — в инженерной сфере с этим вообще все печально). Но при этом вроде бы и программировать умею, и базовые знания вполне конкретные есть, и кругозор довольно широкий, поскольку много в чем разбирался просто ради интереса, английским языком владел на приличном разговорном уровне (как оказалось, в наше
время это даже гораздо важнее диплома). И уж явно был на голову выше джунов-студентов и других перебежчиков. В итоге много чего пришлось учить самостоятельно, кое о чем пришлось откровенно приврать на первых собеседованиях (например, выдать некоторые хобби-поделки за проекты на прошлых работах), и т.д. А попав на первую же работу и форсировав погружение в мир серьезного IT, джуном я по факту пробыл только 3 месяца испытательного срока, а потом был официально поднят до мидла :)
Marsikus
15.12.2018 15:55+1в очередного программиста-вайтишника с дипломом шаражки
Зачем вам диплом шаражки? Никто не запретит вам вайтишничать с дипломом университета.
Конторы сейчас тоже всё чаще хотят не кого-нибудь, а “bachelor degree in computer science or equivalent” с опытом работы с десятком фреймворков
Хотеть не вредно, так что можете делить эти хотелки пополам а то и на 4. Возьмут на работу того кто готов и может работать. Иконостас регалий далеко не так важен сейчас.
vmm86
13.12.2018 23:03Интересно, сколько читателей Хабра дочитало бы эту статью до конца, будь она написана полностью в мастера Йоды манере.-)
oWart
14.12.2018 00:35Привет, коллега по несчастью, молодец! Я тоже совсем недавно писал про свой путь и вот уже как второй месяц работаю программистом на удаленке.
Age1mar
14.12.2018 07:00Рад за автора, видно что проделана большая работа!
Лично у меня пока нет такой success story, уже 2.5 года пытаюсь наверстать знания по программированию, которые растерял за 10 лет после ВУЗа. Ходил 2 раза на очные курсы, занимался большинстве известных онлайн площадок.
Потихоньку пишу плагины для продуктов Atlassian ( на java), но дело идёт медленно…
Murmurianez
14.12.2018 13:19Я б лучше почитал статью как из программистов авиаконструкторами становятся
illegally_happy
14.12.2018 13:28+2уже авиаконструкторы идут в IT, все идут в IT…
мне (инженеру-конструктору оборудования АЭС) тоже что-ли пойти в IT (есть опыт в C#)
ответственности сильно меньше, з/п больше…Neikist
14.12.2018 14:08+2Если это тоже интересно — то почему нет? Может в будущем благодаря этому у инженеров-конструкторов оборудования АЭС будут больше з/п.
Whuthering
14.12.2018 14:23+2Да, люди идут туда, где больше платят, шире выбор вакансий, меньше бюрократии, комфортнее условия работы.
И понятное дело, что люди инжереных специальностей гораздо ближе по мышлению и интересам к IT, чем врачи или таксисты.
А что до денег, как метко сказали здесь же на хабре: «Это не айтишникам у нас в стране платят много, это людям других профессий просто платят мало». И увы, в этом есть большая доля правды.
severgun
14.12.2018 15:26Миша, всё х… Давай по новой.(с)
Очень легко написать историю успеха, когда есть возможность работать «по совместительству».
А теперь давай в режиме от рассвета до заката на основной работе + курсы.
Собеседования без работы.
А уж потом стажировка.Free_ze
14.12.2018 15:39+1Отпуска-отгулы-обеды для собесов чем плохи? IT-конторы можно уговорить пособеседоваться после 6 часов вечера, а с HR-беседу провести по скупе из соседней кафешки.
Jullib
14.12.2018 21:31Ну и как-то нет той «советской», общей идеи и желания руководства обогнать «клятые штаты». А ведь главный мотиватор в опытном проектировании — общая идея.
Полностью согласна, полное отсутствие идеи в конструкторских бюро на производстве((((
У меня аналогичная ситуация, но я пока в начале пути.radonit
14.12.2018 22:12А какая идея должна быть и в чём она поможет? Вроде как отсутствие идеи особо работе не мешает. На производстве часто вообще сделка, да там и в советское время особо идей и не было (но это не точно)
nmrulin
15.12.2018 00:34Автор молодец, что оптимист и старается осваивать новое. Будет болеть за автора и ждать новых статей об успехах на производстве!
j8kin
Вроде какраз много, но с другой стороны больше вакансий и больше нехватка. Но в целом их полно.
Для меня странно работать полгода бесплатно… Имхо после подобных курсов в случае если опыт полученный адекватный должны были Джуном взять и без стажировок.