We seek a Software Engineer to focus on improving and expanding the Motoko base library. You will collaborate with a distributed team of researchers and engineers to develop robust, efficient, and scalable data structures and algorithms for use with the Motoko programming language.
Responsibilities
- Library Development: Improve and expand the Motoko base library, ensuring correctness, scalability, productivity, and reliability.
- Collaboration: Work closely with researchers, engineers, and experts in distributed systems and programming languages.
- Contribution: Contribute to the development of compilers, runtime systems, VMs, and tooling for Motoko.
- Documentation & Support: Assist in developing test suites, documentation, and tools that support the Motoko ecosystem.
Requirements
- Experience: At least 3 years of experience working in a software engineering role, with a focus on programming languages or distributed systems.
- Technical Skills:
- Development in one or more typed, functional languages (OCaml, SML, Haskell or similar).
- Excellent knowledge of algorithms and data structures, testing and benchmarking techniques.
- Proficiency in low-level systems programming languages (C, C++, Rust) and experience with virtual machines and compilers.
- Motoko Knowledge: Familiarity with the Motoko programming language and its runtime environment is a plus.
- Problem-Solving: Ability to debug complex issues and optimize systems for performance and scalability.
Bonus Points
- Experience with WebAssembly as a platform and compilation target.
- Strong understanding of formal language semantics and advanced type systems.
- Experience contributing to open-source projects.
About DFINITY and the Internet Computer: