Я встречала немало крутых технических лидеров и руководителей небольших групп или продуктов. Типаж успешных людей всегда схож: уравновешенность и сдержанность, холодный ум и легкая хитрость, дальновидность и техничность. Вариации с поправкой на темперамент случались – но, так или иначе, всем лучшим были присущи описанные выше черты.
Досконально изучили язык или фреймворк для лабораторных и знаете, какие из возможностей применить для лучшей презентации задания? То, что нужно! Но помните, если вы не есть хороший разработчик – пусть не виртуозный, но как минимум хороший, – успех не заглянет к вам в гости. А значит, для начала следует воспитать в себе и нижеприведенные черты портрета разработчика-профессионала.
Портрет третий:
Главные обязанности программиста – создание надежного, поддерживаемого и расширяемого кода. Оптимизация скорости, рефакторинги, обновление версий пакетов и актуализация инструментов – одни из основных сопутствующих зон его ответственности.
История скорее про глубину, чем про широкие просторы смежных знаний. За вычетом, разумеется, описанных ранее бесценных ответвлений для развития прикладных интересов. Вы сдержаны, увлечены, интровертны, упорны и щепетильны – что ж, у вас есть чудесная возможность не лезть в начальники и сделать виртуозную высокооплачиваемую карьеру ценой логического ума и преданности своему выбору.
Вы обладаете рациональным мышлением, с легкостью проходите IQ-тесты, оставляя далеко позади других участников, в дружеских отношениях с точными науками, не прочь поизучать статистику и математику без лишних принуждений, любите собирать собственно разработанные инженерные конструкции, паяете или тесно дружите с радиоэлектроникой? Тогда – добро пожаловать.
В этой роли как нигде вам позволительно быть интровертом, но не «аутистом» – важно уметь продуктивно обсуждать решения с другими. Разработчики-виртуозы умеют читать чужой код, понимать его логику. Кросс-ревью кода сейчас – стандарт «де-факто» любой крутой компании. И если вы не умеете чувствовать коллег, местами быть лояльным и соглашаться с мнением, отличным от вашего, а также не склонны проявлять тактичность в критике других – вам будет трудно преуспеть.
Самодисциплина – еще одна неизменная черта лучших представителей данного вида IT-специалистов. Быть в курсе: максимально обновлять операционные знания, впитывать всё новое и держать в голове большой набор информации «в ширину» – неизбежная «домашняя работа» успешного программиста.
На моем пути встречались разные типажи программистов-исполнителей, вызывавших восторг, легкую зависть и понимание, что ты среднестатистический посредственный представитель своего IT-шного вида на их ярком фоне.
Победители и участники международных олимпиад по программированию, досконально знающие все базовые алгоритмы и их модификации – те, кто со студенческой скамьи днями просиживал за решением задач спортивного программирования. Они способны комбинировать, совершенствовать непростые для понимания структуры данных, оптимизировать алгоритмы, молниеносно находить наиболее подходящий вариант для описанной ситуации. Скорость набора, горячие клавиши – каждый нюанс создает сложнодостижимый уровень. Именно такие разработчики оказываются в ядрах ключевых для мира продуктов, способных двигать отрасль и прогресс человечества вперед. Они – те, кто тратит всё свободное время, личную жизнь на погружение в абстракции. Чаще, сродни ученым и творческим личностям, увлекаются диаметрально противоположными сферами: фотографией, музыкой, и следуют им с той же маниакальный щепетильностью, добиваясь результатов не хуже многих профессионалов. Нашли в такой картине себя? Обратите внимание на недостающие мазки – и, быть может, вы впишете свое имя в историю разработки ПО.
Но есть и другие виртуозы, оставившие алгоритмику и олимпиады в стороне. Разработчики бизнес-решений, популярных сервисов – те, кто качественно и надежно переносят процессы реального мира в мир виртуальный. Не всем дано, не каждому интересно манипулировать алгоритмами и приближать свою ежедневную работу к реалиям спортивного программирования. Но вы всегда можете конкурировать иным непобедимым оружием – качеством.
Легко продумываете граничные случаи, чувствуете связь автоматизации с предметной областью, учитываете всё до мелочей, планируете в повседневной жизни ваши действия на случай, если что-то пойдет не так в каждой итерации? Звонка в Хьюстон от вас не дождаться? Вероятно, вы станете уважаемым бизнес-разработчиком.