Tes is a digital education company that has been supporting educators for over 100 years, powered by a community dedicated to helping, inspiring and connecting educators throughout the world. We have a simple mission that drives us – a great teacher for every child.
As an integral part of our product-driven teams, you’ll be focused on shipping products that make a meaningful impact to both our teachers and the performance of our company. You will have end-to-end responsibility and ownership of what you build, supported by our platform operations team (for easy deployment to our production environment anytime with continuous integration), and a range of tools that empower you and your team to monitor the performance and health of your code base.
Our platform is composed predominantly of Node 8 (ES6) and React+Redux microservices running in Docker containers in AWS, alongside our core CMS built in Drupal. We follow a microservices architectural approach with a bias towards slightly larger services focused on domain specific functionality. We have almost 200 services in live maintained by 12 autonomous small but highly effective teams. We have a variety of data storage mechanisms including MongoDB, Cassandra, MySQL, PostgreSQL and Redis. We use React Native for our native mobile apps.
Our team culture and core values
We place significant emphasis on personal development and growth for our engineers, where we follow a mentorship model that provides you with the support you need to grow and develop, at a pace that works for you. You will be working with a culturally diverse team of talented men and women from many nationalities across the globe. Above all, we are committed to striking the right work-life balance and value work flexibility that suits each individual – both time and location. This means you can either help to pick up the kids from school or be a travelling digital nomad. All we ask is that you are committed to shipping great products and supporting your team to achieve its goals. Check out our engineering blog for a sense of who we are and what we do.
So who are we looking for?
- You are passionate about shipping technology products that everyday people use
- You thrive in a cross-functional environment and are keen to learn new things
- Ideally you can code in more than one language (we don’t really mind which ones if you’re great at it)
- You have taken on overall architecture and design responsibility (at a senior level), or see yourself progressing there over time (if you are just starting out). There is no separate Architecture team at Tes; you as an engineer will own it
- You have worked in (or really want to) flat, empowered team environments where the team owns the problem end-to-end – this includes not only writing software but also taking responsibility that it works. There is no separate QA team at Tes – you decide when it’s ready to ship
- You are comfortable with the idea that not only you have to ship what you build, but you and your team are also responsible for how it performs in production. If it breaks, your team will fix it. There are no separate operations or QA teams at Tes
- You are a firm believer in helping the next generation of great programmers develop
What experience do you have?
- You'll ideally have a degree, preferably in a technical subject; if not you’ll need to have significant experience of programming outside of your degree or have gone through an engineering bootcamp
- We'd love to see your work. If you can show us some of the sites or open source projects you have worked on, please do
What are the opportunities we can offer?
- You will work with cutting-edge web and mobile technologies in friendly multi-disciplinary agile teams using the latest open source tools and gain experience through pairing, automation and TDD
- You will be supported by a career framework developed in-house at Tes, that will help you grow into a well-rounded engineer, focused on both technical and non-technical skills
- We offer both flexible working hours and a fully supportive environment for remote workers
- We are active in open source development with a variety of open source projects https://github.com/tes
- We provide two hack days per month for engineers to work on projects of their choice including open source efforts
- Opportunity to mentor developers and help them grow
- Opportunities to proactively shape the culture of the team and how we work – for example, through our engineering championship roles
- A chance to learn from other engineers or spread your expertise through our weekly Knowledge Sharing meetings
How does the career model work for Software Engineers?
We have five career bands at Tes that allow you to gauge your process, and make it possible for our HR department to keep up.
|Band||Key Behaviours||Salary Band1|
|Associate||An associate engineer is typically not capable of completing an end-to-end task independently, but can with the support and guidance of an engineer or senior engineer. This is primarily an on the job learning role, and most engineers will stay here 6-18 months dependent on capability and starting point.||£30k to £42k|
|Engineer||Engineers are capable of picking up specific tasks within a team and completing them independently, and carrying out more complex tasks with the support of a senior engineer.||£42k to £65k|
|Systems||Multi-skilled generalist (though typically with a key strength area), capable of owning large sections of our technology architecture and strategy, providing mentorship and guidance for all members of teams they are a part of.||£90k+|
|Principal||A principal engineer is a systems or senior engineer who wants to move (partially) into a people management role, and round out their skills with an intent to head into a VP of Engineering or CTO role. They will take over management of a number of engineers in a domain, and so be linked to strategic business areas. This is in contrast to systems engineers who will be expected to move around based on need.||£85k+|
You progress through these bands through demonstrating your skills against a matrix of skills across a range of technical and non-technical categories.
It is a process based on self-evaluation, mentor support and evaluation from a principal engineer in your area.
The areas are:
- Technical Skill
- Software Design
- Systems Thinking
- Software Delivery
- Vision & Ownership
- Mentoring and Enabling
- Community Engagement
- Tes Engagement
We are strongly committed to this career model – to the extent that we open-sourced the skills-matrix tool.
Ultimately we believe great products are built by engaged, passionate engineers working together in autonomous teams. If this feels like it could be you, or someone you know, please feel free to contact us at firstname.lastname@example.org
- Salary bands are based on the London market. Outside of London the bands are flexible. ↩