JavaRush /Java блог /Истории успеха /Со злом в разработке бороться не нужно, но и контактирова...

Со злом в разработке бороться не нужно, но и контактировать тоже: история программистки Ирины

Статья из группы Истории успеха
За 8 лет курс JavaRush прошли тысячи студентов. Сегодня на сайте проекта зарегистрировано более 1,5 миллиона пользователей из 106 стран. Не все выпускники успели рассказать о своих успехах: о том, как учились, проходили собеседования и начали работать разработчиками. А ведь нынешним студентам интересно узнать истории тех, кто уже работает в IT. Мы взяли дело в свои руки и запустили новую спецсерию о разработчиках из разных стран и компаний, которые прошли обучение на JavaRush. Наша вторая история — про Ирину (Irina). В школе и вузе она любила технические науки, немного знала программирование, но выбрала работу в сфере контекстной рекламы. Тем не менее, Ира хотела попробовать свои силы в разработке. Однажды на ее почту пришла рассылка о наборе стажеров-разработчиков для одного сервиса. И хотя собеседование девушка не прошла, это мотивировало ее начать учить Java.«Со злом в разработке бороться не нужно, но и контактировать тоже»: история программистки Ирины - 1

«Определенно хотелось попробовать себя в разработке»

Когда после 9-го класса встал выбор дальнейшего направления обучения (у нас было деление на технический, гуманитарный, экономический, медицинский), выбирала между гуманитарным и техническим. Гуманитарное направление представлялось мне в образе журналиста, обличающего зло ради добра во всем мире. Про техническое я думала так: если не буду бороться со злом, так хоть и не буду контактировать с ним, то есть с ними, с людьми. Я пошла по пути наименьшего сопротивления и выбрала техническое направление. После школы я поступила в вуз на специальность «Информатика и вычислительная техника». Увы, университет не давал каких-то определенных навыков по какому бы то ни было языку. Отрывочно я выучила что-то по C++, C#, JavaScript, верстке. На третьем курсе я и вовсе случайно заинтересовалась контекстной рекламой и так же случайно устроилась на работу в одну достаточно известную компанию. В итоге в рекламе осталась на 2 года. Успехи были неплохими, но определенно хотелось попробовать себя в разработке. В программирование вернулась тоже без продуманного плана: на рабочую почту пришла рассылка о наборе стажеров-разработчиков на Java для нового сервиса. Решила сходить на собеседование. Конечно, моих базовых знаний на тот момент не хватило для оффера, но история эта меня натолкнула на то, чтобы попробовать поискать что-то про Java. Сайт JavaRush нашла случайно в интернете. Сначала не зацепил: показался несерьезным из-за всех этих картинок и роботоисторий, но очень понравилась возможность практики и проверки заданий. Осталась, решила попробовать, а потом затянуло.

«Первые несколько собеседований я провалила»

Занималась без жесткого графика, урывками: в перерывах на работе, иногда по ночам. Примерно на 16-17 уровне стала пробовать искать работу (к этому моменту я с некоторыми перерывами занималась около трех месяцев). Если нет опыта работы, любят спрашивать об алгоритмах, а их я тоже почти не знала. Поэтому первые несколько собеседований я провалила. Пришлось готовиться дополнительно, искать самые частые вопросы и запоминать ответы на них. Срочно учила SQL, изучала системы версионирования кода (Git на JavaRush упоминается неоправданно далеко, уровне на 30-м только), SOLID, прорешивала задачки на quizful.net, заучивала алгоритмы сортировок. В итоге, меня взяли джуниором в небольшую компанию. Мои задачи на первой работе были весьма тривиальны: разработка нового функционала системы, допиливание текущего, исправление багов. Работали по методологии waterfall: бизнес присылает задачу, аналитик ее описывает чуть подробнее, разработчик реализует, аналитик тестирует, а после разработчик выкатывает в продукт. Никаких особенных технологий не использовали: писали все на чистой Java, вместо микросервисов — монолит. Для работы с базой использовали свой самописный фреймворк с закрытым исходным кодом. Сложностей в самом начале было море — от того, как загрузить проект в репозиторий до того, как написать запрос в базу, чтобы он не упал по таймауту. Приходилось много гуглить про работу с JSON, SOAP, про то, что такое Maven и как собрать проект с ним. JavaRush я не бросила, старалась заниматься хотя бы через день, правда, пару раз было так, что забрасывала на месяц. Но целью было добить заветные 40 уровней. Параллельно занималась на курсе по фреймворку Spring от Otus. Spring открыл много новых возможностей, и количество предложений на мое резюме выросло в десятки раз. Во время карантина поменяла работу и перешла на проект с микросервисной архитектурой. Занимаемся созданием сервиса для поиска, продажи, покупки и аренды жилой и коммерческой недвижимости, а также оформлением и сопровождением ипотеки. 80% наших сервисов написано на языке Kotlin, еще 20% — на Java.

В моих планах на ближайшее будущее:

  1. Более глубокое погружение в архитектуру. Хотелось бы подробно изучить проектирование backend-архитектуры.
  2. Изучение С++. Думаю, что это однозначно будет полезно каждому программисту — уметь при необходимости писать части приложения, которые должны работать критически быстро. Полезно это будет и для каких-либо сложных математических вычислений.
  3. DevOps. В некоторых компаниях это даже обязательное требование к навыкам программиста. Для любых других — однозначно будет полезно.
  4. Я нисколько не жалею, что тогда в 9-м классе выбрала техническое направление и что два года назад не побоялась уйти из рекламы и начать в программировании. Разработка — своего рода магия, способ делать для людей сложное простым, запутанное — понятным. Сейчас пытаюсь заинтересовать программированием 12-летнего младшего брата. Год назад подарила ему конструктор Arduino и думаю купить для него книгу про создание Minecraft на Python. Когда станет чуть взрослее — покажу JavaRush. Думаю, ему понравится. Одной из важных вещей, которую мне дал JavaRush, было мое осознание того, что за хорошие материалы действительно можно не бояться платить. Это стократно окупится.

Советы для начинающего разработчика:

  • Продолжать программировать. Вся работа программиста заключается в решении тех или иных задач, нахождении тех или иных ошибок и исправлении их. Порой это может (и будет!) казаться невыносимо сложным, занудным, надоедливым, но момент, когда задача наконец будет решена, ощущается как настоящий прорыв, победа, почти открытие. И так по кругу. Злость — принятие — долгие попытки и бесконечные провалы — победа. И в ожидании следующего прорыва и победы и есть кайф работы программиста. «Со злом в разработке бороться не нужно, но и контактировать тоже»: история программистки Ирины - 2
  • Всегда и при любой возможности продолжать учиться. Читать статьи, книги, находить и проходить курсы по тем или иным направлениям разработки, обязательно пробовать новые технологии, применять их в своих домашних проектах. Общайтесь с такими же увлеченными разработкой людьми, обменивайтесь опытом, идеями. В свое время именно общение с такими амбициозными ребятами помогло мне не зачахнуть в той первой моей компании, а не бояться и двинуться дальше.
  • Отсюда и третий совет — не бойтесь что-то менять: работу, фреймворк, язык (да простит меня JavaRush). Все мои главные победы над собой были именно в момент смены работы. Изначально кажется страшным пойти куда-то, не до конца владея технологией или языком, но это очень стимулирует развиваться, изучать эту неизвестную технологию или язык. Включается второе дыхание, появляется особый смысл что-то понять, изучить.
  • Здраво оценивать свои силы. Если даже какое-то время вы сможете совмещать работу, самостоятельное обучение дома, какие-то курсы, институт, может быть, семью, то потом велик шанс выбиться из сил. К сожалению, я знакома с несколькими ребятами, которые после долгого совмещения университета, работы для денег и работы стажером-разработчиком в какой-то момент устали и бросили программирование. Если бы взяли лишний отгул, академический отпуск в университете, потратили бы один выходной на отдых, а не на учебу, на несколько недель забросили бы курсы, быть может, все получилось бы и по-другому.
  • «Со злом в разработке бороться не нужно, но и контактировать тоже»: история программистки Ирины - 3
Комментарии (20)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Irina Уровень 34
6 ноября 2020
ps. До 40-го уровня так и не дошла, забросила. Разочаровалась, так по сути и не найдя коллекций на уровне Collections . Полезнее оказалось посмотреть лекции Алишева. Сейчас в JavaRush захожу только почитать статьи, за них респект 🤗
Антон Володин Уровень 31
21 октября 2020
Порой, при решении сложных задач (на данный момент сложных, как кажется), хочется психануть и бросить ее нахрен (задачу), но нееет, сидишь, думаешь, читаешь коменты, сам соображаешь и вуаля!!.. Решил и реально прилив сил идет.
Alex P Уровень 41
21 октября 2020
Все 3 пункта отличные: 1. микросервисная архитектура: многослойная, системы гарантированной доставки (Rabbit, Kafka), горизонтальное масштабирование и решение проблем синхронизации 2. С++ отличный язык, тоже подхожу к тому что надо его учить по многим причинам. 3. DevOps: docker, Jenkins, kubernetes, AWS/Azure
Максим Уровень 16
21 октября 2020
зачем с++ учить, ниже правильно написали, изучаешь java изучай java и смежники, все в конце концов сводится к тому чтобы получить хорошую вакансию и зарабатывать деньги. учите java colection, базу библиотек, и определитесь с тем что вы хотите от программирования. как говорится на двух стульях не усидишь, а уж тем более не выучишь полностью ни 1 язык программирования) где то еще читал, что лучше знать одну тему хорошо чем 3 темы, но средне.
Interstellar Уровень 36 Expert
21 октября 2020
Не советовал бы джавистам ниже уровня Синьор лезть в Си. Для чего? Это параллельные вселенные. Лучше углубляться в смежных областях: БД, фреймворки, популярные библиотеки, тестирование и пр.
Konstantin Уровень 41
21 октября 2020
Да. Почему за 8 лет у JR до сих пор нет квестов по: - Алгоритмам и структурам данных(хотя есть задачи по ним) - GIT(а ведь он важен), как пример - https://githowto.com/ru - Maven(не менее важен) Почему так долго висят "в разработке" ещё два квеста? Почему, вместо того чтобы получить полезный и доходчивый обучающий материал в курсе за который оплачено, приходится гуглить? Более того "гугление" преподносится как важное умение. Вопрос - за курс плачено чтобы "гуглить" или чтобы "научили"? Если "гуглить", то курс неверно назван - не JavaRush, а GoogleRush. Если "научить", то материал должен быть последователен и изложен в соответствии с указанными темами, а не вдруг в конце курса появляется очередное последнее знакомство с исключениями или побитовыми операторами, или алгоритмическими задачами. Неужто так сложно было, например, глянуть в программу OCA и OCP и составить курс в соответствии с ними? Или просто разработчики устали и под конец уже накидали всё что попало, абы было? Что там с новыми релизами Java? Курс до сих на 8-ой версии, а уже 15 вышла. Как результат - многие темы не рассмотрены и задач по ним нет. Я это всё к чему. Не к тому что всё плохо, а к тому что расти есть куда и косяков очень много требующих исправления. Оформление в виде "Футурамы" это конечно весело и замануха, но не потеряли ли вы за рюшечками смысла курса и сайта? Спасибо за внимание.
Марат Уровень 15
21 октября 2020
Согласен про отдых! Отдыхать надо, иначе привет, биполярочка и выгорание.
Andron Уровень 22
21 октября 2020
Благодарствую за полезняк. Это очень важно -- знать историю и подводные камни.