Как я могу узнать, хороший ли я программист?

301

Как и большинство людей, я считаю себя немного выше среднего в своей области. Мне хорошо платят, я получил продвижение по службе, и у меня никогда не было реальных проблем с получением хороших рекомендаций или с работой.

Но я был достаточно вокруг, чтобы заметить, что многие из худших программистов, с которыми я работал, думали, что они одни из лучших. Плохие программисты, которые окружены другими плохими программистами, кажутся самыми обманутыми.

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

Интересно, может ли программист сделать какую-то разумную самооценку? Откуда мы знаем, хороши мы или плохи на работе?

Или, если такие термины, как хорошее и плохое , слишком плохо определены, как программисты могут честно определить свои сильные и слабые стороны, чтобы они могли воспользоваться преимуществами первого и работать над улучшением последнего?

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

Ответы:

325

Хороший программист понимает, что им нужно продолжать учиться и расти. Они стараются изо всех сил стараться изо всех сил, признаются в неудачах и учатся у них.

Они необычайно общительны. Мало того, что они могут объяснить сложные технические термины непрофессионалу, но они стараются изо всех сил выступать в качестве защитника дьявола к своей собственной идее, чтобы убедиться, что они дают лучшие варианты для своего клиента.

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

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

Хороший программист знает, что он / она не великий программист. Поистине великих программистов не существует, есть только те, кто утверждает, что они великие, и те, кто знает, что они не великие.

Адам Дэвис
источник
5
Вы прибиваете это прямо на голову! ИМО!
13
И я думаю, что более общим выводом является то, что вы хороши в том, что делаете, когда заботитесь о том, что делаете.
7
Хорошо сказано. Что касается эго / смирения, я прошел через MIT AI Lab в 70-х годах. У лучших кодеров была определенная скромная уверенность. Если вы думаете, что делаете что-то важное, вы можете ошибаться, но если вы этого не делаете, вы, вероятно, правы.
Майк Данлавей
4
Я частично согласен с пунктом № 2: «Они не только способны объяснить сложные технические термины непрофессионалу ...» Я знаю некоторых хороших программистов. Но они не могли ничего объяснить никому за пределами своего круга. Они также не могли понять, что пытается сказать мирянин. Они оба смотрят друг на друга глазами «оленей в свете фар». Я скажу, что они чрезвычайно общительны. В остальном я хочу подытожить их, сказав, что хороший программист скромен и готов поделиться своими знаниями наилучшим образом, который он / она знает.
IAbstract
101
«И делал бы это в свое свободное время, даже если они уже тратят на программирование более 80 часов в неделю». Избавьтесь от этого глупого заявления, и я полностью согласен с остальным. По-настоящему «хороший программист» понимает, что при работе более 80 часов в неделю делать что-то кроме программирования (в свободное время) необходимо для физического и психического здоровья и производительности на работе.
91

Как красноречиво указывает Пол Грэм в этом фильме , вы не можете. Только ваши коллеги могут сказать вам.

Малах
источник
4
Этот ответ намного лучше, чем принятый ...
125
Ваши коллеги не могут сказать, компетентны ли вы, если они некомпетентны. Они просто будут думать, что у вас странные мнения, и страстно спорить о не относящихся к делу предметах
2
Согласитесь, keysersoze. Тогда никто не может сказать вам, и вы никогда не узнаете, если вы не получите себе новых сотрудников. Я думаю, что в конечном итоге не выгодно работать ни с кем, кто компетентен.
1
@keysersoze, но если я на самом деле некомпетентен, мои коллеги могут быть компетентными, и я просто слишком глуп, чтобы понять это;)
1
Пол Грэм также написал эссе о великих программистах, указав, что он не может назвать великих программистов, поскольку он никогда не работал с очевидными вариантами (такими как Ричард Столлман, Линус Торвальдс и др.).
Дэвид Торнли
59

Я всегда обнаруживал, что легче всего судить о твоей работе, выполняя две вещи.

  1. Окружите себя другими хорошими программистами
  2. Посмотрите, сколько они жалуются на код, который вы пишете.

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

Теперь, чтобы пойти не по теме, я процитирую Роберта А. Хайнлайна и его взгляд на эту тему:

«[Обалденный программист] должен уметь менять подгузник, планировать вторжение, убивать свинью, соединять корабль, проектировать здания, писать сонет, балансировать счета, строить стену, устанавливать кости, утешать умирающих Принимать заказы, отдавать приказы, сотрудничать, действовать в одиночку, решать уравнения, анализировать новую проблему, разбивать навоз, программировать компьютер, готовить вкусную еду, эффективно бороться и доблестно умирать. Специализация для насекомых ».
- из записной книжки Лазаря Лонга.

АКОС
источник
12
Отчасти напоминает мне цитату: «Глупые люди окружают себя умными людьми. Умные люди окружают себя умными людьми, которые с ними не согласны».
Сэм Хаслер
Рискну сказать, что это лучшая цитата Хайнлайна на SO.
1
Проблема в том, что другие программисты могут быть, а могут и не быть на вашем уровне или выше, но они могут не захотеть вас оскорблять. Я не получил много откликов от трех программистов, с которыми работал, и очень мало от двух других, одного из которых я бы
4
... хотя мы и являемся антисоциальными, но другие программисты могут предотвратить защиту кода, просто не сообщая о проблемах с ним. Который может фактически пропустить реальные проблемы кода, чтобы не создавать социальных проблем.
55

Это матрица компетенций программиста только для вас: http://www.indiangeek.net/wp-content/uploads/Programmer%20competency%20matrix.htm

Омега
источник
Мне нравится 3-4%, и я не могу писать дерьмо. Не слишком быстро, по крайней мере.
-1 для списка покупок.
6
-1 - знание алгоритмов хорошо, но нет никакой возможности хранить все эти вещи в вашей голове, когда кто-то берет у вас интервью. Вот для чего нужны Википедия, Google и StackOverflow.
1
Согласившись, что этот список в основном бесполезен; Это хороший источник идей, если вы ищете упражнения, но он не очень полезен, если вы решаете, что вы «хороший программист». «Хороший программист» - это больше отношение, чем произвольный список.
2
+1. Хотя я не согласен с тем, что сказано выше, я все же думаю, что это очень хороший список. Спасибо за публикацию. Это определенно те критерии, по которым я бы оценил программиста, претендующего на работу. И @macnnicken, он идет только к уровню 3. :)
EMP
38

У Джеффа есть одно из моих любимых сообщений в блоге на эту тему ... Почему я лучший программист в мире

«... это не наша работа - быть лучше, чем кто-либо другой; нам просто нужно быть лучше, чем год назад».

codeConcussion
источник
3
Мне нравится эта цитата, очень хорошо. И это то, что программирование это все. «Будь лучше в том, что ты делаешь и знаешь изо дня в день».
1
Каждый год в течение последних 12 лет я оглядывался на код, который написал год назад, и думал, что это полный дерьм. Может я что-то делаю правильно! Нет ничего хуже, чем застойный программист.
28

Я думаю, что тот факт, что вы задаете вопрос, доказывает, что вы не плохой программист, поэтому, по моему мнению, вы на полпути. :)

По моему опыту, плохие программисты всегда думают, что они замечательные программисты.

Ник Берарди
источник
сколько у вас опыта?
1
Мой опыт согласуется с вашим опытом, поэтому я волнуюсь, когда начинаю думать, что у меня все хорошо.
Кристофер Джонсон
21

Утверждение @ Ника «Плохие программисты всегда думают, что они великие программисты ...» объясняется эффектом Даннинга Крюгера , который обобщает то, что люди, которые немного знают предмет, часто переоценивают, насколько они на самом деле знают.

Будучи немного шутливым ... чем меньше ты думаешь, что знаешь, тем больше ты, вероятно, делаешь ... если, конечно, ты не действительно идиот, знающий себя.

Отвечая на первоначальный вопрос, хотя я склонен думать, что большее влияние (а не контроль), как правило, является хорошим показателем. Если вы видите, что другие следуют вашему примеру или приобретают практику, то вы на правильном пути.

Mark Nold
источник
Эффект Даннинга-Крюгера ужасно унизителен. Мне нравится пытаться помнить это всякий раз, когда я чувствую себя хорошо о чем-то, что я сделал!
Хорошие программисты не задают вопросы, а затем голосуют за них, потому что они им не нравятся. Они не ведут себя так, будто знают все по новой теме, и когда эксперт отвечает на вопрос, они не голосуют, потому что это не тот вопрос, который они хотели.
Хотел бы я иметь представление о ДК еще в колледже, когда я был прекрасным примером одного конца спектра!
ДаренВ
18

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

Джек БеНимбл
источник
2
Я согласен. Мы должны стремиться быть великим человеком, прежде чем стать великим программистом.
Хорошее место для обозначения термина 501 программист: hanselman.com/blog/…
ChrisFletcher
9

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

Одна только эта реализация делает вас лучшим программистом, чем большинство плохих программистов.

Многие из худших программистов склонны думать, что они уже знают все, что нужно знать, и не знают об их ограничениях. В результате они никогда не улучшают свои навыки.

17 из 26
источник
9

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

Превращаться
источник
Я только что посмотрел свою программу «Здравствуй, мир!» И подумал, что теперь она намного эффективнее, хорошо? JKS JKS
9

Вот несколько реальных примеров плохого программирования. Конечно, подобный код был повсеместно скопирован / вставлен в 100 местах. Парня уволили, но я слышал, что он снова получил хорошую работу. Наслаждаться:

а)

if (! TableObject.loadList("sql condition").isEmpty()) {  
    List<TableObject> myList = TableObject.loadList("sql condition");  
    ...  
}

б)

public static Type getInstance() {  
    if (instance == null) {  
        return new Type();  
    }  
    return instance;  
}

с)

getForeignKeyObjectProperty1() {  
    return ForeignKeyObject.loadByPrimaryKey(foreignId).getProperty1();  
}  

getForeignKeyObjectProperty2() {  
    return ForeignKeyObject.loadByPrimaryKey(foreignId).getProperty2();  
}  

...

getForeignKeyObjectPropertyN() {
    return ForeignKeyObject.loadByPrimaryKey(foreignId).getPropertyN();
}

г)

public boolean isHasImage() throws SQLException {
    StringBuilder query = new StringBuilder();
    query.append("select user_name");
    query.append(" from user");
    query.append(" where has_image = 1");
    query.append(" and user_name ='"+getUserName()+"' and user_image is not null");
    Connection c = Database.getInstance().getConnection();
    Statement st = c.createStatement();

    try {
        ResultSet rs = st.executeQuery(query.toString());
        if (rs.hasNext()) {
            return true;
        } else {
            return false;
        }
    } finally {
        st.close();
    }
}

Если вы делаете такой код, прекратите программирование. Если вы не видите ничего странного в этом коде, прекратите программирование. В противном случае вы не плохие, так что вы даже можете быть хорошими :)

РЕДАКТИРОВАТЬ: Чтобы ответить на комментарии: я получил работу до окончания, и этот парень уже имел несколько лет опыта программирования. Его уволили через несколько месяцев после того, как я устроился на работу, поэтому я не мог никого обучать. Приведенные выше примеры были только с моей головы - каждый кусочек кода, к которому он прикоснулся, был ошибочен различными и оригинальными способами. После того, как он ушел из компании, большинство вещей начали выползать, потому что только тогда другие люди увидели некоторые части кода. Как правило, он хороший парень, с ним приятно общаться, но он НИКОГДА не будет хорошим программистом, как я никогда не буду хорошим художником, писателем или кем-то еще.

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

Слартибартфаст
источник
11
Любой может опубликовать произвольный код и заявить, что те, кто его не понимает, глупы. Я пойду стоять в тупой линии.
20
Хороший программист потратил бы время (может быть, 2 минуты?), Чтобы объяснить своему коллеге, что не так с таким кодом.
4
Согласитесь, хороший программист указал бы, почему этот код был «плохим», и помог бы его коллеге стать лучше, а не издеваться над ним.
7
Я надеюсь, что этот парень нашел работу, где его коллеги помогали ему расти, а не упрекать его.
Роберт С.
8
@Morph: instanceполе никогда не присваивается Typeэкземпляру и поэтому всегда остается null=)
missingfaktor
8

Есть несколько вещей, которые вы можете попробовать, чтобы лучше оценить, как вы складываетесь.

  • Сравните отзывы кода. Посмотрите, чей обзор выявил больше проблем.
  • Спросите, когда в последний раз они читали книги, которые были второстепенными по отношению к их обычному курсу обучения. Затем спросите себя то же самое.
  • Спросите себя, кто привносит новые идеи в компанию (и насколько хорошо они работают).
  • И последнее (и наименьшее), есть ли какая-то форма признания компании?

(Я поставил этот последний пункт, потому что в моей последней компании один программист дважды в три года получал звание «Разработчик года». После его ухода мы нашли не менее 20 фрагментов кода, достойных TDWTF. Он разрабатывал код быстро , но не обязательно хорошо Менеджмент просто не знал разницу.)

Адам V
источник
1
+1 за «сравнить кодовые обзоры». Это кажется новым и очень практичным делом.
j_random_hacker
6

Разрешите другим разработчикам, с которыми вы уважаете, работать или просматривать ваш код.

Пусть люди на самом деле используют то, что вам нравится, и видят, что они думают.

- Кевин Фэйрчайлд

Кевин Фэйрчайлд
источник
6

Вы можете понять это?

if(rp->p_flag&SSWAP) {
	rp->p_flag =& ~SSWAP;
	aretu(u.u_ssav);
}

:-)

Iain Holder
источник
Модедировано вниз ??!?!?!?! Кто-то не знает их историю. :-)
Iain Holder
5
Вы не должны понимать это
Это ссылка на что-то? В любом случае, если это код C / C ++, вы, вероятно, имели в виду «& =» вместо «= &» во 2-й строке. (Я говорю «вероятно», потому что перегрузив оператор ~ () в C ++, вы могли бы сделать вышеупомянутую компиляцию ... Но я почти уверен, что это не то, что вы намеревались.)
j_random_hacker
1
@j_random_hacker Я подозреваю, что = & правильно, так как этот код был написан Деннисом Ричи. См. Cm.bell-labs.com/who/dmr/odd.html
Иэн Холдер
1
@ IainMH, dmr также признает, что это было ошибкой.
4

Одна лишь мысль о том, что вам нужно самооценка, делает вас на голову выше остальных.

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

Gulzar
источник
4

Это всегда субъективно, кто хороший программист. Я согласен с Ником, что просто задать вопрос - это шаг в правильном направлении. Я думаю, что постоянное желание учиться и улучшать то, что делает хорошего программиста.

Райан Ланчо
источник
4

Для меня самые лучшие программисты никогда не ищут работу. У них есть постоянные предложения на новые должности, основанные только на их репутации. Так что у хорошего программиста могут быть предложения от предыдущих работодателей вернуться, если они того пожелают. Или у хорошего программиста были бы вопросы от бывших коллег о приходе на работу к ним в новую компанию.

Что касается сильных и слабых сторон, вы, вероятно, уже знаете их. Если нет, спросите более старшего человека в вашей команде. Он даже не должен быть разработчиком. Хороший менеджер проекта знает сильные и слабые стороны программистов. Кроме того, черты, которые определяют хорошего программиста, не ограничиваются только кодом. Понимание бизнеса, коммуникативные навыки, суждения и т. Д. Выполняются вне вашей среды IDE.

Matth
источник
2
Вы могли бы быть великим программистом и ужасным человеком. Вы бы предпочли работать с хорошим человеком, который, возможно, не знает так много, но готов учиться, или с полным умом, который является фантастическим программистом во всех отношениях? То, что вы описываете, делает хорошего сотрудника, а не хорошего программиста. ;)
2
Я не понимаю, откуда этот комментарий. Два главных вопроса, на которые я обращаюсь: «Как я ЗНАЮ, если я хороший программист?» и «Как узнать свои сильные и слабые стороны?» О чем все эти разговоры о придурках и ужасных людях. У меня есть мнения по этим вопросам, но я не думаю, что они связаны с моим ответом.
2
Получение репутации часто больше зависит от PR и доверия, чем от реальных способностей.
Дэвид Торнли
Если предположить, что «способность» - это техническая способность, то быть хорошим программистом - это больше, чем «фактическая способность». Технические способности - только часть загадки.
3

Я думаю, это все равно, что удивляться, как узнать, хороший ли ты человек.

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

Бен Коллинз
источник
3

я бы просто сказал: если вы увлечены (я имею в виду ДЕЙСТВИТЕЛЬНО увлечены) тем, что вы делаете, если вы гибки (другой язык, новые технологии, полный римейк старого проекта - давайте сделаем это!), если вы продолжите учиться и совершенствуешь свои навыки и никогда, никогда не думай, что ты достаточно хорош, чтобы остановиться - тогда ты хороший программист!

Агнешка
источник
3

95% всех программистов считают, что они входят в число лучших 5% программистов, остальные 5% являются менеджерами. Так что если вы менеджер, вы, вероятно, не хороший программист, в противном случае вы, вероятно, так.

Hallgrim
источник
... и 25% ЗНАЮ, что они в топе 1%;)
3

Я думаю, что это больше зависит от того, что вы делаете со своими навыками программирования. Быть великим программистом - это хорошо, но какое это имеет значение, если вы целый день программируете банковское программное обеспечение (без обид). Это просто не складывается.

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

Все эти аспекты определяют для меня хорошего программиста.

Джои Роберт
источник
3

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

Как узнать, какие люди будут хорошими программистами или могут быть хорошими программистами?

1 слово: IQ.

IQ для программирования, а рост для игроков в баскетбол.

Я бы назвал математические навыки еще одним политически корректным показателем. Мои учителя информатики сказали мне, что есть один критерий, который правильно предсказывает, кто преуспеет в курсах программирования. Высшая школа по математике Это эффективно IQ в любом случае.

Это может стать сюрпризом. Нам говорят, что программирование - это дипломная работа. Угадай что, мне наплевать на степень. Я забочусь только о 3 вещах.

  1. Навыки программирования (это можно проверить).
  2. Склонность.
  3. Здравый смысл (не слишком низкий) умения людей.

К сожалению, IQ измеряет только одно. Поэтому я делаю несколько тестов.

Я задаю людям вопросы. Простой вопрос, который я ожидаю, ребенок начальной школы должен быть в состоянии ответить.

Я задаю такие вопросы, как:

  1. Каково расстояние между короткой и длинной стрелкой часов в 7:35?
  2. Если я еду из Джакарты в Семаранг и хочу поддерживать скорость 60 км / час. Затем в первые 2 часа я проезжаю 100 км / час. Как быстро я должен ехать до конца поездки, чтобы средняя скорость составляла 60 км / час?

Если вы внимательно посмотрите, эти вопросы не требуют творчества вообще. Только здравый смысл. Любой ребенок начальной школы с IQ может ответить на этот вопрос.

МОСТ выпускник колледжа не может. А теперь представьте, если кто-то не может ответить на это? Может ли он программировать? Думаю об этом. Как часто вам придется указывать, что он должен делать?

Вы также можете задать такие вопросы, как Microsoft, которые требуют творчества. Вы можете задать вопросы о том, как взвесить 8 шаров в весах, чтобы узнать, какой из них самый тяжелый. Проблема с такими вопросами заключается в том, что это связано с удачей. Однако некоторые из них довольно просты, это должно быть минимальным требованием.

Получение классного программиста может улучшить моральный дух других программистов. Получение одного законного программиста может снизить моральный дух всех остальных.

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

Хорошие программисты могут решить джем-код Google и предсказать, какие проблемы легче решить.

user4951
источник
2

imho ты хороший программист если

-У вас есть теоретический фон. переизобретая колесо, а также алгоритм или структуру, в большинстве случаев - пустая трата времени.

Вы можете иногда видеть вещи и проблемы с искаженной точки зрения. Это может привести вас к поиску инновационных решений.

- вы тратите время, деньги и усилия, чтобы обновлять лучшие инструменты и лучшие навыки.

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

-Если ваш код / ​​уровень ошибок достаточно высок. Я знаю, что это может показаться тривиальным, но я знаю многих креативных и опытных разработчиков, которые, тем не менее, очень склонны делать тривиальные ошибки. это сильно ухудшает их эффективность и полезность.

люди вокруг вас знают, что вы можете помочь решить, что делать

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

Вы продолжаете учиться, вам любопытно.

-Тебе весело программировать, после всех этих лет

pomarc
источник
2

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

... мой вывод таков: хорошие программисты имеют низкую зарплату и мало шумят ... :)

Ori
источник
2

Лучший программист: выполни задачу с наименьшим количеством операторов кода вовремя.

Навид
источник
1

Сколько ошибок в вашем коде по некоторым показателям? (т.е. ошибок в строке) Сколько кода необходимо перекодировать, когда нужно добавить новые функции? У ваших коллег есть проблемы с изменением вашего кода?

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

Torlack
источник
1

Мне действительно нравится то, что Адам V сказал выше.

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

Бернард Ди
источник
1
«Но это также может быть индикатором плохих требований». скорее всего, наш случай здесь. плохие требования заставили нас переписать целый модуль.
1

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

Хорошим показателем является то, хотят ли другие люди, которых вы уважаете как программистов, сами работать над / с написанным вами кодом. Если бы у вас была возможность работать напрямую с вами или унаследовать написанный вами код, вы от него отказались? Согласитесь неохотно? Или воспользоваться возможностью учиться на своей работе? Эта техника работает даже лучше, если она ровесница, а не подчиненный или кто-то, кто думает, что вам может быть полезно, чтобы вы чувствовали себя хорошо.

Ларри Гриц
источник
1

Если вы действительно хотите это выяснить, отправьте некоторый код своим коллегам и попросите (конструктивный) обзор кода. В худшем случае вы чему-то научитесь. Тот факт, что вы находитесь здесь на этом сайте в поисках просветления, уже отличает вас от немытых масс. (если только вы не здесь, чтобы погладить эго. :-)

Лимбическая система
источник