Senior Software Engineer Data Processing Performance

Skills
JavaC++CompilersData StructuresHigh Performance ComputingLLVMQuery Optimization
Role

What the job involves

The main requirements, responsibilities and hiring steps.

Requirements

  • 5+ years of experience in performance engineering and managing large codebases.
  • Strong experience with statically-typed compiled languages (C++ Java Scala).
  • Proficiency in Java interfacing with C++ for performance-sensitive projects.
  • Solid understanding of low-level libraries CPU performance and memory management.
  • Expertise in CPU hardware profiling tools and a firm grasp of CS fundamentals like algorithms and data structures.
  • Independent worker with critical thinking skills.

Nice to have

  • Startup experience
  • Open-source development
  • LLVM familiarity
  • Data processing internals expertise

Day to day

  • Collaborate with the founding team to expand the integration of our custom compiler.
  • Maximize data processing throughput of leading Big Data analytics software.
  • Implement extensible optimizations for data processing algorithms in Java and C++.
  • Develop and test production-ready code for high-impact data processing infrastructure.