Software Engineer

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 Software 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:

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.
Please enable JavaScript in your browser to complete this form.
Click or drag files to this area to upload. You can upload up to 2 files.
Checkboxes