Вячеслав Маякин, CEO Innovation BOX | regional incubator, SPACE HUB:
«Прежде всего, важно различать между собой два типа разработчиков: кофаундер и наемный сотрудник.
Разработчик-кофаундер – это основа проекта, чаще всего это CTO. Другими словами, это лидер команды, тот, кто полностью отвечает за работоспособность продукта. Это технический гуру, с опытом от 3-4 лет работы в компаниях с различными технологиями, нередко с опытом собственных проектов. Программисту-кофаундеру необходим сильный характер и харизма уровня СЕО. Его задача – строить продукт, строить команду, управлять разработкой и внедрять новые технологии. Однако в отличие от СЕО, его не интересует ни стратегия, ни тактика, ни маркетинг: он воплощает гипотезу и бизнес-модель в реальность максимально «элегантными» и простыми решениями, затрачивая при этом минимум ресурсов. Средний возраст успешного СТО – за 25-30 лет. Он уже видел стартапы, уже работал в крупной компании, имеет опыт руководства командами, стрессоустойчив, не боится «факапов».
Разработчик как наемный сотрудник (даже если в контракте предусмотрено equity на поздних этапах) – это боевая единица. Постольку стартапы должны быть максимально эффективны и «бережливы», это лучшая и самая мобильная, разносторонне развитая единица из возможных в рамках бюджета. Это либо «звезда» (опытный разработчик 25-30 лет, командный игрок, чей уровень экспертизы максимально содействует требованиям к продукта, может совмещать несколько позиций, необходим для этапа масштабирования и выхода на рынок); либо «на вырост» (молодой разработчик 17-25 лет, готовый расти вместе с проектом, коммуникабельный и талантливый, этап MVP проверка модели).
В стартапе важна максимальная эффективность и скорость при минимальных затратах. Поэтому для разработчика любого типа ключевыми качествами для работы в стартапе являются: работа в команде, постоянное развитие, готовность к переменам и «факапам». На каждом этапе нужны разные разработчики, стабилен только СТО. На старте необходим энтузиаст и талант для создания MVP, на этапе роста – наемные сотрудники с соответствующим опытом».
Владимир Чирва, Software Development Director at Sigma Ukraine:
«Прежде всего, это должен быть квалифицированный инженер. Но чтобы быть идеальным, он (или она) должен быть командным игроком, лояльным к компании и проекту, клиентоориентированным, с хорошими коммуникационными навыками, приятным в общении, занимающимся спортом, проактивным в решении вопросов, любящим ездить в командировки и не боящимся трудностей».
Евгений Яковлев, Project Manager Sigma Software:
«Программист – это инженер, человек который знает все о немногом и немного обо всем. Он в первую очередь специалист в своей области знаний, умеющий не только писать код, но и понимающий механизмы работы систем, с которыми и над которыми он работает. Он умеет говорить и очень важно, что он умеет слушать. Способен взглянуть на проблему не только со своей точки зрения, но и взглянуть на нее с высоты птичьего полета поняв «картинку целиком». Подкован не только в инженерии, но и способен понимать литературу\музыку\спорт. Открыт, доброжелателен, умен».
Юрий Бабич, СЕО и сооснователь The MakeApp:
«В первую очередь, идеальный программист – это думающий программист, который мыслит немного шире, чем написано в техническом задании, он не додумывает лишнего, но понимает последствия тех или иных действий. Также, он должен уметь вносить свои предложения в разработку продукта, если понимает целесообразность каких-либо изменений. Идеальный программист – это, в некотором роде, сомневающийся человек, который задается вопросом: «Как это можно сделать лучше, эффективнее?» и может увидеть то, что не увидели другие.
Еще одно полезное качество для разработчика – это любознательность, которая распространяется на разные сферы жизни. Проблема многих программистов в том, что они не заглядывают дальше своего языка программирования и не интересуются, что происходит в мире и какие новые тенденции в разработке сейчас актуальны.
Конечно, определить на этапе собеседования является ли программист для проекта идеальным – невозможно, это становится понятным по ходу работы, но зачастую во время собеседования можно увидеть насколько объективно человек оценивает свои возможности и каковы его желания. Также очень важным является понятие совместимости, сможет ли разработчик легко влиться в готовую команду. Поэтому в нашей компании на собеседовании могут спросить, например, какую музыку слушает соискатель и чем интересуется помимо работы. Подобные вопросы дают понимание того, чем живет человек и в каком ритме он находится».
Кирилл Бигай, соучредитель и управляющий партнер Preply:
«Идеальный программист должен быть одновременно стратегом и гиком до мозга костей. Одного умения кодить мало: нужно уметь абстрагироваться от частностей и видеть задачу целиком. Все новое его будет искренне захватывать и восхищать, а накопленный опыт станет острым инструментом в точных руках хирурга. Тем не менее, при необходимости он него можно будет легко избавиться – старый опыт не должен довлеть над быстро меняющимися парадигмами и подходами.
Если уже совсем помечтать про идеального программиста (таких почти не бывает), то он должен сочетать с техническими навыками умения менеджера. Пусть даже речь не идет про управление коллективом людей, но, по крайней мере, собственным временем. Правильная приоритезация задач чрезвычайно важна в современном динамичном мире».
Александр Борняков, управляющий партнер бизнес-инкубатора WannaBiz:
«Идеальный программист – это человек с базовым высшим образованием (физика, математика), с английским не только для переписки, но и разговорным. Не интроверт, хороший коммуникатор, инициативный. С пониманием того, что достигнув очередной вершины, надо стремиться к следующей. Другими словами, ориентированный на постоянное саморазвитие. С таким набором качеств профильное образование «программист» считаю опциональным».