Короткие ответы
Чем на самом деле занимается инженер-программист весь день?
Большую часть времени вы тратите на написание нового кода, чтение кода других людей во время проверки, исправление ошибок и обсуждение с товарищами по команде того, что делать дальше. Встречи, планирование и наставничество занимают больше времени, чем ожидают новички. Старший инженер часто лично пишет меньше кода, чем младший, тратя больше времени на проектные решения, обзоры и разблокировку других.
Нужна ли мне степень в области компьютерных наук, чтобы стать инженером-программистом?
Нет, но это остается наиболее распространенным и наименее трудным путем. Четырехлетняя степень преподает алгоритмы, структуры данных и системные концепции, изучение которых на работе обходится дорого. Выпускников Bootcamp и инженеров-самоучек нанимают, особенно в небольшие компании, но обычно им требуется сильное портфолио или работа с открытым исходным кодом, чтобы заменить диплом.
Подвержена ли разработка программного обеспечения риску со стороны ИИ?
Частично это уже есть. Инструменты, встроенные в современные редакторы кода, теперь пишут большую часть рутинного кода — шаблонного кода, первых набросков тестов, переводов между языками — для инженеров, которые используют их регулярно. Гораздо сложнее автоматизировать решение, что создавать, почему и как следует сформировать систему, чтобы она выдержала контакт с реальными пользователями и сбои.
Сколько зарабатывают инженеры-программисты?
Это сильно варьируется в зависимости от страны и компании. В Соединенных Штатах медианная сумма составляет около 133 000 долларов в год; в Германии примерно 69 000 евро; в Индии, где в отрасли занято больше всего людей, средний показатель по стране приближается к 900 000 фунтов стерлингов. Старшие и штатные инженеры крупных технологических компаний могут зарабатывать в несколько раз больше среднего показателя по стране, если включить в них вознаграждение за акции.
В чем разница между инженером-программистом, программистом и разработчиком?
На практике мало — названия пересекаются и компании используют их непоследовательно. «Программист» — самый старый термин, в котором особое внимание уделяется написанию кода; «разработчик» часто встречается в веб- и продуктовых компаниях; «Инженер-программист» опирается на идею применения дисциплинированных процессов, тестирования и проектирования, заимствованных из старых инженерных областей, для создания программного обеспечения. Должностные инструкции редко различают их последовательно.
Действительно ли собеседование по программированию необходимо для приема на работу?
Да, в большинстве авторитетных технологических компаний: живое или домашнее техническое собеседование, часто связанное с проблемами алгоритмов в общем документе или на доске, остается стандартным фильтром, наряду с этапом проектирования системы для более старших должностей. Небольшие компании и стартапы с большей вероятностью заменят их платным пробным проектом, обзором портфолио или разговором о прошлой работе.