Перейти к содержимому

Последовательный план как стать Junior. Что, как и когда учить, а главное как долго? (мой опыт)

IT с Виталием Карнаухом

0:00 / 0:00

Последовательный план как стать Junior. Что, как и когда учить, а главное как долго? (мой опыт)

154 065 просмотров · 5 л. назад
IT с Виталием Карнаухом
33 тыс. подписчиков
154 065 просмотров · 5 л. назад
Вы часто просили меня рассказать о том, что нужно делать и учить для того, чтобы стать программистом. В этом ролике я расскажу последовательный план действий и шагов для человека, который хочет с 0 выйти на уровень Junior и Trainee. Азы программирования В первую очередь если вы совсем начинающий то вам нужно освоить азы программирования. Сюда входят такие самые простые и концептуальные для всего программирования концепты как: переменные, условные выражения, циклы, массивы, кортежи и работа с ними. Здесь мы должны изучить все базовые понятия до того уровня, чтобы нам было комфортно с ним работать, естественно решая попутно максимальное кол-во задач. Также на этом этапе в целом неважно на каком языке вы будете обучаться, потому что азы похожи от языка к языку, просто немножко отличается синтаксис между языками. Как понять когда можно двигаться к следующей теме: Здесь важно чтобы вы уже не задумываясь могли писать все конструкции по типу циклом и условных выражений, а также решать простые задачки, типа развернуть число задом наперед с учетом этих базовых инструментов, найти самый большой элемент в массиве или найти символ с самым большим кол-вом вхождений в строке и так далее. Вот когда будете спокойно решать эти задачи, можно двигаться дальше. Примерное время изучения азов: ~1-2 месяца при загруженности 10-12 часов в неделю Алгоритмы и структуры данных Здесь мы должны освоить более глубокие понятие алгоритмов и структур данных т.к: матрицы, деревья, графы, сложность алгоритма, оптимизации алгоритмов, бинарный поиск, сортировки массива, использования кортежей (так называемы мапы ключ значение), а также рекурсия. Как понять когда можно двигаться к следующей теме: Если вы можете написать сортировку пузырьком, быструю сортировку, знаете условия бинарного поиска, можете его написать, знаете какие бывают деревья, в чем отличие деревьев и графов, можете посчитать факториал с использованием рекурсии, а также порешали парочку задач с ними базового уровня на Hackerrank, Leetcode. Примерное время изучения алгоритмов и структур данных: ~1-2 месяца при загруженности 10-12 часов в неделю Навыки конкретного языка Здесь также есть концептуальные вещи которые пересекаются для всех направлений, но все равно сложно выделить какой-то такой способ как легко понять что именно в этом направлении уже можно двигаться к следующим темам. Вот я сколько уже работаю на JS и на Java и все равно до сих пор изучаю язык и его нюансы, потому что нюансов реально много и я вообще не думаю что есть такой человек который знает абсолютно все. Как понять когда можно двигаться к следующей теме: Тут проще всего будет погуглить книжки по типу "Язык программирования Java" или "Язык программирования JS" возьмите книжку с хорошим рейтингом и спокойно себе изучайте, обязательно попутно делая задачи которые будут даваться в книге. Это будет достаточно верный способ выучить язык, я в свое время таким точно способом изучил Java. После прочтения парочки таких книг вы уже будете нормально разбираться в языке. Примерное время изучения языка программирования: ~2-3 месяца при загруженности 10-12 часов в неделю Технологии На самом деле если вы хотите пойти работать на Джуна, а точнее сказать Trainee то есть практиканта то во многих компаниях берут только с начальным знанием технологий. Возьмите 10-30 позиций на Trainee, Junior и даже Middle на ваше направление скажет Junior Java. Сохраните себе список требований из каждой из этих вакансий и после этого проведите незамысловатый анализ ваших вакансий и посмотрите какие технологии между этих собранных вакансий пересекаются больше всего, на пересечении этого и будет лежать правда. Скорее всего это как раз и есть те самые популярные технологии, на которые вам стоит обратить внимание. Как понять когда можно двигаться к следующей теме: Я рекомендую вам пройти парочку уроков по каждой из этих технологий, чтобы вы могли ответить на вопрос Что она делает? Как делает? Что я могу делать на этой технологии? А дальше уже сразу идти пробоваться на собеседование и уже после него если вы допустим не прошли то вы сразу будете видеть где у вас пробелы таким образом с помощью проб и ошибок вы будете закрывать свои пробелы в технологиях. Примерное время обучения с учетом средней нагрузки: C теми же входными условиями я думаю что это займет примерно 2-3 месяца чтобы все это освоить. Английский язык А также хочу сказать что никто не отменял английский язык, здесь тоже наверно на Джуниора можно не ставить себе какие-то определенные рамки, но язык нужен, вам его прийдется выучить по-любому если вы хотите работать программистом, поэтому чем раньше начнете , тем для вас будет лучше. 00:00 Начало 1:21 - Общий план действий 2:42 - Азы программирования 6:26 - Алгоритмы и структуры данных 9:19 - Навыки конкретного языка 12:54 - Технологии 15:35 - Необходимые side навыки Соцсети:   / itwithvitaly     / itwithvitaly   #какСтатьJunior #последовательныйПлан #чтоУчитьДжуну