Быть разработчиком: о чем вам обычно не говорят

Перевод статьи Аны Улин «Things Nobody Told Me About Being a Software Engineer».

Что значит быть разработчиком

Мой отец начал учить меня Basic, когда мне было около семи лет, и с тех самых пор я знала, что буду зарабатывать на жизнь созданием программ. Конечно, мне это было интересно, а кроме того, у меня это хорошо получалось. Но между «программированием» и профессиональной разработкой ПО есть большая разница. И под словом «большая» я понимаю нечто вроде Великого каньона в Аризоне.

В этой статье я изложила (без всякого порядка) те факты о работе в тех-индустрии в качестве разработчика ПО, о которых мне никто не говорил.

  1. Это нормально, когда у вас в тестах строк больше, чем в продакшен-коде.
  2. То, что в начале карьеры мне приходилось безальтернативно пользоваться vi, означает, что его сочетания клавиш никогда не выветрятся из моей памяти.
  3. Мы проводим невероятно много времени за настройкой билдов, релизов и инструментария. Порой столько же, сколько за написанием кода. (И я даже не говорю об операциях, on-call и всех прочих вещах, которые превращают «программирование» в «продукт в руках пользователей»).
  4. Мой пол, возраст, национальность, сексуальная ориентация, вес и даже моя одежда могут (и будут!) иметь влияние на восприятие качества создаваемого мной ПО. (Другими словами, IT это вовсе не меритократия, и здесь совершенно недостаточно просто хорошо выполнять свою работу).
  5. Написание кода это лишь малая часть того, что нужно сделать для поставки готового программного обеспечения.
  6. Довольно большая часть моей рабочей жизни будет подчинена выбору, который делают вице-президенты, едва ли имеющие представление о том, что они делают, или новоиспеченные основатели компании без опыта в индустрии.
  7. Все новое это хорошо забытое старое. От MySpace к Facebook, от IRC к Slack. PHP опять считается классным, а функциональное программирование в тренде.
  8. Кто-то может засомневаться в моих технических навыках только потому, что у меня хорошие навыки общения с людьми.
  9. Умение управлять собственной энергией и настроением это один из самых важных навыков, который пригодится как при сложном процессе отладки, так и при пугающих ревью кода.
  10. Ставка вашей зарплаты при выполнении одинаковой работы может отличаться на 100% в зависимости от того, работаете вы в крупной корпорации или маленькой компании.
  11. Не все должности разработчиков ПО одинаково престижны в глазах местного сообщества. (Иначе говоря, хорошие специалисты по фронтенду и автоматизации тестирования ужасно недооцениваются).
  12. Идея о том, что работа в маленьком стартапе может вас обогатить, устарела. Сегодня мало кто доходит до IPO, поэтому вы можете скопить больше денег, если пойдете работать в более крупную, стабильную компанию.
  13. CSS это самый сложный из современных языков.
  14. Стажировка должна всегда оплачиваться по рыночным ставкам.
  15. Через 15 лет в индустрии мой профессиональный вклад заключается в том чтобы подталкивать ребят писать тесты получше и побольше, а также в том чтобы заставлять людей разговаривать друг с другом.
  16. Не обязательно побеждает лучшая технология. Фактически, часто бывает наоборот.
  17. Код, проходящий тесты с первой попытки, вызывает огромные подозрения, поэтому мне приходится инвертировать формулировки в тестах так, чтобы тестирование прошло неудачно – это меня убеждает, что все работает, как положено. (Кстати: почему это не является стандартной фичей фреймворков тестирования? Мне нужен способ менять некоторые формулировки на противоположные, чтобы убедиться, что они проверяют именно то, что я задумала).
  18. Правильное использование смайлов это важный коммуникационный навык.
  19. Разработка это работа в первую очередь с людьми.

У вас есть, что добавить к этому списку? Поделитесь в комментариях!


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

1 комментарий к “Быть разработчиком: о чем вам обычно не говорят”

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх