Перевод статьи Аны Улин «Things Nobody Told Me About Being a Software Engineer».
Мой отец начал учить меня Basic, когда мне было около семи лет, и с тех самых пор я знала, что буду зарабатывать на жизнь созданием программ. Конечно, мне это было интересно, а кроме того, у меня это хорошо получалось. Но между «программированием» и профессиональной разработкой ПО есть большая разница. И под словом «большая» я понимаю нечто вроде Великого каньона в Аризоне.
В этой статье я изложила (без всякого порядка) те факты о работе в тех-индустрии в качестве разработчика ПО, о которых мне никто не говорил.
- Это нормально, когда у вас в тестах строк больше, чем в продакшен-коде.
- То, что в начале карьеры мне приходилось безальтернативно пользоваться vi, означает, что его сочетания клавиш никогда не выветрятся из моей памяти.
- Мы проводим невероятно много времени за настройкой билдов, релизов и инструментария. Порой столько же, сколько за написанием кода. (И я даже не говорю об операциях, on-call и всех прочих вещах, которые превращают «программирование» в «продукт в руках пользователей»).
- Мой пол, возраст, национальность, сексуальная ориентация, вес и даже моя одежда могут (и будут!) иметь влияние на восприятие качества создаваемого мной ПО. (Другими словами, IT это вовсе не меритократия, и здесь совершенно недостаточно просто хорошо выполнять свою работу).
- Написание кода это лишь малая часть того, что нужно сделать для поставки готового программного обеспечения.
- Довольно большая часть моей рабочей жизни будет подчинена выбору, который делают вице-президенты, едва ли имеющие представление о том, что они делают, или новоиспеченные основатели компании без опыта в индустрии.
- Все новое это хорошо забытое старое. От MySpace к Facebook, от IRC к Slack. PHP опять считается классным, а функциональное программирование в тренде.
- Кто-то может засомневаться в моих технических навыках только потому, что у меня хорошие навыки общения с людьми.
- Умение управлять собственной энергией и настроением это один из самых важных навыков, который пригодится как при сложном процессе отладки, так и при пугающих ревью кода.
- Ставка вашей зарплаты при выполнении одинаковой работы может отличаться на 100% в зависимости от того, работаете вы в крупной корпорации или маленькой компании.
- Не все должности разработчиков ПО одинаково престижны в глазах местного сообщества. (Иначе говоря, хорошие специалисты по фронтенду и автоматизации тестирования ужасно недооцениваются).
- Идея о том, что работа в маленьком стартапе может вас обогатить, устарела. Сегодня мало кто доходит до IPO, поэтому вы можете скопить больше денег, если пойдете работать в более крупную, стабильную компанию.
- CSS это самый сложный из современных языков.
- Стажировка должна всегда оплачиваться по рыночным ставкам.
- Через 15 лет в индустрии мой профессиональный вклад заключается в том чтобы подталкивать ребят писать тесты получше и побольше, а также в том чтобы заставлять людей разговаривать друг с другом.
- Не обязательно побеждает лучшая технология. Фактически, часто бывает наоборот.
- Код, проходящий тесты с первой попытки, вызывает огромные подозрения, поэтому мне приходится инвертировать формулировки в тестах так, чтобы тестирование прошло неудачно – это меня убеждает, что все работает, как положено. (Кстати: почему это не является стандартной фичей фреймворков тестирования? Мне нужен способ менять некоторые формулировки на противоположные, чтобы убедиться, что они проверяют именно то, что я задумала).
- Правильное использование смайлов это важный коммуникационный навык.
- Разработка это работа в первую очередь с людьми.
У вас есть, что добавить к этому списку? Поделитесь в комментариях!
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]
неизбежные проблемы со спиной