Ценность диплома по компьютерным наукам — от человека без диплома.

На степень или не на степень?

Недавно молодой и энергичный разработчик спросил меня (перефразируя здесь для краткости): «Я немного беспокоюсь о том, чтобы попасть на работу. Если я хочу работать в сфере технологий — должен ли я пойти в университет и получить степень в области компьютерных наук или просто с головой погрузиться в создание собственных проектов?».

Мой ответ на TL;DR был таким: «Степень по компьютерным наукам — это здорово. Это может дать вам надежные инженерные принципы для создания амбициозного, поддерживаемого кода; но если это бинарный выбор, я бы выбрал ваши собственные проекты».

Немного предыстории

Я дизайнер и разработчик без формального образования. Я начал получать степень CS, проучился год, возненавидел ее, вместо этого получил степень по философии, и мне это понравилось ☺. Это не значит, что я сам не тратил огромное количество времени на изучение информатики и хороших инженерных принципов; просто более случайным и прагматичным образом (где «прагматичный» = «Черт, я только что понял, что моя кодовая база — это катастрофа… Я думаю, мне нужно еще немного изучить эти шаблоны проектирования»).

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

Осязаемые таланты: создавайте собственные вещи

Итак, несколько (идиосинкразических) советов для тех, кто рассматривает возможность получения степени в области компьютерных наук — от тех, кто не закончил их:

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

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

Доказательство находится в пудинге с инженерией. Под этим я подразумеваю: наличие степени в области компьютерных наук — это хороший знак, он показывает, что кандидат действительно заинтересован в разработке программного обеспечения и что он знаком с методологиями и принципами построения крупномасштабных, поддерживаемых кодовых баз; но это недемонстрирует, что они на самом деле хорошие программисты, которые могут выполнять сложные проекты в условиях дефицита времени и ресурсов, решая проблемы и повышая эффективность по собственной независимой инициативе. Степень CS! = Великий разработчик.

С точки зрения основателя, при найме талантов, особенно молодых талантов, вопрос заключается не столько в том, «Где-вы-работали?» или «Какой-у-у-у-есть-степени?», но «Какой-у тебя ум?» — как ты будешь приспосабливаться ко всем различным проблемам, которые будут возникать на твоем пути? Будете ли вы процветать в условиях ограничений? Мне нужно будет держать вас за руку каждый раз, когда условия и требования меняются?

Для иллюстрации: недавно мы завершили набор инженеров. Многие кандидаты имели дипломы компьютерных наук, некоторые — нет. Вскоре стало очевидно, что этот фактор плохо коррелирует с силой кандидата. То, что отделяло зерна от плевел, было свидетельством собственной инициативы. Из группы кандидатов только половина имела собственные веб-сайты. У горстки были проекты, созданные для собственного удовольствия. И часть этой группы разработала проекты до стадии, которая не была «MVP» — (ПРИМЕЧАНИЕ: фраза «Это просто MVP» не делает ничего волшебным). Кандидаты, которые действительно впечатлили нас (как коммуникаторы, как программисты, как специалисты по решению проблем и как люди), были теми, кто создавал свои собственные вещи для собственного удовольствия и назидания. Их заслуги как решателей проблем, мыслителей, деятелей и разработчиков воплотились в качестве и заботе о сборке продукта / и элегантности кодовой базы. Проекты сделали их таланты ощутимыми. Вы не хотите нанимать дронов — они будут отнимать ваше время — вы хотите нанимать исполнителей. Те особенные люди, которые могут взять проблему, уйти в угол и вернуться через день или неделю с полностью реализованным решением.

Вы не хотите нанимать дронов — они будут отнимать ваше время — вы хотите нанимать исполнителей.

Идеально…

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