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, 09:47
ps. До 40-го уровня так и не дошла, забросила. Разочаровалась, так по сути и не найдя коллекций на уровне Collections . Полезнее оказалось посмотреть лекции Алишева. Сейчас в JavaRush захожу только почитать статьи, за них респект 🤗
Антон Володин
Уровень 31
21 октября 2020, 13:30
Порой, при решении сложных задач (на данный момент сложных, как кажется), хочется психануть и бросить ее нахрен (задачу), но нееет, сидишь, думаешь, читаешь коменты, сам соображаешь и вуаля!!.. Решил и реально прилив сил идет.
Alex P Enterprise Java Developer в Covered by no disclo
21 октября 2020, 11:46
Все 3 пункта отличные: 1. микросервисная архитектура: многослойная, системы гарантированной доставки (Rabbit, Kafka), горизонтальное масштабирование и решение проблем синхронизации 2. С++ отличный язык, тоже подхожу к тому что надо его учить по многим причинам. 3. DevOps: docker, Jenkins, kubernetes, AWS/Azure
Justinian Judge в Mega City One Master
21 октября 2020, 17:00
+
Максим смотрящий за общаком в колонии строгого реж
21 октября 2020, 08:56
зачем с++ учить, ниже правильно написали, изучаешь java изучай java и смежники, все в конце концов сводится к тому чтобы получить хорошую вакансию и зарабатывать деньги. учите java colection, базу библиотек, и определитесь с тем что вы хотите от программирования. как говорится на двух стульях не усидишь, а уж тем более не выучишь полностью ни 1 язык программирования) где то еще читал, что лучше знать одну тему хорошо чем 3 темы, но средне.
Daria Software Developer
22 октября 2020, 09:22
ага, иностранные языки тоже лучше не учить, говоришь на русском, так прокачивай русский дальше)
Irina
Уровень 34
6 ноября 2020, 09:38
Действительно есть те, кто освоили java (core, collections, упоминаемый вами, и, может быть, даже spring), нашли работу и в общем и целом успокоились. Я нисколько не осуждаю таких людей, это их выбор. Но кому-то после постижения дзена в java может быть интересно пробовать себя и и других направлениях разработки: в высшей математике ни питоне, в работе с низкоуровневой памятью на c++. Это вопрос личного интереса, саморазвития. Не для всех всё сводится только к тому, чтобы найти хорошую вакансию и зарабатывать деньги.
Interstellar Java Developer в EPAM Expert
21 октября 2020, 08:10
Не советовал бы джавистам ниже уровня Синьор лезть в Си. Для чего? Это параллельные вселенные. Лучше углубляться в смежных областях: БД, фреймворки, популярные библиотеки, тестирование и пр.
Irina
Уровень 34
6 ноября 2020, 09:42
Вы абсолютно правы. И конечно я говорю не про джуниоров. Идти в другие области стоит, только хорошо разобравшись в своей. C++ именно потому только в планах, что конкретно сейчас еще есть что прокачивать для java
Konstantin
Уровень 41
21 октября 2020, 07:33
Да. Почему за 8 лет у JR до сих пор нет квестов по: - Алгоритмам и структурам данных(хотя есть задачи по ним) - GIT(а ведь он важен), как пример - https://githowto.com/ru - Maven(не менее важен) Почему так долго висят "в разработке" ещё два квеста? Почему, вместо того чтобы получить полезный и доходчивый обучающий материал в курсе за который оплачено, приходится гуглить? Более того "гугление" преподносится как важное умение. Вопрос - за курс плачено чтобы "гуглить" или чтобы "научили"? Если "гуглить", то курс неверно назван - не JavaRush, а GoogleRush. Если "научить", то материал должен быть последователен и изложен в соответствии с указанными темами, а не вдруг в конце курса появляется очередное последнее знакомство с исключениями или побитовыми операторами, или алгоритмическими задачами. Неужто так сложно было, например, глянуть в программу OCA и OCP и составить курс в соответствии с ними? Или просто разработчики устали и под конец уже накидали всё что попало, абы было? Что там с новыми релизами Java? Курс до сих на 8-ой версии, а уже 15 вышла. Как результат - многие темы не рассмотрены и задач по ним нет. Я это всё к чему. Не к тому что всё плохо, а к тому что расти есть куда и косяков очень много требующих исправления. Оформление в виде "Футурамы" это конечно весело и замануха, но не потеряли ли вы за рюшечками смысла курса и сайта? Спасибо за внимание.
Сэм Фишер Java Developer в Seavus
21 октября 2020, 08:37
все верно написал. я бы еще добавил тот факт, что в некоторых задачах криво написаны условия и в комментариях народ об этом пишет.можно было бы внести правки в них хотя бы
Hanna Moruga Chief editor @ JavaRush
21 октября 2020, 09:12
Константин, спасибо за конструктивную критику. Мы постоянно дополняем основной курс (пишутся дополнительные лекции, разрабатываются новые и корректируются старые задачи). Скоро из беты выйдет обновленный и расширенный квест (он уже есть в бете во вкладке "Курс"), с более сбалансированной подачей теории и практики, информацией, связанной с апдейтами Java и стеком необходимых технологий. Возможно, вы как выпускник не отслеживаете каждое обновление, но мы придерживаемся курса на регулярные улучшения. О части их них рассказали в недавних итогах еще одного года JavaRush.
Konstantin
Уровень 41
21 октября 2020, 10:44
Ну, если вы считаете мою критику конструктивной, то я позволю себе глянуть вашу обнову: - "Java Syntax PRO" - не читал, но осуждаю. Почему не в общем квесте? - "дополнительных лекций, которые усилили квесты Collections и Multithreading. " - не почувствовал. В квестах о многопоточности и коллекциям всё что угодно, только не потоки и коллекции, по крайней мере считаю очень мало(в коллекциях исключения, побитовые операции и пр. ересь не по теме). Если вы о статьях на самом сайте, а не в квесте, то почему они не в квесте? Что-то про GIT обещано в коллекциях, но вот не почувствовал. Благо что сам GIT давно освоил. - "посмотреть правильные решения" - имхо зря. Сделали бы хотя бы показ после одной попытки решить, или трёх, тогда можно будет контролировать - человек сам пытался сделать или просто протыкал проверку три раза и получил вкусненькое(думаю вы ж какую-то статистику по успеваемости работодателям при обращении по студентам даёте?). - "график пинков" - имхо рюшечки. Если человек не хочет учиться, то хоть палкой гоняй. - "рейтинг пользователей javarush" - ещё одни рюшечки. Прикольно, но не вижу смысла. Всё равно что отметки на стволе в танках, вроде есть, а кто их кроме тебя смотрит? Уж лучше б соревнования какие устраивали, аля "хакатон-онлайн". - "Android-приложение нашего курса" - эмммм... ну такое :). - "обновилось меню" - рюшечки. Регулярные новости - прикольно. Но учитывая общий поток информации из интернета не знаю как кто с этим справляется. Бету я вашу видел, дошёл до третьего уровня, дальше как-то желание пропало, проходить два курса впараллель нет желания. Я на сайте около двух лет с перерывом(закончил 2.10 этого года), масштабных изменений если честно не вижу. Квесты висящие серым, висят все эти два года. Зачем было их добавлять, если не готовы, только вам известно. Если они слишком масштабные. то разбейте отдельно на малые - отдельно SQL, отдельно Hibernate, ну и т.д. Как-то непонятно мне выстроены ваши обновления.
Hanna Moruga Chief editor @ JavaRush
21 октября 2020, 11:53
Думаю, вы хорошо представляете, как растут "хотелки" и как разнится оценка новых фич со стороны наших пользователей. Ведь люди приходят сюда с разными целями: кто-то учится кодить как хобби, кто-то подтягивает знания для текущей работы, кто-то приходит учиться с нуля. На данный момент нет онлайн-источника, который в соло справляется с задачей обучить новичка всему и отправить его в мир с уровнем, достаточным для моментального прохождения сертификаций, со всеми необходимыми софт- и хард скиллами для высокооплачиваемой работы, и т.д.) Это касается любой специальности, не только программирования. По вашим комментариям поняла, какие обновления вы бы сочли значимыми. Повторюсь, мы продолжаем работать над развитием курса. И конечно, развернутая обратная связь нам только на пользу. Но надеемся, что пройдя весь курс JavaRush вам все же удалось получить необходимую базу Java Core и практику.
Konstantin
Уровень 41
21 октября 2020, 12:51
Понимаю. Сделать массовый проект не просто. Однако, как сказал в одном посте ваш Роман - "но раз уж взялся за гуж, не говори, что не дюж" :). Касательно того что мне не хватало: - структурированности и последовательного изложения материала(некоторые темы размазаны по курсу) - запутанные условия задач(возможно так задумано, но вот читаешь одно задание и всё понятно, а читаешь следующее и думаешь - или что-то случилось или одно из двух) - задачи по алгоритмам и структурам данных(их нет в курсе, зачем их давать, не лучше ли потратить место под задачу по теме?) - гугление и стековерфлоувание, хабрирование(ещё раз - всё должно быть внутри вашего курса, а умение пользоваться костылями, если надо, вынесено в отдельный квест, если хотите) Что такое софтскилы до сих пор не понимаю, для меня это сферический конь в вакууме придуманный кадровиками. Хард-скилы... видимо это знания по языку? Этому можно всю жизнь учиться. Касательно прохождения. Я до вашего курса прошёл ещё один(по Java) у одного из ваших конкурентов(не скажу у кого), так что сравнить есть с чем, особенно в плане структуры тем курса. Одно могу сказать - на момент завершения курса там курс тоже был устаревший, но там были живые преподаватели, которые корректировали курс на лету. Также я 15 лет до этого был админом, так что опыт в ИТ у меня присутствовал. Ваш курс мне порекомендовали пройти, хотя я не собирался этого делать. Единственная причина, ради которой я захотел пройти ваш курс - проверить насколько мне хватит нервов, назовём это преодолением себя :). В остальном я уже перешёл на самостоятельное обучение, хотя и всю жизнь самоучка. Так что к Java Core можно добавить и другие навыки. В частности Spring и Hibernate, которые я осваивал ещё и на вашей практике. Кстати, касательно вступительного проекта на практику - планка не высока? Откуда знания по Spring-у должны быть у студента? Вцелом вы можете спокойно отнести мои, возможно, завышенные требования к наличию вышеописанного опыта. Буквы всё :) ..
yunkayyy
Уровень 22
21 октября 2020, 16:51
Здравствуйте, подскажите, по вашему опыту, есть ли смысл проходить квесты Collections и Multithreading? Уже надоедают эти бесконечные задачи, от которых особо ничего не приобретаешь, но тратишь много времени.
Konstantin
Уровень 41
21 октября 2020, 17:52
Прям такой вопрос задали, на виду у администрации сайта :). Скажем так - отговаривать не буду, тем более если вы новичок, тем более если курс оплачен. В задачах смысл есть - банально набить руку и приучить мозг к оборотам Java. Так чтобы конструкции языка печатались не задумываясь. В этом плюс курса - обилие кода, к которому приучаешься и привыкаешь. Полезны ли лекции? Вцелом да, но этого мало, тем более после одноразового ознакомления. Желательно читать попутно какую-нибудь книгу. А ещё лучше делать конспекты по этой книге. Никто классическое запоминание учебного материала не отменял. Мозг сейчас работает у всех так же как и в школе. Будут ли вас бесить задачи дальше? Да, будут. И условия и валидатор. Тут я для себя придумал момент с преодолением себя. Отнесёмся к этому моменту как к меняющимся условиям задачи на реальной работе при работе с заказчиком. Это тренировка устойчивости психики. Врядли на работе будет возможность постоянно кодить в тихой и медитативной обстановке. Задачи не кончатся по прохождении JR, это только начало. Дальше кода будет больше и регулярно. Вцелом думаю стоит относится к JR как скелету, который надо уже самому обрастить мясом - знаниями и опытом. Знания я предпочитаю брать из книг, а не из гугла. Опыт у каждого свой. Могут ли сделать лучше? Думаю могут. Почему медленно? Не ко мне вопрос. Насколько мне известно работодатели не брезгуют выпускниками JR, возможно это связано как раз с тем что до конца доходят только те кто действительно хочет стать программистом и им плевать на кривые задачи. Или это увлечение на всю жизнь, или можно не браться вообще. Нет простого пути к программированию.
Имя Фамилия
Уровень 19
22 октября 2020, 09:13
Вот это "Отнесёмся к этому моменту как к меняющимся условиям задачи на реальной работе при работе с заказчиком." - было не в бровь )) На самом деле да, так почти всегда в реальности и есть. Более того - заказчик почти никогда ясно не представляет чего оно хочет. Ну иногда заказчику кажется, что представляет. И когда ты особо упоротому заказчику делаешь именно то, что он просил.. то что ? Правильно, в результате всё равно приходится переделывать и конечный результат, я бы сказал внезапно(!), подозрительно смахивает на то, что вообще и надо было делать сразу и сначала. Так что к странным задачам я отношусь спокойно - спасибо многолетнему опыту работы с различными заказчиками ))
Марат
Уровень 15
21 октября 2020, 06:40
Согласен про отдых! Отдыхать надо, иначе привет, биполярочка и выгорание.
Andron
Уровень 22
21 октября 2020, 06:26
Благодарствую за полезняк. Это очень важно -- знать историю и подводные камни.