21 ошибка за мою 21-летнюю карьеру программиста

Меня зовут Юля, и я занимаюсь пиаром в digital-агентстве IBRUSH. Разработка – одна из наших ключевых экспертиз, именно поэтому мы активно изучаем все, что с этим связано. Недавно нашли на просторах Medium очень занимательную статью, которую написал Ravi Shankar Rajan, и решили перевести ее, чтобы как можно больше специалистов смогли избежать некоторых важных ошибок, которые свойственны на самом деле многим разработчикам.

https://www.shutterstock.com/
https://www.shutterstock.com/

7 апреля 2020 года. Сегодня особенный день для меня – 21 год в программировании.

Уф! Будто это было еще вчера, но вот я уже программист среднего возраста с опытом работы в 21 год, который успешно пережил синусоидальные гребни и впадины коварного мира индустрии программного обеспечения. Да, это очень важный момент для меня, если не сказать больше.

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

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

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

Ошибка 1 — не думать о завтрашнем дне

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

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

Ошибка 2 — делать себя незаменимым

Ощущение собственной незаменимости дает прилив сил, но и вызывает зависимость. Вы наносите ущерб собственному росту, если продолжаете это делать.

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

Ошибка 3 — сжигать мосты

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

Проявите смиренность и искренность и соблюдайте правила хорошего тона даже с людьми, которые вам не особо нравятся

Ошибка 4 — не делиться знаниями

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

Знание — это полдела, а делиться им — вторая половина. Хорошие программисты общаются с младшими программистами и показывают им, как решать проблемы. Они не только объясняют им, как решить проблему, но и рассказывают, почему они приняли такое решение.

Ошибка 5 — игнорирование soft skills

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

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

Ошибка 6 — придерживаться одного стека

Сфера разработки никогда не перестает развиваться. Точно так же и профессионал в в области разработки должен развиваться вместе с отраслью и должен соответствовать темпу ее развития, чтобы оставаться актуальным и востребованным.

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

Ошибка 7 — срезать углы

Нет понятия «quick-and-dirty» код. Это просто плохой код. И точка. Никогда не срезайте углы и не принимайте для себя ничего второсортного.

Хороший программист познается во время кризисной ситуации. Если ваше поведение меняется во время кризиса, значит, вы не хороший программист.

Ошибка 8 — отсутствие документации кода

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

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

Ошибка 9 — быть вне политики

Мы все слышали, как технари говорят: «Я в стороне от политики. Я просто хочу внедрить технологию». Но это не работает.

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

Ошибка 10 — слишком долгое проектирование перед написанием кода

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

Не ищите идеальное проектирование, которого нет в мире программирования. Ищите достаточно хороший вариант, который вы можете использовать, чтобы начать. Хорошее проектирование работает как карта: оно должно меняться и развиваться, а не высечено на камне.

Ошибка 11 — недооценивать важность code-sense или “чутьё здравого кода”

По словам Роберта Мартина, «написание чистого кода требует дисциплинированного использования множества маленьких приемов, применяемых через болезненно приобретенное чувство «чистоты». Эти маленькие приемы все вместе называют code-sense или «чутьё здравого кода»».

Этот code-sense не только помогает нам отличать хороший код от плохого, но также помогает нам формировать стратегии для преобразования плохого кода в хороший код.

Ошибка 12 — использовать первое найденное решение

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

Помните, ваша работа как программиста не состоит в том, чтобы найти любое решение проблемы, но найти самое простое и наиболее оптимальное решение проблемы.

Ошибка 13 — не понимать, когда делать ничего не стоит

Лучшие программисты точно знают, когда что-то не нужно делать.

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

Дело не в том, чтобы избегать риска, а просто в выборе правильных моментов для этого.

Ошибка 14 — не признавать свое невежество

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

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

Ошибка 15 — прогибаться под давлением

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

Ошибка 16 — не налаживать контакты и не завоевывать доверие

Да, программисты могут существовать как одинокие волки, но лучшие программисты — мастера нетворкинга.

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

Ошибка 17 — не видеть общую картину

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

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

Ошибка 18 — изобретать велосипед

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

Уже есть ответы на проблемы, которые вы пытаетесь решить. Поэтому, когда вы пытаетесь выполнить задачу, проверьте, не решил ли ее кто-то до вас. Здесь вы не срезаете углы, а экономите силы.

Ошибка 19 — недостаточно хорошее знание бизнес-правил

Мы, программисты, иногда недооцениваем важность бизнес-правил. Если мы не будем четко знать бизнес-правила, мы не сможем эффективно внедрить решение.

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

Ошибка 20 — отсутствие коммуникации с командой

Конечно, не существует такого правила, что нужно непременно общаться.

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

Ошибка 21 — забывать о своем здоровье

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

Забота о здоровье — это не одноразовая задача. Это означает, что вы должны вписать это в свой ежедневный распорядок: следить за питанием, заниматься спортом и избавиться от вредных привычек.

И напоследок

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

Как правильно сказал Карлтон Фиск (профессиональный игрок в бейсбол):

«Определяет карьеру не то, чего ты достигаешь, а то, что ты преодолеваешь».

66
6 комментариев

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

1

Комментарий недоступен

2

Но далеко не все, согласитесь. Все зависит от опыта, грейда и потенциала 

Еще при батюшке царе, на заводах были привилегированные пролетарии (мастера), получавшие значительно больше своих коллег. Мне кажется, когда люди думают о карьере программиста, то видят себя именно в этой сравнительно небольшой группе. Однако реальность такова, что все не могут быть в ней и большинство будут "рабами 21 века", в своих agile спринт-галерах. И таки да - это в равной степени относится почти ко всем другим профессиям.