[Перевод] Как разработчику перестать быть потребителем технологий

aoktuzytp04wtcccqa-g01hinzc.jpeg


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

Почему ты выбрал такой подход к решению?


  • Не знаю. Прочитал в какой-то статье.
  • Не знаю. Скопипастил его из X.
  • Не знаю. Такой же подход я использовал в предыдущем проекте.
  • Не знаю. Кто-то мне посоветовал.


Этот паттерн можно назвать »потреблением вместо творчества». Потреблением без сомнений и вопросов. Потреблением, потому что можно спрятаться за чьим-то авторитетом.

Я видела разработчиков, берущих решение других людей как должное. Без малейших раздумий о выбранном подходе, не заморачиваясь анализом. Да, конечно, когда Дэн Абрамов говорит мне, как правильно использовать React, или в документации написано, что это единственный способ применения API, то с этим нужно согласиться. Тем не менее, когда вы используете какой-то технический контент без хотя бы доли скептицизма, то вы всё равно сможете продвинуться в своей карьере, но есть вероятность, что это вам помешает.

Bullshit повсюду


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

В какой-то момент я осознала, что подавляющее большинство технического контента в Интернете — это bullshit (мой пост тоже может быть bullshit). В туториалах показывают вредные паттерны. В статьях полно концептуальных ошибок. Да и люди не идеальны! Сениор-разработчики — это не всегда хорошие разработчики. Решения технических руководителей могут быть далеки от идеала. Хорошо продающаяся и правильно работающая архитектура приложения может быть совершенно поломанной. Я встречала людей на должности сениоров, которые нифига не соображают в программировании! Но тем не менее, они пишут о нём в Интернете! А потом приходит кто-то и говорит: я использовал предложенное этим человеком решение, потому что он сениор в компании X. Разумеется, в этом есть определённая логика. Однако, апелляция к авторитету глубоко ошибочна.

«Одна из величайших заповедей науки — «не доверяй апелляции к авторитету»… Слишком многие такие утверждения оказывались ужасно ошибочными. Авторитеты должны доказывать свои доводы как и все остальные» — Карл Саган


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

Почему так происходит?


Мы ленивы. В большинстве своём мы не глупы, но ленивы. Если кто-то даёт нам решение, и оно работает, то зачем задумываться? Почему бы просто не скопипастить его и не выпустить в продакшен?

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

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

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

Как перестать быть потребителем технологий?


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

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

Верьте в себя. Ваши решения ничуть не хуже тех, которые есть в Интернете.

Продолжайте учиться, будьте любознательны. Быть разработчиком — значит постоянно учиться. Достигните понимания используемой вами библиотеки или фреймворка, так вы сможете применять их оптимальным образом. Иногда люди используют библиотеки без глубокого их понимания, это приводит к неправильному применению базовых концепций и написанию усложнённого или менее производительного кода.


Не потребляйте. Творите. Задавайте вопросы. Будьте любопытными.

© Habrahabr.ru