Как я и ожидал, результаты опроса получились далеко неоднозначными. Около половины опрошенных считает, что нужно глубоко погружаться в теорию Computer Science, чтобы быть хорошим специалистом, и что без этой базы никуда. Другая половина либо считает по-другому, либо сомневается, либо имеет более развёрнутое мнение на этот счёт.
Спасибо всем за мнение и комментарии!
Теперь хочу выразить своё видение по этому поводу и написать несколько тезисов, к которым я пришёл на базе своего опыта, опыта коллег, результатов опроса и ваших комментариев.
- Уровень зарплаты зависит от меры влияния на бизнес. Т.е. не так важно, как много вы знаете и умеете с технической стороны, более важно - какую бизнес-ценность вы приносите. Вы можете хорошо знать теорию Computer Science, но плохо представлять конечную бизнес-задачу. А именно решение бизнес-задач приносит деньги компаниям и, соответственно, вам. Поэтому, я считаю, что знания Computer Science уходят на второй план по сравнению с навыком бизнес-ориентированности. Не забываем про soft-skills😉
- Понравился комментарий @dimoobraznii, что начинающему специалисту самое важное - побыстрее найти работу и получить опыт на реальных проектах. После того, как уже понял, как всё устроено и закрепился в индустрии - начинать учить что-то сложнее по типу алгоритмов, структур данных и внутренностей баз данных.
Со своей стороны, сделаю ещё несколько уточнений. Считаю, что сразу начать копаться в Computer Science - хороший вариант для студентов, которые после школы поступили на соответствующий факультет в ВУЗ. Если нет проблем с финансами и хочется спокойно закончить универ, то это вариант в 21-22 года с хардкорными фундаментальными знаниями прийти в IT и надолго здесь остаться.
Если же вы не студент Computer Science, хотите перейти в IT из другой сферы и вам нужно побыстрее найти работу и зарабатывать деньги - с углублением в Computer Science на первом этапе вы потратите очень много времени, за которое индустрия и требования в ней могут сильно поменяться.
- Знания Computer Science более ценны для on-premise решений и менее ценны в облаке. Как мы знаем, on-premise решение - это когда мы всё делаем самостоятельно: покупаем сервера, устанавливаем OS, строим физическую сеть, устанавливаем нужный софт, настраиваем репликацию, шардирование, мониторинг и т.д. Всё это требует больших усилий, и знания архитектуры ЭВМ, внутренностей баз данных, компьютерных сетей и распределённых систем могут очень помочь. В облаке, напротив, огромную часть задач с нас снимает облачный провайдер, и нам, преимущественно, достаточно знать особенности отдельных сервисов и как ими пользоваться.
Главный вывод: знать Computer Science круто и полезно, но учить его стоит тогда, когда вы уже умеете решать бизнес-задачи, на верхнем уровне понимаете, из каких компонентов состоит IT-решение (будь-то аналитическое или какое-то другое) и какие инструменты можно использовать.
Разберитесь, как строятся архитектуры для аналитических решений, научитесь хорошо писать SQL-запросы и оптимизировать их. Разберитесь, как строятся DWH и какие best-practices есть в ETL. Научитесь писать рабочий код. Поковыряйте какое-то облако (AWS, Azure, GCP, Yandex Cloud, что угодно). С этим всем можно решить большинство бизнес-задач.
А дальше можно углубляться в теорию и разбирать, как работает процессор:)
Post #157
3.36K
- ❤ 1