February 5, 2020

Советы от сеньора

Алексей Цой, Senior Developer в Luxoft Ukraine

14 лет опыта

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

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

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

Естественно, в этом вам помогут книги, ставшие классикой. Это Герб Саттер и его «Exceptional C++», «More Exceptional C++» и «Exceptional C++ Style». Это Андрей Александреску и его «Modern C++ Design: Generic Programming and Design Patterns Applied» и «C++ Coding Standards: 101 Rules, Guidelines, and Best Practices», написанная вместе с Саттером. И, конечно же, книги Скотта Майерса.

А вот чего не следует делать, так это браться за задачи, в которых не понятна их постановка. Это относится не к технической части, каким образом написать код, а именно к требованиям. Задавайте вопросы. Иначе есть риск сделать бессмысленную вещь, потратить проектное время, создать угрозу срыва дедлайнов. Такое не понравится никому.

И напоследок, более философское. Ответственно подходите к поиску места работы. Не стоит тратить свое время и силы на проекты, которые вам не нравятся, не интересны, кажутся неактуальными. Ведь без интереса в работе вероятность профессионального развития очень низка. И не только в IT.