Все, что выглядит слишком оптимистично, имеет скрытую цену.

Странно писать о чем-то слишком позитивном. Однако я начал замечать, что многие проблемы при разработке программного обеспечения могут быть вызваны слишком позитивными и увлеченными людьми. Позволь мне объяснить.

Выгореть

Разве не странно, что так много молодых людей уже чувствуют себя выгоренными после нескольких лет работы? Я продолжаю встречаться с людьми, которым нужен перерыв всего через год или два. Я тоже испытал выгорание (даже дважды). В первый раз мне пришлось сделать шестимесячный перерыв. Во второй раз, который был совсем недавно, мне потребовался полный годовой перерыв, прежде чем я смог вернуться к программированию.

В этом году я провел много времени с людьми, не связанными с технологиями, и заметил одну вещь: мы не особо жалуемся на нашу работу. Мы жалуемся на плохих начальников и плохие проекты, но не на кодирование как таковое. Мы воспринимаем страсть как должное. Удивлен? Просмотрите предложения о работе. Страсть часто является одним из обязательных атрибутов, перечисленных на них. Ожидается, что мы будем любить свою работу, и даже более того, мы должны сделать программирование центром наших вселенных.

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

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

Блестящие новые вещи

Еще один аспект, который сильно предвзято относится к негативным отзывам, - это отслеживание новых тенденций, исходящих от компаний FAANG. Попробуйте высказаться против SOA или Docker. Попробуйте предложить использовать более старый, более зрелый язык и SSR. Это похоже на страсть к работе. Люди сразу приходят к выводу, что вы плохой разработчик, так как «блокируете прогресс».

Не все используют тысячи микросервисов, таких как Uber, и не каждой компании нужен K8S. Однако трудно не попасть на борт - или хотя бы притвориться на борту. Сколько организаций не смогли перейти на React или Angular и остались с разделением базы кода между старым «плохим» кодом, который работал, и новым кодом, который разработчики все еще пытаются заставить работать?

В этой недавней статье показано, как обстоят дела во многих организациях:



Лучшие практики

Когда я был техническим руководителем, я часто слышал фразу «потому что это хорошая практика». Затем я задавал дополнительные вопросы и часто замечал, что человек не совсем понимал решение. Это была моя лакмусовая бумажка, чтобы узнать, когда копать глубже.

Сколько из этих «универсальных» передовых практик на самом деле не универсальны? DRY (не повторяйся) часто произносится в одном предложении с KISS (Keep It Simple Stupid), но часто это взаимоисключающие методы. «Простой» означает отсутствие ненужных абстракций, но запуск СУХОГО кода ведет именно к преждевременным абстракциям.

Я лично использую правило 3Х:

«У нас есть иллюзия повторного использования. Не расстраивайся. Это эндемическая болезнь разработчиков программного обеспечения. Действительно, профессиональная опасность.

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

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

Резюме

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

Ожидается, что мы, как разработчики, полюбим программирование. Но почему? Простая правда в том, что это хорошо для работодателей. Сколько ужасных историй написали разработчики игр? Тем не менее, многие молодые люди мечтают о работе в игровой индустрии только для того, чтобы через несколько лет их заменила еще одна группа молодых, наивных людей.

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

Не поймите меня неправильно, мне очень нравится быть разработчиком программного обеспечения и мне нравится программировать. Однако я не уверен, нравится ли мне больше быть центром моей вселенной.

Я хочу попробовать другие вещи, и это абсолютно нормально.