Temple Health
Jobgether
Engenheiro de Software Embarcado Staff, Virtualização
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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- Bacharelado, mestrado ou doutorado em Ciência da Computação, Engenharia Elétrica ou disciplina técnica relacionada.
- 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.
- 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.
- 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.
- Sólido conhecimento de programação multithread e multicore, concorrência e considerações de desempenho em nível de sistema.
- Experiência no desenvolvimento de software para redes de comunicação automotiva como CAN, LIN e Ethernet, incluindo interfaces de user-space como SocketCAN.
- Experiência prática com Bazel ou sistemas de build comparáveis, juntamente com toolchains de compilação cruzada para alvos embarcados heterogêneos.
- 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.
- Forte interesse em virtualização, prototipagem rápida e práticas de engenharia que encurtam o caminho do conceito à produção.
- Desejável: Experiência no desenvolvimento de modelos funcionais de periféricos ou circuitos integrados usando QEMU, Renode, stubs personalizados ou ferramentas similares.
- 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.
- 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.
- 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.
