2021-06-01 21:41:37
Тут недавно меня спросили чем отличается хороший разработчик от плохого? Была интересная дискуссия, в результате родился некоторый неочевидный набор навыков, которыми, по-моему мнению, должен обладать хороший специалист. Итак, поехали:
- Самый неочевидный навык —
умение понятно и кратко объяснять. Объяснять приходится много: писать документацию, рассказывать новым коллегам о вашем коде, "продавать" руководству свои идеи и т.д. Чем хуже вы объясняете, тем больше времени придется тратить потом: на ответы на вопросы (если документация непонятна), на споры и обсуждения и т.д.
Отдельно хочу заметить, что самый быстрый способ научиться объяснять — это учить других. Мне повезло: в 11-ом классе школы мы вели математический кружок у семиклассников. Не то, чтобы большой опыт, но навык остался надолго. Если есть возможность кого-то поучить, даже бесплатно — пользуйтесь, не задумываясь. Главное, чтобы ученики были мотивированы
- Самый важный навык -
поиск компромиссов. Идеальных решений не бывает: где-то придется пожертвовать производительностью, где-то функциональностью, где-то написать временный код и т.д. Искать баланс всегда сложно.
-
Код — (необходимое) зло. Звучит контр-интуитивно, но это так. Самый лучший коммит в git тот, который удаляет больше кода, чем добавляет. Хороший разработчик должен это понимать.
-
Getting stuff done. Важно в любой профессии, но в творческих и исследовательских сферах (разработка где-то посередине) это особенно сложно. Тем не менее, задачу нужно сделать. Где-то придется сжать зубы и поработать до полуночи, где-то разбить задачу на несколько (лучше сделать часть, чем не сделать ничего), где-то найти смелость признаться сначала себе, а потом окружающим, что сроки срываются (и сделать это как можно раньше!). Важная часть getting stuff done —
estimation. Обычно разработчики сами ставят себе сроки, нужно уметь объективно оценивать обстоятельства и свои силы
314 views18:41