Pull to refresh

Comments 56

Хорошего специалиста делает хорошим его хорошесть.
А плохому специалисту его плохость мешает.
UFO just landed and posted this here
Позитивная и мягкая статья. Лично мне сейчас как бальзам на душу. Дает ощущение, что выдающимся программистом можно стать и при не очень благоприятных начальных условиях, а оно, в свою очередь, согревает.
Можно обобщить одним словом — опыт.
Хороший программист может работать не ради вознаграждения, тем не менее зная, что вознаграждение будет по-любому.
Наверное у хороших программистов не бывает жен, детей и ипотеки…
у меня вот нету :) хотя об ипотеке приходится задумываться
UFO just landed and posted this here
Сам не похвалишь — никто не похвалит :)
Несовсем. У хороших программистов может быть и жена и ребенок и какие-то обязательства перед кредиторами. Просто кто-то бежит от проблем и не ищет путей их решения, а кто-то пытается решать проблемы пусть даже через одно место, иногда и так достаточно. Пример из жизни: Раньше много программировал, а после рождения дочурки думал, что все застопорюсь в профессиональном развитии. Оказалось нет. Пока вожусь с дочуркой и ее игрушками, то в голове возникает множество мыслей по поводу решения очередной программерской траблы и казалось бы хватай и делай, но нет надо водиться. Зато время пока вожусь может пронестись десяток вариантов, но когда появляется время по программировать, то либо ни одной мысли в голове нет, либо есть одна, но она достойна того чтобы ее попробовать. Очень часто оказывается так, что эта самая «достойная» и есть то необходимое и по настоящему решающую проблему!

У меня после появления дочурки наоборот только улучшились программерские навыки. Это связано с тем, что времени на программирование мало и мозг отчетливо это понимает, следовательно более рационально расходует то что у него есть.
Пока разрабатывал MMO — писал код непрерывно, закрываешь глаза и видишь экраны кода, который написал за день.

Однажды с семьей выбрались посмотреть кино. Когда погас свет — я увидел Код, и в нем была Ошибка.

Это был самый ужасно-долгий киносеанс в моей жизни. :(
Когда я вижу программиста, который делает свой собственный проект-хобби на выходных, который вовлечен в создание утилит, которыми он пользуется каждый день, который очарован новым и интересным, то тогда я точно знаю, что вижу удивительного человека.

А еще автор скорее всего видит холостого программиста :)
Если программист делает свой проект на выходных — это может означать, что ему не интересна его текущая работа.
Ну или менее интересна, чем могла бы быть.
Cвое детище всегда ближе. Ну и если речь не о стартапе в вакууме, то работа программиста за деньги не всегда веселая и интересная.

ps: И да, хобби у семеных людей, это что табу теперь?
У семейных людей обычно главное хобби — это дети. Потом идет хобби детей. А уже потом, в свободное время…
Одно другому не мешает.
Я рад, что вы все успеваете :)
Если мешает — надо что-то менять. Иначе кризис неизбежен, вопрос в сроке и последствиях.
PS у самого растёт сын (2 года) и понимаю, что это сложно… но надо!
А хреновастенько… но это связано ещё и с тем, что с женой есть некоторые проблемы и мы активно раздумываем о разводе… надо сказать — печальный вариант, т.к. это не слабо уменьшит время, которое я смогу проводить с сыном, вот и задумываюсь о том, чтобы это время стало весьма продуктивным и интересным нам обоим.
Семья не обязательно сразу с детьми. Жена — тоже семья, даже без детей. Поэтому своё хобби, в таком положении дел, это нормально.
Мне интересна моя текущая работа. Так сложилось, что самые веселые проекты в компании у меня :)
А на выходных пилю какие то тулзы для себя. Конечно не от зари до зари. А в охотку.
PS. Женат, сыну 11. Кучу всяких дел с ним творим :)
Не согласен со значительной частью тезисов.

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

«Они просто делают это»
Я бы сказал что «просто делают это» — джуниоры, которым неймется. Хороший программист сначала подумает, потом сделает. Хороший и опытный программист сначала подождет, потому что feature request может быть ошибкой того кто ставит задачи, и может быть отменен, потом подумает действительно ли это «фича», нельзя ли ее улучшить, предложит это к обсуждению. Потом подумает как лучше реализовать, что потребуется и какие существующие куски приложения будут затронуты. А потом сделает так, чтоб при рефакторинге не было стыдно.

«Они хорошо общаются»
Вообще не обязательно. Я бы скорее поверил, что способность к общению на любые темы, тем более с не_программистами, имеет скорее обратную корреляцию с «хорошестью». Зато хороший программист поймет другого хорошего программиста с полуслова, если они говорят о работе.
Не знаю за что вам поставили минусы. Полностью согласен с тем что вы пишете, т.к. перед глазами есть несколько примеров таких «программистов»
1) Да, они проводят «собственные исследования», тратят на это дни и часы, вместо того чтобы просто спросить коллег или тимлида. Или поискать готовое решение. В итоге это приводит к нерациональной трате времени, затягиванию сроков
2) Да, они бросаются что то фиксить или делать новую задачу, даже не получив подтверждения от тимлида. «Зачем, ведь всё равно нужно будет это делать?» Не обязательно. Но время уже потеряно
3) Они хорошо общаются. Но зачастую они общаются слишком много. Обсуждение занимает 1/2 рабочего времени. И зачастую это обсуждение, без которого можно было бы и обойтись. В итоге — опять практически бесцельно потраченное время.
Думаю, это вопрос крайностей.

Как там говорится, наши недостатки — это продолжение наших достоинств?
читая очередную статью подобного типа мне хочется попросить автора назвать хотя бы пару тех самых «великих программистов» :) чтобы хотя бы просто знать на что «равняться» и просто удостовериться в серьезности суждений этого автора.
за перевод спасибо, в любом случае было интересно почитать :)
Хороший программист он как плохой, только хороший.
UFO just landed and posted this here
Я работал со многими программистами на протяжении долгих лет

Господи, да судя по его резюме он начал серьезно работать только с 2008. Где долгие года то?
Может при работе с выдающимися программистами год идет за два?
Тогда с плохими год за три, приходится ведь делать многое за них.
Видимо, эти 5 лет показались ему очень долгими…
UFO just landed and posted this here
Могу ошибаться, но чтобы взаимодействовать с программистами, не обязательно работать. Например, в том же университете, обычно, есть преподаватели, сокурсники и т.п.
Кроме того, есть ещё и фриланс, о котором, не знаю, есть ли смысл писать в резюме?
Хороший программист — это как хороший инструмент: надёжен, предсказуем, поддаётся заточке.
Всё остальное — не так важно.
Я в шоке от первых двух комментариев. Один лучше другого.
Даже не знаю что сказать тогда про ваш комментарий — ну просто кладезь полезной информации.
Полный лагранжиан Стандартной модели, кладезь полезной информации.
Если знать, что за значки. Что это за формула, например, я знаю. А вот как расшифровать многие коэффициенты и индексы — не очень.
Вы так пишите, как будто плохие программисты это что-то плохое.
Опытный программист = хороший программист.
Параллельные понятия. Между ними есть корреляция, но не единичная.
Совершенно верно. Помнится приходил на собеседование человек лет эдак 38 с 15летним опытом программирования.
Так вот его код был чем-то вроде плохих бородатых анекдотов из еженедельных бесплатных газет.
В моем понимании опыт в программировании не измеряется годами, но именно опыт определяет хорошесть
Меня как-то угораздило поработать в банке, с пол года выдержал и уволился хотя по деньгами перспективы были неплохие. Там было много специалистов с «опытом» в годах 10+ лет, однако этот опыт ограничивался насколько я понимаю поддержкой нескольких древних систем, разработки минимум и желания разрабатывать тоже. Так вот я не могу назвать таких людей опытными разработчиками. Допускаю что лет в 40 в банк пойти возможно и неплохо, но раньше как-то скучно совсем.

То есть в моем понимании опыт определяется тем какими задачами/проектами ты занимался, а не просто годами. Можно иметь 3-4 года опыта, при этом сменив несколько мест работы и поработав с разными задачами, а можно 15+ унылого ковыряния в легаси коде.
Т.е. я правильно понял, что в вашем понимании опыт измеряется количеством различных решённых задач?
Как совмещается это:
Они проводят собственные исследования

и это:
Хорошие программисты знают, что надо сначала поискать, прежде чем пытаться решить проблему.

?
Обычно такие «хорошие» программисты потом не могут ответить что и как работает, потому что взяли все готовенькое.
Как там говорил Эйнштейн? Все знают, что это сделать невозможно, но потом появляется какой-то невежа, который этого не знает и делает. Вот именно так и поступают хорошие программисты
Хороший программист это тот кто умеет быстро учиться и коммуницировать, приятен в общении а так же не перекладывает ответственность на коллег, не устраивает истерик, склок и грызни. Современные инструменты разработки меняются слишком быстро, поэтому хорошие знания на каком то этапе их развития не гарантируют успехов в будущем. Мне слишком хорошо знакомы «гении» научившиеся чему то когда то но напрочь отказывающиеся от нового, которые пользуясь своим авторитетом тянут всю команду назад не позволяя внедрять что то новое, высмеивают новичков с интересными идеями (не дай бог кто подумает что он умнее меня), сидят и чахнут над кучей своего авторитета. Не сотвори себе кумира в команде, часто молодой, начинающий программист (который никак не подходит под критерий хорошего по определению автора) высказывает идеи дающие 100 очков вперёд корифеям. И задача тимлида не дать таким «корифеям» править бал в команде. Иначе продукт будет просто погублен. В команде есть понятие коллективного разума, если кто то чего то не знает или недопонимает то при правильно настроенной коммуникации этот недостаток будет устранён/исправлен. Поэтому для меня гораздо важнее понятие хорошей команды нежели отдельных личностей в ней. Хорошие знания отдельного программиста важны но не являются решающими, решающим является коллективный разум который базируется на способности к общению и обучению членов команды.
У меня создалось ощущение, что вы пытаетесь противоречить автору, а по сути всего лишь дополнили описание с точки зрения команды. Хорошие идеи не делают хорошего программиста хорошим. Речь шла о подходе хорошего программиста к воплощению этих идей. Я ещё не видел ни одного хорошего программиста. Все хороши по своему, а хорошая команда скрывает недостатки отдельного.
Sign up to leave a comment.

Articles