Engenheiro(a) de Software Sênior - Visualization Services (Graphics)
NetSource · Todo Brasil · Remoto · InfoJobs
Sobre a vaga
Estamos em busca de um(a) Engenheiro(a) de Software Sênior para atuar no desenvolvimento e evolução dos nossos serviços de visualização, contribuindo para a construção de soluções escaláveis, resilientes e de alta performance. Principais Responsabilidades Projetar, desenvolver e manter módulos complexos de serviços de streaming e visualização, atuando com autonomia na resolução de desafios técnicos. Liderar tecnicamente componentes e iniciativas de ponta a ponta, garantindo qualidade, desempenho e confiabilidade das soluções desenvolvidas. Desenvolver, implementar e operar serviços em ambiente AWS, utilizando principalmente ECS e EC2, além de serviços como S3, DynamoDB, SQS, ElastiCache/Redis, Lambda e CloudFront. Implementar estratégias de cache, gerenciamento e recuperação de dados, escalabilidade e otimização de performance. Trabalhar com estratégias de recuperação de falhas, políticas de retry, dead-letter queues e otimização do acesso à memória e aos dados. Monitorar e melhorar a performance, disponibilidade e resiliência dos serviços em produção. Investigar problemas complexos em produção, identificar suas causas-raiz e implementar soluções corretivas. Participar de discussões de arquitetura e decisões técnicas, contribuindo com melhorias e novas tecnologias. Colaborar com arquitetos de sistemas, engenheiros especialistas e equipes responsáveis pela renderização e visualização dos modelos 3D. Identificar oportunidades de automação e melhoria contínua dos processos de desenvolvimento. Utilizar ferramentas de inteligência artificial para apoiar atividades de desenvolvimento, testes, revisão de código e automação. Requisitos Obrigatórios Ensino superior completo em Ciência da Computação, Engenharia ou áreas correlatas, ou experiência prática equivalente. Experiência profissional de 4 a 5 anos ou mais com desenvolvimento de software e serviços em produção. Experiência sólida com JavaScript/TypeScript e Node.js, ou experiência consistente em desenvolvimento backend com outra linguagem e capacidade de adaptação ao ecossistema Node.js. Experiência prática com infraestrutura AWS, especialmente ECS e EC2. Conhecimento de práticas DevOps, incluindo CI/CD, Infrastructure as Code (IaC) e implantação em diferentes ambientes. Sólidos conhecimentos em algoritmos, estruturas de dados, matemática e análise de complexidade computacional. Conhecimento de programação orientada a objetos e/ou programação funcional, concorrência e resolução de problemas complexos. Conhecimento de APIs REST ou WebSocket e formatos de intercâmbio de dados, como JSON ou Protobuf. Conhecimento de práticas de observabilidade, incluindo logs, métricas e rastreamento (tracing). Familiaridade com metodologias ágeis. Interesse e abertura para utilização de ferramentas de inteligência artificial aplicadas ao desenvolvimento de software. Requisitos Desejáveis Experiência avançada com desenvolvimento utilizando JavaScript. Conhecimento em Infrastructure as Code, como Terraform ou CloudFormation. Experiência com pipelines CI/CD, utilizando ferramentas como Jenkins ou Harness. Conhecimento em arquitetura de sistemas e gerenciamento de memória, incluindo Memory-Mapped Files. Experiência com bancos de dados Key-Value embarcados, como RocksDB. Conhecimento de algoritmos de cache, estratégias de eviction e processamento de dados por streaming. Experiência com dados de modelos 3D, processamento de geometria, malhas (Mesh), nuvens de pontos (Point Clouds), Level of Detail (LOD), compressão ou pipelines de streaming. Conhecimento em CDN, distribuição global de dados e tecnologias de conteinerização e orquestração, como Docker e Kubernetes. Experiência com ferramentas de observabilidade, como Dynatrace, Prometheus, Grafana ou Splunk. Conhecimento de protocolos de rede, como HTTP/2, QUIC e WebSockets, especialmente relacionados à performance de streaming. Conhecimento ou experiência com a linguagem Rust será considerado um diferencial.