У меня есть степень в области компьютерных наук. Это было здорово для открытия дверей, получения работы. Помогать мне в профессиональной области программирования на C # .NET (самой популярной платформе и языке в той области, где я работаю, если не во всех Соединенных Штатах на руках самой популярной ОС в мире ) - это вряд ли полезно.
70% + кода написано на C (поскольку встроенных устройств больше, чем приложений высокого уровня). Согласно популярным поискам работы, таким как игра в кости или индекс TIOBE, Java является наиболее популярным языком программирования для предприятия (так как фоновых серверов Unix / Linux больше, чем серверов Windows). Существует больше смартфонов и планшетов (вычислительная платформа будущее) под управлением некоторого варианта Linux или Mac OS, кроме Windows, запрограммированного на все, кроме C # или .NET.
Посмотрите на свой роутер дома, посмотрите на свой мобильный телефон, посмотрите на компьютер в своем автомобиле, посмотрите на волнующуюся микроволновку дома, на контроллеры в вашей домашней системе кондиционирования, внутри вашего телефона и на рабочий факс и принтер / сканер. Посмотрите на количество компьютеризированных устройств (число которых превышает количество систем Windows).
Как вы думаете, они запрограммированы на C #?
Если вы действительно уверены, что .NET или C # являются самыми популярными платформами в мире, вы можете вернуться в свою школу CS и попросить возмещение.
Как вы думаете, почему это помогает вам, как программисту, в вашей профессиональной карьере (не считая алгоритма начисления премий, чтобы произвести впечатление на интервьюера)?
Может быть, потому, что в программировании гораздо больше, чем просто разработка динамических веб-страниц и корпоративных приложений? Для этого вам даже не нужна степень бакалавра, достаточно AA - я знаю, потому что я начал свою карьеру программиста со степени AA и медленно, но верно работал в CS, а затем работал в аспирантуре , работая полный рабочий день в качестве разработчика. ,
Есть встроенная разработка, есть разработка драйверов устройств, есть разработка операционных систем, есть разработка алгоритмов, сигналов, коммуникаций, сетевых протоколов, разработка ядра базы данных, разработка файловой системы, распределенные вычисления, компиляторы. Не исследования, а реальная работа в коммерческих организациях. Исключая естественно одаренных, обычно невозможно взломать его в любой из этих областей промышленности без степени CS (иногда даже не со степенью BS).
Человек, который получает степень CS и обращает на это внимание, знает это. Как получилось, что нет?
В современном мире адаптация, быстрое мышление, сильная коммуникация, OO и фундаментальные навыки проектирования позволяют разработчику писать программное обеспечение, которое примет клиент.
ОО возникла из-за CS. И большинство людей, которые думают, что они делают OO, не могут даже сделать хорошую работу. Просто взгляните наружу и посмотрите на дрянное состояние программного обеспечения (в частности, в Java и .NET, не говоря уже о PHP.) Знание основ CS (или степень в некотором роде разработки) не гарантирует 100% хорошее понимание ОО. и аналитические навыки, но это обычно помогает. OTH, отсутствие базовых знаний по CS обычно является красным флагом, когда дело доходит до OO и аналитических навыков. У нас достаточно эмпирических данных в отрасли, чтобы подтвердить это утверждение.
Эти навыки ограничены только в программе CS.
В зависимости от программы CS и в зависимости от студента. По крайней мере, для меня я видел множество хороших курсов по дизайну, анализу ОО, коммерческим инструментам и практикам, у нас были совместные курсы с местными компаниями и стажировки, проекты и исследования, финансируемые корпорациями, техническое письмо, как вы это называете. Извините, я не могу связать или понять это утверждение.
На мой взгляд, чтение 500-страничной книги по C # от Wrox предлагает гораздо более полезный набор навыков, чем 4-летний курс обучения компьютерным бластерам.
Опять же, в зависимости от работы, которую вы делаете. Даже на предприятии я использовал свой CS, чтобы на самом деле что-то исправить или улучшить. Все это включает моделирование, архитектуру, распределенные вычисления, безопасность и высокую производительность, высокую доступность и отказоустойчивость. Я изучил все это в CS.
Нет ничего плохого в том, чтобы использовать книгу Wrox, чтобы получить набор навыков, зависящий от контекста и технологии . Я делаю это сам. Но мой опыт работы с CS дает мне контекст для работы. Без моего опыта работы с CS все, что я мог бы сделать, это программировать, кодировать (это все, что я мог сделать, когда у меня была только степень АА в начале моей карьеры).
Многие не согласны.
Удивительно, нет.
Итак, почему степень информатики имеет значение?
Как вы думаете, кто придумал google, hadoop, cassandra или высокопроизводительные движки баз данных? Как вы думаете, кто пишет ядро ОС Windows? Как вы думаете, кто программирует любимые инструменты, которые вы используете для разработки C #.
В одном я уверен, что в инструментах, которые вы используете для разработки на C #, за этим стоит парень из CS.
Нужна ли вам степень CS или нет, зависит от типа работы, которую вы делаете, от типа работы, которую вы хотите выполнять, от типа работы, на которую вы способны.
На предприятии и в веб-разработке много работы, не требующей степени CS. Я даю это. Я также знаю, что мир программирования намного шире, чем просто эти две области, причем многие области (большинство из них на самом деле) требуют степени CS или более.
У вас есть степень CS, как вы не знаете, что это загадка.