Roku
PDT Partners
Engenheiro(a) de Performance
Sobre a oportunidade
Engenheiro(a) de Performance
Estamos buscando um(a) Engenheiro(a) de Performance excepcional para se juntar à nossa crescente organização de tecnologia. As entrevistas na PDT são intencionalmente focadas em encontrar ótimas pessoas que possam construir carreiras longas e impactantes conosco.
Engenheiros(as) de Performance na PDT são responsáveis por entender profundamente e otimizar os sistemas que habilitam nossas estratégias de trading em escala. Você trabalhará na intersecção de software, sistemas e hardware para analisar performance, impulsionar a eficiência da infraestrutura e liberar capacidade computacional crítica. Seu trabalho amplifica diretamente a velocidade do pesquisador e escala nossos modelos principais, criando um impacto massivo através de economia de custos e inovação acelerada. Você prosperará na PDT se amar problemas em aberto, mergulhar na otimização de GPU e otimização/design de sistemas, e estiver animado(a) para levar suas descobertas até a produção em escala.
Esta é uma posição híbrida e exigirá que a pessoa trabalhe em nosso escritório de Nova York, Nova York, no mínimo 3 dias por semana.
A faixa salarial para esta função é entre $195,000 e $225,000. Esta faixa não inclui quaisquer bônus potenciais. Fatores que podem impactar o salário acordado dentro da faixa para um candidato específico incluem anos de experiência, nível de educação obtido, conjunto de habilidades e outros fatores externos.
DECLARAÇÃO DE PRIVACIDADE: Para informações sobre como a PDT pode coletar, usar e processar suas informações pessoais, consulte os avisos de privacidade da PDT em pdtpartners.com/legal-notices.
Por que se juntar a nós
PDT Partners tem um histórico estelar de mais de 30 anos e uma reputação de excelência. Nosso objetivo é ser o melhor gestor de investimentos quantitativos do mundo, medido pela qualidade de nossos produtos, não pelo seu tamanho. A taxa de retenção de funcionários muito alta da PDT fala por si. Nossas pessoas são intelectualmente extraordinárias, e nossa comunidade é unida, pé no chão e diversa.
Principais Responsabilidades
- Analisar e entender a performance do sistema de ponta a ponta para aprimorar o throughput e a velocidade do pesquisador.
- Trabalhar em todas as camadas do SO, kernel, stack de rede, subsistemas de armazenamento, hierarquia de memória e CPU para otimizar a utilização de recursos computacionais.
- Realizar análises aprofundadas usando ferramentas de performance Linux para identificar gargalos, outliers de latência e padrões não escaláveis.
- Ler e entender camadas de software, desde o código da aplicação até os runtimes de linguagem, bibliotecas de sistema e caminhos de código do kernel, fornecendo sugestões/PRs que otimizam caminhos críticos.
- Liberar capacidade, reduzir custos e escalar modelos melhorando a eficiência computacional através de tuning, configuração e mudanças arquiteturais.
- Desenvolver sistemas para melhorar a telemetria e a observabilidade de performance
- Conduzir avaliações de prova de conceito de novas tecnologias de performance (novos recursos de kernel, bibliotecas de sistema alternativas) e contribuir para decisões de design de sistema.
- Trabalhar colaborativamente com equipes de desenvolvimento para capturar regressões de performance, revisar código sensível à performance e compartilhar aprendizados de otimização em toda a organização.
Requisitos mínimos
Abaixo está uma lista de habilidades e experiências que consideramos relevantes. Mesmo que você não se considere um(a) candidato(a) perfeito(a), nós o(a) encorajamos a se candidatar, pois estamos comprometidos em desenvolver nossas pessoas.
- Expertise em internals de Linux: subsistemas de kernel, escalonamento, gerenciamento de memória, memória virtual, cgroups, namespaces e o stack de rede.
- Ferramentas de performance: proficiência com perf, eBPF, Ftrace, strace, sysstat e ferramentas de tracing/profiling relacionadas. Capacidade de desenvolver ferramentas personalizadas quando as ferramentas existentes não são suficientes.
- Otimização de nível de sistema: Experiência em ajustar a performance de sistemas e aplicações através de sysctls, políticas de escalonador, consciência de topologia NUMA, alocadores de memória, tunables de rede e configuração de I/O de armazenamento.
- Interface hardware-software: Compreensão profunda da microarquitetura da CPU, hierarquias de cache, subsistemas de memória, contadores de performance de hardware e como o comportamento do software se mapeia para a realidade do hardware.
- Habilidade de codificação versátil: Confortável em ler e contribuir para código em múltiplas linguagens (C, C++, Python, Go, Rust, Java) e navegar rapidamente por bases de código desconhecidas.
- Observabilidade e telemetria: Experiência em construir ou integrar infraestrutura de monitoramento e observabilidade (Prometheus, Grafana, OpenTelemetry).
- Colaborativo(a) e comunicativo(a): Capacidade de analisar a performance de forma holística e de comunicar efetivamente descobertas, trade-offs e recomendações para equipes de desenvolvimento e stakeholders.
