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

Видео типа “день из жизни” не показывают всей правды.

Я просыпаюсь, иду на работу, пишу какой-то код, обедаю, иду на встречу, играю в пинг-понг с коллегами, иду ужинать и день заканчивается. Каждое из этих видео на YouTube, кажется, следует одной и той же точной формуле.

Многие люди, желающие попасть в отрасль, могут посмотреть на одно из этих видео и почувствовать, что инженер-программист не так уж и много работает. Большинство видео показывают, что вы пишете код в какой-то момент в течение дня, но такое представление крайне искажено.

Я работаю в стартапе, и хотя его внутренняя культура очень расслаблена, наши рабочие дни обычно заполнены. По опыту я знаю, что большую часть дня сижу за письменным столом и пишу код, другая же часть дня занята совещаниями. Иногда встречи затягиваются, и это мешает мне писать код, но именно написание кода, вероятно, составляет 80% моего обычного дня.

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

Не все работают в крупной технологической компании в районе залива. 

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

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

Программная инженерия не для всех.

Вы видели стиль жизни и видели зарплаты. Но задумывались ли вы о содержании самой работы? Начните с размышлений о своей личности. Вы  —  “человек людей” и построение отношений ваша сильная сторона? Тогда помните, что вы не сможете тратить много времени на разговоры с людьми. Да, вы можете сотрудничать со своими коллегами для решения сложных проблем, но этого будет недостаточно, чтобы удовлетворить вас.

А как насчет способностей? Вы будете решать очень абстрактные задачи очень абстрактными методами. Если вам нужно использовать визуальные подсказки для решения проблем, вы можете побороться. Если вам нравится визуализировать именно то, над чем вы работаете, и постоянно пробовать и ошибаться, чтобы решить проблему, вы тоже можете побороться.

Вы можете подумать, что, если вам платят достаточно, то вы сможете пережить бурю. Но сможете ли вы пережить бурю длиной во всю карьеру? Если у вас есть возможность преуспеть в другой области, почему бы не сделать это вместо этого?

Вы не знаете, что будете делать.

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

Если только вы не работаете в очень маленьком стартапе, у вас, вероятно, не будет большого права голоса в том, как продукт выглядит и ощущается. Вы не сможете выбрать стек технологий. Вы будете просто писать код и решать проблемы написания кода.

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

Послушайте, я не пытаюсь отпугнуть вас от мечты о карьере в программировании. Но подумайте об этом, исследуйте вопрос и убедись, что вы знаете, на что идёте. Это гораздо большее, чем гламур звания инженера-программиста.

Читайте также:


Перевод статьи Ryan Kwan: What software engineers don’t tell you

Предыдущая статьяМонада - программируемая точка с запятой
Следующая статьяПолиморфизм с интерфейсами в Golang