- Company Name
- Input Output (IOHK)
- Job Title
- Senior Software Engineer (Prototype) - Innovation R&D
- Job Description
-
**Job title**
Senior Software Engineer (Prototype) – Innovation R&D
**Role summary**
Lead the design, implementation, and mentorship of high‑quality software prototypes. Drive engineering excellence across multiple codebases, advocate best practices, and ensure reliable, scalable blockchain‑related solutions.
**Expectations**
- Deliver complex, production‑grade prototypes with minimal supervision.
- Mentor junior engineers and serve as technical authority across teams.
- Ensure high observability, rigorous testing, and rapid incident response.
**Key responsibilities**
- Design and integrate software components, including third‑party libraries, for blockchain and distributed systems.
- Translate architectural and formal‑spec specifications into code, maintaining alignment with design principles.
- Apply systematic debugging and monitor cross‑team systems to detect and resolve subtle issues.
- Lead iterative, autonomous development practices and prioritize tasks across multiple domains.
- Produce clear technical documentation, user manuals, and API references.
- Sustain code quality through peer reviews, test coverage, and adherence to software engineering principles.
**Required skills**
- 7+ years of software engineering experience; Git, Agile, and CI/CD expertise.
- Advanced proficiency in multiple languages: Rust, C++, Haskell, OCaml, or F#; performance optimisation and debugging.
- Functional and object‑oriented knowledge, with ability to choose appropriate paradigms.
- Strong background in algorithms, data structures, concurrency, and distributed‑systems design.
- Experience with formal specification languages (Lean, Coq, TLA+) for protocol modelling.
- Deep understanding of blockchain fundamentals: consensus, cryptography, networking, and smart‑contract platforms.
- Excellent communication: technical writing, documentation, mentorship, and cross‑functional collaboration.
**Required education & certifications**
- Bachelor’s (or higher) in Computer Science or related field preferred but not mandatory.
- Relevant certifications in blockchain technologies, formal methods, or advanced programming languages are advantageous.