Руководство командой разработчиков программного обеспечения


Специфика разработки программного обеспечения - часть 6


И этих уровней могут быть десятки. И на каждом уровне абстракций их деталей становится все больше и больше. «Я бы сказал, что отнесение программирования к "инженерным" дисциплинам сослужило ему плохую службу, создав иллюзию "вещности" и "объективности" результатов труда программистов. Тогда как по роду своему программы ближе всего к словам языка (к "Именам"), чем к традиционным объектам материального мира. И к конструкциям над этими словами — песням, сказкам, метафорам. И эта отнесенность касается всех уровней программирования: от системных библиотек до больших прикладных комплексов» .

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

Кроме того, программист должен обладать маниакальной усидчивостью, сосредоточенностью и упорством для перебора всех возможных вариантов поведения своих абстракций и доскональной проработки всех деталей. Проработка должна быть абсолютно точной и не содержать ни одной ошибки, неправильного, лишнего или отсутствующего символа исходного кода (а это сотни тысяч строк, а порой и миллионы). Инструменты программирования: синтаксические анализаторы, компиляторы и проч., — могут лишь незначительно облегчить эту работу.

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


Начало  Назад  Вперед