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 Senior Software Engineer (Rust) in Catalyst, you will be a key player, utilizing your Rust, backend, and systems programming expertise to develop high-quality, efficient, and reliable software. You will collaborate across multiple teams and time zones to design, implement, and maintain critical components of our products, playing an integral part in our success.
- Follow agile software development practices.
- Work with teams across multiple time zones
- Work independently on software development tasks
- Be proactive and require minimal supervision or mentoring to complete tasks.
- Review specifications produced by architects and formal methods specialists
- Contribute to the design of algorithms.
- Write clean, straightforward, efficient code that satisfies previously agreed acceptance criteria and specifications.
- Commit often and submit small pull requests frequently
- Cover your code with unit, property, and integration tests when applicable
- Review the pull requests of your teammates
- Fix bugs in your code and legacy code from others
- Be available for emergency fixing of severity one issue on deployed products
- Integrate software components and third-party libraries
- Verify and deploy programs and systems
- Troubleshoot, debug, and upgrade existing software
- Write documentation for the code
- Write technical user manuals
Who you are:
- Minimum of 5 years of professional software development experience.
- Strong experience with the Rust programming language in production environments.
- Expert-level understanding of Rust’s ownership model, borrowing mechanics, lifetimes, and concurrency paradigms.
- Experience in developing web services and RESTful APIs.
- Understanding of HTTP protocols, accessibility, and security compliance.
- Knowledge of distributed systems and network development.
- Experience with concurrent programming and multithreading.
- Experience with cloud platforms such as AWS, GCP, or Azure.
- Familiarity with containerization (Docker) and orchestration tools (Kubernetes).
- Understanding of continuous integration and deployment pipelines.
- Experience with software development methods such as test-driven development.
- Knowledge of cryptography protocols is a plus.
- Experience with Web3 technologies is an added advantage.
- Extensive experience working with Git and version control systems.
- Practical experience with agile software development methods.
- Proven track record of delivering software projects from inception to completion.
- A degree in Computer Science, Software Engineering, or a related field is desirable but optional.
- Proficient in functional and object-oriented programming paradigms.
- Familiarity with software development best practices, including design, implementation, testing, and debugging.
- Expertise in writing idiomatic Rust code that meets acceptance criteria.
- Ability to write efficient tests that provide adequate code coverage.
- Knowledgeable in distributed and concurrent computation.
- Understanding basic cryptography principles is desirable but optional.
- Strong analytical skills to break down complex tasks.
- Ability to troubleshoot and resolve issues efficiently.
- Proactive in identifying potential problems and implementing solutions.
- Excellent written and verbal communication skills.
- Ability to document code and APIs clearly and concisely.
- Professional interaction with team members and stakeholders.
- Ability to work independently with minimal supervision.
- Efficient in time management and meeting deadlines.
- Adherence to software engineering principles to prevent feature creep and unnecessary complexity.
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.
- 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.