среда, 21 сентября 2022 г.

Советы технического директора IT-компании выпускникам

 

Для того чтобы стать разработчиком, необходимы тысячи часов самостоятельных занятий и практики по созданию программного обеспечения.

Вот на чем стоит сосредоточиться программисту-новичку, который хочет начать карьеру:
Написание большого количества кода во время работы над проектом. Задача, которую нравится выполнять, — залог быстрого обучения. Кроме того, нужно завести репозиторий на GitHub, это одновременно и портфолио, и аргумент, который позволяет дать определенный кредит доверия новичку.
Изучение базовых вещей, основ программирования. Во-первых, на собеседовании очень часто интересуются, знает ли соискатель базу. Во-вторых, это нужно самому специалисту, чтобы понимать, что он делает.
Нетворкинг. Нужно встречаться с коллегами и потенциальными работодателями, «продавать» себя. Слабый нетворкинг чаще всего приводит к сложностям в поиске работы. И наоборот, посещение конференций, хакатонов, мероприятий для программистов позволяет не только пообщаться с «братьями по разуму», но и установить связь с возможным работодателем.

Выделите время для изучения основ разработки программного обеспечения — общие структуры данных, методы и концепции программирования. С вопросами о них есть шанс в дальнейшем встретиться на одном из собеседований. Но, что более важно, это общие инструменты, которые каждый инженер-программист должен иметь в своем багаже. Вы должны четко понимать, что представляет собой хорошая программа, которая работает корректно и быстро.

Вы должны хорошо ориентироваться в списках и словарях избранного вами языка программирования.

Что касается списков, вы должны знать:
синтаксис для работы с любым элементом в списке;
синтаксис для получения n-го элемента из списка; понятие индекса и 0 индексации;
принцип сортировки списка — осознавать, что, если список длинный, это может занять некоторое время;
различия между массивами и списками; стеки и очереди.
Для словарей ключевыми элементами знания являются:
синтаксис использования словаря для поиска и вставки;
понятие пары «ключ — значение»;
поиск по ключу;
распространенные случаи использования: «пакет атрибутов» для описания вещи, справочная таблица;
связь между словарями и JSON (сериализация);
понятие хеширующих функций (и то, как они связаны со словарями);
принципы использования криптографических хешей, таких как SHA-1.
Концепции программирования
Концепций, которые вы можете изучать, очень много. Но основное — это понимание принципов работы с функциями и далеко не шапочное знакомство с объектно-ориентированным программированием и его логикой.

Функции — основные строительные блоки программ. Есть множество нюансов их использования — от хорошего подбора имен до понимания того, когда какую функцию лучше использовать. Всё это приходит с опытом.

Что касается объектно-ориентированного программирования, нужно:
хорошо разбираться в инстансах и классах;
не менее хорошо — в наследовании (подклассах);
знать, как определить класс при помощи метода инициализации на избранном вами языке;
быть готовым обсудить инкапсуляцию, абстракцию и полиморфизм..