• 0.30

  • +0.54

  • ,

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

Для справки:

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

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

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

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



В общем, после интервью в Москве французским языком я не занимался и он остался на том же уровне, что и был — je m'appelle Dimitri. Этого, как вы понимаете, было недостаточно для работы во франкоязычной компании. К счастью, в Монреале полно 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, mise 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, получив иммиграционную визу, по которой я должен въехать в Канаду не позднее 23 мая 2009 года, я понял, что ни морально, ни вербально, вообще не готов прямо сейчас так всё бросить и сделать столь ответственный и серьёзный шаг. Однако, после стольких усилий и финансовых трат, отступать было бы проявлением малодушия. Я решил взять отпуск просто съездить посмотреть и заодно навестить моих друзей в Торонто, которые уехали раньше и уже получили гражданство. По программе skilled worker, как я упоминал выше, при первом въезде вам сразу дают статус постоянного жителя и чтобы его не потерять достаточно жить в Канаде два года из каждых пяти. То есть теоретически у меня было ещё три года в запасе, чтобы окончательно решить надо оно мне это счастье или «нас и здесь неплохо кормят». На тот момент мне уже было 38 лет. Не даром говорится, бойтесь своих желаний — они могут сбыться! Короче, я возвращаюсь в любимый Питер.

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

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



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

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

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

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

Всем привет!

Мою историю трудно назвать классической историей успеха из серии — «я никогда не занимался программированием и не верил, что у меня получится», или «у нас было в институте программирование, но я не написал ни строчки кода», или «… и вот в один чудесный день я приобрёл подписку на 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, который вас привязывает к одному единственному работодателю. Так я оказался в поисках работы на другом конце света…

Продолжение