Первая работа: почему так сложно найти?

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

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

Резюме


Представьте, что вы работодатель, который открыл набор людей в свою компанию. Заходите на Head Hunter. Там — десятки, а то и сотни объявлений от соискателей. У каждого есть как минимум одно резюме, у самых инициативных — больше. Еще столько же откликнулось на вашу вакансию. Читаем:

Java, HTML, ООП, Английский язык, C/C++, грамотная и поставленная речь, Android

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

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



Запрашиваемая зарплата не соответствует опыту? Программист-все-умею-и-могу? Но мы ищем Java специалиста и знаем, что человек с опытом работы 5 лет не может запрашивать 40 тысяч в Питере.

Итак, ваше резюме — это ваша валюта. Ее стоимость пропорциональна времени, в нее вложенному. Резюме сложное, продуманное, интересное — большой спрос.

В ключевые навыки пишем только то, что делаем лучше всего. Ищем работу Java-программистом — вписываем только Java и все, что к ней относится напрямую. C++ — это хорошо, но не в ключевых навыках, а в разделе «Дополнительная информация», с обязательным указанием, что имели некоторый опыт, знакомы с данной технологией, есть теоретическая подготовка в чем-либо.

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

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

Самоучкам, на мой взгляд, сложнее. Да, часто слышно, что «вышка» необязательна. Но это не значит, что ее игнорируют. В теории, да и на практике, человек с профильным образованием имеет хотя бы теоретические знания, прошел курс математики. А это несомненный плюс перед самоучкой, знания которого хаотичны и неполны. Из личного опыта — не взяли на стажировку в Mail.ru, т.к. они обязаны были заключать договор с институтом. То есть даже без образования, являясь лишь студентом, вам могут быть открыты дороги туда, куда нет доступа самоучкам.

Отклики

Несмотря на то что вам ну очень хочется попасть на свою первую работу, не стоит откликаться на все подряд. Вам точно хочется работать в финансовой сфере? А в генетике? Интересен front или только back? Готовы отсидеть полгода в тестировании? Уверены, что не попросят больше? Хуже, чем быть безработным, только заниматься тем, что не нравится.

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

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

Собеседование

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

Вопросы тоже разные. На моем первом собеседовании были простейшие вопросы по Java SE. Методы Object класса, коллекции, базовое понимание ООП. На других — от «Как бы вы узнали, в случае больших задержек в работе приложения, что именно не оптимизировано?» до «Что такое Java EE, Spring, контейнер в нем же?» или просьб написать свой алгоритм StringBuilder.reverse(). Об этом написано много и это не самое главное.

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

Собеседование в компании, где я сейчас работаю, было достаточно простым, недолгим и очень приятным. За примерно 20 минут меня спросили о моем опыте программирования, проектах в которых участвовал, кто я в целом такой. Общие вопросы вширь. В конце сказали: «Вот вам тестовое задание. Залить на гит и описаться на почту в течение такого-то срока. Вам ответят тогда-то.». Позже я узнал, что вместе со мной пытались устроиться еще несколько студентов/выпускников. Кто-то некрасиво вел себя во время собеседования, а кто-то просил зарплату больше, чем я (40000р.), при этом выполнив задание не до конца или хуже. В итоге я попал в невероятно уютный коллектив с классным начальником и удобным ритмом работы.

После/до технической части у вас будет возможность задать вопросы о компании. Обязательно нужно спрашивать следующее:

  • На какой проект вас поставят
  • Версия Java и технологии проекта
  • Будете вы разработчиком или тестировщиком (первое время)
  • Ваши обязанности/характер работы (fullstack, back)
  • Зарплата (если в вакансии не было указано), льготы, бесплатные плюшки (от кофе до книг и курсов)
  • Когда будет дан ответ приняты вы или нет (добивайтесь точной даты)
  • Misc: График, митинги, обед, отпуск и больничный и их оплачиваемость etc.

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

Напоследок обширная и более подробная статья по теме от mail.ru.

Эта статья является логичным продолжением моего первого топика по просьбам прочитавших.
  • ,

Восемь вещей, которые мне помогли найти работу

Привет, войтишник! Решил поделиться своей историей. Начав обучение в конце 2014 и несколько раз забрасывая все куда подальше, 2 месяца назад я получил работу.

В этой статье я не буду рассказывать о том, как и что я писал в резюме, о чем говорил с HR и как я учил английский (об этом будет отдельный пост). Я не буду углубляться в то что я и где учил. Я просто поделюсь своими наблюдениями и размышлениями, возникавшими у меня по ходу обучения по поводу и без. Я поделюсь тем, что считаю хорошим и плохим в околовойтишной сфере. А так же перечислю 8 вещей, которые помогли мне стать программистом. Поехали!

История успеха спустя 1.5 года от начала обучения.

Осторожно! Много Букв!



Для начала расскажу немного о себе.
Мне 25 лет. До того, как начать изучать Java учился на математическом факультете, на прикладной математике. Казалось бы, с программированием у меня должно быть если не отлично, то по крайней мере хорошо. Но это был не мой случай, т.к. все предметы, где мелькало программирование — я саботировал и сдавал как-то на удаче, сам ничего не писал. Так вот и получилось, что я от программирования был далек. Ясное дело, что с образованием математика в нашей стране много не заработаешь кроме как программистом. Поэтому и выбор пал именно на это. И так совпало, что решил учить Java. Это не было связано с каким-то анализом рынка или поиском по количеству рабочих мест, востребованности на рынке труда. Просто так совпало. И когда решил узнать как это делать — то наткнулся на JavaRush. Как-то не хотелось учиться только по книгам, но и на очные курсы я смотрел нехотя, т.к. денег стоят они много, а реально профита мало. Поэтому JavaRush для меня был лучшим решением. Пройдя первые 3 уровня, я понял что курс мне нравится и что можно покупать подписку. Тем более, что я попал на акцию и приобрел за пол цены. Было это в конце августа / начале сентября 2015 года.

План обучения.
Прочитав что нужно делать, я решил составить план того, как я должен учиться, чтоб добиться цели и закончить курсы, потому как времени на медленное изучение у меня уже не было. Задача стояла получить быстро знания, причем так чтоб не отвадить желание и чтоб мозгам было время отдохнуть. Потому что такая нагрузка, которую я хотел могла помешать мне.
Для этого решил:
  • Что нужно учиться пять дней в неделю(пн-пт).
  • В выходные дни я буду заниматься чем угодно, только не этим.
  • Каждое занятие будет идти в общей сложности 4 часа, причем между каждым часом будет перерыв в 15 минут, для того чтоб пройтись, отдохнуть и сделать чай.
Итого 20 часов в неделю. Неплохо, да? К тому же иногда приходилось заходить в университет, т.к. я еще учился в магистратуре.
К декабре я уже был на 20 уровне и думал, что знаю очень и очень многою Но были у меня и кризисы, когда ничего не получалось и казалось, что дальше не смогу (см. моя статья помогите, нужна мотивация).


Переход на новый уровень.
Через три месяца после начала обучения, я побеседовал со знакомым на тему того, что я еще должен знать, чтоб устроиться на работу…
И тут понеслось: какие-то не знакомые слова, базы данных (о ужас!) и многое другое дали мне понять, что нужно ускоряться и делать еще больше. Ясно, что с грамматикой джавы мне не получить работу, я начал ускоряться в разных направления:
  • Купил себе книгу Head First «Изучаем Java». Ее рекомендуют на 4-м уровне в курсе. Но я как-то не внимательно читал и пропустил этот факт. Там рассказываются теже вещи, но под другим углом, что помогает понять их лучше и основательне. Советую.
  • Начал искать все тематические тусовки в своем городе и ходить на них, пусть даже я многого не понимал, зато со вмеренем понял, что это было не зря и они мне очень помогли. например так
  • Есть еще один ресурс, который нужно прошерстить от начала и до конца — это dou — сайт для программистов. Там можно посмотреть какие бывают ивенты, какие нынче зп в украиском ИТ, можно прочитать много очень полезных статей, особенно рекомендую Материалы по теме «Пособие для будущего Java разработчика» и Java Enterprise: что и как учить. Эти статьи будут помошником для вас и не будут давать расслабляться.
  • Нашел короткие и информативные видеоуроки на youtube по MySQL, советую.
  • Видеоуроки Головача тоже не остались без внимания. Их много, много воды, но разъясняет многие вещи достаточно хорошо.
  • Так же нужно понимать что такое HTML и CSS. Без этого никак, тут мне помогла в этом HtmlAcademy. Там можно проходить задания бесплатно.
  • Зарегистрировался в соц.сети linkedIn, где начал выставлять свои навыки и что я ищу работу(а вдруг повезет и меня найдут). Добавлял всех подряд в друзья расширяя круг своих друзей. Чтоб вы понимали насколько, то сейчас у меня больше 10 000 друзей в линкедине. Для начала это нужно. И это помогло, команда андроид фрилансеров искала новичка себе и мне написали. Я понимаю, что случай из ряда вон выходящий, но это случилось.

Первые неудачи
Конечно параллельно учебе, я начал искать интернатуру в компаниях так, чтоб со временем можно было работать. Меня пригласили на собеседование в интернатуру. Поговорив с HR-ром, ко мне позвали преподавателя по английскому, с которым я «пообщался». К этому моменту я вовсе был не готов и вышло, что я больше слушал, чем говорил. И на тему расскажи о себе, я что-то промямлил, но ничего особенного. А вот при общении с техлидом я отвечал на некоторые вопросы, на многие ответа не знал и на ответ, что обучаюсь в JavaRush, он сказал что передо мной был еще один студент оттуда. Я был на 27 уровне, а он уже на 34. Поговорив он сказал, что мне перешлют тестовое задание, по которому решат годен ли я. Я его как-то сделал, причем не весь функционал. Через некоторое время мне написали, что я им не подхожу… Обидно, но я решил извлечь опыт из этого и пошел дальше.

Первая работа.
Как я уже говорил, составив страницу в linkedin'е через 1.5-2 месяца мне написал некий андроид разработчик с предложением работать с ними. Ясное дело, что речь шла об минимальной зп. Мы пообщались при встрече и мне предложили работу. Понятно, что она была слабо оплачиваемая, но другого у меня не было и я радовался тому, что было. Начиная с конца января я начал работать на квартире одного из них на анроиде. Всё было новое, все другое. Но кое как и как-то я работал, что-то делал. Было страшно и всё не понятно, это были не задачки в JavaRush. Всё нужно было делать, читать, узнавать что и как. У меня был тестовый проект, который я делал и который мог стать чем-то большим со временем. И так прошло до мая. Потом как-то начал разваливаться наш коллектив, все это поняли и начали искать работу.

Поиск новой работы.
Не зная как это делать, я решил что буду рассылать всем компаниям, которые есть в моем городе. А как узнать какие есть компании? В этом мне помогл тот факт, что я прошерстил dou вдоль и поперек. Там есть раздел компании и можно выбрать город, которому идет поиск. В описании есть почта (почти всегда есть), на которую можно писать. Чтоб всё выглядело хорошо, я написал свое резюме на английском языке, только так и надо. Конечно было много воды, воды, воды, т.к. писать особо нечего было, писал всё подряд. Также к каждому письму писал сопроводительное письмо(рекрутеры любят это), где я указал кем именно я хочу быть, а то часто выходит, что присылают резюме и не ясно на какую позицию претендуют. Сопроводительное письмо было также на английском. Совсем забыл, английский нужен ОЧЕНЬ сильно. Реально, если ты не можешь прочитать ответ на стековерфлоу, то ты не жилец и делать тебе в программировании нечего. Составил себе на речь на собеседование английского на тему: Tell me about yourself. Очень полезная вещь, я вам скажу.

Спустя некотое время я получил 4 приглашения на собеседование. Практика рассылки всем компаниям была оправдана, причем тем, у кого не было таких позиций — они обычно не отвечали вовсе. На собеседованиях было сложно, было стыдно, было не уютно, но я прошел их, в некоторых просто говорили, в других нужно было сделать пару заданий, например нужно было написать интерпритатор на джаве на язык BrainFuck. Задача оказалась интересной и я рад, что ее выполнил, хоть меня в ту компанию и не взяли. Искал я работу либо на Java либо на Android. Хотя хотелось больше на джаву, мобильная разработка мне не особо интересна. Зарплатные ожидания были минимальны, нужно было найти работу, всё остальное было уже не важно. Спрашивали меня на понимание Баз данных, о там как создать таблицы в для определенных ситуаций. Это всё касается SQL баз данных, про NoSQL никто не спрашвивал.

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

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

P.S. нужно стремиться, стремиться, стремиться и никогда не сдаваться!

P.S.S я весь курс не прошел до конца, остановился на 30-м уровне. А когда получил работу, то был на 27. И реально скажу, что начиная с 20-го уровня нужно искать работу и разиваться помимо Java. Освоить хотя бы издалека фреймворк для автоматизации проектов (Ant, Maven, Gradle). Вещь не сложная и очень нужная.

Всем, кому понравилась статья — ставьте "+", чтоб я знал :) Для меня это важно :)


См. также мои другие статьи:
Тестовое задание: «Написать Интерпретатор на язык BrainFuck»
Тестовое задание «Image Comparison»
Java — быстрее, сильнее и выше! Зарплаты украинских программистов.
История успеха спустя 1.5 года от начала обучения
Технические вопросы на собеседовании.
Как найти работу? Рассылка резюме
Профессиональное выгорание. Как устоять?
Английский для IT и для собеседования
Паттерн Command своими словами.
Паттерн Singleton своими словами.
Как создать исполняемый jar в Intellij IDEA / how to create jar in IDEA
Помогите, нужна мотивация!

Подписывайтесь на мой блог Паттерны Проектирования пишите в нем статьи!
  • ,

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

Спустя почти 5 месяцев работы пришло время возвращать долги моему любимому Javarush…

Мне 32 года, и до мая 2014 года я не имел никакого опыта ни в программировании ни вообще в IT-сфере. Образование экономическое. Сейчас работаю Junior Java Developer в крупной международной компании в Киеве. Так что ДА — если напрячь булки и заниматься каждый день с утра до головной боли то можно найти работу даже в нынешнее прекрасное время когда на вакансию джава джуна слетается толпа в 500 человек.

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

Процес трудоустройства занял где-то 5 мес и под конец я уже настолько отчаялся найти работу что просто зарегался на Одеск(сейчас апворк) и начал брать заказы на core java. Их там мало и много на этом не заработаешь, но зато уже второй или третий довольный клиент предложил мне в перспективе постоянную удаленную работу.

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

До того как устроился на работу ломал себе голову чем же занимаются программисты на работе:-) Оказалось в основном ловлей багов конечно же. Моя компания занимается онлайн гемблингом, и я, в частности занимаюсь разработкой игр для мобильных телефонов. Игры пишутся на джаве и потом уже собственный фреймворк переводит их на html и др. платформы. Первую неделю нам давали задания допилить какую-нибудь кнопку в существующую игру(это никуда не коммитилось), а на вторую дали уже каждому по игре в разработку, но с нормальными сроками и было время во всем разобраться. На данный момент на мне висит 4 игры + бывает могут подкинуть чьи-то на время отпуска. Игра разрабатывается не с нуля, есть определенный common который я уже допиливаю под игру, дальше идет куча процедур по тестированию и всяким превью и все баги и доделки естественно идут на меня. Вот примерно такая сейчас жизнь у меня как разработчика.

Ну и совет дня для всех кто отчаялся найти работу: никогда не останавливайтесь в обучении и практике и рано или поздно ваш уровень будет выше других соискателей. Моё последнее собеседование закончилось на 3 вопросе, после чего я получил оффер.

P.S. JavaRush rulez…