Who are we?
IOHK, is a technology company focused on Blockchain research and development. We are renowned for our scientific approach to blockchain development, emphasizing peer-reviewed research and formal methods to ensure security, scalability, and sustainability. Our projects include decentralized finance (DeFi), governance, and identity management, aiming to advance the capabilities and adoption of blockchain technology globally.
We invest in the unknown, applying our curiosity and desire for positive change to everything we do. By fueling creativity, innovation, and progress within our teams, our products and services are designed for people to be fearless, to be changemakers.
About Catalyst:
IOG's Catalyst Tribe is a pioneering innovation platform for the Cardano blockchain ecosystem. It enables decentralized communities to propose, evaluate, and fund projects, fostering innovation through efficient grant allocation, verifiable decision-making, and voter privacy. With core products including Catalyst Voting application and upcoming advances for idea incubation, and distributed decision-making, Catalyst solves critical challenges in ecosystem growth hacking and decentralized governance while exploring network effect-led monetization opportunities.
What the role involves:
As a Software Engineer Lead at IOG, you are responsible for writing high-quality code for our products. You have the exciting challenge of working with cutting-edge research and technology with a focus on the market's needs. To support you on this challenge, our products have software architects, product managers, project managers, formal methods specialists, and QA test engineers, with whom you must communicate professionally, effectively, and efficiently.
You are responsible for the quality of engineering practices within a product team, and the development of those skills within the team. Software Engineer Lead works to identify cross-team improvements for IOG by (for example) sharing code, removing complexity or implementing new practices.
As a Lead you are there to coach and develop your team members and lead team achievements by providing continuous and actionable feedback and opportunities to learn and grow within IOG.
- Lead the implementation of agile software development practices within your team
- Coordinate and collaborate with cross-functional teams across multiple time zones
- Provide technical leadership and mentorship to Rust engineers, guiding architectural decisions and coding practices
- Independently manage complex software development tasks, proactively identifying and solving technical challenges
- Review and refine specifications in collaboration with architects and formal methods specialists
- Oversee the design of critical algorithms and system architectures
- Ensure the delivery of clean, efficient, maintainable, and scalable Rust code
- Foster a culture of frequent commits, code reviews, and incremental pull requests
- Promote and ensure comprehensive coverage with unit, property-based, and integration tests
- Lead code reviews and guide teammates to produce high-quality code consistently
- Oversee bug resolution processes and proactively address technical debt in legacy code
- Act as the escalation point for critical severity issues and coordinate emergency response efforts
- Integrate and maintain third-party software components and libraries
- Manage software verification and deployment processes, ensuring reliability and stability
- Lead troubleshooting, debugging, and upgrading initiatives for existing software solutions
- Oversee the creation and maintenance of comprehensive technical documentation
- Demonstrate expertise in distributed systems, concurrent computation, and foundational cryptographic principles
Requirements
Who you are:
- Minimum of 7 years of professional software engineering experience, with at least 3 years specifically in technical leadership roles
- Extensive experience managing source code with Git and other version control systems
- Proven expertise in implementing agile methodologies within development teams
- Demonstrable history of successfully delivering large-scale, complex software projects from conception to production
- A bachelor's degree or higher in Computer Science, Software Engineering, or a related discipline is preferred but not mandatory
- Advanced proficiency in functional and object-oriented programming paradigms
- Deep familiarity with software engineering best practices, including design patterns, thorough testing strategies, and debugging methodologies
- Expert-level proficiency with Rust in complex production environments
- Comprehensive understanding of Rust's ownership model, borrowing mechanisms, lifetimes, concurrency, and async paradigms
- Extensive experience architecting and developing scalable web services and RESTful APIs
- In-depth knowledge of HTTP protocols, security best practices, accessibility standards, and compliance requirements
- Proven expertise in distributed systems design and networking
- Expert-level proficiency in writing robust, idiomatic Rust code aligned with high-level architectural guidelines
- Strong leadership and mentorship abilities, capable of guiding and enhancing team performance
- Proven capability to design efficient testing strategies that ensure high code coverage and reliability
- Deep understanding of distributed and concurrent computing principles
- Solid grasp of fundamental cryptographic concepts and their practical application
- Exceptional analytical and problem-solving skills for tackling complex engineering challenges
- Proactive identification of risks and implementation of strategic technical solutions
- Strong communication skills, clearly articulating technical concepts to stakeholders and team members
- Excellent documentation and API design skills to facilitate clarity and maintainability
- Demonstrated independence and initiative in leading complex projects with minimal oversight
- Strong organizational and time management skills, ensuring timely delivery of milestones
- Commitment to software engineering best practices to avoid unnecessary complexity and feature creep
Are you an IOGer?
Do you find yourself questioning the status quo? Do you tinker with ideas and long to turn those ideas into solutions? Are you able to spark thoughtful debates, bringing out the inquisitiveness in others? Does the promise of continuously growing excite you? Then get ready to reimagine everything you thought wasn't possible because that's what it means to be an IOGer - we don't set limits, we break them.
Benefits
- Remote work
- Laptop reimbursement
- New starter package to buy hardware essentials (headphones, monitor, etc)
- Learning & Development opportunities
- Competitive PTO
At IOG, we value diversity and always treat all employees and job applicants based on merit, qualifications, competence, and talent. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.