Разработка и внедрение решений в области Big Data – востребованное на рынке направление, потому что людям нужны сервисы, позволяющие получать и хранить информацию, а также обмениваться ей.
Сейчас существует огромное количество источников, которые помогут вам стать разработчиком Big Data. Но даже изучение их всех не гарантирует, что вас ждет успех в решении реальных задач на практике.
Мне довелось пройти как путь самообразования, так и занятий в «Школе Анализа Данных» и Coursera, освоить множество курсов в ВУЗе, в том числе по компьютерному зрению, анализу веб-графов, Large Scale Machine Learning и др.
Но только после того, как я начал применять полученные знания на практике, ко мне пришло понимание, что в курсах зачастую не уделяется должного внимания практическим проблемам. Поэтому, я постараюсь изложить набор минимальных навыков, которых будет достаточно для того, чтобы как можно скорее начать решать задачи на практике.
Наверное, самое важное — математическое мышление, которое надо постоянно развивать в себе с молодых лет. Для тех, кто, возможно, это упустил, стоит начать с освоения курсов по дискретной математике — это полезно вообще для всех, кто работает в IT.
После того, как вы научитесь оперировать дискретными объектами, познакомьтесь с построением эффективных алгоритмов — для этого достаточно пройти небольшой курс по алгоритмам, вроде курса ШАДа.
Когда ваш мозг научится оперировать с дискретными объектами, а также у вас будет развито алгоритмическое мышление, вам необходимо будет научиться мыслить в терминах теории вероятности.
Кроме того, для того, чтобы стать хорошим разработчиком, необходимо знать языки программирования и иметь опыт написания промышленного кода.
После получения достаточной математической культуры и освоения навыков программирования, следует изучить машинное обучение. Здесь важно получить целостное представление о задачах, которые могут возникать на практике, методах их решения и научиться реализовывать свои идеи на практике. Начните упражняться в построении алгоритмов. И уже после того, как вы научитесь строить хорошие модели, можете приступать к обучению работы с большими данными.
Александр Крот, научный сотрудник Лаборатории продвинутой комбинаторики и сетевых приложений МФТИ