Pull to refresh

Comments 76

Сильная статья, особенно хорошо про «Щедрость ума», спасибо за перевод.
Рад, что понравилось. Вторая часть ещё интереснее, постараюсь на неделе выложить.
Спасибо за первую часть. Так понравилось, что не могу ждать, — уже читаю продолжение :)
Как жаль, что «Щедрость ума» у некоторых травмируется самолюбием и надменностью. В итоге проект не движется и новичку сложно общаться с толстокожым всезнайкой.
Значит это очень тупой и глупый человек, который в первую очередь не жалеет себя. Ибо если уделить сейчас 10 минут на обучение, вместо того чтобы самому за 5 всё исправить. То в будущем не придётся по подобным «проблемам» отвлекаться ещё кучу раз. Что в сумме превысит эти 10 минут обучения.
При чем тут картинка? Мало того, что весь ютьюб забит такими картинками как снапшотами к роликам, так еще и нахабре давайте лепить и к месту и не к месту. Картинка красивая, но какое отношение она имеет к посту? Нафик.
Я неисправим — люблю красивых женщин.

А на картинке Кейт Мацудайра, которую автор упоминает в первом абзаце.
Картинка тонко предлагает вариант «через постель» в ответ на главный вопрос статьи? :)
В постель к такой просто так не залезть. Эта картинка тонко мотивирует на поиск пути частного решения главного вопроса статьи :)
Для ведущего разработчика нет ничего невозможного :-)
Тогда остаётся через бутылку. Хорошего виски. Судя по картинке.
Судя по картинке, там скорее шампанское… какой же ведущий разработчик будет виски из такого бокала пить? :-)
Русский? :-)
Заперевшись в серверной с сисадминами, из чего только мы не пили.
Согласен. Надоела эта тема «какую б влепить картинку, чтобы привлечь внимание и отхапать побольше плюсиков за статью?» В оригинальной статье картинки нет. Раз это перевод, то и в переводе быть не должно. Во всяком случае пониманию статьи она никак не способствует, только засоряет информационное пространство. Если кому-то охота посмотреть красивых женщин, для этого есть специальные сайты :-)
Да ладно вам, всё-таки это картинка из блога упомянутой программистки — katemats.com/about/
Так что нельзя сказать, что переводчик её специально ради плюсиков по всему интернету искал )
imwode — вы женщина? :D
нет :)
уже заглянул в профиль, впрочем. Удивила реакция.
обычная реакция на спам
Однажды, когда в одной мелкой компании (которая вскоре развалилась) стало очень много «ведущих», я спросил у самого старшего ведущего: «Что у вас понимается под словом „Ведущий“?». На что он мне ответил: «Ведущий разработчик — это тот, который ведёт какой-либо проект.».
Я только начинаю свой путь, и мне важно понимать тех, кто знает больше моего. Может быть, после того, как я усвою информацию из этой статьи, моим наставникам и коллегам будет легче и приятнее со мной работать. Думаю, цель статьи именно в этом.
Был такой опыт: была компания А, который занимал определенную долю рынка. Пара руководителей ушла из этой компании и организовала компанию Б. И переманила к себе несколько ведущих разработчиков из компании А. Первые 2-3 года работали только они и подняли весь фундамент этой новой компании. Так как компания Б пошла более продуктивным путем, то она отъела большую часть рынка. Потом уже, когда появились заказчики, клиенты, вариации, вот только тогда начали нанимать разработчиков и все «ведущие» стали начальниками отделов. Так что, вспоминая именно тот коллектив из ведущих разработчиков, я вспоминаю эту команду и работу как рай программиста. Конечно это может быть и связано и с тем, что мы тогда занимались чистым R&D, делали то, что никто до нас не делал еще и у нас получалось. Но без такой команды это бы не получилось или получилось бы намного позже.
Так вот много «ведущих» для меня — это рай программиста.
+1. Рай — это небольшая команда умных, опытнах и приятных в общении (всмысле, не чересчур самоуверенных, умеющих принимать критику, и просто поговорить по дружески) людей — при этом именно программистов, а не менеджеров, скрам-мастеров и проч.
Вспоминается цитата представителя Стрелки на конференции NextPlace: «Каждого человека мы назначаем директором. Это простой способ сделать людей счастливыми.»
Действительно, если есть возможность — почему бы и нет?
Справедливости ради, подобная ситуация возможна. Для полноценной ответственности за проект зачастую надо иметь менеджерские навыки, достаточные хотя бы для управления самим собой. Поскольку разработка вещь не всегда тривиальная, это управление должно быть серьезнее, чем управление неквалифицированным персоналом на простых работах.

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

Это я не про ваш частный случай, а вообще, к слову.
Была обратная ситуация в одной крупной компании у нас развелось много ведущих и главных специалистов. Я спросил почему есть специалист, ведущий специалист и главный специалист, оказалось все проще — по степени сложности проекта и ЗП.
А картинки лучше такие в тему:
Про ответственность за прогнозы — верно. Мне отец рассказывал (он из энергетики, думаю много где также), что в бригаде — мастер самая неблагодарная должность. Он получает немногим больше самого квалифицированного слесаря, зато вся головная боль по поводу составления планов и их выполнения достается именно ему. В то время как слесарь приходит на работу и делает свое дело, не думая о начальстве сверху.
У меня отец тоже из энергетики и тоже часто жаловался, что не раз ему поручали выводить людей в выходные и праздники только лишь для того, чтобы в понедельник отчитаться «Мы сделали все что могли, но законы Кирхгофа, как и предполагалось, нарушить так и не смогли».
Спасибо за статью.

Смысл раздела «Зрелые разработчики обладают врождённым чутьём, даже если не знают об этом» непонятен.
Скорее всего имеется в виду развитая интуиция.
Спасибо, воспользуюсь вашей формулировкой, если вы не против :)
Как я могу быть против? ;)
Фраза «Ясно, давай разберёмся с этим.» вызывает более негативные эмоции. Почему-то слово «ясно» стало более отталкивающим в разговорах. Более приятно, когда тебе скажут: «Хорошо, давай разберёмся с этим». :)
Или это только я так на это реагирую?
Спасибо за комментарий!

Многое зависит от поведения говорящего: интонация, мимика, жесты. Лично я не вижу в самом слове ничего отрицательного.
Видимо имелось в виду это:
Ясно...

Upd. Почему-то не отображается картинка :(
У меня есть друг, который говорит/пишет «ясно» тогда, когда ему нечего сказать, но разговор поддержать нужно :) Бесит жутко, но знаю что он не имеет ввиду ничего плохого. Так что это больше от персональной реакции зависит.
«Ясно» в ответ на описание проблемы означает примерно следущее: «Да, я понимаю некоторые из слов, которые ты говоришь, и даже когда-то натыкался на подобную задачку. Так что если ты объяснишь подробнее, то, может быть, я смогу помочь разобраться в проблеме». Не понятно, что в этом такого негативного…
Спасибо, полезная информация. Узнал, что мне еще много нужно над собой работать.
Специально не пойду читать 2-ю часть в оригинале, дождусь перевода. У вас хорошо получается.
«Неужели, если через пять лет вы ведущий, значит вы на пике своего развития? Разве ещё через пять лет вы не получите ещё более ценный опыт? Что тогда? „Супер инженер“? А ещё через пять лет? „Супер-пупер инженер“.»

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

Если же говорить об аналитических навыках (умение находить алгоритмы для решения задач и создавать новые технологии), то тут развиваться можно бесконечно, хотя для этого возможно потребуется искать новую работу, когда текущие проекты начнут казаться слишком простыми.
Вы слишком утрируете… Много Вы знаете языков и парадигм программирования, которые сильно поменялись или устарели за 5 лет? Понятно, что всё течёт, всё меняется, происходит смещение мейнстрима, но гораздо медленнее.
Интересно, а что делать зрелым разработчикам, когда они слышат от молодежи, которую сами же и обучали, слова «Так, подвинься, давай я сделаю»?..
Ответить: «Ну, сделай. А я посмотрю». А если у молодого получилось решение приемлемого для этого проекта качества — действительно, радоваться. Хоть одна веточка потребует меньше возни.
Возраст не значит ничего. Да и незрелый может знать то, чего не знает „ведущий“.

Ведущие разработчики не могут знать всё. Их технические знания не безукоризненны, но они не переживают из-за этого.
Это в ответ к предыдущему комментарию.
Насколько я понял, там не о возрасте… Просто не совсем точная игра слов при переводе Junior.
Очень интересно было почитать, сразу стало понятно по каким критериям можно расти, чтобы стать действительно ведущим специалистом. Про «щедрость ума» понравилось. К сожалению, в компаниях очень часто присутствует конкуренция и соперничество, особенно в компаниях, где программистов очень мало. Поэтому помимо «щедрость ума», нужно не забывать про пословицу «мал золотник, да дорог». Нет ничего плохого в том, чтобы учить, но иногда это может сработать против вас.
«Так, подвинься, давай я сделаю», мы говорим «Ясно, давай разберёмся с этим. Я покажу тебе, как пишу/отлаживаю/и т. п. Затем то же сделаешь ты, чтобы я убедился, что ты понимаешь как и почему мы делаем это именно так».

Ох, как же мне иногда хочется услышать эти слова =)
Не помню, где прочитал, но мне очень нравится эта фраза. Она, как мне кажется, покрывает большинство указанных тезисов:
Профессионализм — это способность оценить меру своей НЕкомпетентности

Т.е. обычный специалист ищет подтверждения тому что он прав. Профессионал же, всегда считает, что он не прав и пытается найти доказательства обратному.
Да, это при отладке очень ярко проявляется… Профессионалы сначала ищут ошибки в своём коде, а новички засыпают форумы топиками в стиле «язык/фреймворк/библиотека такая-то не работает».
А еще важнее в самом начале задачи.

После получения задачи.
Новичок:
Ок, задание понятно начинаем кодить.
Профессионал:
Правильно ли я понял задачу? Есть ли вероятность что автор имел ввиду что-то другое? Есть ли конфликты в постановке?

Проектирование
Новичок:
О! У меня есть классная идея, как сделать это круто и правильно.
Профессионал:
Поискать в коде, возможно такая функция уже есть. Осмотреться вокруг, возможно правильнее делать как все а не как лучше. Ок, нам нужно новое решение, возможно задача уже решалась, надо погуглить на тему готовых решений или идей.

Ну и отладка — это конечно эпично:
Новичок:
О! Проверяем сценарии которые я закодил, все работает!
Профессионал:
А есть ли сценарии, которые явно не указаны в задаче? А не используется ли измененный мною код еще где-то, что могло упасть?

И т.д. и т.п.
UFO just landed and posted this here
Видимо, имелось ввиду, что зрелый разработчик должен знать о подавляющем числе этих неопределённых факторов, вследствии чего он сможет спрогнозировать сроки достаточно точно (т.е. чем опытнее разработчик, тем меньше форс мажоров).
Обычно оценивается не сам срок выполнения, а вероятность уложиться в разные сроки… Ну и соответственно называется срок с приемлемой вероятностью уложиться в него. Для своих задач это не особо сложно, сложнее когда вам надо оценить срок выполнения набора задач целой командой программистов. Вот там уже неопределённости в разы больше.
Умение планировать наверное один из главных признаков опыта. Заметил, что новички склонны преувеличивать свои силы и занижать сроки исполнения задач. А ведь высокому начальству не объяснишь, что не успел сдать в срок, потому что болел, вызвали в военкомат, свадьба, похороны и т.д и т.п. На планы завязываются слишком много людей, чтобы просто так взять и сорвать срок.
Сейчас делаю так, спрашиваю оценку времени у новичков, потом увеличиваю это время на 50%. Все задачи сдаются вовремя.
Хм, даже не знаю… Это Вам либо сильно с новичками повезло, либо задачи слишком простые, либо это далеко не новички, если увеличения их оценок на 50% хватает, чтобы они постоянно укладывались в срок.
Не знаю, у меня нормальные ребята. ИМХО, если человек не успевает даже с 50% запасом времени, я бы ему рекомендовал сменить профессию. Хотя ситуации могут быть разные. Студенты, кодеры которые никогда ничего не успевают, пока не скажешь как надо ехать, или же маньяки идеального кода, с последними особенно сложно.
Вы должны уметь как минимум озвучить все эти факторы. И назвать их вероятность. Например:

— К XX.XX.XXXX нам нужны спецификации от партнёров. Если их не будет, или в них будут ошибки, то время выполнения увеличится.

— Перед релизом нам нужно заложить N дней на дополнительное тестирование, т.к. возможно большое количество нестыковок.
Очень качественный перевод, спасибо!

Единственная неточность — вместо «снисхождения», видимо, имелась введу «снисходительность».
UFO just landed and posted this here
Ох, как я вам завидую. Вы только учитесь в школе, а уже такие желания. Это очень круто.

Почитайте, например, про этого парня. Его судьбу, конечно, не стоит повторять, но начал он рано и сделал огромный вклад в наше сообщество. Дерзайте.
Спасибо. Жду продолжения. С удовольствием прочитаю.
Скучно текст звучит, как будто его написал древний морализирующий дядя…
В целом мысли правильные, но к профессионализму бы еще добавить здоровые амбиции и драйв — вот где энергия к росту
А мне статья показалась женской. Вот как девушки говорят, «если ты настоящий мужчина, то должен <сделать что-то>». И здесь точно так же: «настоящий разработчик обязан браться за самые скучные проекты, никогда не ошибаться со сроками, телепатически предугадывать желания левой пятки заказчика, не использовать job safety driven development и cover-your-ass engineering».
Умная девушка так не скажет, у неё есть приёмчики похитрее :)
Подскажите, не переводилась ли упомянутая книга про неписаные законы инженерии на русский?
Очень заманчиво звучит, но уровень английского не позволяет…
Я ничего не нашёл. Может быть, существуют отечественные аналоги, сходу не нашёл, но стоит поискать.
аналогичная ситуация, пол статьи прочел дома а вторую половину теперь не найду(
От автора из скайпа:

«Меня перевели в ридонли за рекламные ссылки, которые я, не подумав, вставил в конце поста.
Чтобы вернуться и открыть пост, я должен сначала написать что-нибудь в песочницу. Постараюсь это сделать сегодня.
Прошу прощения за неудобства.»
Я вернул пост, спасибо :) Приятного чтения.
Это было интересное чтение, спасибо автору. Уже во многих источниках встречал мысль, что по-настоящему умные люди не стесняются чего-то не знать, не стесняются спрашивать и искать лучшие решения. Возьму этот критерий на вооружение, для отсеивания тех, кто молод-зелен и считает, что знает всё на свете и всё умеет.
Sign up to leave a comment.

Articles