5 ошибок, от которых программистам стоит отвыкнуть в 2018 году

15219
1

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

«Рави, ты — отстой. Ты приносишь трудности каждый день», — заявил мой менеджер Джим. Это было несколько лет назад. Я тогда удивился. Точнее, я был в шоке. 

«Что же, Джим. Не знаю, почему ты так думаешь, — ответил я, не скрывая сарказма. — Я отличный разработчик и ценный актив для команды. Клиенты буквально едят у меня из рук, а по знаниям  я ушел далеко вперед своих современников». Я злился все больше с каждой минутой.

«У тебя есть проблема, Рави — это твое мышление. И если ты не сделаешь с этим что-то и быстро, ты никогда не станешь по-настоящему отличным программистом», — сказал Джим, глядя мне прямо в глаза.

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

«Мой код — ЛУЧШИЙ»

Фридрих Ницше сказал очень емкую вещь:

«Как бы высоко я не вскарабкался, меня всегда преследует пес по имени Эго».

Любая команда нуждается в людях, которые скромные, но в то же время голодные и умные. Скромные — потому что они меньше ФОКУСируются на себе, но больше — на своих коллегах. Голодные — это значит, что у них очень четкая рабочая этика, они всегда настроены на то, чтобы закрывать задачи в срок и вносить свой вклад, насколько это возможно. Умные — не значит образованные, но обладающие хорошим эмоциональным интеллектом.

Не нужно критиковать чужой код, потому что однажды найдется тот, кто в пух и прах разнесет твой. Лучше стараться предоставить объективное и профессиональное мнение — но не суждение! Важно быть скромным и учиться у окружающих.

Эго всегда препятствие в работе. Когда начинаешь верить в собственное величие — страдает креативность. Потому что в этот день ты навсегда перестаешь учиться.

«Я могу все пофиксить за один миг»

Ангела Дакворт однажды сказала:

«Не существует сокращений для истинного превосходства».

Сделай себе одолжение: разреши извлекать максимум из своей жизни. Если ты проводишь все свободное время за вычищением углов зубной щеткой, значит что-то пошло не так. Сокращенный путь не означает, что в конечном итоге ты быстрее доберешься к цели.

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

Воспримите этот совет всерьез. Этот урок дорого мне обошелся. Халява на самом деле никакая не халява.

«Я все помню. Мне не надо ничего документировать»

Дик Брэндон очень точно выразился:

«Документация — как секс. Когда он хороший, все очень хорошо, а когда плохой — все же лучше, чем ничего».

Документация — это как касторка для программистов. Менеджеры считают, что она полезна, но разработчики ее ненавидят. Тем не менее великие разработчики делают ее неотъемлемой частью повседневной жизни.

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

В любом из этих сценариев доступ к документации, API спецификации, мануалам и комментариям определяет, будет сорван дедлайн по проекту или нет.

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

«Это не я!»

Брюс Ли очень точно подметил:

«Ошибки всегда можно простить, если у человека достает храбрости их признать».

И это, пожалуй, одна из самых важных характеристик по-настоящему великого девелопера.

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

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

Зачем мы тратим на это время? Ведь его можно было бы использовать, чтобы устранить баг. Здоровое отношение к работе, это когда мы можем сказать: «Да, мой косяк, давайте быстренько решим эту проблему, обещаю ее не повторять». Репутация спасена, как и лояльность коллег по отношению к нам.

Чем раньше ты признаешь свою ошибку, тем меньше времени понадобится на то, чтобы ее изучить и исправить. Вот так просто!

Твое «готово» — это на самом деле не готово

Рик Лемонс очень в точку заметил:

«Не заставляйте пользователя предоставлять информацию, которую система уже знает».

Если программирование — это секс, то найдется очень много неудовлетворенных компьютеров. Ты можешь просто зайти, сделать что-то по-быстрому, отвернуться и захрапеть. Поэтому один из концептов, с которым ты должен бороться, это «тяп-ляп и готово».

Не забывай, готово — это когда программа протестирована и одобрена пользователем в соответствие с его запросами. А когда у тебя все работает — это еще не готово.

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

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

Успешные продукты — это то, что пользователи принимают с закрытыми глазами, то, что становится частью их ежедневной рутины.

Итог

Итак, каким одним словом можно подвести итог всему вышесказанному? Отношение.

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

Как очень правильно суммировал Зиг Зиглар:

«Твое отношение, а не способности, определит твою высоту».

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

Комментарии | 1

Поиск