Software Engineer

Here at Imagine Learning (IL) Studios UK we create incredible, inclusive Science, Technology, Engineering, and Mathematics (STEM) learning experiences full of aha! moments that students remember forever.

At IL we ignite learning breakthroughs. It drives everything we do. We innovate together to support educators in creating those special moments when students experience the joy of learning at its best. We serve more than 10 million students and partner with more than 7,500 school districts nationwide. That’s where you come in! Working for IL Studios - UK means getting the chance to use your talents to the fullest, doing work that makes the world a better place in an environment where your contributions get noticed. 

We hire talented individuals, give them the chance to shine, and recognise the impact they make on IL and on the lives of students across the globe. We’re here to change the world of STEM education.

If you want to see just some of what we do then watch this film.

Job Role

As a Software Engineer you will solve problems and create features in an optimised, secure, testable, maintainable way. You understand how to integrate observability measures and deploy your code through a CI/CD pipeline, with some understanding of Cloud technologies (AWS). You can use logs and observable metrics, or build them in, to ascertain when bugs are happening. You are always learning and finding out more about new technologies, and recommending them where appropriate. Your work is scoped to work with your team and will work in some capacity across the stack.



Responsibilities


  • Analyse requirements for stories or tasks from our product owners to create solution designs and provide useful timeline estimates.

  • Code solutions using appropriate languages (Javascript primarily, some knowledge of Python or Terraform is helpful).

  • Use metrics to identify opportunities and create new features in “Kaizen” (self-directed) time.

  • Write clean, maintainable code with minimal defects so that future work on any codebase that you touch can be easily understood and maintained by other developers.

  • Test code functionality through unit tests so that we can be assured of expected code functionality before deployment, so that unintended consequences of other changes will be felt at the point of testing, and so that the responsibility of units of code can be easily understood through test descriptions.

  • Work with data and databases, as well as the appropriate technologies and languages for data transfer.

  • Resolve any customer support issues when required as part of the team’s on-call strategy so that our products continue to delight customers and we don’t lose user or customer trust in the capability of our products.

  • Work with management and stakeholders to ensure there is an understanding of the current progress in your work.

  • Write simple, easily understood documentation so that better decisions can be made in the moment regarding which tasks to work on next, and both existing and future team members can understand what you have worked on and the reasons behind any architectural or stylistic choices you may have made.

  • Learn about new technologies and adopt them into your working pattern to ensure you are up to date with emerging trends and are able to provide forward thinking solutions to problems.

  • Proactively identify areas of the application that can be improved and work with Product Owners to add those tasks to the workstream to ensure the product remains competitive.

  • Own the packaging and release of your code through a CI/CD pipeline and resolve any issues with it so that customers can use the features or bug fixes that you deliver.

  • Constructively conduct Pull Request reviews on other team members’ code so that the bar on code quality continues raising and team members are encouraged to develop.

  • Continuously identify and implement ideas that improve the overall developer experience.



Qualifications

  • Bachelor or Masters' Degree or equivalent in Computer Science, Software Engineering, IT or another STEM subject - Desirable not essential. 


About you

  • You can design a solution and deliver independently on it in accordance with an already designed technical and business strategy.

  • You have the ability to solve difficult problems of a technical nature and do not consistently apply the same approach to problems

  • You have been involved in design, development, automated testing and deploying of software to a satisfactory level

  • You may be able to perform maintenance or small adjustments to infrastructural elements

  • You can confidently contribute to team planning, code reviews and design discussions

  • You have experience in unit and integration tests, where software is optimised, logical and maintainable. 

  • You are able to make easily reversible trade-off decisions when needed.

  • You are proficient in the use of JavaScript (React, node.js) and/or Python

  • You have an understanding of Docker, Kubernetes and Jenkins (or another CI/CD pipeline) - beneficial but not essential

What’s in it for you? 

Your job will offer diversity and fulfilment as well as professional and personal development.  IL has an open, fair, relaxed and flexible culture where hard work is recognised and rewarded.  Benefits of working at Twig include:


  • Salaries are competitive

  • Hybrid Working

  • Flexible working arrangements

  • Cycle to Work scheme

  • Health Shield cashback plan

  • Generous holiday allowance including birthday off

  • Office in an attractive location next to a large park

  • Being part of a lively, fun team

  • Dog friendly office

Equal opportunities statement

Twig is an equal opportunities employer and positively encourages applications from suitably qualified and eligible candidates regardless of age, disability, gender reassignment, marital or civil partnership status, pregnancy or maternity, race, religion or belief, sex, or sexual orientation.

Think you might fit this role?

To apply, please complete the Online Application Form, attaching a CV and covering letter, demonstrating the extent to which your skills, abilities and experience meet the requirements of this role.