Principal Software Engineer

  • Remote - United Kingdom

Remote

Software Development

Principal

Job description

Who are we?

IOG, 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 the Cardano blockchain, as well as other products in the areas of decentralized finance (DeFi), governance, and identity management, aiming to advance the capabilities and adoption of blockchain and Web3 technology globally.

What the role involves:

As a Principal Software Engineer, you will lead and support the direction of complex software initiatives, driving high-level technical decisions and providing guidance across the software development lifecycle. Leveraging deep technical expertise, you will shape the architectural design of systems, support the evolution of engineering practices, and mentor other engineers to foster technical excellence across the team.

This role is not limited to hands-on development - it involves improving development processes, influencing strategic technology decisions, and collaborating closely with cross-functional stakeholders. You will work with product managers, delivery managers, and architects to define goals, plan milestones, and navigate evolving priorities with clarity and leadership.

You are a senior specialist that requires not only technical expertise but also the ability to lead and inspire teams, make critical architectural decisions, and drive the successful delivery of complex software projects.

Strategic Technical Leadership:

  • Lead and mentor software development teams, providing technical guidance and expertise.
  • Advocate for coding best practices, design patterns, and architectural excellence.
  • Collaborate with cross-functional teams, including product managers, designers, and QA engineers, to define technical requirements and project goals, ensuring that technical direction complements overarching business goals.
  • Collaborate with research teams and academic partners to translate cutting-edge theory into practical engineering solutions.
  • Evaluate experimental technologies and guide strategic investments in technical capabilities that give the organization a competitive edge.

Software Architecture and Design:

  • Architect and design complex software systems, considering scalability, performance, and maintainability.
  • Evaluate and recommend technologies, tools, and frameworks for development.
  • Create and maintain architectural documentation.

Coding and Development:

  • Write high-quality, clean, and efficient code.
  • Participate actively in coding and development tasks.
  • Set benchmarks for code quality, championing clean and efficient code.

Technical Problem Solving:

  • Tackle complex technical challenges and provide innovative solutions.
  • Troubleshoot and debug software issues in production environments.

Project Management:

  • Collaborate with project/delivery  managers to define project timelines, deliverables, and resource requirements.
  • Offer insights on tech feasibility during project planning and execution stages.

Continuous Improvement:

  • Stay up-to-date with industry trends and emerging technologies.
  • Identify areas for process improvement and lead initiatives to enhance development processes and methodologies.
  • Encourage feedback-driven improvements to drive a continual learning culture in both tech tools and processes.

Documentation and Knowledge Sharing:

  • Create technical documentation, including design documents and API documentation.
  • Establish avenues for smooth knowledge exchange within the team

Mentorship & Team Growth

  • Nurture the professional growth of software engineers, offering guidance and technical mentorship.
  • Lead regular tech sessions and workshops, fostering a culture of continuous learning.
  • Identify and nurture potential leads or senior developers within the team.
  • Champion diversity and inclusion within the technical team, promoting a wide range of perspectives and approaches.

Who you are:

Strategic Execution

  • Ability to align technical initiatives with business objectives.
  • Capable of managing timelines, resources, and deliverables to ensure project success.

Leadership & Collaboration Skills

  • Strong leadership and mentorship abilities.
  • Excellent communication and collaboration skills.
  • Promotes diversity and inclusion in technical decision-making and team dynamics.

Process Definition and Oversight

  • Establish and oversee coding and deployment processes that maximize efficiency, consistency, and quality across the development lifecycle.
  • Define, implement, and continually refine CI/CD and all development workflows, ensuring alignment with team and organizational goals.
  • Monitor adherence to processes and make adjustments to improve productivity and team alignment.

Standardization of Coding and Deployment Practices

  • Develop and enforce coding and deployment standards to ensure consistency, maintainability, and scalability across projects.
  • Lead the adoption of industry best practices for version control, code reviews, CI/CD, and automation, driving improvements in software quality and delivery speed.
  • Collaborate with teams to ensure that processes and standards are well-documented, widely understood, and consistently applied.

Cross-Organizational Awareness and Influence

  • Serve as a technical liaison between development teams and other departments, ensuring that technical decisions complement business needs and product strategy.

  • Influence company-wide technical direction by actively contributing to cross-functional leadership discussions and decision-making processes.

  • Bachelor’s or Master’s degree in Computer Science or a related field.

  • Several years (typically 15 years) of professional software development experience.

  • Proficiency in multiple programming languages and technologies.

  • Strong understanding of software architecture, design patterns, and best practices.

  • Excellent problem-solving and debugging skills.

  • Leadership and mentoring skills with the ability to lead and inspire a team.

  • Experience with Agile and other software development methodologies.

  • Strong communication and collaboration skills.

  • Experience with version control systems, continuous integration, and DevOps practices.

Specialist Skills (Consensus)

  • Experience maintaining large codebases  (open-source contributions to large projects are preferred, but not required)
  • Experience translating scientific research into software products.
  • Deep understanding of distributed systems.
  • Experience debugging Haskell performance issues (CPU, memory).
  • Proven ability to follow developer workflows (code review, debugging, documentation).
  • Strong Haskell background, familiarity with its ecosystem (lenses, Template-Haskell, CBOR, GHC Generics, STM, mtl, SOP, etc.).
  • Software Architecture & Design: Expertise in architecting, designing, and maintaining complex, scalable, and maintainable software systems with a focus on performance and security.
  • 15+ years of Haskell experience.
  • In-depth understanding of blockchain technology, and experience with maintaining large complex distributed systems
  • Security Best Practices: Expertise in secure coding practices, cryptographic methods, and implementation of security measures to safeguard sensitive data and systems.
  • Testing & Quality Assurance: Familiarity with automated testing tools and frameworks (e.g., QuickCheck, Hedgehog, QuickCheck State Machine), along with implementing test-driven or model driven development and continuous integration for code reliability.

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.

Share this job:
Please let Input Output know you found this job on Remote First Jobs 🙏

Benefits of using Remote First Jobs

Discover Hidden Jobs

Unique jobs you won't find on other job boards.

Advanced Filters

Filter by category, benefits, seniority, and more.

Priority Job Alerts

Get timely alerts for new job openings every day.

Manage Your Job Hunt

Save jobs you like and keep a simple list of your applications.

Search remote, work from home, 100% online jobs

We help you connect with top remote-first companies.

Search jobs

Hiring remote talent? Post a job

Frequently Asked Questions

What makes Remote First Jobs different from other job boards?

Unlike other job boards that only show jobs from companies that pay to post, we actively scan over 20,000 companies to find remote positions. This means you get access to thousands more jobs, including ones from companies that don't typically post on traditional job boards. Our platform is dedicated to fully remote positions, focusing on companies that have adopted remote work as their standard practice.

How often are new jobs added?

New jobs are constantly being added as our system checks company websites every day. We process thousands of jobs daily to ensure you have access to the most up-to-date remote job listings. Our algorithms scan over 20,000 different sources daily, adding jobs to the board the moment they appear.

Can I trust the job listings on Remote First Jobs?

Yes! We verify all job listings and companies to ensure they're legitimate. Our system automatically filters out spam, junk, and fake jobs to ensure you only see real remote opportunities.

Can I suggest companies to be added to your search?

Yes! We're always looking to expand our listings and appreciate suggestions from our community. If you know of companies offering remote positions that should be included in our search, please let us know. We actively work to increase our coverage of remote job opportunities.

How do I apply for jobs?

When you find a job you're interested in, simply click the 'Apply Now' button on the job listing. This will take you directly to the company's application page. We kindly ask you to mention that you found the position through Remote First Jobs when applying, as it helps us grow and improve our service 🙏

Apply