




Data Engineering Mid\-level Lisboa, Braga, Viana do Castelo Problemas complexos exigem a experiência certa! Um dos maiores desafios da atualidade é o correto armazenamento e processamento de dados tendo em consideração estes três domínios (3Vs): Volume, Velocidade e Variedade. Na Xpand IT, a equipa de Data Engineering desenvolve e implementa arquiteturas e soluções de software que tratam da captura, ingestão, armazenamento e gestão de dados críticos de grandes clusters de informação onde os 3Vs estão sempre presentes. Tiramos partido de um conjunto de frameworks avançadas como Spark, Kafka, Hive/Impala, Azure Data Services ou MongoDB usando Java e Scala como linguagens de programação para interagir com estas frameworks. Principais responsabilidades Enquanto Data Engineer é essencial trabalhar juntamente com os Platform Engineers, para desenvolver soluções de software, aplicando as melhores práticas em termos de desenho e arquitetura de sistemas distribuídos de grande escala. As principais responsabilidades passam por garantir o desempenho e a escalabilidade do software que interage com os sistemas backend Big Data, contribuindo para a manutenção da performance geral do sistema. **Principais responsabilidades diárias:** Implementar soluções em arquiteturas distribuídas em que a performance de tratamento de grandes volumes de dados é fulcral Desenhar e desenvolver soluções de software robustas e escaláveis, independentemente da quantidade de dados a processar Implementar boas práticas e padrões de desenho das soluções Big Data no software produzido Analisar problemas complexos que necessitam de soluções eficientes para manipular grandes quantidades de informação. Desenvolver modelos e organização de estruturas de dados que otimizem as operações de “pesquisa” e “armazenamento” em sistemas distribuídos de grande escala Desenhar e desenvolver de APIs de comunicação entre os sistemas de backend Big Data e sistemas externos através de protocolos de comunicação standard. **Stacks:** Python, Java/Scala, Spark, Kafka/Confluent, MongoDB, Databricks Requisitos Formação académica Licenciatura e/ou Mestrado em Informática, Sistemas de Informação ou Ciência da Computação. Experiência com Java/Scala Experiência em tecnologias baseadas em Java (JBoss, Spring, Spring MVC, Hibernate) e na definição de interfaces de comunicação utilizando standards como XML, JSON, SOAP. Padrões de design Experiência na implementação de padrões de design em soluções de software avançadas (multi\-threaded, multi\-process, multi\-cloud). Bases de dados Experiência com bases de dados relacionais e não relacionais (SQL, MySQL, NoSQL, Hadoop, MongoDB). Ferramentas de desenvolvimento Elevada experiência no uso de ferramentas como Eclipse, Maven, Jenkins, GIT, JIRA ou equivalentes. Idiomas Domínio do Inglês, falado e escrito. **Pontos extra:** Conhecimento ou experiência na utilização de frameworks de computação/armazenamento distribuído como Apache Spark, Kafka ou native cloud solutions como Databricks, EMR ou DataProc; Skills de Team Player e problem\-solver.


