Как часто мы о них слышим, но как мало мы о них знаем. Зачастую, многие ошибочно считают, что это только про умение разговаривать с коллегами на работе, умение находить консенсус в дебатах и тому подобное.
Soft skills — это те навыки, которые напрямую не относятся к программированию, но тесно связаны с ним.
Branching — умение работать в нескольких ветках, даже одновременно. Это умение разбивать большую таску на множество мелких и даже параллельных, а также умение быстро переключаться между контекстами.
Drawing — умение доносить свои мысли через диаграммы. Даже обычные квадраты и стрелки вместо UML лучше, чем ничего.
Writing — умение писать документацию и выражать свои мысли письменно. Не только джуны должны уметь писать документацию.
Intriguing (интриги) — умение понимать и вести политику в офисе. Это тоже важный навык, хотя многие считают, что «они просто программисты». Нужно уметь понимать, кому написанный код нужен, а кому — мешает.
Testing — умение построить систему тестирования, написать правильные юниттесты.
Reporting. Многие умеют кодить, но написать об этом не могут. Вроде и накодил, и протестировал, и задеплоил, но написать об этом не сумел, что перечеркивает труд за всю предыдущую неделю.
Volunteering — умение участвовать в активностях, за которые не платят. Если их делать, то карьера будет расти: помощь в организации профессиональных митапов, выступлений и тд.
Delivering. Многие программисты не понимают, как код с их ноутбука попадает на продакшн. Нужно уметь понимать это.
Tweeting — умение работать с социальными сетями. Лучше сразу иметь дело с тем, кто понимает, что соц. сети — зло, если пользоваться ими 8 часов в день, если вступать в дискуссии в твиттере, если в инстаграмме лайкать все подряд. Соц. сети тоже можно превратить в инструмент для работы.
Relaxing. Если человек ничего не может сказать насчет того, как он отдыхает, то лучше не работать с такими людьми. Если человек не умеет отдыхать, то у него будет низкая производительность.
Charging. Многие не умеют брать деньги за свою работу и не могут сказать, сколько они стоят. Умение торговаться, умение понять условия и посчитать стоимость этих условий.
Asking — умение правильно задавать вопросы.