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

67
4
1
Лучший ответ
737

Степень CS, и это даже не близко.

Степень CS имеет две отдельные, но равные части.

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

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

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

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

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

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

ответил(а) 2019-12-02T17:43:56.000221+03:00 4 месяца назад
313

Ни. Хотите верьте, хотите нет, но в течение 10 минут я могу сказать, знает ли разработчик, о чем он говорит, и будет ли он компетентным сотрудником в команде. Степени CS действительно коррелируют сильнее с лучшими кандидатами по ряду причин. Вот что я ищу:

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

ответил(а) 2019-12-07T17:44:46.139437+03:00 3 месяца, 4 недели назад
175

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

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

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

ответил(а) 2020-01-14T17:51:17+03:00 2 месяца, 3 недели назад
170

Я всегда был озадачен аргументом, что степень показывает «некоторые доказательства того, что человек может справиться с трудностями и дискомфортом, выяснить что-то без использования руки и т.д.»

Любой, кто играет на музыкальном инструменте с любой степенью компетентности, также потратил тысячи часов практики и преданности и, несомненно, работал через испытания и дискомфорт, без помощи рук и т. Д. Любой, кто находится в 5 или 6 лучших разделах шахмат. Турнир потратил тысячи часов на преодоление трудностей и т. д. Но по какой-то причине музыкальные способности, похоже, не регистрируются как свидетельство того, что они придерживаются чего-то в течение четырех лет (только 4?), как парень, который в основном устраивает вечеринки. Пройдя 4 года обучения, он получил немалую долю не из-за жгучего желания учиться и расти, а потому, что его родители и общество ожидали его, а также потому, что перспективы его работы были сведены к минимуму, если бы он этого не сделал. Я нахожу людей, которые самоучки движимы желанием и страстью, а не обязанностью. И, по моему опыту, у самозванцев гораздо больше шансов на то, чтобы продолжить свою страсть к обучению позже. Я знаю МНОЖЕСТВО людей, которые остались с 4 годами колледжа, получили ученую степень и не получили еще одну книгу после выпуска. Почти каждый знает больше, чем один обладатель степени магистра, по сути, полный идиот. Все, что человек-самоучка мог упустить из-за отсутствия формальной учебной программы, можно легко научить, поскольку такой человек явно заинтересован в том, чтобы учиться и знать.

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

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

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

ответил(а) 2019-12-23T17:39:55.324680+03:00 3 месяца, 1 неделя назад
151

Краткий ответ: ни один. Но люди, которые гордятся тем, что они «полностью самоучки», впечатляют меня.

Более длинный ответ:

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

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

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

В конечном счете, при приеме на работу все сводится к тому, что кто-то знает, что он сделал, как он думает о проблемах и как им нравится быть рядом. В общем и целом, я обнаружил, что люди, которые много думают о самоучке, беспечно не знают о том, как много они не знают, и часто демонстрируют синдром Даннинг-Крюгера в пиках. Они также имеют тенденцию быть неоправданно высокомерными.

ответил(а) 2019-12-10T17:36:29.617579+03:00 3 месяца, 3 недели назад
88

Ни. Я самоучка. Запрограммировав на коммодоре 64 в возрасте 12 лет, базовый в 14 лет, взорвал пакеты и рухнул на всех серверах и взломал учетные записи Yahoo как подросток (это было оправдано и почти стоило моему старику его работы).

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

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

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

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

В заключение. Простой вызов кода. Это позволяет образец кода и многое говорит об их стиле. Что-то вроде поиска «переключателя регистра» вместо «иначе, если» засоряющего метод.

Я избегаю таких вопросов, как «что такое полиморфизм». Это ленивый, постоянный вопрос. То же, что и шипение Они не относятся к реальным проблемам жизни. Головоломки? да ... нет

Я работал в General Motors, Ericsson, Omnicom, Bloomberg, Alcatel Lucent, AT & T и многих других, и не было никакой корреляции между степенями CS и производительностью / качеством с моей точки зрения в качестве технического лидера.

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

ответил(а) 2020-02-19T18:43:11+03:00 1 месяц, 2 недели назад
127

Я совсем не впечатлен степенями, CS или другими предметами.

Когда я был профессором университета, мы говорили следующее:

«С каждой приобретенной вами степенью вы можете получить дополнительное бесплатное образование».

Около 3/4 наших студентов не выбрали вариант.

Таким образом, степень сама по себе ничего не значит. Я хочу посмотреть, что кандидат сделал со степенью или без какой-либо степени вообще.

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

ответил(а) 2020-01-30T23:17:41+03:00 2 месяца назад
98

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

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

ответил(а) 2019-12-18T17:41:58.619181+03:00 3 месяца, 2 недели назад
78

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

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

Больше всего меня волнует, могут ли они выполнять эту работу.

ответил(а) 2020-01-27T17:37:53.289526+03:00 2 месяца, 1 неделя назад
46

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

ответил(а) 2020-02-17T17:42:05.565992+03:00 1 месяц, 2 недели назад
67

Я давно принял мантру Джоэла Спольски «умный и добивающийся успеха». Я знал много действительно плохих программистов, у которых были дипломы CS, и много хороших, которые этого не делали.

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

Имея это в виду, помните, что многие компании предварительно фильтруют степень CS на уровне HR. Возможно, я не увижу ваше резюме, потому что оно не пройдет проверку.

ответил(а) 2020-01-10T17:42:46.661655+03:00 2 месяца, 3 недели назад
68

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

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

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

ответил(а) 2019-12-29T19:31:41+03:00 3 месяца, 1 неделя назад
54

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

Отсутствие степени CS не является индикатором очевидного несоответствия для меня. Если я не найму стажера, отсутствие опыта в профессиональной разработке программного обеспечения - безусловно, критерий № 1 для исключения из первого раунда собеседований.

Возможно, в качестве частичной компенсации предвзятости по опыту, мое классическое интервью в первом раунде длится от 20 до 40 минут, и это набор вопросов CS. Меня больше впечатляет тот, кто отвечает на эти вопросы без формального образования? Возможно, но после сотен таких быстрых первых раундов мой мозг очень быстро забывает резюме кандидата, иногда в течение нескольких минут после первого решения на основе слабого фильтра на основе резюме. Поскольку я редко нахожу время, чтобы перечитать лист бумаги перед собеседованиями в первом туре, к тому времени, когда вы отвечаете на вопросы, мне повезет, если я запомню ваше имя.

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

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

ответил(а) 2020-02-08T17:42:50.549514+03:00 1 месяц, 3 недели назад
66

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

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

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

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

Или, как сказал мне разработчик университета, примерно в 1998 году, когда я показал ему свое первое программирование: «Никогда, никогда, никогда, никогда не пишите код для производства». К счастью, я был скорее удивлен, чем оскорблен и попросил его показать мне, что он имел в виду (не спрашивайте, что я сделал не так). В результате я узнал о функциональном программировании. И мои собственные пределы. И это кодирование учится так же, как и все остальное.

ответил(а) 2019-12-15T19:18:42+03:00 3 месяца, 3 недели назад
38

Я думаю, что процесс найма не является вопросом впечатления или нет. Это берет на себя ответственность. Это не игра ...

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

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

Вот почему отдел кадров не будет смотреть на резюме от самоучек, за исключением случаев, когда у них есть 10/15 лет проверенного опыта, но не 2/3 года. Как могли HR-специалисты утверждать, что они выбрали парня, который бросил школу после старшей школы, и изучали CS в Интернете против парня, который окончил университет с MS в CS? Ни за что !

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

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

ответил(а) 2020-02-11T17:40:10.204371+03:00 1 месяц, 3 недели назад
40

Ни один из двух, если честно.

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

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

ответил(а) 2020-01-19T17:39:16.906840+03:00 2 месяца, 2 недели назад
38

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

На оба вопроса можно ответить, рассказав о прежних проектах, архитектуре, выборе дизайна и т. Д.

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

ответил(а) 2020-01-04T18:22:32+03:00 3 месяца назад
43

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

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

ответил(а) 2019-12-27T17:41:59.480956+03:00 3 месяца, 1 неделя назад
31

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

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

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

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

ответил(а) 2020-01-24T18:03:43+03:00 2 месяца, 1 неделя назад
34

Ни. Больше всего меня впечатляет ваш опыт и интересы. Самообучения или степени CS недостаточно, чтобы взглянуть.

ответил(а) 2020-01-08T17:40:48.436021+03:00 2 месяца, 3 недели назад
25

Я самоучка и недооцениваю многие языки программирования, такие как python, c, C ++ и т. Д. Кто-то, имеющий ученую степень, определенно знает, что делает, однако самоучка, возможно, пропустил некоторые ключевые моменты в циклах. Если они самоучки, хотя они могут иметь даже лучшие знания, так как, возможно, потратили больше времени на изучение различных частей языка, чем кто-либо, имеющий степень. Если бы я нанимал кого-то, я бы попросил их обоих написать простую программу, сталкивающуюся с более сложной проблемой, заявив, что ее нужно легко обновить в будущем, и у меня не может быть какого-либо скопированного кода. Кто бы когда-либо делал лучшую работу из этого, я бы хотел нанять, потому что это довольно сложно, и вы легко увидели бы, кто из лучших программистов самоуверен или имеет ученую степень.

ответил(а) 2020-02-03T17:39:12.417980+03:00 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема