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

В первую очередь хочется выделить 4 навыка, которые так или иначе требуются программисту, и обладание которыми позволяет быть существенно более привлекательным для работодателя, чем коллеги, этими навыками не владеющие. Правда, не сказать, что они не связаны с программированием: всё-таки мы ведём речь именно о нём, поэтому все они, так или иначе с ним соприкасаются.



Во-первых, это навык самообразования.

Важно, чтобы вы интересовались своей областью деятельности и регулярно читали книги и статьи по своей теме. Причём нужно читать и «классическую» литературу (книги по алгоритмам, по математике), и современную техническую (книги по языкам программирования, новым технологиям – обращайте внимание на год издания, не берите книги 4-5 летней давности), а также следить за новостями из мира технологий и программирования, чтобы быть в курсе всех самых актуальных новинок. Для последнего рекомендую читать специализированные сайты, лично я предпочитаю habrahabr.ru. Кстати, можете добавить в ваше резюме про регулярное чтение литературы и список из последних прочитанных вами книг по специальности – хороший работодатель оценит!



Во-вторых, владение средствами командной разработки программ

Сюда входят несколько компонент.

1) Системы учёта «багов» (ошибок).

2) Системы контроля версий.

3) Системы авто документирования.



В третьих, технологии программирования.

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

программирования. Начиная от банальных, но обязательно узнать и современные технологии: SCRUM, Agile и другие. Есть вероятность, что в компании, где вы будете работать, будет применяться что-то из этого. Тогда у вас уйдёт гораздо меньше времени на то, чтобы во всём разобраться, да и устроиться на работу будет легче.



В четвертых, паттерны проектирования.

Обязательно познакомьтесь с паттернами проектирования. Паттерны – это шаблоны,

типичные способы решения часто встречающихся проблем в проектировании программы.

Как в архитектуре: если большой зал, то нужно поставить колонну, чтобы подпереть потолок. Если вы знакомы с паттернами проектирования, то, встретив подобную типичную задачу в программировании, вы сразу примените паттерн и пойдёте в разработке дальше. А если не знаете – то будете сидеть и выдумывать: а не подвесить ли потолок на канатах, которые будут держать дирижабли? Или не делать большой зал и понаставить стен? Или колонны сделать горизонтальными под потолком, как балки, а потолок пусть на них опирается? Вот чтобы такого не городить, стоит изучить эту тему. На собеседованиях про это тоже спрашивают почти всегда. Изучать можно начать с Википедии или с книги – есть книг, посвященные именно паттернам. Изучая, практикуйтесь в их применении.

Популярные шаблоны