Подтвердить что ты не робот

Как вы можете измерить свои навыки как программиста?

На предыдущем интервью мне задали вопрос: "От 0 до 10, как вы оцениваете себя как программиста?"

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

Итак, есть ли способ узнать, насколько хорошо вы выполняете свою работу?

4b9b3361

Ответ 1

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

Ответ 2

Это трудный вопрос. С чисто интроспективной точки зрения, я считаю, что одна из лучших показателей "хорошего программиста" такова: насколько вам нравится ваше ремесло? Я встречал много разработчиков, некоторые из них очень хорошие, но я никогда не знал никого, кто был разработчиком 9-5, и управлял чем-то лучшим, чем посредственные результаты.

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

Окончательный лакомый кусочек: программирование - это решение проблемы, чистое и простое. Подумайте о том, как вы приближаетесь к трудным проблемам, которые приходят вам на ум. Во-первых, как вы эмоционально реагируете на сложную задачу? И, во-вторых, как будет выглядеть ваш код? Вы просто взламываете свой путь в джунглях до тех пор, пока не придете к каким-то результатам, или ваш подход методичен, хорошо измерен и (что наиболее важно) сильно исследован? Действительно хорошие программисты - это не те, кто знает все или может реализовать алгоритм Дейкстры на восьми языках холодным, это те, кто часами проливает текстовые книги и неясные блоги, чтобы найти этот крошечный самородок идеи, которая так и происходит чтобы иметь решающее значение для рассматриваемой проблемы. Если у вас есть терпение и страсть, чтобы проложить свой путь через глубокий вызов, а также смирение, чтобы смотреть на других для идей, тогда вы хорошо на пути к этому "10".

Ответ 3

10 - Вы не знаете, что ничего не знаете.

9 - Ты просто хвастаешься, и ты, наверное, не так хорош, как считаешь. Даже если вы действительно так хороши, вам не хватает политических навыков, чтобы увидеть, что выберет "9" о вас. Это, или вы очень хорошо известны/поклоняетесь в отрасли (т.е. Вы однажды написали книгу, и у нее есть прозвище "Книга ______" или акроним, который большинство разработчиков сразу узнает), и не боится бросать ваше имя вокруг.

8 - Ты чертовски хорош, и ты это знаешь, но ты достаточно умен, чтобы осознать стигму выбора 9 или 10. Лучше бы это сделать.

7 - Ты очень хорош, но ты знаешь, что тебе есть чему поучиться.

6 - Вы компетентны и многому учитесь, но не очень уверены в своих способностях. Вы уверены, что вы не 7?

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

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

3 или ниже - Если у вас так мало уверенности в возможностях программирования, почему вы обращаетесь к заданиям по программированию?

Итак, "правильный" ответ, вероятно, 5-7, в зависимости от того, на какую работу вы проводите собеседование. У 8 достаточно опыта, чтобы она не задавала этот вопрос.

Ответ 4

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

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

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

То, что вы не должны делать, это буквально ответить на вопрос. Это обычно не то, что хочет интервьюер.

Ответ 5

Как кто-то, кто соберет потенциальных разработчиков, я бы сказал, что где-то между 6-8 будет самый безопасный ответ на этот вопрос. Я предполагаю, что средний ответ примерно равен 7. Я думаю, что это действительно больше, чтобы отсеять некомпетентных (0-5) или невежественных (9-10). Если вы решите ответить 9+, будьте готовы это доказать.

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

Ответ 6

Я знал кого-то, кто использовал этот вопрос интервью в течение многих лет. Он сказал, что лучшие программисты, как правило, оценивают себя примерно в 7 человек. В частности, люди, которые оценили себя в 10 человек, обычно были уверены в своих способностях, потому что никогда не встречали хорошего программиста. Но никогда не встречал одного, с кем бы они когда-либо узнали какие-либо реальные навыки? Есть, конечно, исключения. Но если вы настроились на сообщество, вы, вероятно, узнаете, кто такие исключения.

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

Ответ 7

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

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

Я думаю, это приведет вас по шкале от 1 до 10

Стоит отметить, что глубокое знание одного языка может затруднить изучение другого. Потому что, как только вы думаете в терминах языка "А", вы должны переделать свой мозг, чтобы изучить язык "B". Очевидно, что это применимо только при переходе к совершенно другому типу программирования, например. C- > С++, С# → F #, Java → Scala и т.д. Поэтому я не думаю, что он может быть "идеальным программистом" в реферате.

Ответ 8

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

http://projecteuler.net/index.php?section=problems

Ответ 9

Один вполне действительный подход к "как бы вы оцениваете себя от 1 до 10?" заключается в том, чтобы указать неотъемлемую проблему с самооценкой. Чтобы обобщить результаты экспериментов в этой увлекательной статье:

  • Почти все оценили себя как выше среднего. По меньшей мере 50% этих людей были либо нечестными, либо обманутыми.
  • Люди, которые на самом деле находятся в топ-25%, часто нажимают на диапазон 50-75% (т.е. оценивают себя искусственно низко).
  • Люди, которые находятся в 50-75% -ном кронштейне, склонны наиболее точно оценивать себя.

Вы можете разумно суммировать это, поскольку 50% самооценок - ложь, а еще 25% ошибочны. Таким образом, вы могли бы попросить интервью беспилотного, если они либо тратят свое время, либо оценивают вас психологически....

Ответ 10

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

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

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

Ответ 11

Короткий ответ: вы измеряете себя против своих сверстников. То есть, возьмите кого-то, кто ничего не знает и не назначит 0, возьмите лучшего программиста, которого вы лично знаете, и назначьте 10 - как вы считаете себя по сравнению с этими двумя людьми? Ближе к лучшему? Это будет 8. Средний? это будет 5.

Просто не отвечайте 0 или 10 и старайтесь быть объективными. Точка вопроса не оценивает вас как программиста, а оценивает ваши навыки при самооценке. Ваше понимание, то есть.

Ответ 12

Есть только одна метрика, по которой можно измерить хорошего программиста: LOC/hr. Каждая другая метрика лишняя: p

Ответ 13

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

Если это так, похлопайте себя по спине. Вы делаете хорошую работу.

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

Ответ 14

Как интервьюер, я задал бы этот вопрос, чтобы увидеть, как электив кандидат выражает себя.

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

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

Фактический ранг 0-10 гораздо менее важен.

Ответ 15

Я считаю, что важно не оценивать важность знания языка.

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

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

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

Ответ 16

Если вам нужен звуковой байт для ответа:

Когда я начал профессионально работать, я, вероятно, был 2, теперь я бы сказал, что мне было около 7, но каждый день я работаю, чтобы достичь 10.

Ответ 17

Слова в минуту.

Ответ 18

По-моему, это сложно (и в контексте интервью даже вопрос UNFAIR)! До сих пор я работал в трех разных компаниях. Каждый раз, когда я встречал очень мало отличных программистов (намного лучше меня), много хороших программистов и нескольких программистов, которые должны измениться к лучшему. Но невозможно поставить их в категории от 0 до 10!

Ответ 19

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

  • Техническое мастерство: идите покупать хорошую "поваренную книгу" - ссылку на язык/язык, который вы в первую очередь используете; для каждой задачи, обсуждаемой в книге, сначала напишите свое собственное решение, а затем сравните его с теми, которые предлагаются в книге.
  • Скорость разработки: Зарегистрируйтесь в TopCoder и работайте с их сохраненными проблемами или участвуйте в соревнованиях в режиме реального времени.
  • Участие в команде разработчиков: купите обед для одного из ваших доверенных сотрудников и попросите его/ее для честной оценки себя как члена команды (например, "Что вы видите в качестве моих основных сильных и слабых сторон в качестве члена из нашей команды? Что бы вы посоветовали мне сделать, чтобы улучшить?" ) [Если в вашей команде нет никого, к кому вы могли бы пойти для такой дискуссии, может быть, , что говорит вам об этой проблеме.]
  • Коммуникационные навыки: сядьте с сотрудником, который не разработчик и попросит его/ее мнение о вашем текущем проекте. Обращать внимание; подумайте, насколько хорошо его/ее восприятие соответствует вашим собственным.
  • Оценка: каждое утро делайте заметку (только для ваших глаз) о том, что вы ожидаете достичь в тот день и как долго вы это ожидаете. В конце дня сравните это примечание с тем, что на самом деле произошло, чтобы увидеть, как далеко вы были. Чтобы улучшить в этой области, подумайте о причинах различий и о том, что вы могли бы подумать, что сделало бы ваши догадки более точными.

Ответ 20

Вы всегда можете конкурировать с другими программистами и видеть, насколько хорошо ваши способности мышления. Вы можете попробовать сайты, такие как www.topcoder.com или www.spoj.pl или wwww.codechef.com они предоставляют вам ряды, и вы можете видеть, насколько хорошо вы это делаете. Однако они чисто проверяют ваши алгоритмические мозги, а не то, как вы кодируете. Если бы меня спросили об этом вопросе, я бы сказал, что я постоянный ученик и верю в то, что вы делаете и исправляете ошибки, я не боюсь самокритиковать свой код, и я не согласен просить других указать мою ошибку, вы может решить, в каком масштабе он сидит.

Ответ 21

Определите масштаб 100%.

Определите, что вы остаетесь на отметке 100.0.

Определите позиции других разработчиков и известных личностей ИТ.

Рассчитайте, насколько вы лучше.

Ответ 22

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

Я не вижу 0-10 в виде графика прямой линии. Я вижу его скорее как экспоненциальный граф. Поэтому я уверен, что все еще говорю 4 из десяти, но я считаю, что я лучше, чем 90% кодеров. Я видел некоторые их работы, и меня это пугает. Я работал над программным обеспечением SSL для банковского программного обеспечения, и страшно, что он действительно работает. Таким образом, есть те 10% кодеров, которые лучше меня, чем я. Я не уверен, смогу ли я когда-нибудь догнать их. Дойти до 4, на мой взгляд, легко. Путь сложнее добраться до 5. От 5 до 6 невероятно страшно.

Великие кодеры, достойные 8, 9 или 10.

Ответ 23

Опыт. Чем больше у вас опыта, тем лучше. Вы знаете только, что испытали.

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

Ответ 24

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

Я хотел бы сначала проанализировать этот вопрос.

Анализ зависит от нескольких вещей, таких как: язык, рамки, характер проблемы, (Я PHP и Wordpress парень так ответ в этом контексте) 1. плагиновая работа, 2. строительство с нуля, 3. Использование api

Мой общий подход был бы (в большинстве случаев) 1. понимать данный (или уже построенный) объем функциональности (относительно текущей постановки задачи) 2. Рассчитывать один из лучших способов решения (есть определенно больше, чем каждый раз каждый раз...) 3. кодирование 4. тестирование в режиме реального времени (для настройки производительности) 5. На начальных этапах любого программиста все четыре этапа являются рекурсивными до получения окончательного решения, но по мере роста опыта 1 2 шага становится рекурсивным.

Способность понимания фундаментальной философии любого языка - это imp. Отдых - это решение проблем.

И в PHP я думаю, что мне 6.5.