• ,

Я теперь тоже разработчик.

Всем привет!

Так вышло, что я отмотал свой испытательный срок уже довольно давно, но (удивительно) найти время на писанину теперь не так уж и просто.

Начну с самого начала. Меня зовут Михаил, мне 27 лет. Сразу хочу сказать, что у меня нет высшего образования (в процессе поиска работы это сыграло свою роль — кто-то может сказать, что сыграло со мной злую шутку, но по мне скорее оказало услугу), хотя за спиной у меня три института.

  • ,

Как гуманитарий стал Java-программистом и переехал в Иннополис

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

Как и многие пользователи JR, я всегда с интересом читал «Истории успеха». Они неплохо мотивируют, да и в самом рассказе можно что-то почерпнуть для себя, плюс – задать автору вопросы в комментариях. И вот в комментах-то очень часто появлялась целая россыпь отговорок участников сообщества на тему «Почему у %username% получилось, а у меня не получится». Самые распространенные:
— «Я гуманитарий» («Автору легко, он закончил физтех, а я филфак»)
— «Нет времени» («Автору легко, он студент, а я на основной работе по 8 часов в день»)
— «Я слишком старый» («Автору легко, ему 23, а мне за 30 уже»)
В этом плане моя история, наверное, будет очень показательной.

Вкратце о себе.
Возраст – 25 лет на момент начала обучения. Образование – историческое. В школе терпеть не мог математику и информатику (хотя до 7 класса был олимпиадником — дальше не повезло с учителем), поэтому все часы этих предметов проводились за игрой в Counter-Strike в ближайшем компьютерном клубе. В итоге я благополучно сбежал от этих предметов на истфак, благо историю полюбил со школьных лет.

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

Тем не менее, в компании были неплохие возможности карьерного роста, и за 2 года я дорос до начальника группы. Уровень зарплаты – вырос, уровень ненависти к работе – тоже. Причем второе выросло значительно больше. Теперь приходилось работать в ночную смену, отвечать за полтора десятка человек и выслушивать ежедневные уроки жизни от начальства – «эффективных менеджеров» made in USSR.
Кризис и рост курса валют после известных событий сильно ударил по банковской отрасли в России, в результате чего в конце 2015 года я в числе многих остался без работы. Именно тогда я впервые наткнулся на JavaRush, точнее – на их группу ВКонтакте. «Невозможно пройти все уровни и не стать программистом» — звучало амбициозно. Программирование не было моей мечтой, но почему бы не освоить новую профессию? Вдруг понравится, да и что я теряю? В конце концов, «программист» — уж точно не хуже, чем «менеджер по продажам»:)

Попробовать решил просто «от балды», тем более что самостоятельное обучение онлайн мне всегда нравилось, до этого я неплохо прокачал английский на LinguaLeo.
Первые 10 уровней я прошел относительно быстро. К моему удивлению, у меня все получалось, поэтому было принято решение все-таки купить подписку и идти до победного. Мой процесс обучения мало отличался от остальных. Так же ленился и забивал на 2-3 недели, как многие, так же тупил на многопоточности после 20-го уровня, так же плюнул за большую задачу на 27-ом)) Впрочем, в итоге мне все-таки удавалось заставить себя заниматься более-менее стабильно даже в условиях усталости после работы. В результате за год в свободное от работы время было пройдено 36 уровней.
Посчитав свои навыки уже довольно высокими, я решил принять участие в стажировке (благо подписка позволяла). Скачал тестовое задание, иии… Вот в этот момент я был максимально близок к тому, чтобы на все плюнуть и забить на программирование. Я вообще не понимал, с какого бока к нему подступиться. В перечисленных технологиях, естественно, ни бум-бум. Spring, Hibernate, базы данных, JSP какие-то… Попытки делать «по гайдам» ни к чему ни привели. Запросы в гугле «зачем нужен Spring» выдавали какой-то непонятный ад и курс Батыршинова, состоящий из 178 видео.
Я ни на шутку расстроился, ведь считал себя уже готовым к настоящей работе. В результате на месяц или полтора о программировании я забыл и занимался основной работой (на тот момент уже в другой компании).
По славной голливудской традиции в каждом фильме должен быть Момент, Который Изменил Все. В моем случае это был день, когда мне на глаза попалась реклама курсов программирования с возможностью переезда в город Иннополис.

apply.innopolis.ru/stc/

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

Сама идея показалась очень заманчивой. Город выглядел круто. Бесплатное проживание в течение 2-месяцев, обучение у опытного преподавателя – тоже бесплатное. Но главное – организаторы брали на себя вопрос организации собеседований в компаниях-резидентах Иннополиса (а попасть на собеседование, как известно, уже полдела). Была только одна проблема – нужно было увольняться с нелюбимой, но худо-бедно оплачиваемой работы и ехать в незнакомую Казань. В буквальном смысле «все бросить и уехать». Тем не менее, после недолгих совещаний моя девушка и два кота меня поддержали, и было принято решение попробовать. Да и действительно, чего ради я учился целый год?
Возможно, кто-то из читающих вспомнит мой пост того периода, который я оставлял перед поездкой, в надежде «разведать обстановку».
2 месяца в Казани были одним из лучших периодов моей жизни. Вместе с другими «студентами» (возрастом от 19 до 40 лет) мы жили в Деревне Универсиады (в студенческие времена мне не удалось пожить в общаге, так что можно сказать — наверстал). Первая половина дня проходила на курсах, вторая – за выполнением домашнего задания. На курсах удалось пройти и Spring, и Hibernate, и PostgreSQL и еще целую россыпь технологий. Школа JavaRush очень пригодилась. Обучение начиналось с JavaCore, которые многие видели впервые в жизни, а я уже неплохо знал. В процессе я выполнил и задание для стажировки без особых проблем.

После обучения меня пригласили на собеседование в одну из компаний-резидентов Иннополиса. Первое собеседование, ура! Я не филонил и усердно готовился. В итоге прошел его вполне достойно. Конечно, как и многие новички, от волнения пару раз накосячил на элементарных вопросах (типа приведения типов), но при этом без проблем отвечал на относительно сложные, чем весьма позабавил собеседующего. Собеседование длилось без малого 2 часа, но оно того стоило. Ведь уже вечером мне сообщили, что компания намерена сделать мне оффер. Предварительное предложение со всеми условиями тоже пришло на почту почти сразу.
Обрадовав девушку и котов по телефону (скоро переезжаем!) и отметив с однокурсниками радостное событие, я засобирался домой. Учеба подошла к концу. Радости и гордости не было предела. Еще бы, первое собеседование – и сразу успех!

Если читатель думает, что на этом история закончена, то могу сказать, что самое интересное еще впереди:)
И раз уж я начал следовать славным голливудским традициям, то в каждом фильме должен наступить Момент, Когда Все Становится Плохо.

Сбор вещей и завершение текущих дел дома занял пару недель. Однако, компания почему-то не торопилась отправлять мне итоговый оффер. Стоит отметить, что на тот момент ни я, ни моя девушка уже не работали и готовились к переезду. Я связался с отделом кадров, где информацию проверили и ответили мне что-то в духе «Ой, мы про вас забыли». Спасибо, очень приятно. Ну, хоть не зря о себе напомнил. Однако прошло еще две недели, а потом еще две. Тем не менее, серьезных поводов для беспокойства не было: со мной теперь хотя бы регулярно связывались. Сначала попросили пройти внутренний тест (с которым я успешно справился), после – выслать некоторые документы.

Но вот прошло еще 2 недели. Итого общий срок ожидания составил уже 2 месяца, что уже было как-то совсем неадекватно. Написав на электронную почту HR, я получил ответ следующего содержания:
«Добрый день! Со стороны отдела кадров получена информация, что найм, к сожалению, остановлен ввиду отсутствия у Вас профильного (IT) образования.»

С позволения читателей, я не буду приводить текст письма, который я отправил в ответ. Но, думаю, мое состояние в тот момент легко представить. Я бросил работу, уехал учиться в другой город, прошел собеседование, получил предложение о работе, обрадовался и обрадовал семью – и такой печальный итог. Не говоря уж о финансовой ситуации; выжить в эти пару месяцев после учебы удалось только благодаря имевшейся заначке, которая уже подходила к концу.
И самое обидное – на каждом этапе компания знала, какое у меня образование. Даже собеседующий меня сотрудник отметил это («О, гуманитарий-самоучка? Прикольно»). Мое образование было указано и в резюме, что не помешало им позвать меня на собеседование, а мне – успешно его пройти.
Но делать было нечего, надо было искать работу. Откликнувшись на кучу вакансий в «Моем круге» я получил одно приглашение на собеседование в компанию из Санкт-Петербурга, но на фоне всех происходящих событий настроение было такое, что я полностью его провалил.

Идее стать программистом, можно сказать, пришел конец.

Но в каждом фильме есть Момент, Когда Все Стало Хорошо:)

Обо всей ситуации узнала куратор университета, в котором я учился на курсах. Она связалась с ресурсным центом Иннополиса, а после – со мной, сообщив, что еще в одной компании Иннополиса ищут Java-разработчика, и хотели бы провести со мной собеседование по Skype через три дня.
Стоит ли говорить, что мотивации у меня было хоть отбавляй. За первые 2 дня был целиком прочитан Head First SQL (я засыпался на вопросах по БД на предыдущем собеседовании), третий день ушел на разбор остальных тем, в которых я плавал.
В итоге мое третье по счету собеседование в жизни оказалось самым удачным. Я справился процентов на 95, чуть застопорившись разве что на вопросах про транзакционность.
Уже через день я общался с техническим директором, который подробно рассказал об условиях работы. Через неделю я был оформлен в штат компании и начал работать удаленно, а еще через две переехал в Иннополис.
Воистину, нет худа без добра. Новая компания предложила зарплату значительно большую, чем предыдущая, и ко всему прочему оплачивает 2-комнатную квартиру в Иннополисе.
Я живу здесь уже 3 месяца, пару дней назад закончился мой испытательный срок.
Отличная работа, прекрасный город, дружный коллектив и все возможности для профессионального развития.
Хотя, конечно, без стресса поначалу не обошлось, особенно когда в первый же день мне упала задача реализовать модуль на Reaсt+Redux. Стоит ли говорить, что о JavaScript я знал на тот момент только из статьи в Википедии))
Поэтому, коллеги, когда на JavaRush в очередной раз попадается задача из серии «эту технологию мы еще не проходили» — привыкайте. В реальном проекте вполне может прилететь задача не то что на технологии, а на языке, который вы впервые видите:)

Несколько слов в завершение.

Большое спасибо команде JavaRush за то, что вы создали лучший обучающий ресурс в Рунете. Отдельное спасибо за помощь с резюме – пользуюсь вашими шаблонами до сих пор.

Спасибо всем юзерам форумов help и info, которые помогали с задачами весь год. Вы лучшие!

Друзья, даже если вы безнадежный гуманитарий, как я, или вам уже за 30, у вас жена и дети, как у автора вот этой истории – пробуйте, и у вас все получится. Насчет последнего могу сказать точно, ведь с этим человеком, так уж вышло, мы теперь работаем в одной компании и сидим за соседними столами:)

Я не уверен насчет дальнейшего ведения этого блога, но несколько идей у меня есть.
Я хотел бы написать о жизни в Иннополисе глазами жителя (в интернете большая часть инфы — или реклама, или отзывы приехавших на пару дней туристов). Также неплохо было бы соорудить пост в помощь тем, кто пытается поступить на стажировку (мне бы в свое время такой пост точно пригодился). А также свести в одном месте советы тем, кто скоро выйдет на тропу войны поиска работы, с изложением личного опыта.
Я не уверен, что вся эта писанина будет хоть кому-то интересна; но если вы из таких людей – подписывайтесь на блог, при наличии читательского интереса грех будет забросить все это дело:) На вопросы буду рад ответить в комментариях, туда же можно адресовать «Автор, напиши отдельно про…»
Успехов вам!

К звездам через тернии

Челябинск. 2015 год. Пятый курс педагогического колледжа, преддипломная практика успешна завершена. Впереди два коротких месяца до… Неизвестности.

Конец лета 2016 года, Питер. Я веду внутренний спор сам с собою. Нет, нужно звонить родителям незамедлительно, такая новость, а они не верили. Но вдруг что-то пойдет не так? Лучше дождаться окончания испытательного срока, и вот тогда. Но целый год безуспешного поиска! Боже, как хочется рассказать всем. Но нельзя.

Сейчас я полон сомнений. Это ли мой путь?

Я помню весну 2015 года солнечной. Знакомые студенты, как впрочем и я сам, бегают в радостном волнении. Немного страшно, но хорошая погода, близость конца пятилетнего обучения пьянят. Все только и разговаривают о дипломе или о том, что дальше. Я возвращаюсь в общежитие, закрываю дверь в комнату. Действительно, а что же дальше? Я — будущий молодой учитель? Возможно во мне всегда было что-то, что говорило нет. Тут и мой цинизм, амбиции, тщеславие, — в общем все то, что хорошему учителю категорически запрещено. Я не пытаюсь оскорбить педагогов, но именно в нашей стране — это одна из тех профессий, от которых, если ты не абсолютный альтруист, нужно спасаться, как с идущего ко дну корабля.

Однажды, еще десятилетним мальчишкой, я зашел домой и — о чудо! — я увидел компьютер. Новенький, шумно жужжащий Pentium 3 или 4? В первый же день я побежал к друзьям за их играми — GTA, Need for Speed, Warcraft III. Теперь, спустя десяток лет с небольшим, я жалею, что мои родители, как вероятно многие родители тех времен, не увидели всех возможностей этого чуда 20 века, компьютеров. Поэтому, пройдя через бесчисленное количество ссор, запретов и обид, я стал всего лишь типичным подростком-геймером. Хотя можно выделить небольшой плюс: в силу того, что мой уже второй компьютер имел всего лишь 256 МБ оперативной памяти (и соответствующее ей остальное железо), мне постоянно приходилось искать способы повысить производительность в играх. Так, например, я научился переустанавливать Windows и прочий нужный софт и даже немного зарабатывал на этом, помогая студентам и знакомым с их компьютерами.

Не знаю, как так вышло, что лишь на последним курсе, перед лицом все нарастающей угрозы «стать никем», я задумался о том, чтобы попробовать себя в программировании. И я все еще иногда спрашиваю себя: почему не раньше? Первые попытки были не совсем удачными: в русском сегменте интернета были (и есть) в большей части лишь половинчатые статьи и примеры программ, которые лишь немного сложнее «Hello, World!», и почти не приносили какой либо практической ценности. Затем, в силу того, что по специальности я «учитель иностранных языков», я попробовал искать информацию на английском языке. Так я нашел потрясающий сервис Khan Academy с их курсом по Java Script, этим сервисом я пользуюсь и сегодня, но изучаю уже другие предметы. Не помню точно, но тогда еще на Khan Academy не было курсов по полноценному Web (либо я их не нашел), поэтому закончив их курс по JS, я оказался в очередном тупике. А затем я открыл для себя Javarush.

Как вероятно у многих, мои первые 10 уровней пролетели быстро. Меня очень удивил и понравился их стиль преподавания (учитель оценил). Оценил я и предприимчивость создателей сервиса — ведь до сих пор у JavaRush нет подобных по стилю и контенту конкурентов. А как, хотя это и очень банально, грели ум и сердце их истории в конце каждого уровня про успех, образование, заграницу! Поэтому, почти не раздумывая, я купил курсы.

Было особенно тяжело, когда я добрался до 15-16 уровней. Работа с потоками, нитями и прочими непонятными вещами, — все это обескураживало. Были моменты, когда я забрасывал учебу, потому что больно. Больно от того, что 20 попыток, а задача не проходит проверку. Явно грешил — копировал решения задач с github, при этом не всегда вдумываясь, что же я копирую. Так я добрался примерно до 25 уровня. На фоне неуверенности в себе, самокопания от того, что я не самый «честный» ученик, во мне зарождалось какое-то еще одно не очень приятное чувство. Что-то не давало мне покоя, пока наконец я не осознал что: я понял, что несмотря на 25+ уровень, я все еще ничего не знаю и не умею толком. Имеется ввиду именно то, что я до сих пор не мог просто сесть и написать что-то действительно важное и полезное. Не видел общую картину того, как строятся большие, мощные приложения. Одно дело решить интересную логическую задачу, и совсем другое — написать игру, мессенджер, свой сайт. Программирую, не умея программировать.
Здесь я принял одно из своих очень важных, но по наивности абсурдных, даже в каком-то смысле глупых, недалеких, решений: Я переезжаю в Питер.

Я переезжаю в Питер не просто так: в Челябинске нет вакансий Java программистов. Москва отпугивала количеством живущих там людей, ценами и всеми теми «байками», которыми любят делиться люди, никогда не жившие ни в одной из столиц. В то же время, Питер казался загадочным, манящим, эдаким застрявшим в 19 веке прибежищем для не нашедших себя романтиков.

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

Приехав, я сразу же записался на JPoint — конференцию для Java разработчиков (в тот раз специально для студентов). Не знаю для чего я пошел туда с моими-то знаниями, но скорее всего инстинктивно, для еще одного хорошего «пунктика» в резюме. Поиски начались в октябре 2015. Свою первую работу я нашел в августе 2016. В октябре и ноябре я был воодушевлен, коленки на первом собеседовании тряслись, а отказы расстраивали не так сильно — все-таки я же еще новичок? Настроение сильно ухудшилось зимой. К весне я нашел «стажировку мечты» в одной хорошей немецкой компании. Провал. Как раз в марте — ровно год покупки курсов на JavaRush. А теперь добавьте сюда еще отсутствие денег, коммуналку, в которой и врагу не пожелаешь жить, отсутствие работы вообще какой бы то ни было, а главное каких либо новых перспектив. И здесь я сдался. Забыл о программировании на 4 месяца. Не мог о нем думать. Малейшая мысль о том, чтобы «покодить», вызывало чувство паники, отвращения и тошноты.

И вот он я — промоутер на главной улице Петербурга. С дипломом учителя иностранных языков, с разбросанными по всему уму знаниями-ошметками про Java, SQL, Spring, Hibernate, HTML, JS, CSS. Да, наши экскурсии на теплоходах лучшие. Yes, we have blankets and english audio guide. Давайте я вас провожу к причалу. Нет, из-за того, что я вас провожу, цена билета не изменится.

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

А затем как всегда, как это часто случается во всех банальных цитатах, в одинаковых как день фильмах и кричащих безвкусицей киосочных книгах — произошло чудо, которого ВОТ ПРЯМО СЕЙЧАС ты не ждал. Только, как в случаях с фильмами, я не влюбился — первая работа программистом нашла меня. В конце июля, начале августа, я решил «просто отправить пару резюме». Обычное тестовое задание, обычное собеседование. Обычное неверие, что мне хотя бы даже ответят. Правда времени дали немного, а с моими 14,5 часов сменами его еще меньше. Кое как успел, отправил и забыл. Потом, в самый обычный день, я зашел на почту и не поверил тому, что прочитал. Прочел еще раз. И еще. И еще.

Первые дни. Я всего боюсь. Какие-то люди, объясняют, что делать, из чего состоят наши сервисы, как все работает. Я киваю, запоминаю ровным счетом ничего. В конце рабочего дня я выжат, сил, как и желания что-то делать, нет. Успел выполнить первое задание за 3 недели (которое сейчас я сделал бы за день). Меня похвалили, сказали, что со следующего месяца я полноценный член команды. Здесь я даю себе волю похвастаться всем, кому хотел все это время, но не мог, так как боялся потерпеть еще одну неудачу. В голосе гордость. Вот, вы не верили, а я смог. Нет, мне не нужен институт, я сам. Не хочу терять время и деньги.
По улице иду улыбаясь, с превосходством и самодовольством поглядывая на «людишек». Не верю, что мне платят столько за то, что я… сижу перед компьютером. Это так странно. С каждым месяцем становится все легче; я уже не выжат как лимон в конце рабочего дня. Повышение. Нашу команду пригласили на хакатон для студентов. Иронично, что я один из менторов и студенты идут ко мне с вопросами. Чувствуешь, как твои знания ширятся, как земля под ногами становится тверже. Но вместе с этим я понимаю, как много еще я не знаю.

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

Сейчас я полон сомнений. Это ли мой путь? Банально, но худа без добра не бывает. Вскоре я начал понимать, что хотя Java — очень мощный язык, возможности которого огромны, — его применение ограниченно. Мне мало, если так можно выразиться, Web Enterprise'a. Да и потом, я называю себя программистом, но действительно ли являюсь им, а самое главное — хочу ли? Скорее всего, это лишь одна из множества мелких остановок на пути к заветной, но едва ли выполнимой мечте — найти настоящего себя. Найти и проявить то, что не зависит от уровня зарплаты, престижности и нужности профессии сегодня.

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

Один день из жизни Java-разработчика. Часть 1

Приветствую, уважаемые коллеги! После публикации «20+ лет спустя», некоторые читатели попросили написать продолжение истории. Про что же еще я мог бы рассказать? Вроде бы, тему о превращении «бородатого эникея» в Java-разработчика я раскрыл полностью. Подвести какие-то итоги можно будет не раньше, чем после года работы. И тогда я решил просто описать, как проходит мой обычный рабочий день. Под катом «Один день из жизни Java-разработчика».

История трудоустройства

Всем привет!

На этой неделе заканончился мой испытательный срок и я решил написать свою историю трудоустройства.

И для начала расскажу как все начиналось. В 2008 году я поступил в вуз, на физтех. На первом курсе у нас был С++ и скажу честно, первые полгода я не особо понимал программирование. Но уже во втором полугодии я вник в азы и на экзамене в конце года получил 95 баллов из 100. И на этом вроде как история программирования закончилась. Но до тех пор, пока я в 2013 не вернулся в Россию…

Это был обычный день и я как и все листал ленту в ВК и нечаянно наткнулся на рекламу JavaRush. Что-то типа – лиши мозг девствености, научись программировать. Меня это действительно заинтересовало и я начал учить Java. Так как от С++ не особо отличалось, я быстро прошел первые 9 уровней и летом 2013 попытался устроиться хотя бы стажером. Откликов на мое резюме было и вовсе мало, если не сказать что их не было. Тогда я сам нашел вакансию стажера(тестировщика) в Яндексе и получил тестовое задание(проверить через Junit тесты, что данные 3 точки на плоскости представляют из себя вершины прямоугольного треугольника). Успешно его пройдя мне позвонили и… разъяснили, что (далее цитирую) – Нам нужно потратить на вас полгода, чтобы вы стали специалистом, так что до свидания.

Скажу честно, я сильно разочаровался в этой компании и забросил всю эту идею на полгода. Через следующие полгода я возобновил поиски, но они ничего не давали. Наверно потому что в моем резюме стояло 2 поля – С++ и Java. И так продолжалось до 2016. Время от времени я что-то учил, решал задачи на JavaRush и кстати купил подписку в том же году(под новый год по акции 2013) и дошел до 15 уровня. Еще я нашел курс по андроиду – как сделать свою первую игру(так как я владею английским языком было несложно найти такие курсы). Но все было бестолку, до марта 2016…

Посмотрев требования к вакансиям Java Junior я понял, что на одной Java не выйдешь и решил, что надо учить что-то еще. И я начал учить JavaScript, HTML, CSS, SQL. В этот период я работал репетитором, так что у меня было несколько часов по утрам и по вечерам. Которые я тратил на изучение языков, чтение книг(Путь программиста, чистый код, идеальный программист, Шилдт – Java 8 полное руководство, Что нас на самом деле мотивирует, Сила воли). И говоря простым языком, я начал усердно трудиться. Каждый день я решал задачи на JavaRush, постил их на GitHub, проходил по главе из каждой книги по другим языкам и по главе из других книг.

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

Тогда я понял, что устроиться Java Junior слишком сложно для меня и я решил полностью уйти в Андроид. В начале я хотел уйти в геймдев. Но неожиданно понял, что почти нет вакансий разработчика игр на андроид на Java. Изучил LibGDX, но и это не помогло…

Тогда я решил писать приложения на Андроид. В этом мне помогла книга HeadFirst Android и курс StartAndroid на YouTube(и еще 100500 англоязычных сайтов). Так как я ярый фанат Маяковского, посмотрел в Google Play какие есть приложения с его стихами. И не найдя ничего достойного, решил что могу сам создать достойное приложение. Именно с этого и началась белая дорога. Точнее, выкладывая на GitHub я начал получать приглашения на собеседования, но их не проходил, да и было их всего пару штук. Тогда я решил писать тестовые задания разных компаний и публиковать их на GitHub, также в мой собственный блог(johnnyblog.ru). Написав около 12 приложений(тестовых заданий и своих) я начал получать приглашения на собеседования, но их опять же было очень мало, по сравнению с отказами(за полгода мою анкету просмотрели около 500 раз)…

Я заметил, что в большинстве требований к кандидатам есть строка – наличие своих приложений на Google Play и как бы вы думали? Как только я опубликовал в магазине свои 2 приложения, предложений по работе стало гораздо больше. В общем я сходил на собеседования меньше 10 раз. На каждом собеседовании меня спрашивали из того, чего я не знал. Но зачастую дело и не доходило до приглашения на собеседование, отказывали просто узнав что я не являюсь гражданином РФ…

Итак, вроде как дела шли хорошо – я ходил на собеседования, получал отказы все чаще и больше (зачастую просто игнорировали и ничего не отвечали). Я планировал найти работу до конца лета. Но, увы, так и не нашел. И тогда я полностью разочаровался во всем и решил забить на поиски. И знаете, однажды мне на почту пришло письмо. Да да, именно то письмо, которое и стало началом моей истории. Я получил приглашение на собеседование. И знаете, если раньше я ходил на собеседования с мыслью, что – вот опять будут спрашивать какие-то каверзные вопросы и не возьмут, ну и Бог с ними, особо и не хочу я у них работать — то на этот раз я очень хотел, чтоб меня взяли на работу…

Итак, в назначенный день я пришел на собеседование. Если кому интересно, то спрашивали про многопоточность, коллекции, базовые методы класса Object. В большинстве своем я давал правильные ответы на вопросы и мне пообещали позвонить через день. И это был именно тот случай, когда действительно работодатель обещал и позвонил. Сказали, что я их устраиваю как кандидат. И вот через месяц после собеседования я вышел на работу на испытательный срок в 3 месяца. И на днях этот срок закончился. Скажу сразу, что я усердно трудился, зачастую перерабатывал, бывало что и выходил в выходной день. Но все это не зря. Труды дали свои плоды и теперь я работаю 5/2 (с 11.00 – 20.00) в офисе на Кутузовской, напротив Moscow City и пишу приложение Сбербанк Онлайн на компьютере iMac 27”, с 8 ядрами и 24 гигами озу.

upd. незамеченная история, дата публикации изменена для вывода в топ.
  • ,

20+ лет спустя или Я все-таки стал им!

20+ лет спустя или Я все-таки стал им!

Приветствую, уважаемые коллеги! Здесь, на javarush, периодически попадаются вопросы типа «мне уже 30 (35, 40 и т. д.) — смогу ли я стать java-разработчиком?». В свое время «success stories» с этого уважаемого сайта мне очень помогли развеять собственные сомнения и укрепить уверенность в правильности выбора. И сейчас я, наконец, решился рассказать вам историю «бородатого эникея», который «20+ лет спустя» и довольно-таки необычным путем, но все же реализовал свою детскую мечту. Осторожно, под катом много букв!
  • ,

Моя история успеха

20.06.2015 — 09.01.2017

Думаю, пришло время и мне рассказать о своем пути в мир java.

Начну издалека.

Предупреждение, пост будет длинным.

Мне 25 лет. Я живу в Санкт-Петербурге. Приехал в этот город учиться из провинции. Учился на бизнес-аналитика. Сама учеба мне не приносила удовольствия. Я не понимал, что я буду делать, не видел практической выгоды в изучаемых мною предметах. Да и что лукавить, я просто страдал херней, как и большинство студентов. От сессии до сессии я вел беззаботный образ жизни, и вся моя учеба заключалась в закрытии нажитых учебных долгов.

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

Работу я нашел. Устроился в компанию, которая внедряла ERP системы 1С и Microsoft Navision. Устроился консультантом. Это тот чувак, который является промежуточным звеном между клиентом и разработчиком. Однако руководство приняло решение переделать меня на программиста, тк я знал Pascal. Так и порешили. Стал младшим разработчиком Microsoft Navision. Язык разработки — C/AL. Это практически тот же паскаль, кастомизированный под систему Navision. Т.е. писать на нем нельзя ничего, кроме всяких приблудов для этой системы. Первое время мне нравилось работать. Однако скоро я понял, что как программисту, мне в этой среде очень тесно и как-то не комфортно. Но учеба в магистратуре не позволяла учить что-то другое, да и что лукавить, я был слишком ленив для чего-то другого. Получив от магистратуры все, что я от нее хотел (время пожить в общаге и работу), я с ней кое как покончил.

Начало пути в мир java было положено тогда. Когда я освободился от оков универа, и принял решение изучить какой-нибудь язык OOП. Стал выбирать. С++ слишком сложно — писали на форумах, С# — не помню, что писали про него, Java — востребовано, не так сложно, как C++, есть много литературы, в том числе русскоязычной. Ну java так java (стоит сказать, что в универе я проходил один семестр джаву. Кое как получил зачет и решил, что никогда в жизни не свяжу свою жизнь с этим языком). Когда язык был выбран, не найти javarush было уже невозможно.

Присоединился к этому ресурсу 20 июня 2015 года. Начал учиться. Не знаю, как описать свое обучение здесь. Я не был выдающимся учеником. Я не занимался так регулярно, как самому хотелось бы. Я не всегда решал задачи сам. Я не всегда понимал почему у меня зачлась очередная задача. Я не всегда читал все доп. материалы к лекциям. Я часто бесился, когда валидатор испытывал мои нервы на прочность. У меня бывали большие перерывы в обучении (более месяца), иногда из-за напряг по работе, иногда из-за лени, которую не всегда удавалось побороть. Однако, я бы не нашел работу, если бы изучение java не изменило что-то внутри меня. Впервые в жизни я твердо решил довести это дело до конца. Внутри я говорил себе, что несмотря ни на что, я не брошу это дело. Это была первая цель в моей жизни, достижение которой требовало от меня больших усилий. И первый раз в жизни я говорил себе, что плевать на все, я достигну её. Не знаю, смог бы я также, если бы не было javarush. Этот ресурс позволяет видеть тебе путь до твоей цели. Он тебе как бы говорит: «Вот он, этот путь, 40 уровней и работа». Это очень помогает не бросить.

Купил себе unlimited подписку. Знания паскаля очень помогали в решении задач. И мне действительно нравилось решать их. Сидеть в ИДЕЕ, чувствовать себя крутым разработчиком с классным окружением. Прошел 20 уровней, и решил, что пора по собеседованиям. Я конечно надеялся получить предложение, но больше хотел попасть на собеседование для того, чтобы оценить приобретенные знания, и получить пинок и мотивацию для дальнейшего развития. Все так и произошло. Собеседование я конечно же не прошел, но к моему большому удивлению, все оказалось не так плохо, как я боялся. Однако пинок и дозу мотивации я получил. Я понял важность теории, и с 21 уровня стал активно читать доп. литературу. Ну как активно, с 21 уровня стали появляться вопросы на собеседования по теме уровня. Я и решил, что если отвечу на них, то этого будет достаточно, т.к. я ужасно ленивый. Вот с 21 уровня и стал постить ответы на вопросы по темам уровня.

Люди стали комментировать мои ответы. Был такой коммент: «Спасибо большое за топик. Продолжай вести блог — он для меня как точка опоры: вижу твой ответ и открываю книги, гуглю, пытаясь найти недостающее.» Это очень меня удивило. Я писал только лишь для себя, а оказалось, что кому-то это тоже полезно. Это придало дополнительной мотивации. Я уже чувствовал обязанность отвечать на все вопросы, и постить свои ответы.

Однако время шло, а я развивался только лишь в рамках Java core. Учил только то, что давал мне javarush. А на рынке труда были такие страшные слова, как maven, gradle, jdbc, tomcat, hibernate, spring и т.д. А я был как из анекдота: «Я знаю кун-фу, карате, таэквондо и очень много других страшных слов». Поэтому я решил, что пришла пора расширять кругозор. Стал гуглить, искать уроки по разным темам, начал с jdbc и там пошло. Когда-то меня дико бесило, что я не могу найти нормальный виджет погоды на андроид, еще тогда подумал, что напишу его сам. Это толкнуло меня изучать андроид. По андроиду есть классный ресурс startandroid, там из большого количества безобразно простых уроков, можно сложить что-то не такое-уж и простое. Виджет погоды я так и не написал, однако написал калькулятор, как бы банально это ни было. Во время разработки калькулятора изучил основы регулярных выражений и алгоритм обратной польской записи. Мне нравилось это дело. Но на рынке труда по джаве преобладали вакансии, связанные с Java EE. Поэтому метался между яварашем, java ee и андроидом. Написал небольшое веб приложение, одну логическую игрушку на андроиде. Когда-то я написал морской бой. Решил и его переписать, т.к. более-менее освоил ООП. Можно сказать, что я написал его с нуля, т.к. там был такой шлак, что я не мог понять, как я заставил ЭТО работать, и как ЭТО вообще работает.

Стал снова искать вакансии. Откликался на все подряд. Но меня никто не звал. Целых три месяца. Я не мог понять почему. Я искал инфу о том, как устроиться джуниором. И везде писали о том, как нужно вести себя на собеседованиях. Это конечно полезная информация, но как туда вообще попасть?! Это была действительно проверка на прочность. На каком-то форуме человек жаловался, что уже столько занимается, а его все никак не берут. Кто-то ответил ему: «Такова Java. Слишком высок порог вхождения.» Эти слова вселили какую-то гордость в меня. Да, я испытывал гордость, от того, что порог вхождения действительно высок, и я все равно не брошу. Я говорил себе, что мое дело малое, просто продолжать заниматься, чтобы не произошло. Это, наверное, самое сложное. Просто продолжать заниматься. Изо дня в день. Своим постом я хочу дать всем один совет. Занимайтесь. Верьте в себя и в свою мечту. Не позволяйте никому, и в первую очередь самому себе, бить по вашей решительности. Вы должны не просто верить, что все получится. Вы должны быть уверены в том, что это произойдет, потому что вы не бросите это дело, и будете бить в одну точку, пока не пробьетесь к своей цели.

Почему меня никуда не звали, я так и не понял. Но спустя 3 месяца меня пригласили на 4 собеседования. На три вакансии я откликался. А одна компания позвала меня сама. Это был Яндекс. Я так и не понял, чего они меня позвали. Хотя, это было бы классным завершением моего поста. Но в Яндекс я так и не прошел. На собеседованиях в основном гоняли по теории. Мне очень помогли мои личные проекты, перечисленные выше, которые позволяли менять тему разговора от теории к практике. Так что это тоже как бы совет, это может вам помочь.

Из 4 собеседований, яндекс меня отшил. Другая фирма оказалась шарашкиной конторой. Третья и четвертая обещали перезвонить.

Перезвонили из четвертой, поздравили с успешным прохождением первого этапа собеседования. Выслали тестовое задание.
Описывать его подробно не буду. Но если коротко, необходимо было написать веб приложение, через которое мне нужно было взаимодействовать с интерфейсом мобильного приложения, через стороннюю программу, локально запущенную на компе. Т.е. веб приложение посылало команды стороннему приложению, сторонее приложение посылало команду телефону по wifi, и все это отражалось в веб интерфейсе. Когда я получил тестовое задание, я не знал львиную долю тех технологий, которые нужно было использовать. У меня была неделя. Это был кодерский марафон. Настолько интенсивного кодинга у меня не было никогда. На протяжении недели не существовало в мире ничего кроме меня, и этого проекта.

Закончил его и отправил. Мне перезвонили и предложили работу. Сказали, что им все настолько понравилось, что они приняли решение в пользу меня, еще не успев получить решения от других кандидатов.

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

История успеха или как я стал программистом на Java

Мне был 21 год и я заканчивал третий курс технического университета по специальности прикладная информатика, с программированием был знаком, не плохо владел основами программирования на языках С и С++, знал ООП, но опыта написания каких-нибудь, хоть мало мальски серьезных проектов, у меня не было, все ограничивалось университетскими домашками и лабораторными работами. Работать по специальности хотелось очень сильно, но я понимал, что с моими знаниями и опытом об работе программистом остается только мечтать. Просмотрев вакансии о работе в моем городе я понял, что вдобавок к отсутствию опыта, языки, на которых я мог хоть что-то писать, совершенно не катировались на рынке труда. Большая часть компаний искала программистов на C#,java и php. Изучать php мне совершенно не хотелось, оставалось выбрать между java и с#, в итоге мой выбар пал на java. Первым делом, я скачал jdk и idea, затем решил поискать в гугле ресурсы, которые могли бы помочь мне в изучении java, и так я наткнулся на javarush. Дело было в июне, в самый разгар зачетной и экзаменационной сессии, в перерывах между экзаменами и зачетами я прошел первые 10 уровней. Изучать java мне очень понравилось и я хотел продолжить. Так вышло, что выходя из университета я наткнулся на доске объявлений на предложение об учебе в летней школе от одной крупной ИТ компании в моем городе. Знаний полученных на первых десяти уровнях, и тех, что имелись у меня до этого(этими знаниями было понимание принципов ооп) хватило чтобы пройти собеседование в летнюю школу и отучится в ней.Скажу что требовались базовые знания java,sql(совсем чуть-чуть), понимание концепций ооп, и, конечно же, английский, без английского в программировании делать нечего. После летней школы мне предложили сделать учебный проект от той же компании, делал который, я на протяжении всего лета, редко выходил на улицу и все время занимался. Во время работы над проектом я познакомился с такими технологиями как spring/hibernate/postgresql/git/html/css. В итоге, после защиты учебного проекта мне предложили работу на позиции Java Junior Developer. Начав работу, я снова вернулся на javarush, так как осознал, что все темы, которые предоставляются этим ресурсом нужны в работе, и, вдобавок, пробелы в знаниях у меня все еще присутствовали, от чего на работе, по-началу, приходилось тяжеловато, поскольку с момента моей регистрации на javarush и устройства на работу прошло 2,5 месяца. В итоге сейчас я на 21 уровне, прошел испытательный срок и уже почти полгода работаю в хорошей компании, с отличными условиями для сотрудников, но продолжаю учится в свободное время на javarush, чтобы как можно скорее стать middle( а там и до senior'а не далеко))
Что хотел бы посоветовать новичкам:
1)Если вы решили стать программистом, то, по-возможности, уделяйте этому все свое свободое время, особенно на первых парах.Кодить нужно много и часто.
2)Не забывайте про отдых, всем нужно отдыхать.
3)У всех случается падение мотивации во время не удач, были они и у меня, когда я отчаивался, думал, что программистом мне не стать, что я ничего не знаю и не умею. Помогает почитать истории успеха, и погулглить размеры зарплат у java разработчиков(меня это очень мотивировало).
4)Изучайте параллельно английский и базы данных.
5)Научитесь пользоваться системами контроля версий, вроде git/svn.
6)После изучения Java SE, обратите внимание на spring, заведите себе учебных проект, и вперед, познавать Java Ee.
И если вы подойдете ко всему этому со всей серьезностью, то вас непременно будет ждать успех.
Скажу даже, что за полгода, имея желание, вполне реально выучится на позицию middle)
Желаю всем не падать духом, и успехов!)