Я недавно давал доклад на локальном митапе, который организовывают ребята из Neobis. О чем я рассказывал на митапе фронтендеров.
Тема моего доклада была “Советы бекендщика”. Тема о трюках повышения производительности бекендовых запросов со стороны фронтенда. Все эти трюки были описаны Ильей Григориком в его книге “High Performance Browser Networking”. В докладе самих трюков было мало, но желающие могут открыть для себя много нового по адресу https://hpbn.co.
Кто такой программист?
Начал я доклад с вопросов, и весь доклад был построен на моих вопросах аудитории. Вопросы были следующие. Задумывались ли программисты, зачем они вообще пишут код? Зачем? Какую пользу несет код? Какую пользу приносит сам программист? С чем вообще программист работает?
Программист не пишет код. Всегда он решает какие-то задачи или проблемы. Какие проблемы он решает? Что их объединяет?
Большинство проблем, которые решает программист связаны со временем. Он экономит время, путем написания кода. Где-то автоматизирует процесссы, где-то упрощает регистрацию, где-то ускоряет процесс прохождения границы на паспортном контроле. Получается, что основной ресурс с которым работает программист — это время. А еще эмоции, ведь когда что-то не работает или работает, но криво, появляется негатив. А когда все работает шустрее — позитив. Ведь нам нравится пользоваться booking.com или airbnb для поиска квартиры. Или заказывать билеты на самолет через aviasales.ru. Мы экономим кучу времени, и процесс этот нам доставляет удовольствие.
Однако, не все программисты это понимают. Они не понимают самого важного. Зачем они пишут код? Какую задачу он решает? Какую пользу бизнесу принесет этот код? А может вообще его не нужно писать?
Не делай велосипеды
Программисты любят делать велосипеды. Например давайте сделаем еще одну CRM. Но зачем? Это дорого, долго и, не факт, что взлетит. Поэтому, когда заказчик приходит и просит написать ему CRM, следует порекомендовать ему посмотреть и изучить текущие решения на рынке. После изучения — внедрить и попробовать попользоваться. И когда появятся проблемы, которые не решает выбранная CRM уже думать о том, что ее следует написать.
При решении всех проблем старайтесь думать как основатель. Это даст вам кучу плюсов. Один из них — вы будете писать меньше кода и решать больше проблем. При этом возрастет и качество, потому что вы будете лучше понимать, когда нужен gitlow, когда нужно написать тесты и втащить CI, и когда деплоить нужно, а когда нет. Все заказчики любят таких разработчиков и хотят взять их в штат. Такие разработчики стоят больше денег.
Вывод
Программист — человек, который экономит своим пользователям время и не доставляет негативных эмоций при работе. Программист, который думает как его заказчик, всегда знает сколько кода писать и знает, когда остановиться. Он становится профессионалом. Будь профессионалом!
Ранее статья была опубликована тут.