JavaRush /Java блог /Java-университет /Как понять, что тебе подходит IT, и организовать обучение...

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

Статья из группы Java-университет
Это очередной материал из серии текстов, в которых менторы нашего Java-университета делятся своим опытом и знаниями. Фулстек-разработчик из Харькова и ментор Алексей Капустник отвечает на распространенные вопросы новичков и рассказывает, как понять, что вам подходит программирование, что надо знать Java-джуну в 2022 году и что сделать, чтобы выделиться на фоне других кандидатов. Как понять, что тебе подходит IT, и организовать обучение: ментор Алексей Капустник отвечает на популярные вопросы программистов-новичков - 1

Как понять, что профессия разработчика вам подходит? Какие качества важны?

Вам нужно быть постоянно в курсе новых технологий, гореть ими, желать узнать новое. Без этих качеств вам будет тяжело. Я обучил десятки студентов и в каждой группе были те, кто горел программированием — они были всегда в лидерах. Программирование — та область, в которой надо постоянно учиться. И чем ниже у вас уровень, тем вам тяжелее, потому что вы очень многого не знаете. Соответственно, вам нужно выдерживать нагрузки по обучению, а позже — по поддержанию своего уровня. Если вы учитель математики, то вы выучили необходимые знания и применяете их следующие 50 лет. Раз в 10 лет появляется новое открытие или новая формула, тогда вы их учите и снова преподаете. В программировании все наоборот: я две недели осваивал технологию, но пока я с ней разбирался, вышло новое обновление, и мне пришлось заново переучиваться, потому что оно кардинально все поменяло. Надо учиться адаптироваться. Люди сами по себе так устроены, что боятся что-то менять или просто не хотят. Если человек такой по жизни, то ему в программировании, наверное, не место. Но если человек понимает, что ему надо все время меняться, улучшаться, что в жизни все непостоянное, тогда в программировании ему будет легко. Важны упорство и дисциплина. Мотивация работает только на начальном этапе. Если вы только начинаете учиться, вас мотивируют деньги, свобода, плюшки, новая профессия. Но спустя пару месяцев мотивация у вас пропадет, и это нормально: дальше должна работать дисциплина. Вы можете сидеть часами над какой-то задачей и когда вы ее решите, то поймете, что все возможно. С таким принципом надо идти дальше по жизни, потому что всегда будут задачи, которые будут загонять в тупик.

Что надо знать начинающему Java-разработчику в 2022 году?

Кроме Java Core, надо обязательно знать фреймворк Spring — без него никуда. Я в свое время погорел на собеседовании, так как не знал, что он нужен. В любом случае понадобится знание баз данных и фреймворка Hibernate. Часто в вакансиях пишут о знании JavaScript, HTML, CSS, но это зависит от компании: на собеседовании могут спросить о них, но будет ли разработчик использовать их полноценно, неизвестно. В одной компании, в которой я работал фулстек-разработчиком, мне это было нужно. Когда работал в EPAM, я был чистым бэкенд-разработчиком, и это не пригодилось. Знание этих технологий точно не помешает, особенно если захотите создать собственный проект. Я бы порекомендовал выучить такую технологию, как Kafka (Apache Kafka — распределенный программный брокер сообщений, проект с открытым исходным кодом, разрабатываемый в рамках фонда Apache — ред.). Мидлу точно стоит знать, для джуна это может быть преимуществом. Систему управления версиями Git надо обязательно знать. Также понимать, что кто такой и что делает девопс (основная задача такого специалиста — настройка и поддержание в рабочем состоянии нужного софта в компании, а также автоматизация каждого этапа разработки — ред.), зачем он нужен. Если разработчик будет делать проекты для себя, он должен знать самые базовые вещи из области девопса.

Что можно добавить в резюме, чтобы вас выделили на фоне других кандидатов?

Резюме должно быть легко читаемым, я бы сказал, интуитивно читаемым, чтобы рекрутер видел: это Java-разработчик, он знает базу и основы фреймворков. Плюсом будет список прочитанных книг. В моем первом резюме я такой список указывал, и когда эйчар со мной встретилась, сказала, что компанию впечатлило то, что я прочитал эти книги. Нужно указать также обобщенные знания. Например, как работает интернет, знание REST, SOAP — то, что не относится к Java Core, но относится к общему программированию.

Как понять, что пора ходить на собеседования?

Я бы начал с того, что нашел вопросы для собеседования на позицию Java-джуна. Дальше читаю вопросы и думаю, как бы на них ответил. И сравниваю с ответом, который там дан. Если большинство ответов совпадает, хорошо, можно пойти на собеседование. Если понимаю, что ответили на три вопроса из 30, то надо эти темы подтянуть. Если все получилось с вопросами, можно пройти онлайн-тесты. На собеседовании вопросы будут скорее всего почти такими же, но не забывайте про фактор стресса, поэтому может быть тяжелее. Когда делаете все эти проверки, ставьте себе дедлайн. Если вы себе не ставите конечную дату, то вы этого никогда не сделаете.

Как готовиться к собеседованию?

В первую очередь, надо побороть свой страх. Если это первое собеседование в вашей жизни, у вас будет стресс. На моем первом собеседовании присутствовали три маститых программиста, которые сказали мне: “Ну, рассказывай”. И это воздействовало на психику не потому что они страшные, а потому что такого никогда раньше не было. Поэтому, чтобы преодолеть этот страх, можно попросить друзей, чтобы они помогли: посадить друга, дать список вопросов и пусть погоняет вас по ним. На собеседовании возникнет ситуация, когда вас что-то спросят, а вы не будете знать ответ. Нельзя просто сказать: “Я не знаю” и дальше молчать. Можно ответить: “Я с этой технологией не работал, но предполагаю, что она работает таким образом…”. Ваше незнание надо превратить в то, что вы легко можете это выучить. Постарайтесь вести себя уверенно. Любое собеседование создано для того, чтобы оценить вас как разработчика, а вам самим — оценить собеседующих как ваших потенциальных коллег. Чувствуйте себя на равных: как вы выбираете компанию, так и компания выбирает вас.

Если я только начинаю учиться, как организовать свое обучение?

В обучении есть тонкая грань — это баланс личной жизни и работы за компьютером. Когда только вы начали учиться, у вас может быть много времени, но еще мало знаний, который вы могли бы развивать. Поэтому вы можете уделять программированию 3 часа в день. Потом, когда количество знаний увеличивается, вы можете тратить по 8 часов в день на обучение. Бывают ситуации, когда у вас есть запал и вы думаете работать по 15 часов в день, чтобы поскорее все выучить. В таком режиме вы долго не проработаете. Поэтому важно найти свой предел, когда вы будете понимать, что поработали достаточно, чтобы усвоить материал, но не переработали, чтоб выгореть. Я много учился и работал и это дало отрицательный эффект. Нужно отдыхать и разгружать свой мозг.

Можно ли обучиться программированию за 3 месяца?

И да, и нет. Если это уже не ваш первый язык программирования, то вы можете выучить его за 3 месяца. Я в свое время начинал с С++, это было тяжело, у меня были перерывы в несколько лет, но когда стал изучать Java, мне хватило 2 месяцев, чтобы освоить базу. Но если бы это был мой первый язык программирования и я не имел малейшего понятия о нем, для меня это был бы стресс и мне понадобились полгода-год, чтобы его освоить. Сейчас, когда мне приходится учить новый язык программирования, это каждый раз идет все быстрее и быстрее. Как понять, что тебе подходит IT, и организовать обучение: ментор Алексей Капустник отвечает на популярные вопросы программистов-новичков - 2Есть ли у вас вопросы к менторам Java-университета? Если да, оставляйте их в комментариях. Мы обязательно спросим менторов и дадим ответы в следующих текстах ;)
Комментарии (8)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Кирилл Уровень 35
16 февраля 2022
👍
Андрей Фомин Уровень 14
15 февраля 2022
откуда столько свободного времени то? на 8 часов в день! тут три то еле наберется...
Мария Уровень 32
15 февраля 2022
Было бы удобно,если бы был список литературы по другим направлениям,которые рекомендуется изучить. По java такой список видела, весьма благодарна,пользуюсь.
Justinian Уровень 41 Master
14 февраля 2022
👍 Все по делу
Павел Уровень 11
14 февраля 2022
На счёт новых технологий: Когда учился, то искал информацию по Spring, и всё попадались материалы с использованием xml, я в то время думал что это прошлый век, ведь где-то прочитал что всё прогрессивное человечество использует аннотации. Ну и зря. В общем: Если вам доступны материалы не по самой последней версии технологии, то используйте их, лучше знать версию 3, из 5 чем не знать ни чего.