?

Log in

No account? Create an account

psilonsk


Блог об управлении проектами


Previous Entry Share Next Entry
Заметки на бегу: о важных критериях оценки программистов
psilonsk


Как оценить эффективность (брррррр) программиста, какие его качества важны для успеха проекта и, главное, как на них должен влиять менеджер?

Я могу выделить восемь ключевых качеств, позволяющих оценить программиста.

С1.Умение понять задачу - способность программиста получить на вход требование и на выходе продемонстрировать понимание того, как он это требование будет реализовывать.
Задача менеджера: обеспечить поступление качественных требований.

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

С3. Способность задавать вопросы (при разумном уровне самостоятельности) - программист должен коммуницировать с коллегами, не стесняясь и не боясь спрашивать их совета по сложным для него вопросам.
Задача менеджера: поддерживать в команде культуру общения, поощрять обсуждение задач разных типов.

С4. Умение писать качественный код. Это, пожалуй, самый сложный критерий. Если вкратце, то чем меньше критических ошибок допускает программист, тем лучше. ) При этом требования должны быть выполнены, а необходимые тесты пройдены успешно.
Задача менеджера: давать программисту возможность учиться и решать все более сложные задачи, приобретая необходимый опыт.

С5. Умение программиста оперировать сложными абстракциями.
Обычные люди оперируют конкретными понятиями и простыми абстракциями, поэтому могут решать только простые, очень конкретные задачи. Продвинутые люди умеют абстрагироваться от несущественного и видеть суть проблемы. Для них (до определенных разумных пределов) не важен ни инструмент, ни алгоритмы решения, ни технологические особенности. Поэтому они умеют решать задачи быстрее и дешевле, а их решения эстетически прекрасны.
Задача менеджера: давать программисту соответствующие задачи и контролировать успешность результата.

С6. Умение программиста разбираться в чужом коде - часто приходится заниматься развитием и поддержкой того, что написано другими.
Задача менеджера: давать программисту соответствующие задачи
и контролировать успешность результата.

C7. Мнение коллег о программисте как о специалисте. Это своего рода page rank - показатель, позволяющий ранжировать программистов в команде и за ее пределами. Если много программистов считают коллегу хорошим спецом - это прекрасно его характеризует (особенно при прочих высоких показателях).
Задача менеджера: не забыть интересоваться этим вопросом.

С8. Стабильность мотивированности - не так плох уставший и разочаровавшийся в работе и задачах программист, как плохо, если он в таком состоянии длительное время.
Задача менеджера: быть менеджером. )

Что добавить можете?



promo psilonsk february 12, 2015 18:07 17
Buy for 100 tokens
Ранее в сериале: История первая: договор Ариадны История вторая: лыжи, смоктульки и чаевые История третья: мертвец и розетка ​*** — Послушай, Леша, послушай меня, милый мой друг. Ты же менеджер проектов, так? Ты же не дебил, правильно? Я тебе на пальцах объясняю, а ты понять не можешь.…

  • 1
что значит из своего? они ведь деньги не печатают, а перераспределяют имеющиеся в свою пользу и во вред наёмным работникам

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

на балансе юрлица средства из ниоткуда не появляются

А вы разве не представляете откуда они там берутся?

Я побывал по обе стороны баррикад и согласен с нашим ебанутым другом. Бизнес велью и решение бизнес-задач оставте манашерам, бизнес-аналитикам и консультантам. Задача программера сделать так, чтобы постановка от аналитика решилась оптимальным образом. Нельзя программеров пускать в бизнес-задачи

Я тоже был по разные стороны всех мыслимых баррикад и разработчиком, и аналитиком, и манагером и бизнес-заказчиком, и аудитором и снова манагером. Я понимаю, что тут каждый со своей идеей и никого "за советскую власть" агитировать не собираюсь. Просто в мире в котором я живу и работаю очень важны good-enough и time-to-market. Там на кладбище погибших проектов столько идеально решенных задач с совершенным кодом и прекрасной архитектурой что прямо дух захватывает. И я в курсе, что нет в этом вины тех программистов которые кодили в строгом соответствии с ТЗ, но тем не менее остаюсь при своем "заблуждении" в том, что продуктовое мышление для разработчика важный скил, экспоненциально поднимающий его ценность и в том, что понимание разработчиком бизнес-задачи, которую решает его код творит чудеса на результате. Ну и еще в том, что для менеджера важно странслировать все эти бизнесовые штуки на понятный для разработки язык и донести, если не до всей команды разработки, то хотя бы до ключевых людей в команде, не растеряв при этом смыслов. При этом, кстати сказать ни один из пунктов Сергея о програмистской ценности из моей картины мира не выпадает, как я уже писал выше у меня просто более обобщенное суждение об этом. Так что с моей точки зрения ваш "ебанутый друг" или неуклюже троллит, или добросовестно заблуждается.

продуктовое мышление - это порождение капиталистической модели постоянного расширения рынков, когда можно писать любое говно, абы продавалось

к качеству работы, причём в любой профессии, это никакого отношения не имеет

Исходный пойнт Сергея был не про качество а про эффективность, но коль уж вы упоминаете, то ответьте,что же такое это самое "качество работы"?

  • 1