talk-about-programmer-career

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

  • Хорошо умеет решать проблемы.
  • Трудолюбивый и ленивый одновременно.
  • Способен понимать чужой код.
  • Увлечён программированием.
  • Любит учиться ради самой учёбы.
  • Хорошо разбирается в математике.
  • Обладает хорошими коммуникативными навыками.
  • Сильные навыки ведения дебатов.
  • Чрезвычайно оптимистичен.
  • Чрезвычайно пессимистичен.

 

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

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

3. Способен понимать чужой код-- Это критически важно. Многие превосходные программисты застревают на пороге продвижения к «величию» из-за этого пункта. На самом деле не так важно, насколько хорошо вы умеете переписывать код, -- но вам нужно сотрудничать с другими над существующими проектами, учиться на открытом исходном коде при запуске новых проектов и перенимать хорошие приёмы из существующих кодовых баз, и всё это требует способности понимать чужой код.

4. Увлечён программированием-- Вы должны любить программирование. В большинстве случаев страсть — это движущая сила величия.

5. Любовь к учёбе ради самой учёбы-- Учёба подобна плаванию против течения; если не двигаться вперёд, отстаёшь. Это бесконечное занятие.

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

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

8. Сильные навыки ведения споров-- Та же причина, что и в пункте 7.

9. Чрезвычайно оптимистичен-- Великие программисты, лишь ненадолго задумавшись, сразу могут определить, что способны выполнить задачу.

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

 

Ниже приведены дополнительные пункты (не обязательные для всех великих программистов):

1. Особенно организован.

2. Хорошо управляет людьми и программными проектами.

3. Способен писать хорошие проектные документы.

4. Способен оценивать время.

5. Широко читает техническую литературу.

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

7. Пишите код правильно с первой попытки.

8. Обладать навыками в других областях.

Источник: http://www.codeceo.com/article/10-attributes-of-a-great-programmer.html