Job Overview:
We are seeking a skilled Software Developer to lead our software development efforts, focusing on the design and implementation of features, defect correction, and new product creation.
This role involves developing software tools, ensuring compatibility with hardware, and influencing design in relation to hardware. Our ideal candidate will have a strong background in compiler development or transpiler design, with expertise in internal compiler structures, language parsing, and code generation.
Key Responsibilities:
* Design, develop, and maintain compiler components and internal compiler representations.
* Analyze and extend complex transpilers that convert legacy languages to modern languages.
* Collaborate with engineering teams to ensure accurate translation of legacy functionality.
* Optimize code generation and translation with awareness of hardware-software integration.
* Troubleshoot, debug, and improve compiler performance and correctness.
* Analyze complex code paths, fix compiler crashes, and optimize slow compilation or generated code.
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 low-level programming languages.
* 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.