Устроиться программистом – Что нужно знать и уметь джуниору PHP программисту для того чтобы устроится на работу(минимальный набор знаний)?

Содержание

Как найти свою первую работу программистом? От резюме до испытательного срока / Mail.ru Group corporate blog / Habr

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

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

Итак, как же новичку получить первую работу?


Оно должно как-то называться. Существуют два варианта.
  1. Допустим, вы программировали на разных языках. В школе наверняка писали на Pascal, а потом что-то делали на C++. Если вы постарше, то, возможно, знакомы с Delphi. Поэтому в названии резюме можно указать все языки, на которых вы писали. Авось какой-то заинтересует потенциального работодателя. Например, так: «Программист: delphi, python, php, html, java, c#, ruby, scala».
  2. Можно указать, что вы специализируетесь на чём-то одном, например на Python. Обычно, если в названии резюме перечислена куча языков, то понятно, что вы не умеете ничего. Всего коснулись поверхностно. В глазах работодателя вы будете человеком-оркестром, который пришёл на прослушивание в консерваторию. Не надо так делать. Зачёркиваем длинную простыню и оставляем просто «Программист на Python». Повышайте свою самооценку, не акцентируйте в резюме неуверенность в себе, связанную с нехваткой опыта.

Из этого следует правило: выберите один язык программирования и специализируйтесь на нём. В университете я писал на С++, потом понял, что связанные с ним вакансии меня не очень прельщают, поэтому надо двигаться в другом направлении. Я выбрал для себя C# и Java. Мне они оба очень понравились, и я долго не мог определиться, какой мне больше по душе: тут есть такая-то фича, здесь такая, казалось бы, одинаковые. Я купил две здоровенные толстые книжки — по C# Эндрю Троелсена и по Java Брюса Эккеля. На каждую я потратил по две недели и начал откликаться на вакансии по обоим языкам. Думал, куда раньше возьмут — в тот язык и буду углубляться. Сейчас я понимаю, что переложил ответственность за выбор языка с себя на мироздание, на судьбу, на работодателя.

Приходя на каждое из собеседований, я чувствовал себя неуверенно. На обоих языках я писал одинаково слабо. Не надо было так делать. Надо было принять волевое решение. Не можете выбрать — киньте монетку. Главное, определиться с каким-то одним языком.

Какой язык лучше всего указать в резюме? Языков много, но они очень часто друг друга взаимозаменяют. Не все из них живые. Основное правило — выбирайте популярные языки, не надо брать экзотику. Не нужно слушать, что какой-то Haskel очень крутой, классный, умеет делать всё и вся, а функциональные языки программирования такие волшебные… Каждый хвалит свой язык.


Работодателям нужна не экзотика, а те технологии, по которым много специалистов. Решайте сами, нужно ли учить язык, по которому вы потом не сможете найти работу?

Так что при выборе языка обращайте внимание:

  • на его популярность;
  • на решение задач, которые вам интересны;
  • на простоту освоения: на начальном этапе лучше выбрать попроще.

Сейчас по количеству вакансий наиболее востребованы следующие языки: Javascript, PHP, Java, C++, Python, C#, Ruby, Swift, Objective-C. Выбрав какой-то язык, скорее всего, вы на нём и остановитесь. Может быть, через два года разочаруетесь или решите перепрофилироваться. Но это будет немножко больно. С другой стороны, свой опыт вы сможете легко применить в другой сфере деятельности.
  • Если речь пойдёт про frontend — то есть разработку визуальной части сайтов, — то здесь всё просто, нужны три языка: HTML, CSS, JavaScript.
  • А вот для разработки серверной части вариантов много. Самый популярный язык — РНР. Мне на каждом докладе говорят, что про РНР плохо отзываются, какой-то он не такой. Многие высказывают гипотезы, что он умрёт. Но ничего подобного, половина сайтов написана на РНР, половина вакансий — на РНР, ВКонтакте — на РНР, как и многие другие крупнейшие проекты. Никуда язык не денется. Если в нём будут критические проблемы, то их просто исправят. Появился Ruby on Rails, классный движок — ну, ничего страшного, на РНР стали появляться фреймворки, в которые внедрили аналогичные фичи. Всё хорошо. Отдельно скажу, что Python многих прельщает простотой и универсальностью.
  • С точки зрения мобильной разработки
    есть всего два варианта. Если хотите писать под Android — это Java. Если под iOS — Swift или Objective-C. И то и другое — хорошие решения.
  • Разработка под desktop и серверы: Python, Javaб С++ или C#. Здесь есть простор для метаний. Python попроще, чем остальные. На Java можно писать под Android. На C# — углубляться в разработку игр и сайтов. C++ больше подходит для тех задач, где требуется высокая скорость работы. В остальном у них возможности совпадают, просто на Java сайты пишут реже.

Возникает резонный вопрос: если начинаешь с нуля, то имеет ли смысл изучать сразу новый язык? Например, в Apple перешли с Objectivе-C на Swift, потом появился Swift 2 и 3. Обычно я консервативен и считаю, что новое не всегда оправданно и действительно выстреливает. Появляется новый язык, по нему нет вакансий, но где гарантия, что они появятся потом? Может, на нём так и напишут с пяток проектов.

Что касается Objectivе-С и Swift, я давно присматриваю за этими языками, и буквально на днях количество вакансий на Swift сравнялось с Objective-C. Мое мнение, это очень серьезный показатель, что Swift будет только набирать обороты и со временем может вытеснить Objective-C.


Итак, мы выбрали язык и указали его в резюме. Далее перечисляем технологии, которые мы знаем. Давайте снова разбираться, что круче. Допустим, вы программируете на PHP. Имеет ли смысл писать, что вы знаете С, С++, Pascal, C# и так далее? Не надо перечислять все технологии, которые напрямую не относятся к вашей компетенции. Надо назвать вакансию «программист: РНР». В таком случае работодателю неинтересно, что вы когда-то писали на С и Visual Basic. Весь этот длинный хвост можете не указывать.

Есть и другой вариант. Допустим, я программист на РНР, но знаю все эти технологии, потому что они относятся к веб-разработке: и РНР, и YII2, и HTML, разные фреймворки. Если будете искать вакансию веб-разработчика, то наверняка увидите здоровенную простыню дополнительных требований с кучей умных слов. И многие этого пугаются, особенно в веб-разработке, страшно, что надо столько знать… К этому надо стремиться: знать Webpack, работать с разными БД и так далее.

Многие для повышения авторитета сразу пишут, что я и это знаю, и это примерно знаю, но я новичок и готов получать пока 15—30 тысяч, и опыта работы у меня нет. Какое будет впечатление у работодателя? То же самое: человек-оркестр.

Есть и другая проблема. Допустим, работодатель поверит, что вы всё это знаете. Он же на собеседование придёт с этим списком, ткнёт в любую технологию и скажет: «Теперь мы говорим про React, что ты знаешь про него? А это что? А это? Ясно, React мы не знаем».

Вычёркиваем.

«Хорошо, поговорим про MySQL, напиши мне транзакцию, которая делает то-то и то-то».
«Ну, я в MySQL установил только среду разработки, два select-а сделал…»

MySQL тоже вычеркиваем. Всё остальное он даже смотреть не будет. Работодателю уже будет неинтересно, что вы полгода жарили РНР: он поймал вас на вранье. Так что зачеркиваем всё перечисленное.

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

Более того, даже не пытайтесь ознакомиться со всеми этими многочисленными технологиями. Если вы РНР-программист — так и напишите, что знаете РНР и немного HTML и CSS для верстки. Ещё знакомы с одним фреймворком — всё, работодателя это устроит. Он не будет вас гонять по YII, поскольку вы и не указали, что знаете его. Работодатель понимает, что вас можно гонять по РНР.

Если так получилось, что вы уже много чего потрогали, то честно напишите: поверхностное знакомство с такими-то технологиями. Может, для работодателя это будет плюсом.


Должно ли в вашем резюме быть подтверждение того, что вы окончили какой-то университет, получили какие-то сертификаты, прошли курсы и так далее? Это хорошая вещь при первичном отборе, на которую обращают внимание многие кадровики. Им сложно ориентироваться по другим критериям. Поэтому они смотрят на опыт работы и на образование, чтобы сделать какой-то вывод.

Когда я набирал в команду джуниоров по C#, мы опубликовали вакансию и в течение двух-трёх недель получили 50 откликов. У нас не было кадровика, поэтому мы пошли программерским путём: всем кандидатам выслали тестовое задание. Кто его сделал, проходил дальше. И мне как работодателю не были интересны сертификаты и диплом. Я даже на резюме не смотрел, пока человек не присылал мне решение тестового задания. Но для кадровика это может быть важно.


Очень важная вещь на этапе отбора. Если у вас есть портфолио, то работодатель-программист сможет понять, в состоянии ли вы решить задачу аналогичную той, которую вы уже решали.
Что можно написать в своём портфолио? Если вы хотите разрабатывать сайты, то просто придумайте себе задачку и решите её за необходимое время. Сделайте небольшой сайт и выложите его, лучше всего на Github. И напишите: я создал небольшой интернет-магазин, использовал такие-то технологии, вот код. Для работодателя это будет показателем, что вы ещё и про Git знаете. Он понимает: если я возьму этого новичка на работу, он мне за два дня сделает примерно то же самое, с чем сам разбирался месяц. И не надо будет ему платить за то, чтобы он выучил, что такое Bootstrap, познакомился со всякими нужными штуками. Он сам уже это изучил и теперь в состоянии решить задачу за пару дней. Поэтому не пренебрегайте портфолио. Вам оно очень сильно поможет.
Если он у вас есть, то опишите его. После этого вас будут отрывать с руками. После окончания университета я получил два отклика на своё резюме, а через год просто не знал, как его спрятать. Потому что всем нужны программисты, и кадровики видят: этого парня вытерпели год и не уволили, он не облажался, значит, толковый человек. Если я его возьму к себе на работу, то, скорее всего, я тоже смогу терпеть его как минимум год, его код не надо будет выбрасывать.
Резюме готово, что делать дальше? Прежде чем откликаться на вакансии, надо немного психологически настроиться, чтобы процесс пошёл правильно. Представьте свой идеальный рабочий день, что бы вам хотелось получить в итоге? Иначе мы просто будем белкой в колесе, станем бежать за какой-то мечтой, каким-то счастьем. Представьте, как выглядит ваш офис, ваши коллеги, какое у вас самоощущение, какими проектами вы занимаетесь. Просто настройтесь на то, какие эмоции вы будете испытывать, когда станете ходить на работу. Сделайте запрос мирозданию: «Хочу, чтобы было так, так и так». И успокойтесь, всё у вас будет хорошо.

Расскажу о том, как я устроился в компанию GeekBrains. В какой-то момент мне надоело программировать. Это классное занятие, я пять лет ему отдал, но меня не очень удовлетворяли цели компании, в которой я работал. Я подумал, что мне было бы интересно открыть свою школу и учить людей. Дать им возможность получить новую специальность, новую профессию. Потом я увидел вакансию и начал преподавать в GeekBrains, совмещая это с основной работой. Затем я просто попросился к ним на работу.

Так выглядел мой разговор с генеральным директором GeekBrains.

Гендир: «А что ты умеешь делать? Ты на C# программируешь, а мне нужен Ruby».
Я: «Я не хочу программировать, я умею то, умею сё».

Через две недели я вышел на работу.

Наверно, вы представляете: «Я найду работу так: выложу резюме, на него откликнутся, я приду на собеседование, и всё получится». Но работа может найти вас совершенно другим способом. Например, вы зарегистрируетесь на фрилансерском сайте, выполните какой-то заказ, и у вас появятся постоянные клиенты. Или друг пригласит вас к себе работать. Не зацикливайтесь на способе достижения цели. Просто будьте открыты к предложениям, откуда бы они к вам ни пришли.

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

Не парьтесь, ребята. Отправьте 100, 200, 300 откликов, сколько найдёте. И законом больших чисел вы сообщите мирозданию, что реально хотите работу. Вас пригласят на пять собеседований, на одном из них вы устроитесь на работу — всё. Если вам посылают тестовое задание, не пренебрегайте им. По моему опыту, 90 % кандидатов отваливаются, когда получают тестовое задание.


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

Если вас взяли на испытательный срок, то не надо всех заваливать вопросами, иначе подумают, что вы дурак. Но не надо кидаться и в другую крайность, когда начинающему разработчику дают задачку, и он уходит в себя на три дня, потому что сам пытается во всём разобраться. А работодатель думает: неужели вам мало трёх дней на такую простую вещь? Так что не стесняйтесь задавать вопросы. Если вы больше часа занимаетесь какой-то задачкой и у вас не получается, подойдите к старшему, спросите, он вам поможет, всё будет хорошо.


Друзья, и напоследок напутствие: не бойтесь экспериментировать. Ищите себя, находите то, чем вам нравится заниматься. Нет ничего хуже, чем десять лет просидеть на нелюбимой работе из страха, что не сможете устроиться на другую. Если вам нравится программировать — начинайте обучаться этому ремеслу, совмещайте учёбу с основной работой. Если хотите — приходите к нам в GeekBrains, и мы вам обязательно в этом поможем. Удачи вам, и до новых встреч!

Как устроиться на работу программистом? Пошаговая инструкция по поиску работы

Содержание статьи

Мало научиться программировать — желательно еще и чтобы за твои знания и умения платили. С чего начать, как и где искать работу, тебе подскажет эта статья. Итак, приступим!

 

Нужно ли оно тебе?

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

  • тебе нравится программировать;
  • у тебя получается программировать;
  • работа хорошо оплачивается.
Рис. 1. Как правильно выбрать род деятельности?

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

 

Пишем эффектное резюме

Поиски работы нужно начать с создания резюме. Увы, без него никак, разве что по знакомству.

Что писать в резюме? Первым делом рекомендуется посмотреть на имеющиеся вакансии, чтобы понять, что нужно работодателю. Так, на рис. 2 представлены типичные требования к веб-разработчику.

Рис. 2. Типичные требования к веб-разработчику

Возможно, ты знаешь несколько языков программирования. Но не нужно указывать в резюме все сразу. Это будет означать лишь одно: ты толком не разбираешься ни в каком из них. Определи свои сильные стороны и выбери для резюме только те языки и технологии, которыми ты хорошо владеешь. Представь, что на собеседовании тебя попросят написать код на C#, а ты добавил его в резюме, потому что когда-то прочитал или просто пролистал книжку по этому языку. Ты будешь выглядеть не лучшим образом.

Выделив свои сильные стороны, ты поймешь, как назвать свое резюме, например «Программист PHP».

Уже хорошо, начало положено. С каждым языком программирования связаны свои технологии. Примерный список технологий для вакансии веб-разработчика приведен на рис. 2. В резюме нужно упоминать лишь те, которые ты действительно освоил, а не просто слышал, что они есть. Если ты знаешь только PHP, HTML, CSS и JavaScript, то их и указывай. Не нужно вписывать фреймворки Zend, Symfony и другие, если ты с ними не работал. Все равно это выяснится.

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

Как составить эффектное резюме, ты можешь узнать из курса GeekBrains «Как устроиться на работу программистом?», а я просто позволю себе несколько рекомендаций. Кстати, данный курс будет доступен совершенно бесплатно по промокоду «Хакер» при покупке любой профессии.

Информацию в резюме не стоит подавать хаотично, придерживайся определенной структуры.
Оптимальной считается следующая:

  • Фамилия и имя. Отчество указывать не нужно, это пережиток прошлого.
  • Фото, желательно на белом или сером фоне, но никак не фото с пляжа или семейного отдыха.
  • Контакты (только номер телефона и email, домашний адрес указывать не нужно — никто не будет приходить к тебе в гости). Контакты должны быть личные, а не компании, если ты в данный момент где-то работаешь. Не стоит приводить все номера телефонов, достаточно одного.
  • Цель — это та должность, на которую ты претендуешь.
  • Основные компетенции — укажи профессиональные знания и достижения.
  • Образование. Думаю, тут все понятно. Если у тебя нет высшего IT-образования, ничего страшного. Многие хорошие программисты его не имеют. И наоборот, многие с IT-образованием совершенно не умеют программировать. Конечно, IT-образование и/или наличие сертификатов — это хорошо, но все это мало тебе поможет, если ты не сможешь выполнить тестовое задание.
  • Посещенные тренинги (если были).
  • Опыт работы. При этом последнее место работы нужно указать вверху, ниже — более ранние.
  • Дополнительная информация. Здесь все остальное, например знание языков, наличие прав, возможность командировок. Не следует сообщать слишком много сведений, тем более ненужных. Например, твое семейное положение мало кого интересует.

Что касается оформления резюме, тут тоже есть несколько тонкостей:

  • Используй один шрифт для всего резюме. Названия разделов допускается оформлять увеличенным на 2 пункта шрифтом.
  • Не используй устаревшие шрифты. Раньше шрифтом по умолчанию считался Times New Roman. Но сейчас «в тренде» шрифты Calibri и Arial, используй их. Резюме с Times New Roman смотрится динозавром.
  • Идеальный размер шрифта — 10 или 12 пунктов, одинарный интервал между строками.
  • Список обязанностей оформляй в виде нумерованных списков.
  • Ссылки на твои работы указывай в сокращенном виде (сократить ссылку можно с помощью сервисов вроде bitly.com). Если у тебя нет портфолио, желательно его создать. Напиши простенькую CMS или интернет-магазин (если ты ищешь работу веб-программистом).

Конечно, это далеко не все рекомендации, но нам много о чем еще нужно поговорить, поэтому переходим к следующему этапу.

 

Поиск работы: что, где, когда

Итак, резюме у нас есть. Осталось найти работу. Но прежде нужно определиться, чего тебе хочется. Каким должен быть твой идеальный рабочий день? Например, во сколько ты просыпаешься, во сколько едешь на работу. Или, возможно, вообще никуда не едешь — мечтаешь работать дома. Предпочел бы ты сидеть в отдельном кабинете или в общем? Над какими проектами хочешь работать? Устроиться в какую-то компанию или создать собственную?

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

Резюме нужно опубликовать. Сделать это можно на множестве ресурсов. Начни, например, с https://hh.ru/. Там же ты сможешь просмотреть доступные вакансии и воспользоваться сервисом улучшения резюме — информация лишней не бывает.

Если ты не из России, то не помешает зарегистрироваться в «запрещенной на территории РФ» LinkedIn и максимально заполнить свой профиль. Это не просто социальная сеть, это место обитания рекрутеров — их там пруд пруди. Да простят меня рекрутеры :).

 

Собеседование и испытательный срок

Ты нашел подходящую вакансию и откликнулся на нее — отправил работодателю или рекрутеру свое резюме. Но ответа почему-то нет. Не расстраивайся, если тебя не пригласили на собеседование, — это не означает, что у тебя что-то не так. Скорее всего, работодатель уже нашел программиста, а вакансию забыл снять. Такое бывает, и довольно часто. Дело в том, что размещение вакансий на сервисах вроде hh.ru платное, вакансии размещаются на определенный срок, после чего автоматически снимаются.

Не нужно останавливаться (рис. 3). Ищи другие вакансии. Если тебе нравится определенная компания и ты хотел бы в ней работать, но на собеседование тебя не приглашают, попробуй связаться с кем-то оттуда напрямую. Найди на сайте компании альтернативные контактные данные — email или номер телефона. Свяжись, объясни ситуацию: мол, резюме отправил, а ответа нет, расскажи о себе.

Рис. 3. Осталось совсем немного

Пока твоя задача будет заключаться в следующем: откликаться на много вакансий (а не на одну-две) и решать много тестовых заданий. Скорее всего, перед собеседованием, чтобы не тратить зря свое время, работодатель попросит тебя выполнить несложное тестовое задание. По его результатам тебя могут пригласить или не пригласить на собеседование. Тестовые задания выполнять обязательно — это ведь первый фильтр. Кандидатов на вакансию может быть много, а тех, кто справится с заданием, — единицы. Даже если тебя не пригласят на собеседование, ты получишь некоторый опыт, решая разнообразные тестовые задания.

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

Приготовься, что работодатель на собеседовании будет проверять каждый пункт из твоего резюме. Если ты написал, например, что знаком с набором компонентов DevExpress, у тебя обязательно выяснят, насколько хорошо знаком.

После успешного прохождения собеседования тебя возьмут на испытательный срок, если, конечно, ты этого захочешь, — вдруг тебе не понравится начальство или кофе в офисе будет плохим :).

Испытательный срок нужен для того, чтобы работодатель мог безболезненно тебя уволить, если ты им не подойдешь. Ошибки допускают все, в том числе и работодатели. После твоего официального оформления уволить тебя будет гораздо сложнее. С другой стороны, если тебя не оформляют раньше, чем закончится испытательный срок, — не беспокойся: это обычная практика. Если ты справляешься со своими обязанностями, тебя обязательно возьмут в штат, когда испытательный срок истечет.

Тебе не нужно волноваться об отсутствии опыта — после обучения на GeekBrains ты проходишь гарантированную стажировку. Так что опыт работы у тебя уже будет!

 

Фриланс

Бунтарям по своей природе подойдет другой вид деятельности — фриланс. Что такое фриланс, думаю, рассказывать никому не нужно: работа из любой точки земного шара,
удобный тебе график, нет стоящего над душой начальства, свобода перемещения. Словом, идеальная работа.

Но у фриланса есть один недостаток: если в случае с обычной работой есть «дядя», который тебе ежемесячно платит деньги, то здесь тебе самому придется искать источник дохода, то есть заказчиков.

В этом тебе помогут всевозможные биржи фриланса. Простой запрос — и Гугл выдаст множество статей на тему выбора биржи. Лучшими в Рунете считаются следующие:

  • fl.ru,
  • weblancer.net,
  • 1clancer.ru,
  • devhuman.com,
  • modber.ru,
  • freelansim.ru.

Если тебе интересно, то компания GeekBrains сделала подборку лучших фриланс-бирж, в которой описаны особенности каждой. Подборка доступна тут.

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

Конечно, фрилансер должен учитывать еще некоторые нюансы, а именно:

  • тип расчета — наличный или безналичный;
  • предоплата (если да, то какой размер) или постоплата (по факту выполнения поставленной задачи).

Эти, а также некоторые другие нюансы обсуждаются в уже упомянутом курсе от компании GeekBrains.

 

Карьерная лестница в сфере IT

Программист работает над программным продуктом не в одиночку. Есть исключения, конечно, но если речь идет о крупном продукте, то это именно так. На рис. 4 изображены различные специальности в сфере IT. Заметь, на первом месте идет менеджер по продажам, а на втором бизнес-аналитик. Программисту отводится лишь седьмое место. Ведь мало программный продукт создать, его нужно еще и продать.

Рис. 4. Специальности в сфере IT

У каждой этой специальности есть своя роль в процессе разработки программного продукта. Что же касается именно программистов, то карьерная лестница программиста выглядит так:

  • Junior developer,
  • Middle developer,
  • Senior developer.

Но после достижения уровня Senior developer карьера не заканчивается. Ты можешь стать или архитектором, если уйдешь в техническую часть, или Team Lead, если тебе больше нравится управлять командой. По сути Team Lead — это менеджер, и от его умений и навыков зависит эффективность всей команды.

Team Lead может вырасти в менеджера проекта (Project Manager) — это тоже менеджер, но он управляет не только программистами, но и всеми остальными специалистами (дизайнерами, маркетологами и другими), участвующими в проекте. Вершина эволюции — CTO (Chief Technical Officer), то есть IT-директор.

Рис. 5. Карьерная лестница программиста

Параллельно идут две ветки — аналитик и тестировщик. У каждой из них есть свои промежуточные уровни, позволяющие в конечном итоге стать менеджером проекта.

 

Результат

Что ж, мы рассмотрели все аспекты поиска работы программистом. Дополнительную информацию ты сможешь получить в курсе «Как устроиться на работу программистом?» от компании GeekBrains, по окончании которого, кстати, ты получишь соответствующий сертификат (рис. 6). Еще раз напоминаю, что этот курс доступен совсем бесплатно по промокоду «Хакер» при покупке любой профессии.

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

Рис. 6. Сертификат от компании GeekBrains

Рис. 7. Профиль пользователя на сайте GeekBrains

Компания GeekBrains не бросает своих выпускников — она предлагает стажировку и помогает в трудоустройстве, а для тех, кто хочет попытаться найти работу сам, как раз и предназначен курс, описанный в этой статье.

Неправильный, но быстрый способ стать программистом

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

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

Разумеется, речь в статье пойдёт исключительно о моём личном опыте, который позволял мне проходить собеседования даже в такие топовые компании, как Luxoft.

Как я стал программистом

С компьютером я впервые познакомился в 6 лет. В 13 лет у меня уже был свой персональный веб-сайт. В школе учился плохо, в универе тоже. На втором курсе мой друг нашёл работу Java-программистом и настоятельно рекомендовал мне сделать то же самое. Идея заинтриговала. Нужен был план.

Первый шаг — резюме

Первая и основная проблема, с которой сталкиваются новички, — резюме. Без адекватного, цепляющего резюме вас не будут приглашать на собеседования. Но как быть тем, у кого совсем нет опыта работы? Для того чтобы «не с пустыми руками» идти к HR, мы с моим другом вписали мне в резюме целый год опыта работы над его проектом, над которым мы якобы вместе трудились.

Зарплатная политика

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

Позор и стыд

Первые собеседования были провальными. Надо мной буквально смеялись. На первом же техническом собеседовании, где мне дали пару задачек на бумаге, меня раскусили в два счёта. Кто-то даже по-отечески посоветовал книгу Thinking in Java.

Первая работа

В конце концов меня пригласили на собеседование в филиал одной датской компании, где я ответил на фундаментальные вопросы и приятно удивил всех своим английским. Меня взяли на должность Junior Java developer с одним условием — первые три месяца я буду проходить курс SCJP (Sun Certified Java Programmer), который восполнил бы мои пробелы и выковал бы из меня более подготовленного специалиста. Что может быть лучше, чем оплачиваемая стажировка без нужды работать (выдавать свою некомпетентность)? В этой компании я проработал полгода, чтобы через несколько месяцев пойти на повышение в компанию покрупнее.

На основе своего горького, но всё же бесценного опыта я приведу список рекомендаций, которые помогут товарищам-авантюристам относительно быстро найти работу программистом.

Рекомендации для начинающих программистов

  1. Резюме. Оно должно быть правильно отформатированным и написанным исключительно на английском. Если не хватает опыта, то его можно (и нужно) придумать, но следует подготовиться отвечать за каждое написанное в резюме слово. Например, если у вас там написано JMS (Java Message Service), то вам как минимум следует пройти хоть одну обучалку и поиграться с JMS, поделать какие-нибудь примеры, пускай это и будет банальное «Hello, world!». Теперь вам будет удобнее пускать пыль в глаза, вы ведь и правда «работали с JMS».
  2. Выучите азбуку программирования. Если вы ещё можете позволить себе «плавать» на глубоких уровнях каких-нибудь комплексных технологий вроде Struts и Spring, то неправильные ответы на элементарные вопросы вам никогда не простят. Если вас ночью разбудить, то вы должны уметь рассказать про ООП, наследование, инкапсуляцию, полиморфизм и другие базовые концепции, а также суметь объяснить это всё на примерах.
  3. Практика. Научиться программировать можно, только лишь программируя. Это больно и неприятно (если вы не программист), но другого пути нет. Единственный способ перестать бояться задачек на собеседованиях — порешать их дома самостоятельно.
  4. Читайте книги и проходите туториалы по Java только на английском. Абсолютно все термины программирования проще понимать на языке оригинала, то есть на английском. Читать техническую литературу по Java на русском — себя не уважать. Почему? Потому что, чтобы понимать что-нибудь в духе «…модуль таблицы во многих смыслах представляет собой промежуточный вариант, компромиссный по отношению к сценарию транзакции и модели предметной области», нужно быть поистине гением, которым вы вряд ли являетесь.
  5. Выучите, наконец, английский! В первую очередь это касается разговорного английского. Сложно сосчитать то огромное количество толковых программистов, которых на моей памяти забраковали по одной единственной причине — неудовлетворительный уровень разговорного английского. Нет, если вы, конечно, собираетесь работать программистом где-нибудь в «Киевстаре» или в другой отечественной компании, то ваш уровень языка не будет играть важной роли. Но если вы хотите попасть на работу в международную компанию, то сам бог велел выучить язык. Уровень вашего английского будет конвертироваться в дополнительные сотни долларов прибавки к вашей зарплате.
  6. Знайте рынок. Походите по вакансиям, почитайте требования, поспрашивайте друзей-программистов, сколько они получают. Используйте сервисы, которые позволят составить вам более полную картину о рынке IT. Вы были бы удивлены, узнав о том, насколько велико количество талантливых программистов, которые получают в два раза меньше, чем могли бы, только лишь по причине своей лени и нежелания держать нос по ветру.
  7. Торгуйтесь. Нет ничего предосудительного в том, чтобы торговаться за зарплату. Вашим аргументом в споре может быть как хороший английский, так и предложение о работе в другой компании. Последний аргумент особенно хорошо работает: «Да, но мне в Luxoft предлагают на 300 долларов больше, почему я должен соглашаться на ваши условия? Может, мы могли бы найти компромиссный вариант?». В своё время мне пару раз удалось выторговать дополнительную сотню долларов к своей зарплате, и через год эта сотня долларов дала мне дополнительные 1 800 долларов дохода на ровном месте. Вы должны понимать, что даже для небольших зарубежных IT-компаний лишняя сотня баксов как капля в море.
  8. Найдите себе ментора. Хорошо, если у вас будет более опытный товарищ, который сможет помочь советом и ответить даже на самые глупые вопросы. Благодаря его опыту и моральной поддержке вы будете продвигаться в программировании быстрее, чем в одиночку. Если нет ментора, то неплохо бы сходить на какие-нибудь курсы по программированию, которые не только дадут вам более полную картинку того, чем занимается программист, но и позволят познакомиться с более опытными людьми. Кто знает, может быть, кто-нибудь из них захочет стать вашим ментором.
  9. Начните свой проект. Даже если он будет образцом самых худших практик кодинга и вы его никогда не закончите, по крайней мере у вас будет то дело,  ради которого вам захочется разбираться в программировании и изучать новые технологии. Кроме того, у вас появится дополнительная тема для задушевных бесед на собеседованиях.
  10. Ищите работу летом. Во-первых, когда все в отпусках, в компаниях более остро ощущается нехватка кадров и повышается вероятность того, что вас позовут на собеседование. Во-вторых, поскольку ваши конкуренты-соискатели тоже на отдыхе, у вас опять-таки повышаются шансы быть замеченным HR.
  11. Никогда не сдавайтесь. Даже если вам кажется, что вы заваливаете собеседование, важно проявить стойкость и продолжить попытки решить задачу, какой бы сложной она ни казалась. Кто знает, может быть так, что вас именно в этот момент проверяют на усердие в работе!
  12. Избегайте заданий на компьютере. Нет способа быстрее раскусить непрофессионала, чем сразу же бросить его в пекло программирования. Ваша задача — постараться перевести все беседы на высокий уровень, где обсуждаются общие подходы и концепции, но никак не конкретная реализация в решении той или иной задачи. Если вам дали бумагу и ручку и попросили записать решение, то попросите возможность нарисовать его схематически. Таким образом, удалившись от синтаксиса конкретного языка, вы не только убережёте себя от каких-нибудь режущих глаз ошибок, но и покажете, что способны мыслить абстрактно, не вдаваясь так уж сильно в детали.
  13. Начинайте говорить первым. Избегайте ситуаций, когда в воздухе виснет пауза, во время которой в мозгу у интервьюера может созреть очередной коварный вопрос. Как только происходит какая-либо заминка, следует начать рассказывать что-нибудь из того, что вы хорошо знаете. Постарайтесь навязать интервьюеру свою игру.
  14. Старайтесь говорить правду. Если вы никогда не писали PL/SQL процедуры, то лучше об этом сказать прямо. Возможно, в этом для вас будет минус, однако вы убережёте себя от нужды выкручиваться, отвечая на вопрос, в котором ничего не смыслите. Опытный интервьюер за версту почувствует ваши пробелы в знаниях.
  15. Бойтесь маленьких компаний. В небольших компаниях, как правило, небольшие команды. Чем меньше в команде людей, тем быстрее вас раскусят. Ваша цель — большая и неповоротливая корпорация, где вы сможете выиграть для себя немного времени.
  16. Соблюдайте дресс-код. Если вы придёте на собеседование на должность программиста в шикарном костюме, то это вызовет больше подозрения, чем если вы явитесь в шортах или потёртом свитере. Не лишним будет также нацепить очки, мол, «эдакий я книжный червь».

Конечно, кто-то знающий может отметить, что приведённый выше рецепт — это скорее способ стать кодером, чем программистом, и он где-то будет прав. Однако дело всё в том, что вы никогда не найдёте вакансию с заголовком «Требуется плохой кодер». Всем нужны программисты. Желательно senior. У которых более пяти лет опыта работы на корпоративных проектах и которые одинаково хорошо владеют сразу несколькими языками программирования, при этом досконально разбираются в СУБД, умеют писать bash-скрипты, хранимые процедуры, знают в совершенстве Linux, TCP/IP, обладают лидерскими качествами, стрессоустойчивостью, коммуникабельностью и ещё массой навыков, «без которых никак».

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

Работа — Почему так сложно устроиться программистом C++ | GeekBrains

Из своего опыта знаю что программистом С++ устроиться на хорошее место очень сложно. К программистам на этом языке предъявляют очень высокие требования и очень обширного набора знаний. Второй интересный аспект данного вопроса, почему к программистам на C++ предъявляют обязательное требование знать Qt и даже при наличии хороших знаний по C++/STL и смежных направлений без знания данной библиотеки кандидатов даже не рассматривают. Третий аспект, это что на C++ без огромного опыта работы по трудовой берут только молодых специалистов. Если устраиваться программистом C#/JS/SQL на даже большие деньги при тестировании вопросы в разы проще, типа напишите пару SQL запросов и как в коде работают замыкания плюс на ошибки смотрят сквозь пальцы.
Приведу несколько примеров:
1) На собеседовании помимо С/С++ были задания на знание Win32 API и в частности Threads, хотя это не подразумевалось.
2) На собеседовании по C/C++ не было ни одного вопроса по данному языку, а только тесты по алгебре и геометрии, например — разделить прямоугольник с выбитой окружностью на две равные по площади фигуры с помощью прямой или другое задание — сколько не пересекающихся плоскостей можно провести через 4 точки не лежащие в одной плоскости и помимо решений привести доказательства. Хотя анонсировано было только тестирование C/C++ и векторная алгебра.
3) В задании было написано что принимаются работы на OpenGL и DirectX, но в итоге кандидатов с решениями на DirectX не рассматривают.
4) Выполнив задание для очень крупной компании на DirectX 12 (предложили разобраться) и убив очень много времени что бы выучить данную библиотеку даже не отвечают на письма. И как оказалось DX12 промышленно почти ни кто не использует.
5) Поставленные задачи необходимо решать только на определенных алгоритмах, например для задач со строками необходимо обязательно пользоваться логикой указателей, а все другие решения считаются неправильными.
6) Если вы где то ошиблись то вам в конце обязательно заявляют что в данной компании необходим человек который сразу может решать задачи компании и что вы не являетесь таким человеком или что вы в принципе не умеете решать задачи по математике или геометрии или чему то еще.

05 января 2018 в 03:33

Мой опыт поиска работы программистом за границей: UPDATE 2 / Habr

UPDATE 1
UPDATE 2

Думаю, что многим будет полезен мой опыт поиска работы программистом за границей. Тем более что он совершенно отличается от описанного в публикации «Как айтишнику уехать в Германию. Часть 1».

Сразу скажу, что я женат и у меня двое детей 5 и 11 лет. Это я говорю к тому, что требования к условиям переезда для семейного человека выше, чем без детей или вообще без семьи. Например, необходимо учитывать увеличение расходов на минимум 3-к квартиру, коммунальные услуги из расчета на 4 чел, платное образование и его уровень. Также важен транспорт, так как каждый день детям нужно добираться в школу и из школы. Еще одним важным критерием выбора страны для переезда является уровень медицины и экология. И наконец, расходы на содержание семьи из 4 человек на порядок выше чем на двоих и тем более — для одного. Все это ставит довольно жесткую нижнюю планку по зарплате.

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

В общей сложности поиск работы мне занял 9 мес. Страной назначения я выбрал Германию, так как IT там на высоком уровне, огромное количество стартапов, особенно в Берлине, высокий уровень бесплатного образования и сильная медицина. К тому же я более менее знал немецкий.

Ошибка №1 — выбрать одну страну и искать работу только в ней.
Как оказалось, огромный спрос на программистов есть также и в Великобритании. Еще мне приходили предложения из Швейцарии, Нидерландов, Словении, Польши и Венгрии. Чем шире диапазон поиска — тем больше шансов. Лично я переехал в страну, из которой я получил всего одно предложение, хотя я вовсе не рассматривал ее да и знал о ней лишь по наслышке. Ее даже на гугл картах можно увидеть только при почти максимальном зуме. Это Мальта. И жизнь здесь прекрасна!

Предложение по Мальте мне сделал рекрутинговый агент из Лондона.

Ошибка №2 — думать, что нужно искать вакансии напрямую у работодателя.
Мой опыт показал, что с агентами работать намного выгодней, так как они имеют массу предложений и их услуги бесплатны для соискателя. Более того, они могут предлагать страны, о которых вы даже не думаете, а эти самые странны могут вам дать больше, чем вы мечтаете. Как это и произошло со мной.

Ошибка №3 — представлять себя мастером на все руки.
Я программист с опытом 6 лет. Знаю PHP и JavaScript и кучу всего сопутствующего. Помимо этого, за спиной у меня 2 крупных проекта и опыт полтора года на должности CTO. Вроде бы крутой чувак с крутым CV. Я решил, что буду искать работу как Frontend, backend и fullstack developer. Но собеседования показали, что хоть я могу сделать любую задачу и все будет работать, и я это подтверждал тестовыми заданиями, работодатель будет ожидать от вас высокого уровня знаний — так чтобы от зубов отлетало. А я как раз не так силен в этом вопросе и мне пришлось потратить примерно 4 месяца на доведения моих теоретических знаний до почти безупречного уровня. Но это стало возможным благодаря выбору четкой специализации — Frontend developer.
Советую представлять себя специалистом в четкой области и подтверждать свои знания не только делом, но и словом!

Ошибка №4 — думать, что успешное прохождение технического собеседования почти 100% гарантия.
Примерно через 5 мес поиска работы я достиг уровня, когда технические собеседования были предметом моей гордости. Вот только после бесед с менеджерами по персоналу мне вежливо отказывали. В ряде случае я только потом осознавал, на какие вопросы я мог отвечать неправильно. Стоит отметить, что разные компании по разному оценивают ответы на одни и те же вопросы, некоторые их и вовсе не задают.

Так что на вопросы иного (не технического) характера нужно отвечать так, как действительно думаете. Пытаться угадать, что от вас ждут — бессмысленно!

Есть еще ряд моментов по оценке расходов, определения минимального уровня зарплаты и т.п. Напишу об этом если будет интерес к данной теме.

В ходе поисков у меня появились контакты агентов, которые у меня часто спрашивают, не знаю ли я хороших программистов, готовых переехать работать за границу.
Если среди вас есть желающие, дайте знать — состыкую вас с агентами (хотя вы и сами сможете их найти, если захотите), а там уже от вас все зависит. Может смогу помочь советом, но чтобы найти работу — требуется 100% вашего искреннего желания и много работы по самосовершенствованию. Агенты вас представят работодателям и оговорят с вами дату и время собеседования — а дальше только вы сами!


UPDATE 1

Где искать работу
Поскольку изначально я нацелился на Германию, я искал немецкие сайты по трудоустройству, я размещал свое резюме везде где можно было. Потому сейчас я и не вспомню все сайты, но чаще всего приходили вакансии с Monster.de и theItJob

Для Великобритании есть своя версия сайта
А на этой версии сайта можно выбрать другие страны.

Вскоре мне начали писать и звонить. Это были агенты. За все время было может 2 или 3 прямых работодателя. Оказалось, что британские рекрутинговые компании очень активно работают с немецким IT рынком. Так я начал получать много предложений по Германии из Англии. Чаще всего агенты работают по конкретным городам, например: Берлин, Штутгарт, Франкфурт. А мне нужен был Мюнхен и иногда они меня перенаправляли на агентов, которые работают по Мюнхену. Но поскольку я не только размещал резюме, но и отправлял свое резюме на конкретные вакансии их Мюнхена, у меня появились агенты с множеством предложений из этого города и его пригорода. Но вскоре я расширил географию поиска на всю Германию, еще позже — на всю Европу. И хоть я влюблен в Мюнхен, но я готов был рассматривать все города да и всю Европу, чтобы увеличить свои шансы.

По выбору страны хочу добавить, что кроме Германии, на мой взгляд, стоит рассматривать Великобританию, Голландию, Швейцарию и Ирландию.

Но нужно учитывать, что налоги и аренда жилья в Лондоне, например, на порядок выше чем в Германии. Если снимать квартиру в пригороде, то это минимум час на электричке.

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

Ирландия интересна тем, что там расположен один их офисов Google. И страна предпринимает шаги для привлечения IT компаний, льготы для стартапов и т.п. Я не буду вникать в детали, потому что я был там в ноябре 2013 и с тех пор могли быть изменения, очевидно в лучшую сторону. Но в Ирландии грустно с точки зрения климата. Там часто пасмурно и дождливо. Но мой приятель живет там больше 13 лет и говорит, что привык уже. Хотя подумывает переехать в Лондон или Мюнхен, так как после 6 лет работы в Google он уволился чтобы заниматься собственным проектом.

Про Голландию знаю, что там также активно развивается стартап культура.

Что спрашивают агенты?
После того, как вы высылаете агентам свое резюме на английском со ссылкой на аккаунт LinkedIn, и желательно, на примеры вашего когда, например на GtHub,
как правило они спрашиваю, когда могут позвонить чтобы задать пару вопросов. Нужно быть готовым к самым разным акцентам — это касается агентов из Англии. Иногда понять сложно но современен привыкаешь.

Очень важный вопрос — это уровень желаемой зарплаты. Это неожиданный вопрос для неподготовленного. Агент ожидает услышать приблизительные цифры, но все же боле менее реальные. Но если вы не определили для себя, куда именно хотите, то советую взять за ориентир расходы на жизнь в Германии. Это примерно 45-50 тыс евро в год до уплаты налогов (брутто). После уплаты у вас будет оставаться около 2800-3000. Уплата налогов включает в себя медицинское страхование. Но это примерные суммы, так как налогообложение в Германии осуществляется по классам, которые зависят от того, есть ли у вас жена или гражданская жена, работает ли она и есть ли дети (если верно помню, что всего 6 классов и налог выше всего для холостяка). Но на такую зарплату можно нормально прожить даже с детьми. На детей платят пособие, что-то в районе 140-170 евро в мес на каждого. Зарплаты 60-65 тыс — это уже высокий уровень, но вполне реальный.

Для Великобритании, в частности для Лондона, семейный программист должен ориентироваться на зарплату от 50 тыс фунтов в год брутто.

Разумеется, в ходе получения конкретных предложений, вам будут озвучивать четкие суммы и уже тогда вам нужно окончательно перепроверить все расходы уже для конкретных страны и города.
Есть еще одна категория расходов — это траты на переезд. Если компания оплачивает перезд, тогда вам повезло. Но если нет, то перелет и багаж за ваш счет. Еще одним крупным расходом считается залог за арнеду квартиры + комиссия агента (где есть). Когда я узнавал, в Германии залог был за 3 мес. + оплата текущего мес. Также квартиры часто сдаются без мебели и без кухни. Но это я все находил на формуах или тематических сайтах и на практике не проверял. Но стоит быть готовым к такоим расходам. Детальней на примере Гремании распишу в следующем обновлении.

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

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


UPDATE 2

Теперь о расходах.
Сначала расскажу о расходах на переезд (на моем примере).
Первая статья расходов — аренда жилья. Прежде чем посчитать эти расходы нужно понимать, в какую страну будете переезжать и какие условия аренды жилья в этой стране, т.к. это самая большая статья расходов. Например, в Германии квартиры сдаются чаще всего без мебели, максимум, что там может быть — это встроенная кухня (значит +расходы на покупку мебели, кастрюль, ложек, тарелок и прочей мелочи или перевозку своей). Кроме того, при заключении договора аренды вносится «гарантийный платеж» в размере 3-месячной арендной платы. Эти деньги идут на депозит арендодателя, как гарантия, что если вы что-то в квартире испортите, то гарантийный платеж пойдет на ремонт. По факту, арендодатели очень неохотно расстаются с этим гарантийным платежом, и стараются всякими способами оставить его себе. Но это лирическое отступление. Мы видим, что расход на аренду квартиры складывается как правило из: платеж за 1-й месяц + гарантийный платеж (в моем случае за 1 мес) + услуги брокера. Постарайтесь заранее выяснить, какие условия аренды квартиры в той стране, куда вы собрались ехать. Мы это выясняли через местные форумы. В принципе, все сошлось. Кстати, стоит учитывать еще момент сезонности цен на аренду. Летом, как правило, дороже. Зимой — дешевле. При чем, цена, которая будет указана в договоре аренды, врядли будет меняться на протяжении всего срока действия договора. Учитывайте этот момент 😉 переезжать лучше зимой! )
(мой случай: 800+800+400=2000 евро)

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

Вторая статья расходов — проезд и перевозка багажа. Нам повезло, и компания-работодатель оплатила нам авиабилеты и перевозку багажа для всей семьи. Но если в Вашем случае так не будет, то рекомендую сразу узнать стоимость дополнительного багажа у авиакомпании. Например, одна дополнительная сумка в Люфтганзе стоила нам 70 евро. У нас было 7 сумок, вот и считайте…
(мой случай: 0)

Третья статья расходов — проживание, пока вы не найдете квартиру. Тут нам снова повезло, и компания-работодатель оплатила нам 2 недели проживания в аппартаментах. За 2 недели мы нашли квартиру и переехали туда. Но если так не будет в вашем случае, присмотрите заранее подходящее вам жилье на Букинге. По нашему опыту, квартиры посуточно удобнее, т.к ты можешь сам себе готовить, а это дешевле, чем питаться в кафе и ресторанах.
(мой случай: 0)

Четвертая статья расходов
Расходы на проживание и питание пока не получите первую з/п. Необходимо учитывать тот момент, что в европейских странах не всегда платят авансы, к которым мы привыкли. Скорее всего первую зарплату вы получите после месяца работы. И весь этот месяц вам надо будет за что-то жить, кушать, добираться на работу и с работы и т.п. Наверное, эта статья для каждого своя. Мы первый месяц были без детей.
(мой случай: 200/нед= 800 евро)

Пятая статья расходов
Расходы на школу/детский сад. У нас двое детей, 11 и 5 лет. На просторах интернета удалось узнать, что школа на Мальте начинается с 5-летнего возраста. Так же, через интернет, мы нашли несколько школ, отзывы о которых нам понравились. Приехав на место мы пошли в эти школы познакомиться с администрацией и узнать на счет мест. В школе нам дали счет на оплату регистрационного взноса сначала, а потом на оплату первых 3 мес. Обращаю внимание, что не все школы в европе платные. Есть и бесплатные варианты. Если они вам подойдут — то этот расход можно не считать. Детские садики почти везде платные и почти везде на полдня. В Германии вообще отдельная история с садиками. При необходимости информацию можно найти на местных форумах.
(мой случай: 700 (рег. взнос за 2-х детей) +815 = 1515 евро

Шестая статья расходов:
Языковая школа… Для ребенка, для супруги, а может и для вас… Скорее всего будет необходимо. Готовьтесь к этому заранее. У нас дочка ходила в языковую школу 2 мес. перед основной школой)
(мой случай: 800 евро)

Вроде бы все, что касается ПЕРВЫХ расходов по приезду. У меня вышло более 5000 евро.

Junior php стоит ли пытаться устроиться программистом? — Хабр Q&A

Мне 22 года, этим летом закончил Университет телекоммуникаций и информатики (5 лет). Изучали в основном c#/c++.
С 4 курса работал SEOшником, то есть опыт программирования как работы нулевой. Пока работал в SEO научился немного верстать, работать с различными CMS, количество сайтов которые повидал из ftp 100+ . Начиная с битрикса заканчивая самопалами. Иногда приходилось «быдлокодить», то есть в коде сайта вставлять свой небольшой код, с использование if else.
Проработав в SEO больше года, поняв какие меня могут ждать перспективы в будущем, и устав от «быдлокода» и прочих SEO вещей решил стать php разработчиком.
Потихоньку программирую по вечерам и иногда на обеде, параллельно начал смотреть вакансии junior php.
Изучив основы языка, понял 2 вещи:
1) Изучать более углубленно язык во время обеда под шум коллег, а также уставшим после трудового дня дома, видится мне не очень плодотворным. На выходных с этим делом полегче, но за трудовые будни весь настрой выветривается.
2) Решать задачки из интернета становится не интересно, и начинают вкрадываться мысли, что наверняка на работе придется заниматься совсем другим, а значит мой опыт мало пригодится мне на работе.

Также читая анкеты заметил что везде пишут примерно одно и тоже:
Что ожидают от кандидата:
1) трудолюбие и желания учиться,
2) базовые навыки разработки на любом языке программирования
3) желание развиваться в программирование на языке <подставить нужное>

На мой взгляд я подхожу под эти описания, но наверняка где то подводные камни.
Сразу хочу отметить, что в институте я почти не программировал, ибо работал да и не очень нравилось это дело, но к концу обучения в моей голове началось просветление и повидав различные сферы работы, понял IT это круто, и решил начать вливаться в IT с SEO.
Работать готов за 15-20к (не в Москве все таки живу), но хотелось бы работать в серьезной компании , где хотят чтобы из сотрудника вырос хороший специалист, готов работать удаленно, но я так понимаю джуниор и удаленно это не совместимые вещи.

Читая хабр и различные статьи в интернете на тему что должен знать джуниор, понял что мне и года не хватит чтобы выучить это все по вечерам, а время уходит и SEO уже порядком надоело, так вот вопрос мой:
Стоит ли мне сейчас начинать ходить по собеседованиям и пытаться выдать себя за эталонного джуниора, или с моим опытом это будет лишь пустая трата времени?

Программист — ожидание и реальность / Habr

Предисловие

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

Мифы для начинающих

Миф 1: «Сейчас я выучу С# (С++, ассемблер и т.д.) и стану настоящим программистом»
Увы, как показывает практика, кроме знания языка надо знать очень много смежных направлений. Например, очень часто нужны знания ведения какого либо учёта. Заказчику не нужен программист просто потому что он хорошо кодит, заказчик готов платить деньги, а иногда и не малые, за решение поставленной задачи, а не красивый алгоритм.

Миф 2: «Настоящий программист сутками пишет программы»
Как показывает практика, программист программирует в лучшем случае ⅓ времени проекта, всё остальное время уходит на постановки задач, общение с заказчиком и прочее убийство этого времени. Нет, конечно же есть среды, где программист именно кодит сутками, например, как в SAP-е. Но именно в SAP-е самая низкооплачиваемая должность кодер, который пишет строго по предоставленному техническому заданию. Шаг вправо, шаг влево — расстрел. И всё равно компания, автоматизирующая предприятие держит огромный штат сотрудников, далёких от кодирования для проведения как раз этих ⅔ работ.

Миф 3: «Сейчас как сделаю бухгалтерию и её как начнут все покупать»
К сожалению многие себя тешат этим мифом (и я давным давно был наивен). Мол, сейчас сделаю программу, которая будет быстрее и удобнее той-же 1С и она будет всем нужна. Но сделав начальную поделку пользователь задаёт резонный вопрос: “у меня работает 1С, она всем удовлетворяет, почти полностью поддерживает изменения в законодательстве, позволяет сдавать рег. отчётность и тогда зачем твоя, ни кому не известная программа?”.

Миф 4: «Мне бы только продать пару копий своего продукта и тогда уж точно попрёт»
Хорошо, предположим есть в знакомых влиятельная личность, которая инициирует покупку этого продукта для старта. Такое часто бывает (конкретные предприятия называть не буду по понятным причинам). А дальше то надо поддерживать продукт, что-бы конкуренты смотрели, завидовали и тоже хотели купить его. И вот тут начинается неприятное — разработчик перегорает, начинает требовать немалых денег, ведь кушать то хочется и клиент, серьёзно подумав, покупает 1С, где обновления бесплатные или условно бесплатные.

Миф 5: «Я стану специалистом и буду богат как Билл Гейтс»
Это самый печальный миф из всех остальных. Во-первых, Билл Гейтс по своей натуре был и есть менеджер, а не программист. Он всегда думал как выгодней продать, а не как лучше создать код. Поэтому, уверяю, без доп.образования (например, финансово-экономического) дальше начальника ИТ-отдела или руководителя проекта уйти не получится.

Миф 6: «Я буду создавать интереснейшие программы»
А вот и нет. За работу платят деньги только если результат нужен заказчику и как выясняется на рынке требуются очень нудные учётные системы или что-то подобное. Если мечтание жизни было создавать игры, то там тоже многомесячные нудные решения проблем.

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

Личный опыт или как не надо поступать новичкам

На одном из проектов набирали молодых сотрудников, только-что окончивших ВУЗ по специальности связанной с программированием. И один молодой работник как-то обнаружил поразительную вещь: «ни когда не подумал бы, что знания из ВУЗа придётся отбросить и учиться заново». Я не знаю что именно его поразило, но он во всём прав. Мы изучаем крутые методы сортировки, а заказчику надо просто видеть когда и куда он потратит деньги, когда и в какую сумму построит новый мост, в общем всё что угодно, кроме мастерства программиста. Именно поэтому многие программисты разочаровываются, узнав, что на предприятии он далеко не первый человек и жизни учит его даже бухгалтер.

Это может показаться смешным, но в реальной жизни надо делить на ноль. Это самый яркий пример, встретившийся мне в начале карьеры программиста. Бухгалтер на полном серьёзе оперирует такими понятиями, как «ну мы же делим на ноль, значит и в результате получаем ноль…». По своей глупости я начал возмущаться, отправлять человека обратно в школу, требовать дать адекватного заказчика, но вместо всего этого предприятие отказалось от моих услуг и обратилось к тому, кто умеет делить на ноль. Это теперь я знаю, что берд с моей точки зрения не обязательно таковым является с точки зрения заказчика, а тогда подобное было просто дикостью.

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

Ещё позволю себе отметить интереснейший факт роста программиста как специалиста. Пока человек ещё новичок и только познаёт просторы ит-мира, ему кажется, что он всё знает. С опытом, программист понимает, что он почти ни чего не знает. И только став профессионалом, разработчик понимает, что ему абсолютно всё без разницы, главное что-бы заказчик был доволен. Конечно, этот анекдот рассказывают как анекдот, но беда в том, что эта самая настоящая реальность.

Рекомендации самому себе в молодости

1. Плюй на красивый код, лучше изучай стандартные конфигурации, ячеечный складской учёт и бюджетирование.
2. Забудь про добрых пользователей, они ленивы по определению. Им не нужны новшества и сложности, при любом нововведении, пользователи так или иначе будут саботировать и бунтовать.
3. Большинство крупных руководителей вообще не знают зачем нужны ит-структуры. Смирись и не доказывай свою значимость, это неблагодарно и заведомо проигрышно. Тебе будут понимающе кивать, тебя будут хвалить, но все лавры от внедрённой системы поимеет совсем другой человек. Кстати, это относится к любой проектной деятельности.
4. Изучай планирование времени. Прям тренируйся сразу после ВУЗа, а лучше прям учась на программиста. Это очень важно и именно из-за нехватки этих знаний, многие проекты заваливаются самым неприятным образом.
5. Учись брать деньги. За каждый чих бери определённую сумму. Да, это страшно, да, заказчика можно потерять, но за то зацепившийся клиент тебя быстро обеспечит работой.
6. Не играй в комповые игры и занимайся спортом. Смешно? У многих в этом серьёзные проблемы. Что первое, что второе, сильно влияет на производительность. Именно поэтому во многих организациях делают упор на тренажёрные залы, бассейны и фитнес-центры, лишь бы работники работали эффективней.
7. Самое главное — не забывай семью, звони родным, навещай родителей и уважай своих детей. Поверь, эти ошибки практически невозможно исправить.

Казалось бы чего общего в этих советах с алгоритмами на С++? Вот это и есть то необычное, что если-бы хоть кто-то раньше мне дал такие советы, то шишек набил бы гораздо меньше. Надеюсь, что после этого текста в мире будет чуть меньше шишек, набиваемых молодыми людьми.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *