Папа
Высший разум
(144970)
13 часов назад
Обязательно нужно:
1) Высшее профильное образование, в состав которого входит хорошая математическая база: матан, дискретная математика, теория алгоритмов, реляционная алгебра и др. дисциплины. Без этого не будешь понимать, что пишешь.
2) Опыт программирования "дома". Программирование - это не только теория, но и много практики. Не для демонстрации кому-то, а для того, чтобы на интервью ты не думал по полчаса над вопросами вида "как написать цикл с постусловием" или "что такое рекурсия".
Желательно:
3) Стажировка в серьёзной компании. Во-первых, туда можно сразу же пойти работать и джуном (а с улицы сейчас трудно куда-либо устроиться). Во-вторых, в резюме это смотрится намного лучше, чем опыт в "Рогах и копытах" в подвале дома на окраине Люберец.
4) Прорешать 100 задач на leetcode или чём-нибудь аналогичном. Включая уровень Hard. Бинарный поиск, переворот массива или строки, поиск в дереве, элементарные побитовые операции - это всё должно от зубов отскакивать. Т.е. все базовые алгоритмы.
Не нужно - почти всё остальное, о чём пишет нейросеть выше:
5) Сообщества программистов, форумы, конференции и прочее. Для джуна это - потеря времени, пустая тусовка без цели. Туда надо идти, когда опыт есть, и когда умеешь ставить себе цель (и то десять раз подумать, стоит ли).
6) Свои проекты на гитхабе, если только это не что-то действительно уникальное и стоящее, что бывает в 0.0001% случаев. Остальное - типовые калькуляторы и прочая лабуда - никому из работодателей неинтересны. Туда же можно отнести и джуновское "портфолио". Если у тебя есть научные публикации, они его украсят, а в остальном - с ним больше проблем, чем пользы от него. Начиная с того, что чайнические "проекты" могут лишь произвести негативное впечатление, а если они уровнем повыше, то замучаешься доказывать, что они твои, а не скопированы откуда-то.
7) "Инструменты разработки". Ну, один-то понадобится, ты же будешь в чём-то писать и компилировать код. А остальное потом приложится, это не первой важности знание, и на интервью никто не спрашивает, умеешь ли ты работать в Идее или Вижуал Студио.
8) Словоблудие о нестандартных задачах. Хорошо, если ты будешь уметь их решать, но ничего страшного, если первые года 3 будешь обходиться стандартными. Никто не ждёт от стажёра или джуна великих свершений, ждут базовых знаний, аккуратного исполнения рабочих заданий и желания учиться.
9) Курсы и сертификаты от всяких шараг. Одни работодатели их игнорируют, а другие предвзято смотрят на их обладателей. Если у тебя есть сертификат от IBM, Microsoft или Oracle, подтверждающий глубокое знание их продуктов, это аргумент, с этим можно идти к серьёзному работодателю. А сертификатами курсеры или гикбрейна можно обклеить туалет или пустить их на растопку, больше они ни для чего не нужны.
рамазан Тогашев
Ученик
(149)
14 часов назад
Высшее образование: Многие программисты имеют дипломы в области компьютерных наук, информационных технологий или смежных дисциплин. Однако не всегда требуется формальное образование; многие успешные программисты являются самоучками.
Курсы и сертификаты: Существуют много онлайн-курсов и профессиональных сертификатов (например, от Coursera, edX, Udacity и др.), которые могут помочь вам освоить конкретные технологии и инструменты.
Практика:
Проекты: Работа над личными проектами, участие в открытых проектах на GitHub и разработка приложений помогут вам получить практический опыт.
Стажировки: Участие в стажировках или практике в компаниях даст вам возможность получить реальный опыт работы и познакомиться с профессиональной средой.
Навыки:
Решение проблем: Программисты часто сталкиваются с задачами, которые нужно решать нестандартным образом.
Алгоритмы и структуры данных: Знание основ алгоритмов и структур данных необходимо для эффективного написания кода и понимания его производительности.
Работа в команде: Умение работать в команде, коммуникабельность и способность понимать требования других участников команды — это важные навыки.
Инструменты и технологии:
Освойте основные инструменты разработки, такие как системы контроля версий (например, Git), среды разработки (например, Visual Studio, IntelliJ IDEA и др.), а также основы работы с базами данных.
Сообщество:
Участие в сообществах программистов (форумы, конференции, митапы) поможет вам обмениваться опытом, находить единомышленников и получать советы по развитию карьеры.
Самообучение и адаптация:
Индустрия технологий быстро развивается, и программирование — это область, где необходимо постоянно обучаться и адаптироваться к новым инструментам, языкам и методам работы.
Портфолио:
Создание портфолио с вашими разработками и проектами поможет лучше представить свои навыки потенциальным работодателям.
Следуя этим рекомендациям, вы сможете создать прочную базу для своей карьеры программиста, независимо от вашего начального уровня.