Plano de nivelamento para obtenção da profissão Engenheiro de dados
Nos últimos oito anos tenho trabalhado como gerente de projeto (não escrevo código no trabalho), o que naturalmente afeta negativamente meu back-end tecnológico. Decidi fechar minha lacuna tecnológica e buscar a profissão de engenheiro de dados. A principal habilidade de um Engenheiro de Dados é a capacidade de projetar, construir e manter data warehouses.
Fiz um plano de treino, acho que vai ser útil não só para mim. O plano é focado em cursos de auto-estudo. A prioridade é dada a cursos gratuitos em russo.
Seções:
Algoritmos e estruturas de dados. Seção chave. Aprenda e tudo o mais dará certo também. É importante colocar as mãos no código e usar as estruturas e algoritmos básicos.
Bancos de dados e data warehouses, Business Intelligence. Estamos passando de algoritmos para armazenamento e processamento de dados.
Hadoop e Big Data. Quando o banco de dados não está incluído no disco rígido, ou quando os dados precisam ser analisados, mas o Excel não pode mais carregá-los, grandes dados começam. Na minha opinião, é necessário avançar para esta seção somente após um estudo profundo das duas anteriores.
Algoritmos e estruturas de dados
Em meu plano, incluí aprender Python, repetindo os fundamentos da matemática e da algoritmização.
Bancos de dados e data warehouses, Business Intelligence
Livro: Martin Kleppman - Aplicativos altamente carregados. Programação, dimensionamento, suporte. O livro descreve como diferentes modelos de dados funcionam, sua implementação por dentro, limitações e escolhas dependendo da tarefa.
Tópicos relacionados à construção de data warehouses, ETL, cubos OLAP são altamente dependentes de ferramentas, por isso não forneço links para cursos neste documento. É aconselhável estudar esses sistemas ao trabalhar em um projeto específico em uma empresa específica. Para conhecer o ETL, você pode tentar Talend ou O fluxo de ar.
Na minha opinião, é importante estudar a moderna metodologia de design do Data Vault Link 1, Link 2. E a melhor maneira de aprender é pegá-lo e implementá-lo com um exemplo simples. Existem vários exemplos de implementação do Data Vault no GitHub link. The Modern Data Warehouse Book: Modeling the Agile Data Warehouse with Data Vault, de Hans Hultgren.
Para se familiarizar com as ferramentas de Business Intelligence para usuários finais, você pode usar o designer gratuito de relatórios, painéis, mini data warehouses Power BI Desktop. Materiais educativos: Link 1, Link 2.
Hadoop e Big Data
Você precisa começar com uma implementação independente do MapReduce sem bibliotecas de terceiros. Isso permitirá uma melhor compreensão das implementações multithread no futuro. Um excelente exemplo em Python é descrito aqui.
Nem tudo que você aprende pode ser aplicado no trabalho. Portanto, você precisa de um projeto de graduação no qual tentará aplicar novos conhecimentos.
Não há tópicos relacionados à análise de dados e Machine Learning no plano. isso se aplica mais à profissão de Cientista de Dados. Também não há tópicos relacionados a nuvens AWS, Azure. esses temas são altamente dependentes da escolha da plataforma.
Perguntas para a comunidade:
Quão adequado é o meu plano de nivelamento? O que remover ou adicionar?
Que projeto você recomendaria como tese?