A PANIK está buscando um profissional de nível Senior / Staff / Principal para trabalhar em uma infraestrutura tecnológica interna de alta complexidade.
Não é uma vaga de backend convencional. Não buscamos alguém para CRUD, dashboards, APIs tradicionais ou desenvolvimento web comum.
O trabalho será focado em:
- Rust avançado
- Parsing binário
- Engenharia reversa
- Pesquisa de formatos e estruturas desconhecidas
- Serialização e desserialização
- Manipulação de bytes e memória
- Compressão e descompressão
- Segurança de parsers
- Fuzzing
- Benchmarking e profiling
- Processamento de assets e estruturas 3D
- Geometria, skeletons, animações, materiais e texturas
- Desenvolvimento de tooling técnico interno
- Otimização de workloads críticos
- Construção de representações intermediárias de dados
Grande parte dos problemas não terá documentação completa. O profissional precisa ser capaz de receber arquivos ou estruturas desconhecidas e conduzir uma investigação como: amostras → comparação binária → identificação de padrões → hipóteses → experimentos → parser experimental → validação → implementação Rust → testes → fuzzing → benchmark → produção.
RUST É REQUISITO CENTRAL: domínio real de ownership/borrowing, lifetimes, traits e generics, slices e byte buffers, memory layout, zero-copy, error modeling, concorrência e multithreading, synchronization, FFI, unsafe Rust quando justificável, profiling e programação orientada a performance.
ANÁLISE BINÁRIA: compreender headers, magic values, versions, flags, endianness, offsets relativos e absolutos, alignment/padding, chunks e sections, string/object tables, índices e referências, bitfields, checksums e hashes, payloads comprimidos, estruturas serializadas e metadata.
SEGURANÇA: toda entrada deve ser considerada potencialmente hostil. O código precisa resistir a arquivos truncados, offsets inválidos, índices fora dos limites, integer overflow/underflow, allocations abusivas, decompression bombs, estruturas corrompidas, recursão maliciosa, referências inválidas e metadata inconsistente. Entrada inválida deve gerar erro controlado, nunca panic inesperado, OOM, loop infinito ou corrupção silenciosa.
FUZZING: experiência com coverage-guided fuzzing, mutation fuzzing, corpus generation, crash minimization, property-based testing e malformed input testing.
TECNOLOGIA 3D: compreender estruturas de geometria (vertices, indices, topology, normals, tangents, UVs, vertex colors, submeshes, bounds, quantization), skeleton (bones, hierarquia, bind pose, inverse bind matrices, bone weights, skinning, attachment points), animação (clips, tracks, keyframes, transforms, quaternions, interpolation, blending, retargeting), materiais e texturas (PBR, roughness, metallic, normal mapping, emissive, alpha, mipmaps, channel packing, metadata). Conhecimento prático de matemática 3D: vetores, matrizes, quaternions, transforms, local/world space, conversão de sistemas de coordenadas, interpolação e bounding volumes.
PERFORMANCE: saber medir e investigar CPU, memória, allocations, cache locality, contention, paralelismo, zero-copy, SIMD quando aplicável, throughput, latência, peak memory e escalabilidade entre threads. Decisões baseadas em profiling e benchmark.
TOOLING / LOW LEVEL: experiência com Linux e ferramentas como GDB/LLDB, perf, strace, objdump, readelf, xxd/hexdump.
Diferenciais: Ghidra, Binary Ninja, IDA, ImHex, Kaitai Struct, disassemblers/decompilers, instrumentação dinâmica e memory inspection.
MOJO é diferencial de altíssimo peso: conhecimento prático relacionado a HPC, SIMD, kernels, memory management, programação de sistemas, workloads numéricos e infraestrutura de alta performance.
OUTROS
DIFERENCIAIS: C/C++, engenharia reversa, SIMD, WebAssembly, GPU computing, compiladores, virtual machines, memory allocators, compression, engines, mesh processing, animation systems e sistemas de alto desempenho.
⚠️ COMPROVAÇÃO DE SENIORIDADE: currículo sozinho não será suficiente. Interessados devem enviar obrigatoriamente GitHub, GitLab ou exemplos técnicos concretos que comprovem a senioridade apresentada. Podem ser projetos próprios, repositórios open source, bibliotecas, parsers, engines, compiladores, emuladores, virtual machines, ferramentas de reverse engineering, renderers, profilers, debuggers, memory allocators, projetos Rust, projetos de alta performance, trabalhos técnicos relacionados a 3D ou projetos com Mojo. Vamos analisar arquitetura, complexidade dos problemas resolvidos, qualidade do código, testes, performance, segurança, documentação, decisões de engenharia e profundidade técnica. Se os melhores projetos forem proprietários, o candidato poderá explicar tecnicamente o problema, sua responsabilidade, arquitetura, escala, dificuldades, decisões e resultados.
🔒 CONFIDENCIALIDADE: o profissional terá acesso a tecnologia estratégica e proprietária. Formatos, extensões, plataformas, integrações, estruturas internas, código, datasets, ferramentas, pesquisas e demais informações sensíveis somente serão revelados após formalização contratual e assinatura dos instrumentos de confidencialidade.
💼 EXCLUSIVIDADE: a posição exige exclusividade profissional integral durante a vigência do contrato. Não será permitido manter simultaneamente outros trabalhos de engenharia, consultorias ou projetos comerciais de tecnologia sem autorização expressa. Projetos pessoais e estudos não comerciais poderão ser mantidos desde que não apresentem conflito de interesse ou utilizem tecnologia/confidencialidade da PANIK.
💰 PACOTE: R$ 36.000/mês PJ, bônus anual de R$ 36.000, contrato inicial de 12 meses, possibilidade de renovação, até R$ 20.000 para workstation/infraestrutura técnica, até R$ 12.000/ano para livros, cursos, ferramentas, licenças e desenvolvimento técnico.
🧪
PROCESSO SELETIVO: 1. Análise de GitHub/projetos
2. Entrevista técnica
3. Discussão aprofundada de projetos anteriores
4. Desafio técnico
5. Code review da solução
6. Discussão arquitetural
7. Formalização PJ + confidencialidade
8. Acesso progressivo à infraestrutura
O desafio não será LeetCode, será algo próximo da realidade da função, envolvendo investigação, parsing, Rust, testes, segurança e performance.
📩 PARA SE CANDIDATAR, ENVIE: nome, localização, disponibilidade, GitHub/GitLab/portfólio técnico, projetos que comprovem senioridade, experiência com Rust, experiência com parsing binário/engenharia reversa, experiência relacionada a tecnologia 3D, experiência com Mojo (caso possua) e breve descrição dos problemas técnicos mais difíceis que já resolveu. Candidaturas sem GitHub ou alguma comprovação técnica concreta poderão não avançar.Requisitos
- Domínio real de Rust (ownership/borrowing, lifetimes, traits e generics, slices e byte buffers, memory layout, zero-copy, error modeling, concorrência e multithreading, synchronization, FFI, unsafe Rust quando justificável, profiling, programação orientada a performance)
- Experiência com parsing binário e engenharia reversa
- Conhecimento de estruturas binárias (headers, magic values, versions, flags, endianness, offsets, alignment, chunks, tables, bitfields, checksums, payloads comprimidos, etc.)
- Experiência com segurança de parsers e tratamento de entradas maliciosas
- Experiência com fuzzing (coverage-guided, mutation, corpus generation, crash minimization, property-based testing)
- Conhecimento de tecnologia 3D (geometria, skeleton, animação, materiais e texturas)
- Conhecimento prático de matemática 3D (vetores, matrizes, quaternions, transforms, etc.)
- Experiência com profiling e benchmarking de performance
- Experiência com Linux e ferramentas de baixo nível (GDB/LLDB, perf, strace, objdump, readelf, xxd/hexdump)
- Envio obrigatório de GitHub, GitLab ou exemplos técnicos concretos que comprovem senioridade
Diferenciais
- Conhecimento prático de Mojo (HPC, SIMD, kernels, memory management, programação de sistemas, workloads numéricos)
- Experiência com C/C++
- Experiência com engenharia reversa
- Experiência com SIMD
- Experiência com WebAssembly
- Experiência com GPU computing
- Experiência com compiladores
- Experiência com virtual machines
- Experiência com memory allocators
- Experiência com compression
- Experiência com engines
- Experiência com mesh processing
- Experiência com animation systems
- Experiência com sistemas de alto desempenho
- Experiência com ferramentas como Ghidra, Binary Ninja, IDA, ImHex, Kaitai Struct, disassemblers/decompilers, instrumentação dinâmica e memory inspection