Most technology in education is not built for the modern learning experience. It’s complex, unpredictable and no two classes are ever the same. Teachers waste time on non-teaching activities and they find it difficult to collaborate with other teachers. At Firefly, we’re freeing teachers to have a greater impact on the learning experience. Firefly allows teachers to innovate and cater to each student’s needs, preparing all students for success in the future.
How you can help
We already have a rich legacy, we’ve won loads of awards and have earned a reputation as the easiest to use school learning tool. But we have even greater ambitions to help every student reach their full potential. As a Senior Back-end .NET Developer we are looking for someone who 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.
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 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.
We want to work with someone who
- With a fresh technology approach, your experience and opinion will provide your Squad an understanding of ‘the art of the possible’ when it comes to product development; working with product managers to rapidly iterate on product ideas.
- Would love to be part of complex projects and thrive to be hands on when required to make decisions.
- Is friendly and approachable, who will build great relationships with teams all around the business, including Product Managers, QA Engineers; and with your fellow developers, to pair to solve problems.
In return, you will benefit from
- Being part of a growing and thriving technology team
- Being able to grow and develop as an expert in your domain.
- Having a real impact on the lives of teachers and students.
You have proven experience in the following
- 4+ 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).
- A keen awareness of scalability, caching and running systems “at web scale”.
- 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.).
- You have excellent communication skills and ability to articulate complex and technical concepts to non-technical audiences.
Day to day
- You will have a huge amount of input on architecture and build choices, defining user stories and taking ownership of delivery. We are interested to hear your opinion on some of the approaches taken in previous roles.
- 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 Web API which drives a React and Redux front-end and will write unit and integration tests for all the features that you work on.
- You 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 Senior Back-end .NET Developer 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.
You’ll be joining the Technology team as a Senior Back End .NET Developer. We are respected across the whole company for our expertise and commitment to providing the best experience for our users. We work closely with the Product team and Design team, so we continually have the opportunity to guide and shape the direction of the product.
We aim to learn at every opportunity. We receive an annual training budget and use this to attend conferences, workshops, take online courses and have shelves full of books in our workspaces. Our people are key to us and we are committed to your development both technically and professionally.
We like to hang out together too–we go for dinner together regularly and do all sorts of activities with the wider Firefly team. Firefly is a fun and rewarding place to work, our employee benefits include: Bupa health insurance (50% premium contribution), cycle-to-work scheme, travel loans, gym discounts, enhanced parental leave, 4% pension contributions, and 25 days holiday (exclusive of bank holidays) plus 3 additional days for Christmas shutdown! Please see our careers page for a full list of employee benefits.