Как устроиться на работу java junior

Опубликовано: 01.10.2024

Всем привет! Меня зовут Арина Кулова, я рекрутер Мир Plat.form — IT-бренда Национальной системы платёжных карт (НСПК).

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

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

Starter Pack новичка включает в себя:

Резюме

  • Фамилия Имя;
  • контакты, укажите для связи мессенджер, если не хотите получать звонки в неудобное для вас время, к тому же это удобный и оперативный способ связи;
  • желаемая позиция.

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

Старт 28 июня, 2 недели, Москва, Беcплатно

Просто перечислить по порядку. Например:

  • знание Java Core;
  • знание основ ООП;
  • опыт программирования с использованием SpringFramework: Boot, Web, WebServices; Hibernate; Spring MVC;
  • понимание принципов работы реляционных СУБД: MySQL, PostgreSQL;
  • базовые знания SQL;
  • понимание протокола HTTP, знание Postman.

Или перечислить навыки и проставить напротив каждого уровень владения по 5-балльной (любой) шкале, например:

Далее можно указать дополнительную информацию, например:

  • английский на уровне понимания технической документации;
  • опыт работы как в команде, так и самостоятельно.

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

Описывать проекты можно таким образом:

  • даты проекта;
  • название проекта (продукта);
  • команда;
  • твоя роль;
  • цели проекта;
  • конкретно твои задачи в рамках проекта;
  • результаты;
  • приобретённые навыки.

Если есть желание, можно добавить пункт «О себе» и там написать про свои увлечения и хобби. Это необязательно, но рекрутеру или заказчику (специалисту, который ищет себе в команду сотрудника) это может быть интересно.

Публичный репозиторий или сайт с примерами работ

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

Мои коллеги-заказчики только рады при ознакомлении с резюме или перед собеседованием посмотреть репозиторий Junior-разработчика или тестировщика, а некоторые коллеги по умолчанию вместе с резюме просят направлять ссылку на репозиторий.

Сопроводительное письмо

Имею в виду текст сообщения, которым будет сопровождаться ваше резюме. Это может быть несколько ёмких строчек, суть которых — почему вам интересна эта вакансия и компания, чем вы можете быть полезны, например:

Или же такой пример, более неформальный:

Здравствуйте! Я самостоятельно изучаю программирование, учу Java, JavaScript, Spring. Я только в самом начале, и мне нравится. Хочу начать работать, на мой взгляд, обучение в процессе работы эффективнее. Возьмите, пожалуйста, на Джуна или Интерна, есть ли такая возможность у Вас? Буду благодарна за ответ.

Оба примера – реальные.

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

Кому и куда отправлять резюме?

1. Используйте работные сайты, откликайтесь на интересные вакансии. Соответственно, у вас должно быть оформленное резюме или профиль на этом ресурсе.

2. Участвуйте в telegram-сообществах. В каналах рекрутеры часто выкладывают вакансии и оставляют свои прямые контакты, есть возможность рекрутеру написать в личные сообщения.

Отправляйте свое резюме с сопроводительным письмом, вероятность ответа будет выше. Тут же дополнительный совет — вступайте в telegram-сообщества для начинающих, например learn.java и Scala Learning & Education: Ask for Review & Noob questions. Развивайте нетворкинг, будьте в теме, заводите знакомства.

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

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

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

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

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

Меня зовут Максим, я Junior PHP разработчик из Новосибирска. Изучаю программирование 7 месяцев (до этого делал сайты, но без уверенного программирования). Примерно месяц у меня ушел на поиск работы, сейчас есть несколько предложений. За это время было больше 60 предложений (в плане собеседований), с полсотни тестовых заданий и с десяток предложений работать. Расскажу про рынок, особенности и не большие хитрости при поиске.

Кто нужен рынку веб-разработки

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

В этом кроется один из способов поиска — просто предложите себя там, где требуются профи.

Что означает Junior

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

Главное же — нужно быть готовым выполнить тестовое задание. Некоторые компании даже рассматривают не доделанные работы. Вот примеры тестовых заданий — забирайте: Тестовые задания для junior программиста на PHP . Задания помогут наполнить вашу кодовую базу на Гитхабе.

Как искать работу

Тут не буду оригинальным, сказав что нужно искать на биржах вакансий. Единственное хочу дополнить как делать свое резюме — не пишите про кучу дополнительных навыков и про опыт не связанный с профессией. Я пошел в программирование в 27, понятное дело — есть о чем рассказать, но пришлось ради эффективности свести весь опыт к 2-3 строчкам. Зато о своих навыках в разделе «Обо мне» лучше расписать подробнее, разными фишками площадок и миллионом полей тоже не злобоупотреблять и прийти к простой форме — релевантный опыт и рассказ о навыках, все.

Помогайте себе — на форумах джуниоры жалуются, что в их городе не так много вакансий. Живу в Новосибирске — все предложения быстро перевариваются, потому примерно к такому же положению пришел и я. Как выход — начал писать на вакансии сеньоров и мидлов со словами «Каким образом попасть к вам джуниором?» и объяснением почему должны взять — как правило обратная связь очень хорошая — зовут в 3 случаях из 4, а также можно заложить фундамент на будущее, если не подходите.

vc.ru — бомба! Круто помогают специализирвоанные СМИ. Например недавно разместился на vc.ru — это конечно было круто. Было чуть менее 30 предложений — входящих, где вы столько получали? Правда почти все из Москвы. К сожалению было много предложений по Битриксу (если ищите только денег — вот вам и решение). Москве тоже нужны мидлы, предлагали хорошие условия по переезду, но нужно приготовиться к сложным тестовым заданиям, пока притормозил все переговоры — решил отстреляться в своем городе.

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

К сожалению вариантов удаленной работы для джуниоров почти нет. Всем нужны специалисты в команду. Удаленный формат — привелегия фрилансеров (не профи) и профессионалов в своей области.

Даже в регионах готовы хорошо платить джуниорам, выше написал почему — требования высокие. Это порядка 30-40 тысяч в регионах и 50 — в Москве. Да, недавно тут была статья, что и 120 мало кому-то, но мне кажется, что это не плохая зарплата для полугодовалого специалиста, у которого навыки стоят на первом месте.

Переусердствовать

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

Кстати проблема свободного времени уже поднималась.

Не буду советовать этого не делать, лучше переусердствуйте — эту кучу разгребете так или иначе.

Работодатели

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

Были случае не приятные, например когда назначают на одно время, но приходится ждать лишние 40 минут у них в офисе, а само собеседование проходит 30 секунд, так как объявляют, что им не подхожу, так было с новосибирской компанией Noveo.

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

Итог для молодых и взрослых

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

Очевидно, но полезно, особенно для тех кто в растерянности относительно карьерных перспектив. :)

На Тостере дикая волна, у многих складывается впечатление, что не протолкнуться. Хотя работа есть. Маленькая, но миссия :)

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

Junior PHP разработчик

Изучаю программирование 7 месяцев (до этого делал сайты, но без уверенного программирования).

За это время было больше 60 предложений (в плане собеседований), с полсотни тестовых заданий и с десяток предложений работать.

начал писать на вакансии сеньоров и мидлов со словами «Каким образом попасть к вам джуниором?»

интересное решение, т.к знаю Джуны ищут именно объявления где требуется Junior FrontEnd Developer, и зачастую пропускают вакансии по Middle, Senior, хотя компаниям выгодно брать Джуна и обучить его под свои нужды и проекты на котором они работают.

Например недавно разместился на vc.ru — это конечно было круто. Было чуть менее 30 предложений

Я просто сам Джун, без опыта работы пол года назад не мог никуда устроиться, благо стартап подвернулся на первое время.

да, был ООчень активен

Уберите из резюме слово CMS(и Bitrix), лично я ставлю крест на таких специалистах. Сильные программисты таким не занимаются.

Поменьше описания какие механические действия вы умеете делать.

А вот побольше надо описывать какие проблемы вы решали. Тк специалистам которые решают проблемы платят больше чем мартышкам на CRUD.

К сожалению не оч верю что можно хорошо верстать и кодить. Бутстрап да, что то больше - нет.

И конечно на старте лучше ехать в Москву в сильную контору с крутым офисом и высоконагруженным проектом поучится у более опытных коллег(если повезет). Тк важно не только уметь кодить, но и понимать зачем и как правильно организовать код.

Про Битрикс перечитайте :) я наоборот отказался от всего, что с ним связано -- так и написал.

За советы спасибо, но я тут не работу ищу :) А также как и вы — даю не большие советы.

А вот побольше надо описывать какие проблемы вы решали.

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

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

А что в итоге ? так и не выбрали работодателя ?

Выбрал, завтра первый день в аутсорсинговой компании, 3 варианта прямо сегодня пришлось отклонить.
Еще 1 запасной.

Более того поработал в одной компании 3 недели назад ровно 1 день (хотя в обед хотел сбежать уже :)
Ушел, так как заставили насильно на Винде работать (ладно бы MSSQL был, но нет же — на серверах Ubuntu+Postgres стоит), ну и не понравилось все. как-то кустарно, а я пришел в профессию осознанно, потому что нравится и хочу хорошим практикам учиться.

Вечно какие-то косяки:
- то прямо на собеседовании не могут определиться 2 руководителя — платить или 30 или 60 (прямо вот так *2), или кадровик вообще не показывал код тимлиду, ссылка так для красоты на листе А4 нарисована была
- некоторые крутые компании (например sports.ru) обозвали стажером и сказали "пока", то есть дальше HR не смог протиснуться по формальному признаку «коммерческий опыт»
- некоторым не стал писать тестовое, например "Всеинструменты" прислали задание без фрейма, обычное такое, но куда их всех девать то, пришлось срочно сразу нескольким писать/звонить и отказываться от заданий?
- ну и есть отказы, куда без них, хотя в целом эффективно
- поработал 2 месяца назад в компании, так платят через 2 месяца первую зп, дали стул кривой, пришлось 3 недели боком сидеть, херня какая-то, хотя интересно было (2 фудтех стартапа + 1 медицинский сервис)
- либо нужжен конечно сильный, с одной компанией долго переписывался, но там крепкий такой мидл требуется с хорошим знанием Symfony нужен — вот подтягиваю его
- некоторые конечно зовут в Москву, но из-за того что джун, сами понимаете — приезжай, пообщаемся

Не то чтобы я кадр ценный какой-то — это далеко не так и всем стараюсь первым делом это донести, но некоторые конечно через жопу работают, понравилось общаться с некоторыми «москвичами», но нужно там быть конечно :(

Получить свою первую работу обычно сложнее всего и IT-сфера не исключение. Лишь опытные специалисты могут себе позволить вальяжно перебирать многочисленные офферы от HR специалистов. А вот новичок похвастаться таким не может. И порой поиск работы превращается в настоящее испытание. Но мы, CodeInside, решили прийти на помощь и составили небольшой гайд, который отвечает на самые главные вопросы новичков Java-разработки: Что изучить? Где прочитать? Откуда взять опыт?

Шаг 1: Учимся программировать

Прежде чем начать читать, нужно выучить алфавит. С программированием точно такая же история, и вот с чего стоит начать:

  • Основополагающие алгоритмы и структуры данных
  • Принципы ООП (объектно-ориентированного программирования)
  • Углубленное изучение ОС

В этом смогут помочь : соответствующие книги и ресурсы, бесплатные курсы на hexlet.io, tproger.ru, ru.code-basics.com

В результате получаем уровень - Intern

Изучив основы переходим на более углубленный уровень изучения, в этом помогут следующие книги:

  • Шилдт Г. - Java. Руководство для начинающих,
  • Шилдт Г. - Java. Полное руководство,
  • Хорстманн К. С. - Java

В результате получаем уровень - Intern +

Далее разбираемся и углубляем свои знания в следующих направлениях:

  • Системы контроля версий,
  • Системы автоматизации сборки (maven/gradle),
  • Паттерны программирования,
  • Системы управления базами данных.

Ну и вишенкой на торте будет знакомство с популярными фреймворками и спецификациями: Spring (Шефер К. - Spring для профессионалов) и Java EE (Гонсалвес Э. - Изучаем Java EE 7)

Уже на этом этапе ты можешь добиться уровня Intern+/ Junior , но ведь тебе этого мало? :) А потому переходим к следующему пункту.

Шаг 2: Прокачиваем Soft Skills

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

Как прокачать: банально, но просто - больше общаться и да, не забывайте просить о помощи.

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

Как прокачать: научиться активному слушанию, и внимательно слушать свои собственные эмоции. И да, не забывайте, что нельзя быть токсичным! Книга для изучения - Harvard Business Review «Эмоциональный интеллект».

3. Креативность и гибкость - умение быстро адаптироваться к любой ситуации, да и разработчику всегда полезно нестандартное решение, чтобы генерировать новые вещи.

Как прокачать: беритесь за нестандартные задачи и пытайтесь взглянуть по-новому на уже выполненные.

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

Как прокачать: Google самый лучший товарищ - таким образом можно будет сэкономить время и получить плюсик в карму от коллег.

5. Дисциплина - наиболее важный пункт, сюда можно отнести тайм-менеджмент, умение расставлять приоритеты и способность “не сгореть”. И пандемия лишь усилила важность данного скилла.

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

Шаг 3: Ищем себя, с оздаем план и придерживаемся его

Мир IT это бездна возможностей, способов работы и обучения. Как понять что подходит именно тебе? Пробовать! (Как бы банально это не звучало, но по другому никак). В этом тебе помогут различные хакатоны, выставки, и встречи с профессионалами своего дела. Сильное окружение поможет тебе быстрее стать частью IT-комьюнити, определиться с собственным вектором развития и возможно в короткие сроки найти место стажировки/работы. P.S.: Советуем так же послушать доклад нашего сотрудника, Java-разработчика Алексея, который поделился своим опытом изучения Java. Смотреть видео

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


Здравствуйте! Коротко о себе: программирую с 1989 г., с 2005 года в Java, с 2013 года работаю Java-тренером (до января этого года совмещал с основной работой Java-разработчика). Достаточно много моих выпускников трудоустроились, и я хочу поделится своими соображениями, как получить работу Java-разработчика (и не только Java).

От изучения Java до получения оффера работы — большое расстояние

Требования к кандидатам на вакансию Java разработчика достаточно высоки, см. пример тестового задания на джуниора от одного из аутсорсеров РБ. Конечно есть позиции и с меньшими требованиям, но их не так много и, по статистике на Украине (dou работает через прокси, в России не нашел), соотношение Отклики/Вакансии на такие позиции: от 20 до 50.

Для вакансий с опытом работы (которых значительно больше) получается замкнутый круг: без опыта не получить работы, а без работы не получить опыта. На вопрос «Кто виноват?» ответ очевиден — компании, которые не хотят вкладывать время и деньги в обучение, а хотят получить уже готового специалиста. Остается главный вопрос:

Что делать?


Крупные компании в основном закрывают позиции юниоров своими стажерами. Один из вариантов трудоустройства — пойти на стажировку, но

  • здесь также большой конкурс
  • далеко не все, успешно окнончившие стажировку, получают работу
  • иногда условия обучения достаточно тяжелые и подойдут не всем. Из отзыва про стажировку в EPAMе РБ:

  • Хорошее резюме
  • Приглашения на собеседования и тренировка в их прохождении
  • Получение оффера

Позиционируйте себя НЕ как юниора.

Для этого необходимо:

  • Хорошее понимание основ: как устроена память, что такое JMM, опыт работы с сервлетами, JUnit, SQL
  • Уровень выше Java Core: основы Maven, Spring (MVC, Security, Test), JPA(Hibernate), REST. Также желательно основы JavaScript и HTML/CSS

Лучше всего делать его на основе небольшого проекта на популярном стеке, например референсной имплементации Spring Pet clinic. С первого раза сделать код красивым и правильным не подсилу даже синьору. Проект должен жить и нести его владельцу радость приобщения к красоте кода через рефакторинг. И, кроме понимания технолигий и развития чувства перкрасного, из работы над собственным проектом Вы получаете навыки нахождения красивых и практических решений для конкретных задач и решения конкретных проблем, из которых состоит ежедневная работа программиста. Для этого нужно:

  • понимание, как работают фреймворки, на чем они основаны, какие паттерны используются
  • кругозор, навыки решения подобных задач
  • работа с инструментами: Git, IDEA, Maven, Tomcat, DB клиент, тестирование REST сервисов
  • умение находить правильные решения в интернете (70-80% это умение выбрать из найденного в Stackoverflow)

  • Ведет преподаватель с опытом в Java разработке, лучше как синьор или архитектор
  • Максимальный охват: самые важные и необходимые Java разработчику темы, API, фреймворки, инструменты в одном курсе.
  • В течении тренинга разрабатывается законченный Enterprise проект. Темы идут не по отдельности (в воздухе) на отстраненных примерах, а последовательно, в связке, как дополнения к созданию единого работающего приложения.
  • Последовательное возрастание сложности: от нуля до деплоя готового приложения в облако
  • Практика! Участники на протяжении всего курса должны работать с кодом проекта. Объязательны домашние задания. Если дают только теорию (всего понемногу), то это, на мой взгляд, выброшенные деньги и время. Без практики любое обучение (Java, английский, езда на велосипеде) ничего не стоит.
  • Поддержка группы и преподавателя: возможность задать любой вопрос и получить на него квалифицированный ответ.
  • Доступность и структурированность материалов
  • Ревью Вашего кода.
  • Помощь в составлении резюме и с трудоустройством. Если вам гарантируют по окончанию 100% трудоустройство — не верьте. Хорошо сказано в статье про работу разработчика:

Junior

Как начать зарабатывать программированием на Java? Прочитать 100500 книг, посетить сотни семинаров? А как же опыт? Подобные вопросы всегда мучают новичков. Давайте разберем, как сделать шаг в профессию.

Что хочет работодатель?

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

Вот есть, например, "Контора 1" и "Контора 2". "Контора 1" пишет в вакансии, что готова обучить начинающего программиста и потом взять на работу. "Контора 2" обучать не хочет, мол, приходите и сразу начинайте кодить (но перед этим покажите уже написанные проекты, конечно же). Какую фирму вы как новичок выберете?
Очень соблазнительно выглядит предложение "Конторы 1", но я бы советовал избегать таких вакансий: в этих фирмах набирают большую учебную группу кандидатов (20–30 человек) и выбирают лучшего. Все обучение сводится к самостоятельному поиску материала и решению задач, поскольку в реальности никто не заинтересован в получении вами знаний – фирме это просто не выгодно. В итоге, если вы не справляетесь с такой формой обучения, вы не получаете ни работу, ни знания, только потерянное время, которое могли бы потратить на подготовку в реальной работе. С этой точки зрения вакансия "Конторы 2" выглядит более честной.
Суммирая все сказанное, скорректирую нашу формулу: чтобы получить работу, нужно быть полезным фирме здесь и сейчас.

Хорошие новости

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

Необходимый минимум

Предлагаю вам список того, что нужно знать Junior Java Developer.

1. Базовый синтаксис языка Java
Без основ ничего не сделаешь, поэтому в первую очередь нужно освоить операторы условия, циклы, массивы, классы и объекты, исключения. Примеры заданий можно найти здесь.

Книга: "Изучаем Java" Кэти Сьерра.

2. Структуры данных и простые алгоритмы
Основной ценностью в программировании являются данные, причем они хранятся не хаотично, а в структурах. Поэтому нужно очень скрупулезно подойти к этой теме, выучив основные структуры и алгоритмы для работы с данными. Всегда держите в голове, что неправильно выбранная структура может на корню испортить программу.
Знание структур и алгоритмов здорово выручит вас и на собеседованиях, где любят давать задачки на применение того или иного алгоритма для работы со структурами, например, отсортировать связанный список.

Книга: "Алгоритмы. Построение и анализ" Томаса Кормена.

3. SQL (базы данных)
Трудно найти приложение, которое бы не использовало базу данных, поэтому этот инструмент программирования – must-have в арсенале любого разработчика. Поставьте сервер базы данных PostgreSQL и потренируйтесь писать запросы.

Книга: "Head First SQL" Линн Бейли.

4. Servlet, JSP
Основная область применения Java – корпоративный сектор, для которого разрабатывают серверные приложения. Основа серверного приложения – это Servlet + JSP.

Книга: "Head First Servlet and JSP".

5. Hibernate
Первый фреймворк в списке. Позволяет извлекать данные из базы. Используется повсеместно.

Книга: "Hibernate in Action" Гэвина Кинга и Кристиана Бауэра.

6. Spring
Этот фреймворк, как вирус, постоянно совершенствуется и адаптируется к любым бизнес-требованиям. На нем можно написать все, что делает его универсальным и в то же время гибким средством разработки. Начните со Spring Boot – этот инструмент будет вашим основным орудием труда.

Книга: "Pro Spring" Роба Харропа.

7. Maven
Мы программисты, поэтому все процессы должны быть автоматизированы по максимуму. Инструменты для сборки, тестирования и интеграции будут повседневными соратниками в вашей работе.

8. Git
Программы давно не пишут в одиночку, поэтому используйте этот гибкий инструмент для командной работы.

Читайте также: