Найти в Дзене
BeGeek

Что необходимо знать Junior разработчику?

Если лениво читать, то велкам смотреть видео. Что нужно знать человеку, чтобы устроиться на работу junior разработчиком? Здесь нет однозначного ответа. Все зависит от фирмы, в которую собираетесь устроиться на работу; от языка программирования; от области, в которой собираетесь работать и разрабатывать. Сферы (области) программирования очень сильно различаются. Например, чтобы пойти разработчиком на C / C++, джуну необходимо много чего знать, это не то же самое, что пойти джуном (даже мидлом) в разработку backend / frontend и писать на языке программирования php, python, ruby, javascript и др. Не говорю про верстальщиков, у которых только html, css и php. В общем все очень сложно, но давайте разбираться. Кто такой junior вообще? Напишите в комментариях кто такой junior по Вашему мнению. По моему мнению, junior - это тот человек, который закончил институт, имеет какие-то базовые знания, имеет за плечами немного практических задач, возможно даже только тех, которые были в институте. В це

Если лениво читать, то велкам смотреть видео.

Что нужно знать человеку, чтобы устроиться на работу junior разработчиком? Здесь нет однозначного ответа. Все зависит от фирмы, в которую собираетесь устроиться на работу; от языка программирования; от области, в которой собираетесь работать и разрабатывать. Сферы (области) программирования очень сильно различаются. Например, чтобы пойти разработчиком на C / C++, джуну необходимо много чего знать, это не то же самое, что пойти джуном (даже мидлом) в разработку backend / frontend и писать на языке программирования php, python, ruby, javascript и др. Не говорю про верстальщиков, у которых только html, css и php.

В общем все очень сложно, но давайте разбираться. Кто такой junior вообще? Напишите в комментариях кто такой junior по Вашему мнению.

По моему мнению, junior - это тот человек, который закончил институт, имеет какие-то базовые знания, имеет за плечами немного практических задач, возможно даже только тех, которые были в институте. В целом, имеет какой-то багаж знаний и теория у него свежая, по таким предметам, как теория вероятности, мат. анализ, знает различные алгоритмы сортировки (математика), а если была кафедра прикладной информатики, то это прям совсем хорошо. Конечно, практического опыта в большинстве случаев мало, но теория богатая, а практику можно быстро подтянуть.

Джуном можно пойти и в 30 лет. Соответственно, ни о каком институте речи уже быть не может. Если даже человек учился по нужной специальности, но не занимался ничем после института, то знания все улетучились. Что тогда делать? Для начала необходимо обзавестись своей учеткой github, куда надо будет что-то выложить. Это относится ко всем случаям, даже если Вы только что закончили институт.

Что выкладывать на github? Это может быть как Ваш pet проект (какая-то своя разработка), так и выполненные заказы с freelance или просто друзьям / знакомым помогали. На собеседовании будет что показать и рассказать, почему Вы выбрали именно такой язык программирования (или показать, что Вы владеете таким языком программирования), почему выбрали такой подход и такое решение.

Так же будет просто огромным плюсом, если Вы сначала определитесь в какой области Вы хотите работать и чем заниматься. Например, это может быть как gamedev, backend, frontend, software, machine learning, AIM, разработка прикладного ПО, работа с базами данных, аналитика данных и многое-многое другое. От этого выбора можно смотреть на языки программирования, фреймворки, подходы. Смотрим, какие языки программирования подходят к выбранной нише (области), смотрим на синтаксис языков, на подходы к решению задач. Думаем, какой язык программирования Вам лучше подойдет для изучения и решения задач из профильной области. Для начала можно выучить, точнее начать писать, более легкий язык программирования. Со временем внедрять и переходить на более сложные языки программирования.

Дальше начинаем пробовать что-то делать. Это могут быть заказы на фрилансе, помощь друзьям и знакомым, свои хотелки и умные мысли, возможно, Вы где-то работаете и там нужно сделать автоматизацию некоторых процессов.

Допустим, у Вас все получилось, Вы создали какие-то программы, освоили язык программирования на базовом уровне. Дальше необходимо посмотреть на популярные фреймворки. Эти самые фреймворки надо изучить, хотя бы ознакомиться поверхностно, чтобы понимать для чего они нужны и какие задачи можно решить с их помощью. Прям в google можно набрать «топ 10 фреймворков на python backend» (это пример). Если на парочке фреймворков (или на одном) Вы что-то напишете, то это будет большой плюс в Вашу копилочку.

Помимо стека под Вашу область, пусть это будет backend, будет большим плюсом, если Вы посмотрите и на соседние стеки, например, frontend разработка. Это необходимо для понимания всего процесса работы приложения. Можно поверхностно пройтись по популярным фреймворкам, по основам, заложенным в стек, понять как устроены различные процессы и как из frontend приходят запросы в backend и обратно.

С backend разработкой более менее понятно, а что делать, если Вы хотите пойти в gamedev? Здесь становится все сильно сложнее. Помимо простого изучения языка программирования и популярных фреймворков, Вам необходимы знания в теории вероятности, прикладной математике, необходимо понимать и разбираться в алгоритмах, просчетах, расчетах и многом другом. И это необходимо знать разработчику игр. Хотя текущие реалии такие, что можно ничего не знать и писать игрушки на том же unity, где за Вас уже все продумали и сделали движки. Отсюда вытекает опять то, что надо понимать в какую область Вы идете работать, на каком языке и что необходимо делать.

Остался последний момент.

Вот Вы выбрали сферу деятельности, область ИТ, язык программирования, посмотрели на фреймворки, но вот учеба совсем не задается. Что делать и как развиваться?

Здесь каждый человек индивидуален. Кто-то может прочитать книгу и сразу начать программировать, а кто-то читает книгу несколько раз, переписывает весь код из книги и, в конечном счете, все равно ничего не может сделать сам, ничего не получается. Некоторые просто гуглят, находят нужный материал, разбираются в нем и все хорошо. Кому-то нужны курсы, хотя бы видеокурсы, и помощь наставника.

Не забывайте о практике. Сколько бы Вы не читали книги или не смотрели видеоролики, все равно необходимо что-то делать. Теория и практика должны быть примерно на одном уровне. Это как в слесарном деле - знать теорию недостаточно, руками ничего сделать не получится сразу, нужна практика.