Основываясь на собственном опыте, хочу добавить некоторые свои соображения в дополнение к тем, которые приводит автор статьи «Без мифов и легенд о профессии программиста: часть 1». Начну с того, что профессия программиста требует от ее обладателя терпения, выдержки и настойчивости.
Как правило, ожидаемый результат от работы программы никогда не получается с первого раза. Нужно сделать много попыток, прежде чем будет получен достойный результат.
Порой какая-нибудь буква, напечатанная на русском регистре вместо латинского, например, буква О или другая внешне незаметная ошибка в программном коде приводит к самым неожиданным результатам или к полному его отсутствию. Избежать подобных ошибок вряд ли сможет кто-либо.
Программирование без ошибок – это утопия. А значит, нужно терпение и выдержка, чтобы еще и еще раз устранять шаг за шагом все ошибки в программном коде с целью получения ожидаемого результата.
Отдельной темы достойно тестирование разработанных программ, когда работа программы проверяется путем подстановки различных мыслимых и немыслимых исходных данных. Например, вместо цифры 0 пользователь может ввести букву О и программа должна распознать эту ошибку и выдать пользователю соответствующее диагностическое сообщение.
Программисту всегда следует помнить о том, что пользователь разрабатываемой им программы случайно или даже преднамеренно будет вводить непредусмотренные программой данные. Если при этом программа «сломается», то ответственность все равно остается на плечах программиста. А значит, программисту необходимо в своей программе предусмотреть все мыслимые и немыслимые комбинации данных, причем таким образом, чтобы последующая обработка этих данных не приводила к ошибкам или к ложным результатам.
Что же касается лавров и славы, то, как правило, пользователи вспоминают о программистах лишь при возникновении ошибок в работе программы и совершенно не вспоминают о разработчиках программного обеспечения, если оно работает безукоризненно. Вот и появляются хакеры, желающие прославиться хотя бы на чужой беде, занимаясь взломом программного обеспечения, написанного коллегами-программистами.
Отдельно хочется отметить, что программное обеспечение есть продукт интеллектуального труда и по своей сути, а в некоторых случаях и по букве закона, является интеллектуальной собственностью разработчика. Однако если разработчик не является программистом-одиночкой и работает в каком-либо предприятии (организации), то, как правило, этот результат принадлежит организация, если иное не оговорено в контракте с работающим в организации программистом.
На некоторых программистов подобное положение вещей действует угнетающе. Это очень важно в случае, если программист решит продавать разработанные им программы. Ему всегда следует помнить, является ли он на самом деле обладателем возможно созданного им самим интеллектуального продукта. Это есть еще одна реальная трудность существующей профессии.
Если программисты работают большим коллективом над созданием сложного программного обеспечения, то каждому из них отводится определенная роль. И в рамках отведенного функционала программист очень часто обязан работать в условиях серьезных ограничений, которые не позволяют проявлять ему весь известный ему арсенал средств программирования.
В такой ситуации программист подобен рабочему, стоящему у конвейера, например, по сборке автомобилей и закручивающего одну-две гайки в течение всей смены. Хотя возможно этот рабочий мог бы собрать весь автомобиль, а программист создать весь программный комплекс. Это тоже создает известные трудности, к которым будущим программистам следует подготовиться.
Одно дело, когда у тебя рыбалка – хобби, а другое дело, быть моряком в команде рыболовецкого судна и выходить в море в любую погоду. Также и профессия программиста, работающего в составе команды в организации, существенным образом отличается от индивидуального программирования в домашних условиях.
Вместе с тем, несмотря на все вышеперечисленные трудности, профессия программиста является в наше время очень важной и почетной. И те, кто сможет ее освоить, имеет все возможности для будущего благополучного существования. Так что игра стоит свеч!
P.S. Рекомендую также прочитать: