At a Glance
- Tasks: Lead software development and improve engineering practices in a cutting-edge blockchain environment.
- Company: Join IOG, a pioneering tech company focused on innovative blockchain research and development.
- Benefits: Enjoy remote work, competitive PTO, and a new starter package for essential hardware.
- Why this job: Be part of a team that fuels creativity and drives positive change in the blockchain space.
- Qualifications: 7+ years of software engineering experience with strong skills in multiple programming languages.
- Other info: Dynamic and inclusive culture with opportunities for learning and professional growth.
The predicted salary is between 48000 - 84000 £ per year.
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 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.
What the role involves:
- As a Senior Software Engineer, you are responsible for improving how IOG builds and maintains software, alongside actively contributing to product development.
- Responsible for the quality of engineering practices within a team.
- Work across teams to identify cross-team improvements for IOG by sharing code, removing complexity or implementing new practices.
- Mentor and grow other software engineers and act as a go-to person within the team and the wider organisation across multiple codebases and languages.
- Advocate for and model high-quality engineering practices, proactively addressing complex and subtle system issues.
- Apply systematic debugging to diagnose issues across multiple related domains, and foster a culture of observability and monitoring across teams.
- Collaborate cross-functionally to promote iterative, autonomous development practices and enable future scalability.
- Act as a technical and prioritization leader across several domains, identifying gaps in understanding and pushing boundaries of technical excellence.
- Serve as a go-to expert within the team and wider organization, working confidently across multiple codebases and programming languages.
- Operate with a high degree of autonomy, requiring minimal supervision or mentoring to deliver complex tasks.
- Review specifications from architects and formal methods specialists, ensuring feasibility and alignment with design principles.
- Lead the design and integration of software components and their interactions, including third-party libraries.
- Ensure reliability of deployed products by providing availability for emergency response to severity 1 issues.
- Contribute to high-quality deliverables by verifying, deploying, and documenting programs and systems.
- Produce clear technical documentation and user manuals to support maintainability and knowledge sharing.
Requirements
Who you are:
- Degree in Computer Science is desirable but not essential.
- 7+ years of software engineering experience.
- Experience working with Git and Git workflow.
- Practical experience with Agile software development methods.
- Knowledge of functional and object-oriented programming paradigms.
- Ability to understand project needs, objectives and timescales to feed into planning and setting deadlines for a specific stream.
- Clearly articulates new issues, suggests changes to management for implementation.
- Write idiomatic code that satisfies the acceptance criteria of a given task.
- Write tests (unit tests, property tests) that provide sufficient and non-superfluous efficient code coverage.
- Document code and APIs concisely and unambiguously.
- Provide detailed guidance on the work to be done, assist with task assignments and deliver deep reviews and feedback on the work.
- Pragmatically adhere to software engineering principles (modularity, incremental development, no premature optimization, no feature creep, no speculative generality).
Specialist Skills
- Advanced proficiency in multiple programming languages and functional paradigms, with the ability to select the most effective tools for prototyping and proof-of-concept work.
- Expertise in at least one system programming language (e.g., Rust, C++), with strong performance optimisation and debugging skills.
- Proficiency in functional languages (e.g., Haskell, OCaml, F#) and ability to apply functional programming principles in complex, production-grade prototypes.
- Familiarity or experience with formal specification languages (e.g., Lean, Coq, TLA+) to model and verify protocol behaviour when needed.
- Strong theoretical grounding in computer science, including algorithms, data structures, concurrency models, and distributed systems design.
- Comprehensive understanding of blockchain technology, including consensus mechanisms, applied cryptography, networking protocols, and smart contract frameworks.
- Proven self-direction, with the ability to independently identify problems, explore novel solutions, and rapidly adopt emerging tools and techniques.
- Ability to design and document high-level architecture and system specifications for experimental or prototype systems, communicating trade-offs and assumptions clearly.
- Proficient in reading and synthesising scientific research papers, translating theoretical concepts into practical prototypes.
- Skilled in developing complex prototypes that demonstrate and validate new features, protocols, or architectural approaches, including integration of multiple technologies.
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.
Senior Software Engineer (Prototype) - Innovation R&D in Stoke-on-Trent employer: Input Output Group
Contact Detail:
Input Output Group Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Software Engineer (Prototype) - Innovation R&D in Stoke-on-Trent
✨Tip Number 1
Network like a pro! Reach out to current employees at IOG on LinkedIn or other platforms. Ask them about their experiences and any tips they might have for your application process. Personal connections can make a huge difference!
✨Tip Number 2
Show off your skills! Prepare a portfolio of your best projects, especially those that align with blockchain technology. When you get the chance to chat with recruiters or during interviews, share your work and explain how it relates to what IOG is doing.
✨Tip Number 3
Be ready to discuss your problem-solving approach. IOG values innovation, so think of examples where you've tackled complex issues in your past roles. Highlight your systematic debugging skills and how you've contributed to high-quality engineering practices.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining the IOG team and contributing to our mission.
We think you need these skills to ace Senior Software Engineer (Prototype) - Innovation R&D in Stoke-on-Trent
Some tips for your application 🫡
Show Off Your Skills: When you're writing your application, make sure to highlight your experience with different programming languages and software engineering practices. We want to see how you can bring your unique skills to the table!
Be Clear and Concise: Keep your application straightforward and to the point. Use clear language to describe your past projects and achievements, so we can easily understand how you fit into our team.
Tailor Your Application: Make sure to customise your application for the Senior Software Engineer role. Mention specific experiences that align with our focus on blockchain technology and high-quality engineering practices.
Apply Through Our Website: We encourage you to submit your application through our website. It’s the best way for us to receive your details and ensures you’re considered for the role. Plus, it’s super easy!
How to prepare for a job interview at Input Output Group
✨Know Your Tech Inside Out
Make sure you brush up on your knowledge of programming languages, especially those mentioned in the job description like Rust and Haskell. Be ready to discuss your experience with functional and object-oriented programming paradigms, as well as any relevant projects you've worked on.
✨Showcase Your Problem-Solving Skills
Prepare to share specific examples of how you've tackled complex system issues in the past. Highlight your systematic debugging approach and how you've fostered a culture of observability in previous roles. This will demonstrate your ability to handle the challenges that come with the position.
✨Emphasise Collaboration and Mentorship
As a Senior Software Engineer, you'll be expected to mentor others. Think of instances where you've successfully collaborated across teams or mentored junior engineers. Be ready to discuss how you can contribute to a positive team dynamic and promote high-quality engineering practices.
✨Prepare for Technical Questions
Expect to face technical questions that assess your understanding of blockchain technology and software engineering principles. Brush up on consensus mechanisms, applied cryptography, and distributed systems design. Being able to articulate these concepts clearly will set you apart from other candidates.