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 Squads. 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, childcare vouchers, gym discounts, enhanced parental leave, 4% 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?
We are very excited to start developing a new product that we are calling School Insights. So, what is the School Insights product? At Firefly we have understand the challenges school leaders face. School leaders know that by developing their teachers and setting high standards of teaching, students will have the best chance of achieving high outcomes. And yet currently, school leaders struggle to assess the impact of their initiatives and investments on teaching and learning, often missing opportunities to intervene and improve.
Our School Insights product will provide solutions to school leaders to highlight areas of importance including student and classroom progress; enabling school leaders to support and develop teachers. For the teachers this product will provide information on the attainment of individual students so that individual student needs are identified to facilitate early intervention and providing tailored support, when it is most needed.
We are creating a new Squad that will make this product a reality and the purpose of this role is to be a hands-on lead of this Squad. This role is a combination of being a leader, architect and coder. As a leader you will ensure delivery by listening and collaborating with the Squad, removing obstacles that inhibit delivery and ensuring the appropriate technical decisions are made; as an architect you will be designing the framework to support the School Insights product; and as a coder we expect our leads to be hands-on and enjoy coding.
With good interpersonal skills, you will have the ability to build constructive relationships and influence, including relationships with Product Managers, QA Engineers; 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.
As this will be the first Squad based in Belfast we also need you to be a point of contact for people there for general issues regarding the office space with daily support from the Head of Technology if needed.
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:
- 4+ years of commercial experience in C# software development in solutions for MVC web applications and Web API in the Microsoft-stack.
- 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.
- 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.
- The motivation or experience in leading team(s) spread across multiple locations.
- 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.