Что делает вас отличным программистом и хорошим командным игроком?

0
1150
views

Перевод статьи «What Makes You a Great Programmer on The Team?».

Хороший программист vs отличный программист

Большинство разработчиков программного обеспечения стремятся стать не просто хорошими, но отличными профессионалами.

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

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

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

Никто не может знать всего.

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

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

Давайте рассмотрим несколько качеств, отличающих лучших программистов.

1. Позитивное отношение к делу

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

При необходимости они принимают вызов и не отступают перед трудностями, потому что небезразличны к своему делу.

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

Хороший программист

2. Сильные коммуникативные навыки

Выдающиеся коммуникативные навыки напрямую связаны с выдающимися техническими навыками.

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

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

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

3. Отличные разработчики прекрасно справляются с управлением временем и задачами

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

4. Умение быть хорошим командным игроком

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

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

Отличный программист

5. Фокус на пользователе

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

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

Хорошие и отличные разработчики

Хороший программист умен, а отличный – мудр.

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

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

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

Хороший программист становится отличным благодаря увлеченности своим делом, целеустремленности, практике, пониманию, честному труду и разнообразному опыту. (10 лет разнообразного опыта это намного лучше для развития разработчика, чем 10-кратное повторение опыта одного года).

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

Самые выдающиеся программисты приятны в обхождении и всегда готовы уделить время товарищам по команде.

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