• ,

Завершение истории «Как тревожен этот путь!». Часть 3.

Для справки:

«Монреа́ль — самый крупный город в провинции Квебек и второй по величине город в Канаде. Название Монреаль произошло от горы Mont-Royal (Королевская гора), находящейся в центре города, на старофранцузском это звучало как Монт Реаль. Монреаль обыкновенно занимает высокие места в рейтинге самых удобных для жизни городов в мире. Журнал Monocle Magazine назвал город «культурной столицей Канады». Уступив в середине 70-х титул экономической столицы Торонто, Монреаль остается важным деловым, промышленным и культурным центром Канады. В числе наиболее значимых отраслей: аэрокосмическая, биотехнологическая, фармацевтическая, отрасль информационных технологий, туризм, киноиндустрия, а также развитая индустрия компьютерных игр.» [цитата из Википедии]

Познавательный выпуск сериала «Орёл и решка» о Монреале: www.youtube.com/watch?v=XYuiSXrkL5E

Можно ли жить в Квебеке без знания французского языка?

«Французский язык является официальным языком провинции Квебек. За пределами Монреаля и Шербрука в Квебеке говорят почти исключительно по-французски и могут не понять английскую речь. Монреаль – двуязычный город, и в нем есть большая англоязычная часть, однако на практике обычно в Монреале нужны оба языка. Только с английским можно найти работу в IT-индустрии.» [из ЧАВО]



Поскольку изначально в Квебек я не собирался, а думал осесть где-то в Онтарио, мой французский остался на том же уровне, что и был на момент интервью в Москве. Этого, как вы понимаете, было недостаточно для работы во франкоязычной компании. К счастью, в Монреале полно IT компаний, ориентированных на англоязычную Канаду и США.
В Москве я приобрёл небольшой опыт разработки web приложений на Java, то есть имел некоторое понимание, что из себя представляет MVC паттерн. Он используется, чтобы отделить «мух от котлет», то есть бизнес-логику (модель) от представления (JSP-страницы). Контроллер, в данном случае — это сервлет, отвечающий за обмен данными между моделю и представлением в виде простых JavaBeans. Поэтому я подготовил два резюме — в первом акцент делался на разработку Web приложений на Java, а второе резюме было более общим и годилось практически для всех софтверных позиций — software and/or database development.

Одна из компаний прислала тестовое задание, которое я сделал и отправил. После этого было назначено техническое интервью по телефону. Были стандартные вопросы, но как выяснилось, у меня обнаружились большие пробелы, и не только в JavaEE, но и в Java Core и Fundamentals. Madre mia! Не говоря уже о том, что вопросы про Inversion of Control, Dependency Injection, Design Patterns, Data Persistence, Object-Relational Mapping и прочее, и прочее, вызывали такое же состояние изумления, как удары палкой по голове в дзене. Кроме того, необходимо было иметь опыт работы с популярными фреймворками Spring и Hibernate, чего у меня не было. В общем, стало понятно, что так просто с кондачка без серьёзной теоретической и практической подготовки, интервью даже на позицию Java Junior пройти не удастся.

Короче, я решил забить на Java, чтобы не позориться. Тогда на помощь пришёл старый добрый PL SQL. И вот, [снова опускаю лирику] через два месяца интенсивного поиска, в июле я вышел на работу. Французский там не требовался. Аллилуйя!

Через три года проект, на который меня взяли, успешно завершился, и снова встал вопрос о трудоустройстве. За это время я посещал вечерами курсы Françisation, что для иммигрантов здесь бесплатно, и закончил шесть уровней, плюс два курса Français écrit. После чего мой французский значительно продвинулся. К слову, если вы знаете английский и русский, французский вам будет даваться намного проще. И там, и там очень много слов, заимствованных из французского. Я например, всегда считал, что слово «кошмар» – на сто процентов наше русское, а нет!

Я подготовил резюме на французском. Соответственно, мои шансы и охват поиска стали значительно больше. Это сработало и меня взяли на работу в банк. Опа! Но нет — не как développeur, а на должность «эникея». Нужно было следить за тем, чтобы система on-line банкинг и все прочие банковские приложения работали без перебоя, и бить тревогу, если в процессе эксплуатации возникали технические сбои и проблемы. В мои обязанности также входило быть связующим звеном между внутренними пользователями системы и отделом разработки программного обеспечения. Если обнаруживался баг [anomalie], нужно было проследить, чтобы заявка на изменение [demande de changements] не затерялась где-нибудь по дороге и была принята к исполнению. По-французски это называлось — spécialiste au soutien technique, niveau 1, la résolution d’incidents et de problèmes techniques, mis en place les modifications applicatives selon les demandes de changements et le soutien technique d'applications Intranet et Web (если интересно, что это означает, можете воспользоваться Google переводчиком). Тогда же я приобрёл подписку на JavaRush. Так прошёл ещё один год. И только совсем недавно я, наконец, попал туда, куда стремился всё это время – в отдел разработки, но уже в другом банке. Если бы мне сказали пять лет назад, что я буду проходить собеседование и писать технический тест по Java на французском, я бы не поверил!

Вы можете спросить, а при чём здесь JavaRush? Он мне как раз очень помог прокачать базовые skills и залатать дыры в понимании некоторых важных тем, взять хотя бы такие фундаментальные вещи как работа с коллекциями, обработка исключений и multithreading. Да, у меня была неплохая база и первые двадцать уровней я проехал автостопом, без особых затруднений. В блогах я читал, как кто-то жаловался, что заплатил деньги, но не получил сервис, на который рассчитывал. Мне забавно читать эти жалобы, зная сколько народ платит здесь в Канаде за обучение программированию в частном колледже за равноценный опыт. Чтобы научиться программированию, надо программировать… Это — аксиома!

JavaRush – это прежде всего инструмент, тренажёр, средство передвижения, как автомобиль. Покупая подписку, вам дают, как бы, ключ зажигания. Прежде чем сесть за руль, вам надо хотя бы решить куда ехать. Вам не хватает теоретической подготовки? Начните с изучения дорожной карты, чтения пособий Head First или Thinking in Java, тюториалы по Java на сайте Oracle. Подпишитесь на форумы разработчиков типа Хабрахабр. И главное, я считаю, чем ценнен этот ресурс – это community, то есть сообщество людей, связанных одной целью, имеющих общую страсть, страсть к программированию. Вот на такой позитивной ноте я, пожалуй, и закончу! :)

  • ,

Продолжение истории «Как тревожен этот путь». Часть 2.

«Бешеной собаке семь вёрст – не крюк!» [Народная мудрость]


Первая часть
Вы хотите историй? Что ж, их есть у меня! :)

Итак, я опускаю излишние подробности — что меня подвигло к отъезду и почему в итоге я отправился в Канаду, а не в Австралию или Новую Зеландию, и не в сказочную Англию, где мне довелось побывать впервые в 2003 году.

Канадский проект был совершеннейшей авантюрой от начала и до самого конца. Для того, чтобы пройти по федеральной программе skilled worker, мне не хватило двух баллов. Что делать?! К счастью, в Канаде есть провинциальные программы. После предварительной оценки, я подсчитал, что у меня достаточно баллов, чтобы попытаться пройти по программе франкоязычного Квебека, о существовании которого я не ведал до сего времени. Хотя нет – помнится это слово однажды привлекло моё внимание, точнее не само слово, а красочная обложка книжки под названием «Анжелика в Квебеке», на которой была изображена пышногрудая рыжеволосая дива. Это был один из любовных романов о приключениях юной француженки в библиотеке моей мамы. Впрочем, тогда я решил, что Квебек – это, должно быть, где-то во Франции… Mille pardons, прошу прощения за лирические отступления, я снова отвлёкся… Всё прекрасно, но было одно препятствие, досадная неприятность — необходимо пройти собеседование с иммиграционным чиновником на французском языке. Mon Dieu!

В школе я изучал английский, по-французски я знал только одну фразу, которую произносил Киса Воробьянинов в фильме про великого комбинатора О. Бендера: «Madame, je ne mangeais pas six jours!» (Мадам, я не ел шесть дней), чего было явно недостаточно. Накормить-то, может быть, и накормят, но на работу вряд ли возьмут. Всё же, я подал документы, особо не надеясь, что мне ответят, но медлить было нельзя, так как иначе вскоре я потерял бы баллы за возраст. И вот через пару месяцев я получаю приглашение на интервью, которое должно состояться в посольстве Канады в Москве через полгода. И снова я опускаю лишние подробности, как я готовился к интервью [...] В результате, я успешно его прошёл, не смотря на то, что от начала и до самого конца не верил, что это получится. И вот мне торжественно выдают сертификат отбора Квебека в красочной папке «Bienvenue au Québec!» Где-то в архивах форума Café Québécois пылится подробный рассказ о том, как я готовился, и о самом интервью.

Alors, bien! Я получаю иммиграционную визу, по которой я должен въехать в Канаду не позднее 23 мая 2009 года и понимаю, что не готов ни морально, ни вербально, ни финансово к такому серьёзному и ответственному шагу. Однако, после стольких усилий и затрат, отступать было бы проявлением малодушия. Я решил взять отпуск просто съездить посмотреть и заодно навестить моих друзей в Торонто, которые уехали раньше и уже получили гражданство. По программе skilled worker, как я упоминал выше, при первом въезде вам сразу дают статус постоянного жителя и чтобы его не потерять достаточно жить в Канаде два года из каждых пяти. То есть теоретически у меня было ещё три года в запасе, чтобы окончательно решить надо оно мне это счастье или «нас и здесь неплохо кормят». На тот момент мне уже было 38 лет. Не даром говорится, бойтесь своих желаний — они могут сбыться! Короче, я возвращаюсь в любимый Питер.

Незаметно подкралась — нет, не старость! Не угадали. Незаметно подкрался 2012 год. В мае истекал срок моего допустимого отсутствия в Канаде, позже которого я терял статус постоянного жителя. На форуме Café Québécois я читал много историй и восхищался упорством тех, кому отказывали по нескольку раз, а они всё подавали и подавали документы и в итоге получали заветный сертификат отбора. Должен заметить, я не из тех, кто будет ломиться в закрытую дверь или биться лбом об стену, как отец Фёдор из того же фильма «12 стульев» про О.Бендера, если мне не открывают. К тому времени мне удалось подкопить денег, но их хватало лишь на билет туда-обратно и на время поиска работы, примерно месяца на три. Так! Решено — если я не получу job offer за это время, да не больно-то и хотелось! Вернусь обратно в Москву, куда я, напомню, переехал в конце 2010 года.

— Вы утверждаете, что человек может поднять себя за волосы?
— Обязательно! Мыслящий человек просто обязан время от времени это делать
[цитата из фильма «Тот самый Мюнхгаузен»].



Короче, длинные проводы — долгие слезы. В конце апреля прилетаю в Торонто, где останавливаюсь у друзей. Рассылаю пачками резюме и… тишина! Перезвонил только один агент, судя по акценту индус, чтобы уточнить, если ли у меня какие-нибудь сертификаты. Сертификатов у меня не было, и не было времени их получать. Кстати, если вы тоже посматриваете за бугор, всячески рекомендую получить официальные сертификаты по Java от Oracle. Ваши шансы привлечь внимание к своему резюме и быть замеченным будут намного выше.

Немного подкорректировав своё резюме, я начал рассылать не только на объявления в Торонто, но также в Оттаве и Монреале. И вот через неделю у меня было уже три приглашения на интервью… в Монреале! Ну, что ж, как говорит народная мудрость: «нищему собраться – только подпоясаться!» или «бешеной собаке семь вёрст – не крюк!»

Продолжение следует

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

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

  • ,

Как тревожен этот путь!

Всем привет!

Мою историю трудно назвать классической историей успеха из серии — «я никогда не занимался программированием и не верил, что у меня получится», или «у нас было в институте программирование, но я не написал ни строчки кода», или «… и вот в один чудесный день я приобрёл подписку на Javarush, дошёл до 22-го уровня, сходил на интервью и — о, май гат! — меня взяли на юниорскую позицию».

Моя история отличается от подобных success stories и в чём-то перекликается с историей «бородатого эникея», опубликованной здесь недавно, хотя и с некоторыми вариациями. Мне тоже далеко за сорок и моя карьера развивалась через определенные этапы и вехи. Мне тоже приходилось заниматься всем понемножку — кодить, тестить, админить, внедрять в эксплуатацию, заниматься настройкой и сопровождением, с тем лишь отличием, что я никогда не носил ни бороды, ни усов. :)

Однако ж, мне есть чем поделиться и воодушевить тех, кто находится в начале своего пути. С чего начать? Начну, пожалуй, с того, что моя карьера в IT началась давно, ещё в прошлом веке. Мне-таки удалось закончить универ. Тогда это называлось не Software Engineering и не Computer Science, а факультетом электроники и системотехники, кафедра прикладной математики, специализация — цифровые методы обработки изображений, где преподавалось много чисто абстрактных научных дисциплин, как то: математический и функциональный анализ, линейная алгебра, математическая физика, теория вероятностей и прочие непонятности. С высоты пройденного пути могу подтвердить, что 80% из того, что мы «проходили», потом не пригодилось в работе, хотя и было полезно для тренировки мозга. Мои однокурсники стали важными начальниками в IT и в сферах с ай-ти не связанных. Кто-то кардинально сменил профиль, кто-то занялся собственным бизнесом. Я же никогда не стремился занимать руководящие посты, хотя был один грешок перед айтишным божеством [если такой существует], когда я «смалодушничал» и попытался что-то кардинально изменить в своей жизни и заняться, может быть, чем-то другим. Так в начале миллениума, я попробовал свои силы в туристическом бизнесе в Питере, но довольно быстро понял, что это совсем не то, чем бы мне хотелось заниматься. :)

Моим первым языком программирования был Бейсик из школьной программы по информатике, где наивысшим достижением было вывести синусоиду на экран. В университете мы изучали PL-1 и Modula-2, конечно, MATLAB, ибо он идеально подходил для решения уравнений и математических задач. Программы компилировались и запускались на ЭВМ размером с большой холодильник. Когда появились первые персональные компьютеры с 286-м микропроцессором, это казалось каким-то невообразимым чудом техники. И на последнем курсе, мы писали лабораторки и курсовые работы на Си.

В те годы выпускникам было проще устроиться на первую работу. Мы проходили преддипломную практику на предприятиях и в научно-технических центрах. Мы писали свои дипломные работы там же и потом нас с распростёртыми объятиями брали на работу туда же. Так я попал на производство, где первые два года писал программульки на FoxPro 2.0 под DOS и отчёты для бухгалтерии. Годом позже мы перешли в графическую среду Windows, где приходилось пользоваться мышкой, что по-началу было непривычно.
Через два года я перевёлся в дирекцию по информационным системам, где занимался автоматизацией бухгалтерского учёта на том же предприятии. Там я научился программировать на PL SQL Oracle и на очень популярном в то время Delphi. Тогда же на предприятии появился Интернет, навигатор Netscape и это казалось ещё бОльшим чудом, чем когда-то персональный компьютер.

Примерно в то же время появились ультра модный объектно-ориентированный подход к программированию, проповеданный Гради Бучем (Grady Booch) и технология Java, как первая успешная попытка создания языка программирования, на котором приложения могли бы работать в различных средах. Впрочем, в то время Java критиковалась за медлительность и нестабильность.

Шли годы. Мне стало скучно, тесно и неинтересно в моем городе. Я переехал в Северную столицу, где найти работу было несложно с опытом программирования на PL SQL. За десять лет в Питере я сменил три компании. Наконец, в конце 2010 года я перебрался в Москву, куда я стремился с самого детства, но получилось окольным путём, через Питер. Казалось бы цель жизни достигнута! Но скоро только сказка сказывается.

Работа в Москве попалась интересная в одной маленькой конторе, имевшей свою сеть платежных терминалов наподобие Qiwi, и собственную информационную систему управления предприятием. Когда я устраивался туда, никто меня не мучал «тупыми» вопросами и тестами. Там состоялось моё знакомство с Java EE, там же я получил первый опыт в программировании web приложений. Система была несложной, состояла из простых POJO объектов, JavaBeans, сервлетов и JSP. Никаких внедрений зависимостей, ни Spring, ни SQL инъекций, ни Hibernate, ни ORM, ни Maven мы не использовали, никаких систем контроля версий тоже. В отделе разработки ПО нас было трое программистов и один админ базы данных. Всё делалось на коленке. После этого, как мне тогда казалось, я мог смело позиционировать себя не только как Oracle, но и как Java разработчик, что, конечно, было нескромным преувеличением. Если бы меня попросили тогда объяснить многопоточность, перечислить методы класса Object или для чего используются дженерики и пр., я бы не смог дать вразумительного ответа, как впрочем и написать простенький итератор для коллекции. Oops, shame on me!

В силу разных причин, в том числе из-за врождённой склонности к авантюризму и нежелания сидеть всё время на одном месте, опуская прочие несущественные детали и подробности, скажу лишь, что я свалил за океан по программе skilled worker, которая выгодно отличается тем, что при первом же въезде в Канаду вы получаете статус постоянного жителя [permanent residence] со всеми правами, кроме права голосовать. Вы можете искать работу на месте, не обязательно иметь work permit, который вас привязывает к одному единственному работодателю. Так я оказался в поисках работы на другом конце света…

Продолжение

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

Всем привет!

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

И для начала расскажу как все начиналось. В 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 гигами озу.
  • ,

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)
Желаю всем не падать духом, и успехов!)