пятница, 16 апреля 2010 г.

Профессионализм программиста

Давайте подумаем, что подразумевает под собой профессионализм программиста? Предлагаю мои мысли на эту тему, буду рад вашим дополнениям.

1. Профессионал должен уметь работать со старыми проектами. Не часто нам достаются проекты, которые мы делаем с самого начала. Чаще в руки программиста попадают старые, недоделанные кем-то проекты. Зачастую совмещающие различные подходы к разработке, запутанные и неправильно спроектированные. Конечно, каждый программист захочет переписать все заново. Но не всегда это возможно. Профессионал должен уметь сделать из любого проекта качественный продукт.

2. Профессионализм должен проявляться в умении точно оценить временные затраты на разработку и в умении не превысить их.

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

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

5. Опытный программист должен быть нацелен прежде всего на результат. А также получать удовольствие от процесса. Очень важное умение - довести дело до конца и выдать результат.

6. С опытом и профессионализмом приходит ценнейший навык решать сложными проблемы простыми методами. Правило KISS было, есть и будет важным постулатом в разработке.

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

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

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

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

4 комментария:

Unknown комментирует...

Действительно, так и получается, профессионал - просто робот: максимум результата - минимум творчества. Так в любой работе.
Ну и нет такой профессии - программизм :)

Анонимный комментирует...

Стоит учитывать параметры среды, в которой работает программист, параметр социальных взаимоотношений в команде и в целом в компании, это накладывает свои отпечатки на становление идеального программиста. Есть даже наука такая психология программирования(http://www.ppig2010.org)

Unknown комментирует...

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

Y George комментирует...

9 пункт - самый проблемный для меня сейчас. надо с ним отважно бороться =)