Jobgether

Engenheiro de Software Embarcado Staff, Virtualização

PythonC++
Tradução automática. Consulte o original.

Sobre a oportunidade

Esta vaga está listada em nome de uma empresa parceira, que gerencia todas as candidaturas e etapas subsequentes. Nossa parceira busca um Engenheiro de Software Embarcado Staff, Virtualização, baseado nos Estados Unidos.

Como funciona a Jobgether

Usamos um processo de correspondência baseado em IA para garantir que sua candidatura seja revisada de forma rápida, objetiva e justa em relação aos requisitos principais da função. Nosso sistema identifica os candidatos mais adequados, e esta lista é então compartilhada diretamente com a empresa contratante. A decisão final e as próximas etapas (entrevistas, avaliações) são gerenciadas pela equipe interna deles.

Agradecemos seu interesse e desejamos o melhor!

Por que se candidatar através da Jobgether?

Aviso de Privacidade de Dados: Ao enviar sua candidatura, você reconhece que a Jobgether processará seus dados pessoais para avaliar sua candidatura e compartilhar informações relevantes com o empregador contratante. Este processamento baseia-se em interesse legítimo e medidas pré-contratuais sob as leis de proteção de dados aplicáveis (incluindo o GDPR). Você pode exercer seus direitos (acesso, retificação, exclusão, objeção) a qualquer momento.

#LI-CL1

Junte-se a uma equipe de engenharia inovadora que trabalha na interseção de software embarcado, virtualização e tecnologia automotiva de próxima geração. Nesta função técnica sênior, você transformará firmware de ECU do mundo real em dispositivos virtuais de alto desempenho que rodam em estações de trabalho e infraestrutura em nuvem. Seu trabalho ajudará as equipes de engenharia a desenvolver, testar e validar software veicular mais rapidamente, mesmo quando o hardware físico não estiver disponível. Você construirá camadas de virtualização, modelará periféricos de hardware e melhorará os fluxos de trabalho de desenvolvimento em vários domínios veiculares. Colaborando com especialistas em hardware, middleware e software de aplicação, você moldará soluções de engenharia escaláveis que preenchem a lacuna entre sistemas físicos e ambientes baseados em software. Esta é uma oportunidade de influenciar a arquitetura técnica, elevar as práticas de engenharia e acelerar o desenvolvimento de veículos definidos por software.

Responsabilidades

  1. Manter e aprimorar o runtime de user-space que permite que o firmware embarcado de produção rode em máquinas host, traduzindo conceitos de sistemas operacionais de tempo real para implementações compatíveis com POSIX, quando apropriado.
  1. Integrar firmware de ECU com bibliotecas modeladas e interfaces de periféricos, incluindo GPIO, CAN, LIN, PWM, watchdogs e ADC/DAC, permitindo que o firmware existente opere em ambientes virtuais com modificação mínima.
  1. Desenvolver modelos funcionais de hardware e periféricos em C ou Python, trabalhando em estreita colaboração com engenheiros de hardware para reproduzir comportamentos realistas de dispositivos, casos de borda e interações esperadas do sistema.
  1. Ser responsável por scripts de build, toolchains e configurações para gerar binários executáveis no host e imagens de microcontroladores de destino, garantindo builds rápidos, consistentes e reproduzíveis.
  1. Expandir frameworks de teste de hardware-in-the-loop (HIL) e suítes Pytest para suportar configurações virtuais, injetar falhas, capturar traces e validar temporização e tráfego de comunicação em relação aos resultados de referência.
  1. Investigar discrepâncias entre as premissas do firmware e o comportamento do host, usando ferramentas de depuração de baixo nível como GDB para identificar causas raiz e resolver problemas de integração.
  1. Colaborar com equipes de sistema operacional, middleware, hardware e software de aplicação para definir abstrações robustas, validar modelos de periféricos e melhorar a integração do sistema.
  1. Liderar revisões de design técnico, estabelecer altos padrões de engenharia e orientar colegas em sistemas de tempo real, arquitetura de software limpa e práticas sustentáveis de C, C++ e Python.

Requisitos

  1. Pelo menos 10 anos de experiência prática em desenvolvimento de firmware embarcado, incluindo experiência substancial em portar ou modificar sistemas baseados em RTOS.
  1. Bacharelado, mestrado ou doutorado em Ciência da Computação, Engenharia Elétrica ou disciplina técnica relacionada.
  1. Proficiência de nível especialista em C, habilidades sólidas em C++ e capacidade de escrever código Python com qualidade de produção.
  1. Conhecimento profundo dos fundamentos de sistemas operacionais de tempo real, incluindo tarefas, rotinas de serviço de interrupção, escalonadores, filas e temporizadores, bem como como esses conceitos são mapeados para primitivas de user-space POSIX.
  1. Experiência comprovada em otimização de sistemas embarcados e depuração de baixo nível, com proficiência em GDB e familiaridade com hardware ou analisadores de protocolo.
  1. Sólido conhecimento de programação multithread e multicore, concorrência e considerações de desempenho em nível de sistema.
  1. Experiência no desenvolvimento de software para redes de comunicação automotiva como CAN, LIN e Ethernet, incluindo interfaces de user-space como SocketCAN.
  1. Experiência prática com Bazel ou sistemas de build comparáveis, juntamente com toolchains de compilação cruzada para alvos embarcados heterogêneos.
  1. Fortes habilidades de comunicação, resolução analítica de problemas e colaboração, com a capacidade de trabalhar efetivamente em equipes multidisciplinares em um ambiente de ritmo acelerado.
  1. Forte interesse em virtualização, prototipagem rápida e práticas de engenharia que encurtam o caminho do conceito à produção.
  1. Desejável: Experiência no desenvolvimento de modelos funcionais de periféricos ou circuitos integrados usando QEMU, Renode, stubs personalizados ou ferramentas similares.
  1. Desejável: Familiaridade com padrões de codificação de segurança crítica como MISRA ou CERT e protocolos automotivos como DoIP e SOME/IP.
  1. Desejável: Experiência na comparação de resultados de ECU virtual com dados de HIL físico para identificar e fechar lacunas de fidelidade.
  1. Desejável: Exposição ao Synopsys Virtualizer Development Kit ou ferramentas de virtualização comparáveis.

Benefícios

  • Salário base anual competitivo: remuneração equivalente a CAD alinhada com a faixa anunciada de $137,300–$181,890, com o valor aplicável dependendo da localização, experiência, habilidades, qualificações e outros fatores relevantes.
  • Bônus anual de desempenho: Elegível para um bônus alvo de 15% do salário base, sujeito aos termos do plano aplicável e ao desempenho da empresa. Os pagamentos são discricionários e não garantidos.
  • Participação acionária: Elegível para unidades de ações restritas (RSUs), sujeitas à aprovação do conselho, requisitos de vesting e aos termos do plano de incentivo de capital aplicável.
  • Pacote de benefícios abrangente: Cobertura de saúde, previdência privada, folga remunerada e programas de planejamento familiar, com ofertas específicas variando por país.
  • Ambiente de trabalho híbrido: Um arranjo híbrido projetado para combinar colaboração com flexibilidade. Os locais anunciados incluem Vancouver, Colúmbia Britânica, Irvine, Califórnia, e Palo Alto, Califórnia; o arranjo específico para uma contratação baseada no Canadá deve ser confirmado durante o recrutamento.
  • Liderança técnica e impacto: A oportunidade de moldar a arquitetura de virtualização, orientar engenheiros e contribuir para a evolução da tecnologia de veículos definidos por software.
  • Cultura de engenharia colaborativa: Trabalhe ao lado de especialistas em software embarcado, plataformas de hardware, sistemas operacionais, middleware e domínios de aplicação veicular.

Mais oportunidades com um só perfil

Quer aparecer para várias vagas sem repetir todo o processo? Crie seu perfil e seja encontrado pelas empresas que usam a Nort.

Criar meu perfil

Seu próximo empregojá está te procurando.

Nort

Plataforma de recrutamento reverso para programadores