Наконец-то дошли руки описать свой личный опыт вкатывания в удивительный и загадочный мир программирования. Я получил образование в сфере высоковольтной электроэнергетики, после универа пять лет отработал по специальности, поднялся по карьерной лестнице от рядового инженера до административных должностей, но этого времени мне хватило, чтобы полностью разочароваться в данной сфере. Не из-за нее самой как таковой, а из-за тотального бардака, кумовства и коррупции, царивших там. После долгих раздумий я принял тяжелое решение и покинул мою альма-матер, занялся общепитом, открыл свой бар, поставил его на ноги, вывел на почти самостоятельную и редко требующую моего вмешательства работу, и передо мной встал вопрос: а чем заниматься дальше? Это было накануне моего тридцатилетия. Надо сказать, что программированием я интересовался уже очень давно. Еще когда работал в энергетике и не помышлял покидать эту область, учил самостоятельно азы Питона и писал простенькие маленькие программки. Просто потому что было интересно. Но все эти долгие годы это было не более чем хобби, так как для основательного изучения мне бы потребовалось все свободное время, а надо было чем-то зарабатывать на жизнь. Да-да, я слыхал много историй (и тут их читал), как ребята параллельно с основной работой за несколько месяцев самостоятельно изучали программирование и устраивались джунами. Не знаю, возможно, эти герои значительно умнее меня😊, ведь для освоения многих тем мне требовалось довольно долгое время. Итак, стартовые условия были следующие: - есть заинтересованность в изучении программирования; - есть не совсем регулярный и не совсем стабильный, но доход (ох уж этот малый бизнес в России😊); - есть в среднем больше свободного времени, чем если бы работал стандартную пятидневку. Добавьте еще к этому, что на тот момент три моих товарища из универа уже покинули сферу энергетики и стали программистами, пройдя курсы тренинг-центра Питерского отделения ЕПАМа. В общем, мой выбор был очевиден😊 Я начал целенаправленно готовиться к поступлению в епамовский тренинг-центр. По совету одного из друзей я стал проходить курс Джавараш, параллельно смотря всяческие лекции и почитывая статьи: те, что были в открытом доступе. Сейчас будут небольшие дифирамбы этому ресурсу (это искренне! Админы джавараша мне не платили!:)): джавараш — обалденная штука. Когда ты совсем новичок, очень сложно найти материалы, которые будут преподносить информацию доступно для твоего уровня. Джавараш — практически уникальный случай. Конечно, некоторые темы тут описаны не в лучшем виде, но идеала не бывает. В целом я очень благодарен джаварашу, что за объективно небольшие деньги (гляньте цены на всякие платные курсы по джаве) мне разжевывали понятным мне образом азы языка и давали много практики. Нередко в комментах под какими-то уроками я видел возмущения юзеров типа: «прочитал урок три раза, ничего не понял, искал инфу в сторонних источниках. За что я деньги плачу?» Ребята, программист — это такой мастер спорта по гуглению. Или вы только учитесь, или вы маститый сеньор — вы всегда, всегда будете искать разную информацию по всему интернету. Редко можно найти такой ресурс, на котором будет вся необходимая или понятная вам информация. Так что гуглить и читать разные источники по одной и той же теме — это нормально. Ну да ладно, вернусь к рассказу. Суммарно за 4 месяца я дошел и частично прошел 17-й уровень (да, я не быстрый), параллельно занимался английским с репетитором. Да, английский — это очень важно. Мало того, что любое интервью или собеседование у вас будет хотя бы частично на английском, так и подавляющее большинство необходимой вам для работы информации есть только на англоязычных ресурсах. На 17-ом уровне джавараша я понял, что я прошел темы, нужные для поступления в тренинг-центр, вернулся к нулевому уровню и начал все повторять. И отправил заявку в тренинг-центр. Через пару недель мне позвонили, попросили рассказать о себе на английском, потом на русском поспрашивали несложные вопросы о видах сортировок, модификаторах доступа, принципах ООП, типах данных и т.п. и пригласили на вступительный экзамен. Экзамен состоял из трех частей. Первая — тест на компьютере. Двадцать задач/вопросов на циклы, сортировки, работы со строками, коллекции данных, общие вопросов по SQL, несколько вопросов на логику, на всё давался час. Вторая — письмо на английском на заданную тему на 150 слов и 20 минут времени. Третья — устное собеседование с программистом из ЕПАМа, вопросы были опять на сортировки, устройство памяти в джаве, принцип работы garbage collector, принципы ООП. После этого отправили домой с обещанием, что через недельку пришлют письмо с вердиктом. После радостного письма еще раз пригласили в офис на беседу с эйчаром (или ресурс-менеджером? Не знаю). Там опять задавали общие вопросы из биографии: почему я выбрал джаву, почему вообще программирование, попросили на английском рассказать плюсы и минусы моей предыдущей профессии. Через пару недель начались вечерние курсы по Java Core, три раза в неделю в офисе. Курсы длились три с половиной месяца и завершились довольно сложным экзаменом (основанном на задачах OCA/OCP от Oracle), экзамен сдало чуть меньше половины группы. Прошедшие попали во вторую часть тренинг-центра, так называемую лабораторию. Это полная имитация настоящей работы. В ЕПАМе есть несколько внутренних проектов, на которых работают студенты лаборатории. Там всё по-настоящему, по заветам Скрама и Эджайла, как у настоящих программистов😊: команды, состоящие из разрабов, тим-лида, бизнес-аналитика, тестеров и т.д., ежедневные митинги, Jira, таски, код ревью и так далее. Параллельно с работой на учебном проекте идут лекции по SQL, Spring, многопоточности, Java 8 с домашними заданиями. В общем, лаборатория полна насыщенными и интересными событиями. В лабе я провел четыре месяца и прошел итоговое интервью — двухчасовую беседу с двумя программистами ЕПАМа. Спрашивали о написании тестов, коллекциях данных, подробнейшем устройстве мапы, принципах SOLID, ACID, нововведениях Java 8, эксепшенах, подробно говорили о Спринге. Много тем было, большинство уже и не упомню. Практических заданий было два — написать стрим (с лямбдами, естественно) и простенький запрос к БД. Еще через неделю я получил письмо счастья — оффер от Епама😊 От регистрации на Джавараше до подписания трудового договора прошло 15 месяцев, и я в 31 год стал программистом. Парам-парам-пам, всё!