Привет! Я — Unity-разработчик, работаю в этой сфере несколько лет. За время работы у меня успел накопиться опыт, которым я хотел бы поделиться с теми, кто только думает о том, как именно начать карьеру программиста.
В конкретно этой статье я постараюсь разобрать(опираясь на свои знания) одни из самых популярных вопросов, и ответить на них исчерпываю…
Привет. Самостоятельно учусь на разработчика Java. Не знаю как вообще ориентироваться. К чему я сейчас готов. Что я могу. То есть я вообще не понимаю как и где проверить свои силы. Годен ли я на junior или что еще..
Расскажу, как я это делал, может, тебе это поможет.
1) На ютубе есть полно собеседований на джуна, включай их и отвечай на вопросы вместе с собеседниками. Это покажет, насколько хорошо ты готов теоретически.
2) Можно написать в компании, попробовать попросить тестовые задания, иногда отправляют просто так.
3) Покажи код ребятам поопытнее, возможно, они тебе что-нибудь посоветуют и скажут твой примерный уровень.
Сам джун-джуновый, но опыт некоторый есть)
Можно посмотреть вакансии джунов. Что в них требуют. Какие фреймворки и библиотеки. Если есть некоторая уверенность, то можно даже откликаться на них и идти на собеседования. Даже если не пройдёте, то не страшно. Хотя бы будет понимание того какие знания стоит подтянуть.
По вакансиям можно составить выборку библиотек и фреймворков, которые чаще всего требуются. Насчет Java не могу точно сказать, так как не изучал. Но скорее всего нужно как минимум знать стандартную библиотеку помимо непосредственного знания основных фич языка.
Еще будет, скорее всего, большим плюсом знание основных алгоритмов и структур данных, в том числе из стандартной библиотеки. Просто понимать что и как устроено. Какие плюсы и минусы у того или другого алгоритма/структуры на фоне похожих
Моя следующая статья как раз будет для разработчиков вашего уровня. В ней я расскажу о том, как примерно определить свой уровень, и как узнать, куда именно двигаться.
Если вкратце, то ответивший до меня человек абсолютно прав, и самое большое развитие даст именно общение с другими разработчиками. Под общением не подразумевается непосредственное вербальное взаимодействие, отличным решением будет, например, посмотреть гитхаб репозитории на интересующем языке, или же выполнение тестовых заданий разных компаний
привет! я где-то 1.5 года назад создавал дискорд сервер для помощи изучающим java любого уровня - вступай :) https://discord.gg/MvH7fK3cck
там конечно не такая большая активность, но человек 5 наберется..
К чему я сейчас готов. Что я могу. То есть я вообще не понимаю как и где проверить свои силы.Смотришь требования к вакансиям джунов. Выбираешь из-этого списка одну или несколько технологий. Делаешь пет-проекты с этими технологиями, код выкладаваешь на github.
Например, делаешь веб-приложение на спринге, где можно зарегистрироваться и поиграть в крестики-нолики, быки и коровы, виселицу, а также посмотреть историю своих игр.
Сделаешь похожую штуку, и у тебя будут опыт разработки, портфолио, знание нужных технологий. Тогда можешь смело искать работу джуном, параллельно готовясь к собеседованиям.
ИМХО с появлением и распространением контейнеров Java потеряла все свои преимущества, и зайти в Java разработку с каждым годом все сложнее. В стартапах ее не встретишь, а в банках и прочих крупных компаниях предпочитают просто не связываться с джунами а переманивать рублем миддлов и синьоров. Так что совет, которому не обязательно следовать - лучше попробуй Go или Rust для бэкэнда, или же TypeScript для фронта.
По поводу годности. Есть такой проект: real world app, https://github.com/gothinkster/realworld
Это реализация базового функционала портала medium.com по имеющейся спецификации. Т.е. идея - сделать бэкэнд который умеет указанный набор вещей. Если ты способен сделать что то подобное - то ты вполне тянешь на джуна.