Хороший программист

Вот Сергей Тепляков довольно правильно выразился:

Кто такой «хороший программист»?
Я уже не первый раз замечаю, что сам не знаю, чем закончится начатая мною статья. Вот, например, совсем недавно меня попросили написать небольшую заметку в корпоративную газету о .NET направлении. Я выбрал направление, начал его развивать, в результате чего получилась статья, в которой .NET-а не оказалось вовсе. Так что в этот раз мы продолжим философскую тему, но если в прошлый раз речь шла о хорошей архитектуре, то на этот раз речь пойдет о том, кто такой хороший программист и какие вопросы стоит задавать себе время от времени, чтобы двигаться в правильном направлении.

Что отличает хорошего программиста от посредственного? И как самому стать хорошим программистом и заслужить среди друзей и коллег «почет и уважение»?

Честно говоря, не знаю. Зачастую даже сложно сказать, что понимается под этой фразой «хороший программист». С одной стороны, мы привыкли думать, что «хороший» программист – это обязательно гик в очках и растянутом свитере, победитель олимпиады по программированию, который в уме может умножать шестизначные цифры и читать машинный код прямо в двоичном формате. С другой стороны, на собеседованиях мы тоже пытаемся найти «хороших» программистов и там у нас есть другие критерии отбора: поскольку победителей олимпиад не так и много, а вакансий «ведущих» и «главных» пруд пруди, то эта планка опускается до более приземленного уровня. Так на собеседованиях мы задаем (или нам задают) вопросы попроще: что-нибудь о конкретных языках или технологиях, в результате чего проверяется скорее память кандидата, а не его умение думать головой.

Думать головой? Ну что ж, это очень даже неплохая отличительная черта хорошего программиста. Как ни крути, но именно серое (или какое оно там) вещество, расположенное в нашей голове, привело нас в эту профессию; и именно «думанием» профессиональный программист зарабатывает себе на жизнь, занимаясь этим большую часть своего времени. А раз так, то почему бы не подумать о том, как стать, если не хорошим программистом в общепринятом понимании, то хотя бы немного лучше по сравнению с тем, кем был вчера.

Многие из нас после очередной итерации в разработке своего любимого проекта проводят ретроспективы. Довольно часто ретроспективы – это унылое собрание, где поднимается минимум острых вопросов и еще меньше из них затем решается. Но иногда они заставляют некоторых членов команды по-новому взглянуть на решаемые задачи и что-либо изменить в ежедневной работе. В общем, это работает. Не всегда, но работает. А раз это работает, то почему бы не попробовать применить этот же самый подход, но не только для улучшения процесса разработки, а для улучшения себя, как программиста? Почему бы не задать несколько вопросов самому себе, ответы на которые помогли бы понять, в каком направлении двигаемся мы сами?

Вот, например, как часто вы задаете себе подобные вопросы: «Чем отличается ваш код сегодня от вашего кода полугодичной давности? Становится ли он лучше или, быть может, он уже давно достиг совершенства? Как изменились ваши взгляды на разработку ПО за это время? Что нового вы узнали из этой безграничной области? Когда в последний раз вы написали что-либо ради интереса, а не ради «производственной необходимости»? Когда в последний раз вы помогли кому-то с техническим вопросом?»

Конечно, ответы на эти вопросы не скажут, хороший вы программист или нет. Смысл их в том, чтобы понять, становитесь вы «лучше» или топчетесь на месте. Хороший программист – это не гениальный подросток, а простой толковый парень или девушка, любящие свое дело. Человек, в котором сочетается прагматизм и стремление к совершенству, любовь к новому и глубокие знания настоящего, стремление к обучению и желание учить кого-то еще. Большинство хороших программистов прекрасно понимают, что они знают очень мало и находят в себе желание и стремление это исправлять. У каждого из нас свой путь к получению новых знаний и здесь, как и в программировании, тоже не стоит искать «серебряную пулю».

Так что, учите, читайте, узнавайте что-то новое, пишите и рассказывайте об этом. И вообще, не думайте о том, хороший вы программист или нет, глупости все это. Ведь самое интересное в этом деле – это путь, а не результат!


Мой комментарий сводится к мысли: да! ;) — человек работает и думает.

Но, по уму, мысль о том, хороший ли ты программист или нет, вгоняют в тебя люди, которые не знают о программистах ничего. Люди, для которых слово «программист» по смыслу аналогично слову «компьютерщик».

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Тут есть какие-то куки. Если вы продолжаете тут быть, то вам ок. Чо?

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this. Pop-up notices that advise users that cookies are in use are a legal formality. All modern websites employ cookies, so the notice is redundant, and only necessary because of ridiculous EU legislation based on popular disinformation about cookies. It is not a reasonable and viable course of action to decline and then expect to continue using the website. Most people who decline are uninformed because of popular disinformation about cookies, falsely believing (a) that websites can work just as well without cookies, and (b) that cookies are a privacy threat when they actually are not. (Only third-party cookies are a potential privacy threat, and you can turn them off in your browser settings.) If you are a purist, it would be reasonable to close the browser tab and discontinue using that website on receiving such a notice. It would be more reasonable for a purist to stop using the world wide web entirely. Cookies are a core part of WWW standard architecture. You cannot reasonably expect to use websites today without accepting cookies. There is no standard consequence for “declining” the notification. What happens will vary from one website to another: The pop-up might continue to appear until you accept it. The browser tab might close. You might be referred to a page containing a message like “thanks for your interest”. You might be referred to another website. The pop-up might close, and nothing else may happen. Cookies might be disabled, resulting in a dysfunctional website (the least likely outcome, since web developers don’t like to break their own work). It isn’t really a choice. Rather it’s a legal notification. Without cookies, the web as we know it cannot function properly. I suggest you either (a) disable your third-party cookies in your browser settings and stop fretting over nothing—because regular cookies are not a privacy threat; or (b) stop using the web entirely. There’s no such thing as continuing to use websites with all cookies disabled, unless you want the frustration of constant functional failures, and even illegible displays. The standard architecture of the world wide web is not a matter of user preference. It’s a prerequisite for using the web. Cookies are part of that standard, and virtually all websites have heavily depended upon them since the end of the “web 1.0” era about 20 years ago. Privacy is an important issue. However, unfortunately, protecting your privacy is not at all like this oversimplified popular myth suggests. One must educate oneself in order to retain a modicum of privacy; and accepting popular disinformation is a misdirection, not self-education.

блять, чоета? не хочу видеть!