Software Engineering Lead - Catalyst
at IO GlobalAbout the job
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.
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
- Lead agile software development practices and drive best practices within your team.
- Coordinate effectively with cross-functional teams across multiple time zones.
- Provide technical leadership and mentoring to Flutter developers, guiding architecture and implementation decisions.
- Independently manage and oversee complex software development tasks.
- Act proactively, addressing technical challenges and providing solutions without significant supervision.
- Collaborate closely with architects and formal methods specialists to review and refine specifications.
- Lead the design and implementation of sophisticated algorithms and system architectures.
- Ensure the team produces clean, maintainable, efficient Flutter and Dart code that is aligned with acceptance criteria and specifications.
- Foster an environment of frequent commits, regular code reviews, and incremental pull requests.
- Promote and oversee comprehensive unit, property-based, and integration testing within your team.
- Lead code review sessions, encouraging best practices and continuous improvement.
- Oversee and actively engage in bug fixing and technical debt management.
- Act as a primary point of contact for urgent resolution of high-severity production issues.
- Lead the integration of software components and third-party libraries.
- Manage the software verification, deployment, troubleshooting, and upgrade processes.
- Oversee creating and maintaining clear, comprehensive technical documentation and user manuals.
- Maintain strong expertise in distributed systems, concurrency, and foundational cryptography concepts relevant to mobile and web applications.
Requirements
Who you are:
- Minimum of 7 years of professional experience in mobile application and frontend development, with at least 2-3 years in a lead or senior role.
- Deep practical experience with Flutter development using Dart and extensive knowledge of associated mobile and web technologies…
- Demonstrated track record of delivering complex software projects, from initial concept to successful deployment.
- Strong practical experience implementing Agile methodologies in software development environments.
- Advanced knowledge of both functional and object-oriented programming paradigms.
- Extensive experience with Git, continuous integration, and continuous deployment pipelines.
- Bachelor’s degree or higher in Computer Science, Software Engineering, or related fields is desirable but optional.
- Expert-level proficiency with Flutter and Dart, with proven experience developing production-grade applications.
- Comprehensive understanding of best mobile and web development practices and architecture: SOLID principles, MVVM, advanced state management, offline capabilities, and responsive UI design.
- Advanced knowledge in at least one additional language relevant to mobile or web development, such as Swift, Kotlin, Java, Objective-C, or JavaScript/TypeScript.
- Demonstrated ability to architect and develop sophisticated user-facing UX/UI app flows.
- Proven experience deploying and maintaining apps in significant distribution channels such as Apple App Store or Google Play Store.
- Experience contributing to open-source Dart/Flutter projects is highly desirable.
- Deep understanding and hands-on experience with distributed and concurrent application architectures.
- Knowledge of cryptographic fundamentals and their practical application in securing mobile and web applications is beneficial.
- Proven expertise in writing idiomatic, scalable, and maintainable Flutter and Dart code.
- Demonstrated ability to lead technical teams, mentor junior and senior developers, and foster team growth.
- Strong skillset in designing efficient, high-quality tests to achieve substantial code coverage.
- Ability to concisely document code and APIs to ensure clarity and ease of maintenance.
- Expert at breaking down complex tasks into manageable sub-tasks with clear deliverables.
- Pragmatic adherence to software engineering principles, emphasizing modularity, incremental development, and avoidance of unnecessary complexity.
- Exceptional communication skills, enabling precise interactions with stakeholders, team members, and cross-functional partners.
- Demonstrated leadership in proactive identification and resolution of technical risks and challenges.
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
IO Global
Classification:
Details and stages
Reporting to: details unknown
the hiring process information will appear here if available.
Job ref blurredText
Posted on blurredText
Last checked on blurredText
Closing on blurredText
Total attempts: 22 Unique: 10 Passed: 6
Discuss this job
Share your intel on this vacancy and help others - anonymously
pretend that this is a blurredText long comment