Software Development Role
We are seeking a highly skilled Software Developer to join our team.
* Key Responsibilities:
* Design, develop and maintain software components and internal representations.
* Analyze and extend complex transpilers that convert legacy languages to modern languages.
* Collaborate with engineering and product teams to ensure accurate translation of legacy functionality.
* Optimize code generation and translation with awareness of hardware-software integration.
* Troubleshoot, debug and proactively improve compiler performance and correctness.
Requirements:
* Proven experience in compiler development or transpiler design.
* Strong knowledge of internal compiler structures, language parsing and code generation.
* Strong grasp of graph algorithms, tree traversals and other compiler-relevant patterns.
* Able to implement performant algorithms for static analysis, type inference and code optimization.
* Proficiency in at least one low-level language (e.g., assembly).
* Ability to understand and work with legacy enterprise languages.
* Strong coding skills with a focus on clean, efficient and maintainable code.
* Effective communicator and team collaborator.
Preferred Qualifications:
* Advanced degree in Computer Science with a focus on compilers or programming languages in C/C++, Rust or other system-level languages.
* Experience with OCaml, TypeScript or other statically typed languages with type inference.
* Understanding of legacy enterprise languages (COBOL, Fortran, etc.) is valuable in transpiler or modernization work.
* Contributions to compiler-related academic research or open-source projects.
Education:
* Bachelor's degree in Computer Science, Engineering, IS or related technical discipline.
* Advanced degree, such as Master's in Computer Science, preferred.
Benefits:
* Competitive salary and benefits package.
* Opportunities for career growth and professional development.
* Collaborative and dynamic work environment.