Тарантино представляет: как стать Java-разработчиком
Меня зовут Святослав, я работаю в компании Luxoft на позиции Junior Java разработчика. Сейчас вы прочитаете небольшую историю моего пути в Java. Эта статья будет полезна всем, кто планирует попробовать себя в программировании на Java, или тем, кто уже начал учиться и ищет советы.
Часть 0. Hello, Java!
Итак, как все начиналось? Однажды, в 2018 году, сидя в маршрутке и смотря на забытые Богом улочки, я подумал:

А если быть точнее, в далеком 2018 году, когда я учился в
Зима 2018 года, на носу ЗНО, а я сижу ночами, учусь-играю на JavaRush. По началу было ничего непонятно. Я проходил уроки очень медленно, вчитывался в материал по нескольку раз и все равно не всегда понимал. Но главное, мне было интересно, и это не давало остановиться. Ну и что тоже немаловажно — я смог сам написать и запустить приложение «Hello, world!». Стоит отдать должное платформе JavaRush, обучение построено в максимально понятной и игровой форме, очень хорошо помогает в начале.
Потому моим первым советом будет: попробуйте себя на какой-то бесплатной или недорогой платформе обучения, чтобы понять, интересно ли вам это. И только потом стоит идти и обучаться этому профессионально.
Часть 1. Высшее образование: быть или не быть
Моё обучение на JavaRush продлилось не так долго, всего месяц-полтора. Мне пришлось с головой погрузиться в подготовку к ЗНО, так как оставалось очень мало времени до этого веселого экзамена. И тут больше всего внимания я уделил английскому языку, и как оказалось, не зря.
Английский язык поможет в обучении, ведь большинство курсов и лекций по Java — именно на английском. Документация, работа — тоже на английском.
Я учил язык с помощью просмотра сериалов в оригинале с субтитрами, чтения статей и прослушивания музыки с разбором переводов. И сейчас мой уровень английского языка — C1. Выходит, что английский можно выучить самому, в домашних условиях.
Параллельно я присматривался к украинским ВУЗам, где есть специальности по программированию, и понимал, что тема гиблая. Единственный ВУЗ, который я отметил для себя — ХНУ (Харьковский Национальный Университет имени Каразина), так как там была программа по обмену студентами, сертификат котировался даже в Европе, а программа выглядела современной. Но возможности поступить в Харьков у меня на тот момент не было, и в свои 16 лет я решил не тратить пять лет на учебу, ведь был уверен, что смогу выучить программирование и без ВУЗа. Мои учителя, правда, чуть инфаркт не словили, узнав, что их отличник и олимпиадник никуда не поступает, ведь даже двоечники поступали.
Часть 2. Период забвения. И как я вернулся в Java
Я закончил школу с пониманием, что хочу выучить Java, и непониманием, как это сделать самому. Начался период забвения. Я пробовал обучиться программированию по разным видео, статьям, но это не увенчалось успехом (Java — не английский, и так просто дома этот язык не выучишь). Я понял, что полностью самостоятельно выучить Java у меня не получится, так как в доступных источниках довольно тяжело найти всю нужную информацию. И я начал поиск курсов, подходящих под мои требования.
Курсы должны обучать практическому использованию навыков. Преподаватель не должен зарабатывать на жизнь только обучением программистов. Потому что в 90% случаев преподаватели, которые работают только преподавателями, это те, кто не удался в роли программиста и пошел работать в ВУЗы или дешманские курсы. Цена за курсы должна быть адекватной (и не заоблачной, и не низкой).
И нормальные курсы ни в коем случае не будут брать с вас процент от вашей з/п на протяжении двух лет. Если есть такое условия, закрывайте сайт и удаляйте из истории поиска. Лично мне больше всего подошла компьютерная школа Hillel, на обучение в которой я и поставил себе цель заработать денег.
Потому некоторое время я подрабатывал на стройке, садовником, и везде, где платили деньги. И ближе к началу зимы 2019 года началось обучение на курсе Java Elementary, на котором мы должны были дойти до Spring (тут совсем капельку), работы с БД, Git-ом, и пройти весь Java Core. Этот курс был рассчитан на 4 месяца обучения. После него мне предстоял курс Java Enterprise: Spring, Hibernate, Docker, углубленное изучение Java. Итак, началось мое обучение.
Правда, с группой мне не сильно повезло: никто сильно учиться не хотел. 10 из 12 человек забросили занятия к

Часть 3, короткая. Отрицание. Абсолютно-ничего-непонимание. И как с этим бороться
У вас точно будет время, когда ничего не будет получаться, и вы будете многого не понимать. Но если вы для себя решили, что хотите стать программистом — никогда не останавливайтесь, и через время вы об этом не пожалеете (звучит как-будто я какой-то Игорь Войтенко и пишу мотивационную речь для своего следующего видео). Посидите где-то дольше, почитайте разные статьи, разберитесь в теме, которая непонятна. Ответы можно найти на все вопросы, но ни в коем случае нельзя забивать и останавливаться.
Часть 4. Первые попытки попасть на галеру во времена великой пандемии. Или как я на время стал коллектором
Подходил конец обучения на первом курсе. Начался
В это время я попробовал себя на двух собеседованиях, в одном из которых мне предложили перейти на другой язык программирования, что мне не очень понравилось, а во втором — предложили взять на себя проект и двух джунов в подчинение, создать архитектуру и начать писать приложение с нуля. На минуточку, это была вакансия Junior Java Developer. Работодатели в Украине, вот честно, вы иногда перегибаете палку.
Учитывая всё это, мне пришлось пойти на другую работу, и около полугода я работал в банковской сфере, вообще не связанной с программированием (да-да, работал с опасными должниками). В это время я уже съехал от родителей и начал самостоятельную жизнь. И все еще планировал попасть на второй курс программирования. Но то, что я учил раньше, понемногу начало забываться. Потому тут мой совет — не растягивайте обучение на долгие годы. Лучше сразу подготовиться, всё спланировать и иметь финансовую подушку на время поиска работы и обучения, чтобы потом не пришлось перекантовываться на разных временных работах, и заново учить то, что уже забыли.
В это время я пробовал подать свое резюме в ПриватБанк на позицию уровня Junior, где мое резюме сначала успешно рассмотрели, заинтересовались... а потом, узнав, что у меня нету высшего образования, обещали «перезвонить завтра». Да, даже в программировании не всегда берут на работу без «корочки».
И здесь я посоветую, что если вы планируете получать высшее образование — выбирайте хороший ВУЗ, это не помешает при приеме на работу, плюс вы выработаете полезные навыки в поиске решений задач, появится какой-никакой опыт в программировании, и, что самое главное, получите немного больше детства. Взрослая жизнь, коммуналка и прочая ерунда — такой отстой.
Часть 5, большая. Новая жизнь. Первая желанная работа
В начале 2021 года, спустя больше полугода после окончания курса Hillel, в списке вакансий я наткнулся на предложение стажировки от Luxoft. Как раз то, что было нужно, ведь они набирали на трехмесячную стажировку с написанием проекта, а это опыт и дополнительное обучение. Я решил попробовать. На ± 10 мест в компании претендовали более ста человек, как я потом узнал.
Но никогда не сдавайся. И я советую: пробуйте себя, подавайте резюме в разные компании, ходите на собеседования. И хоть по началу вам могут отказывать, однажды вы не упустите свой шанс попасть на желаемое место работы.

Я подготовился к первому тестированию и успешно его прошел. Меня пригласили на интервью, к которому я готовился. Перед собеседованием вспоминайте ответы на, как кажется, простые вопросы. В интернете есть много примеров типичных вопросов и ответов на разные темы. На YouTube можно просматривать записанные интервью с разными уровнями программистов (вот один из каналов с такими примерами).
Собеседование было довольно сложным. На некоторые вопросы я ответить не смог, но, как вы уже поняли, я его прошел. И меня взяли на позицию стажера в компанию.
Весной 2021 года я начал работать в команде стажеров под руководством тимлида и двух техлидов над проектом, который включал в себя Spring, работу с базами данных, REST API, Docker и искусственным интеллектом. Как бы это весело не звучало, но я практически ничего из этого не понимал. Так что предстояло полное погружение в программирование.
Я смотрел много видео, читал статьи по темам. В программировании, даже когда уже работаете — вы должны учиться, конечно, если вы не хотите остаться вечным ждуном. Не пожалейте потратить время на полезную статью или хороший подкаст по пути на работу, выделить время и посмотреть лекцию. Ведь если вы не учитесь, ваша цена как разработчика падает.

И для только погружающихся в программирование на Java: думаю, вы уже понимаете, что Spring ждет вас. Все хорошие проекты сейчас работают со спрингом. Он собрал в себе реализацию лучших дизайн-паттернов программирования и делает жизнь проще.
Не рассчитывайте, что вас не спросят о Spring на собеседовании. Конечно, могут быть такие проекты, которые сидят на Singleton`ax и Object Factory, но Господи упаси, не идите туда. Помочь в изучении Spring могут лекции на ютубе, к примеру, Spring-потрошитель. В работе со Spring Boot может помочь канал letsCode, там много полезных видео и на другие темы. Внизу прикреплю ссылки на несколько видео и канал.
Обязательно стоит уделять время работе с REST API, чтобы понимать основные принципы. Это обязательно пригодится и во время собеседования, и на работе. Уже на стажировке мы вовсю работали с REST-запросами и REST API.
И, что очень важно, учитесь работе в команде. Когда меня брали в команду, плюсом для меня была хорошая коммуникация во время стажировки. Программирование — это работа в команде людей, важно иметь хорошо развитые софт скиллы, уметь договариваться и помогать, и просить помощь (но не переусердствуйте, ибо новой команде может не сильно понравится).
Не стесняйтесь спрашивать, если что-то не понимаете. Лучше спросить, чем сидеть, тупить, и ничего не сделать. На стажировке один парень из нашей команды брал задачки, сидел с ними неделями, потому что не мог спросить ни у кого совет, и даже отказывался, когда ему предлагали помощь. До конца стажировки он не дошел.
Часть 6. Трудности в работе и советики от Свята
Мне было очень сложно погружаться сразу в такой огромный проект, не зная многих технологий, с которыми надо работать. Но для себя вынес хороший урок: не стоит бояться сложных задач.
Может казаться, что если вы возьмете задачу, то никогда с ней не покончите. Но лучше взять что-то новое, чего вы не знаете, и научиться этому, чем сидеть и делать одно и то же (зато это будет легко и быстро, как думают некоторые), ведь, снова же, можно остаться вечным ждуном.
Постепенно стажировка подходила к концу и предстояло собеседование в реальную команду. И, как вы уже поняли, я его тоже прошел (раз пишу эту статью). Работа на реальном проекте — это интересно, сложно и увлекательно.
Уделите время на изучение инструментов тестирования. Будет очень полезно изучить технологию TDD, ведь некоторые проекты требуют работать с такой техникой. Будет полезно понимать, как работают интеграционные тесты, как их можно написать и для чего это нужно. Ну и, конечно же, JUnit. Ведь вам предстоит писать много Unit-тестов. А если в проекте не пишут Unit-тесты — бегите оттуда.
Так же выделю, что понимание Docker — must have. Большинство проектов работает с докером, и вам лучше знать его основные команды, что такое контейнеры, и зачем они в программировании. Та же история с Git.
Часть 7. Итог
Мне нравится, что у меня получается браться за задачи, которые всё сложнее и сложнее. Мне нравится, что команда помогает в моих вопросах. Мне нравится работа. И если вы решили стать программистом — не останавливайтесь.
38 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівЕсли точно по процитированному судить, то разговорной практики нуль?
Також варто зазначити, что вчитись через серіали, можна, коли в тебе вже є А2/В1
Скоріше, ви праві тут. Але я починав з знання декількох слів, алфавіту, і небагатьох правил, що запам’ятав зі школи.
Серіали дивився з подвійними субтитрами — на англійській і на знайомій мені мові, кожного перегляду виписував нові слова, записував їх значення, і доволі часто потім переглядав свої запаси. Продовжував так доволі довго. Потім використовувати ще декілька методів для вивчення мови, в тому числі — розмовну практику, в тому числі — з носіями
В статті я не зазначав всі моменти, що не стосуються Java. На момент написання статті у меня було більше року розмовної практики і в свободному, і в робочому стилях
Эту статью под копирку на все языки и направления переписывают:)))
Было бы интересно почитать о подготовке и сдаче экзамена/получении сертификата.
Я був би радий відилити час по свободі, й написати про це більше
Многие динамичные продуктовые проекты b2c написаны без спринга, многие занудные люксовые корпоративные b2b, которые убивают желание заниматся программированием написаны с спрингом. Спринг — не критерий.
Так, згоден, але буває дуже важливим на початку, особливо зараз
Сильне твердження )). Ну з поправкою на Українські реалії, може і так...
xperti.io/blogs/java-ee-vs-spring
Спасибо за статью! Было что подчеркнуть для себя
Это почти норма на курсах с предоплатой (точнее, на любых курсах на которые берут всех подряд, без отбора).
По моим наблюдениям — обычно нормально учится примерно треть группы, и из этой трети хорошо если половина смогут работать программистами. Один из шести, а то и один из десяти.
И дело не столько в усидчивости, как в способностях.
Для большинства людей программирование это тяжело и неинтересно.
А очень многие даже при усидчивости, и потраченных сотнях часов времени — ничего не добьются!
А далі що, буде стаття як стати сінйором в 20?
Із свого досвіду проведення співбесід на різні види сінйорності скажу, що під час співбесіди відразу відчувається людина, яка пройшла через технічний вуз і в більшості випадків якісно виділяється на фоні (особливо кандидати, які закінчили КПІ).
Після технічних вузів люди мислять про задачу з багатьох сторін відразу (якщо не протирали штани в аудиторіях і не втоптували пивні корки на полянах) і як правило здатні запропонувати декілька шляхів вирішення.
Саме тому на багатьох вакансіях і пишуть в вимогах вища технічна освіта (хоча б бакалавр).
Як правило, після хорошого очного вузу, ти приходиш не тільки технічно обучений, але і з багажем софт скілів. Саме наявність таких в додачу до технічного багажу потрібні компаніям, якщо хочеш претендувати на щось вище мідла.
Ну і останній аспект — наявність корочки — більша зп і швидший ріст.
Не понял упрека с Вашей стороны на счет «сеньйора в 20». В моей статье и намека на такое не было — это раз.
Второе — я полностью согласен с мнением, что ВУЗы дают плюсы в софт-скиллах и помогают лучше подходить к решению задач. НО,- ВУЗы не единственные места, которые в этом помогут. Потому тут тоже не стоить смотреть слишком узко.
Кроме того, сейчас я прохожу курсы по алгоритмам от разных универов, я оттачиваю и другие тех-навыки и работа мне в этом не мешает, а наоборот — помогает практиковаться.
Потому, если Вас так триггерят сеньйоры в 20 — говорите им, что они ненастоящие. Я не такой
Я вот не пойму. Откуда столько хэйта? Судя по первому же вопросу, видно, что вы и статью толком не читали. Что у нас за менталитет тупой? Не дай Бог, чтоб кто-то не вставил подобного комента под подобной статьей. Что Вас так злит? Что кто-то может по другому, а не так как Вы?[предположение] Безусловно, есть у нас учебные заведения, которые готовят качественных специалистов. Но их на пальцах можно пересчитать. Но их окончание не дает нормальных гарантий. У меня отвращение иногда вызывают люди, закончившие ВУЗы. Самомнения огого. «Да у меня два высших». А толку? Такую чушь несут. Как сказал один человек из этой сферы: «Один год работы заменяет 5 лет обучения». Может преувеличено, но во многом правда. А другой не глупый человек говорил: "Если студент решил учиться, то профессор тут бессилен«(точно не помню). Лично я жалею, что пошел учится после школы. Мало того, что знаний не дали, так еще и по специальности работать охоту отбили. После, в другой сфере, за полтора года работы я приобрел столько знаний и навыков, что я не боюсь практически ничего. За что бы я не взялся, с разной скоростью, довожу всё до конца. Если бы у меня сейчас была возможность вернутся назад, ни за что бы не пошел учится. Это только потраченное драгоценное время. У кучи специалистов, у которых нет диплома о высшем образовании, есть действительно сильные скилы. И они вполне могут потягаться с теми, у кого оно есть. У нас значение образования сильно переоценено. Оно не на уровне штатов или Европы, где система образования действительно работает. А те, кто не готовы рассмотреть кандидата без «корочки», к сожалению не умеют приспосабливаться к рынку(ИМХО).
В заключение могу добавить, что аспекты, которые выделил ТС не расходятся с мнением бородатых дядек, которые в айти начали свой путь раньше, чем оно появилось в Украине, как таковое. Перечитайте статью повнимательнее и поймете, почему статьи типа
не будет.
Ты крут, получить уровень Pre-advanced просматривая сериалы))
PS Ты хоть иногда заходи в гости, не забывай друзей ;)
Привет-привет. Обязательно заскочу в гости)
И не зря. В ВУЗе, помимо корочки (которая вам уже аукнулась с приватом) самое главное — это новые социальные связи. Ну и фундаментальные знания (математика, алгоритмы и прочее).
Красивые истории как Джобс уходит с ВУЗа и ставит мир на колени это утопия. Таких случаев 1 на миллиард.
Курсы НЕ НУЖНЫ! Открываете книгу по языку N (благо на Java такие есть для всех видов детей) и курите страницы, пока не вкурите.
Без комментариев
Спасибо за комментарий, дальше в статье я так же отметил пользу ВУЗов, и согласен с тем, что они не так уж бесполезны.
На счет курсов — сказал только для тех, кто не получал профильное образование. Часто курсы помогают быстрее обучиться практическим навыкам
Страшно и непросто сейчас входить в Джаву, она громадная и страшнючая))2004-м Было прикольно.
я бы испугался. входил в версию 1.3, апплеты-сервлеты, гг. в
Категорически несогласен!
По моему почти любые курсы которые берут предоплату — мошенники. Такие курсы не заинтересованы в результатах обучения, как минимум половина, а то и две трети учеников на таких курсах имеют мизерные шансы на трудоустройство.
Условно-бесплатные курсы (берущие процент от будущей зарплаты) — в результатах обучения заинтересованы. На таких курсах учат только тех у кого есть шансы на трудоустройство (безнадежных отсеивают).
Такие курсы назвать мошенническими не могу (хотя большинство тех кто на этих курсах учатся — вполне могут и самостоятельно обучиться).
А самые лучшие курсы — бесплатные! dou.ua/calendar или в левой колонке jobs.dou.ua/first-job
Я сталкивался и с теми курсами, которые берут процент, и слышал отзывы реальных людей, которые рассказывали, насколько эти курсы «заинтересованы». Во-первых — они далеко не «условно-бесплатные», а сдерут с тебя потом в 5, а то и в 15 раз больше курсов с предоплатой. По сравнению с теми курсами, которые прошел я — те курсы с процентом были намного хуже по качеству обучения, так ещё и бешеные деньги брали за это.
Я согласен, что бесплатные курсы — лучший вариант. Но нужно найти хорошие.
У каждого тут свой опыт, я поделился своим, и я не претендую на единственно-правильное мнение
Пішов би на курси, які беруть процент — почав би працювати на рік швидше і зп вже була б суттєво вищою. А так — молодець
Я пів року вчився вдома, потім пів року на безкоштовних курсах, які організовує IT-компанія. Весь цей час працював. Вчився тільки про вечорах і на вихідних. Через рік взяли на роботу (не на стажування, Java developer). Профільної освіти не маю, досвіду також не було. Працюю вже майже рік.
Головне не робити перерв і йти до кінця.
Згідний на рахунок задач — треба робити ті, які ще не робив.
це швидко, кул.
крутий результат. вітаю.
а якісь подробиці можешь розповісти. )))
я бачу, по профілю лінкедин, ти англійську майже рік підтягував. на джава раш 37 рівень дійшов.
як вчитися було? важно не важко))
А які подробиці?)) Перших рівнів 20 на джава раш в основному була практика, потім зрозумів, що без теорії теж нікуди. Коли потрапив на навчання, то дуже круто додатково підтягнули і одне, і інше. Інколи бувало важко, інколи легко — нормальний процесс.
Тут головне наполегливість, нічого просто так не приходить. Завжди виникають моменти, коли хочеться прохалявити, десь відкласти на потім, потрібно намагатися з цим боротися.
Коли брали на роботу, англійська не була головним моментом, але без неї все одно нікуди. Тут треба комбінувати: серіали з субтитрами, книжки, технічна література, якісь спікінг клаби, якщо є гроші зайві — то знайти нормальні курси.
Сокращу до смысла: пацана взяли стажёром в Luxoft.
На данный момент, я уже давно не стажёр. В начале статьи писал, что на позиции Junior работаю. Да и на позицию стажёра со мной пробовались больше 200 человек. Из которых прошли только 10 на позицию стажера, и только 6 на Junior-разработчика.
Это как игра в кальмара
Юру ж тоже взяли
Ой, да, ну это уже после второй стажировки, так шо не в счёт
Главное — результат. А количество попыток может зависеть от разных фаторов.
Чудова стаття, дякую! Лише додам, що важко знайти нормальні курси. Краще знайти нормального ментора.
Молодец. Я рад, что у тебя всё получилось!)
Дякую за дуже мотивуючу статтю !
Коментар порушує правила спільноти і видалений модераторами.
Коментар порушує правила спільноти і видалений модераторами.
Коментар порушує правила спільноти і видалений модераторами.
Коментар порушує правила спільноти і видалений модераторами.
Коментар порушує правила спільноти і видалений модераторами.