Who are we?
Firefly Learning are a leading SaaS EdTech company, providing web and mobile-based learning platforms to UK state and independent schools. We now have over 400,000 students using the app in over 500 schools with ambitions to become a global leader in education technology. There are over 1.2 billion students in primary and secondary schools across the world, so we’ve got plenty of room to grow.
In late 2016 Firefly secured the largest ever Series A for a UK EdTech company at £4.6 million. This cash influx allowed the business to grow to over 70 team members with offices in London and Australia.
We're on a mission to improve education for everyone and so far, are confident we're succeeding. Firefly products actively improve the teacher, student and parent experience and communication, and we’re seeing daily active user numbers as high as 95%. With the use of technology, we are giving more time back to teachers to teach, enabling students to learn in ways that work best for them, whilst involving parents with their child’s learning every step of the way.
Tech-wise, Firefly runs primarily on .NET as well as iOS, Java and Kotlin for our mobile apps. Web projects are typically built with Web API and React with Redux, as well as a recent focus on improving our testing by increasing automation and implementing better processes. Driving towards a multi-tenant system with a more modern architecture is part of Firefly's future.
Our engineering teams are organised into two Squads and each Squad is organised around a product. These Squads are formed from a mix of developers, testers and designers, who work alongside a Product Manager and Squad Engineering Lead to build feature requests. Following a highly collaborative process you will actively participate in sprint planning, regular stand-ups, code pairing and code reviews.
Why work as a Lead Developer at Firefly Learning?
Firefly is a fun and rewarding place to work, with weekly team lunches, and free lunch on Monday’s! Our employee benefits include cycle-to-work, travel loans, gym discounts, enhanced parental leave, pension contributions and 25 days holiday +3 days for Christmas shutdown!
One of the key things we believe in at Firefly is your progression both technically and professionally. You will be provided with a Plural Site account and £1,000 learning budget for you to learn new technologies, gain qualifications and investigate areas of interest that will help you to become better at what you do. As a Squad Engineering Lead in one of our Squads you will be surrounded by a team who will help you develop technically, with technologies throughout the stack.
We offer a fantastic work environment and people-focused culture. We have worked hard to foster a collaborative and positive workplace. You will have the opportunity to impact technical decisions and be involved in software architectural decisions. We strongly believe that by harnessing the unique views at all levels within our Technology team, as it allows us to craft better products.
What we do and the products that we create have a direct impact on people during a critical period in their life. Education plays a big part in shaping everything that comes after, so helping to make those formative years more productive, less challenging and of higher benefit will be our, and your, number one priority.
At Firefly Learning you’ll build technology you can be genuinely proud of.
What is the purpose of this role?
This role is within a Squad and is a combination of being a leader and architect. The responsibilities relating to an architect will be defining frameworks which will be used by the Squad to produce code and product. As a Leader you will ensure delivery by listening and collaborating with the Squad, removing obstacles and weaknesses that inhibit product delivery and ensuring the appropriate technical decisions are made.
You will be responsible for implementing the software architectures and features for a product within the Firefly platform; including web, microservices, RESTful web APIs and AWS infrastructure, ensuring consistency by helping to coordinate activities.
With a fresh technology approach, your experience and opinion will provide your Squad an understanding of the ‘the art of the possible’ when it comes to product development; working with Product Managers to rapidly iterate on product ideas. You love to be part of complex projects and thrive to be hands on when required to make decisions.
With good interpersonal skills, you will have the ability to build constructive relationships and influence, including relationships with Product Managers, quality assurance and the Developers that report to you.
What will you be accountable for?
The Squad Engineering Lead is jointly accountable for achieving the squad’s objectives and delivering to their roadmap, alongside the Product Manager. While the Product Manager is ultimately responsible for WHAT the squad is looking to build, the Squad Engineering Lead is responsible for HOW it is built - including the quality, scalability, security and robustness of the solution. Together they are jointly responsible for setting expectations and then delivering in line with those expectations.
Collaborating with other developers you will focus on building web services and APIs, spending the vast majority of your time working on new features in C# and will write unit and integration tests for all the features that you work on.
You will support the adoption of a continuous delivery focused environment, working with QA Automation Engineers and taking advantage of the services in AWS. Currently, we are using a semi-automated release setup where you will initially commit code to a local staging environment and run your own tests. We are exploring Continuous Integration with Jenkins and Octopus Deploy and this is an area we plan to explore a lot more in the future.
As a Squad Engineering Lead at Firefly, you’ll be expected to understand that product design and database design are closely linked. You’ll also have designed and built a database around existing features or to detailed specification.
We aim to uphold the highest of standards in development by implementing and ensuring best practice, which includes applying SOLID principles and ensuring that all our code follows these good practices.
What experience do you require?
First and foremost, you should be a Leader who has a competent understanding of not just the features you work on, but how they fit in with the whole system. We expect you to come on board ready to write clean code with good automated testing standards.
We’re looking for Squad Engineering Leads who are truly passionate about software design, performance and best practices. You’ll have:
- 5+ years of commercial experience in C# software development in solutions for MVC web applications and Web API in the Microsoft-stack and exposure to integrating with mobile apps.
- Developed code that runs within a cloud environment; including an understanding AWS services (e.g. regions, availability zones, ec2, s3, cloud formation, cloud watch, RDS).
- Deep understanding of REST services, SOLID and OO-A/D/P.
- Experience with communication using APIs and messaging within a microservice architecture.
- Experience of SQL server and ORM systems (e.g. Lync to SQL, etc)
- Experience working in automated code integration practices, including CI/CD pipelines (e.g. Jenkins, TeamCity, Octopus deploy etc.).
- 1+ year of experience in performing one-to-one reviews for developers.
- Experience of identifying the correct hiring opportunities and arranging and performing the interviews.
- Listening to and collaborating with Developers, providing real-time feedback and making intentions transparent to enable your decision making.
- Work with the Squad to accurately size road map items and cost them for prioritisation and expectation setting.
- Providing team leadership guidance within the production of code to ensure deadlines are hit.
- Collaborating with the Head of Technology to understand the technical vision.
- You have excellent communication skills and ability to articulate complex and technical concepts to non-technical audiences.