Senior Full-Stack Software Engineer
At Tassomai, we provide technology tools to improve education. Our software is used by thousands of British secondary school students, teachers, and by parents. Students use Tassomai to revise and learn, using "spaced repetition learning", and our algorithms tailor the experience to their existing knowledge and to how much they use the application. Teachers use Tassomai to monitor their students' knowledge and understanding, freeing them from some of the more tedious tasks, to focus on what they do best: to teach.
We have tens of thousands of active users, are aiming to increase that, and to engage our users more. We also have an ambitious company vision, involving leveraging our existing data to offer rich insights to other stakeholders in education. To support both of these business aspects, we want to add to our small engineering team. We're looking for someone with a strong engineering background, who wants to work on a product they care about, and is interested in being involved throughout the product development lifecycle.
Experience and person specification
You have probably worked in an environment where quality was assured using code review, automated testing and manual QA, and certainly aspire to. You might have an interest in test-driven or behaviour-driven development.
You are able to produce high-quality code, and to predict (with some accuracy) when you will deliver it.
You have worked successfully in teams which are at least somewhat Agile. Ideally these will have been cross-functional, i.e. including members who focussed on product design and on testing, or you find such a working setup appealing.
You are relaxed and friendly, and are able on occasion to work to deadlines.
If in addition you have experience in (dev)ops, team leadership, or project management, that would be of interest, but certainly not essential.
Ideally, you have an interest in monitoring and optimising the performance of web services and/or front-end code, and have experience building or maintaining systems which handle upwards of a thousand write-heavy user requests per second.
You have strong skills in at least one of the following:
Object-oriented programming, ideally in python 3.
Event-driven/reactive programming, ideally using RxJS.
You can write unit-level and higher-level tests, to ensure adequate code coverage and that code you produce or oversee matches acceptance criteria.
More senior candidates ought in addition to be proficient in some of the following:
Software architecture: you can design APIs, and structure a codebase so that it will be expansible, flexible and maintainable.
DevOps: you know what infrastructure is appropriate to deliver robust web services, and are able to work with and improve CI/CD pipelines to ensure up-time and predictable response under load.
The main responsibility will be to develop and maintain features.
Understand and develop the requirements proposed by product designers
Write code to implement those requirements, accompanied by automated tests
Refactor, where appropriate, existing code to make it more maintainable
Document code, and structure it so that it is easily understandable by others
Review code written by others
In addition, you are likely to contribute to the platform.
Our services need to handle many thousands of simultaneous users, with acceptable latency
They should remain running with only very minimal downtime, which if needed should be scheduled.
They need to adapt to changing requirements from the product side
Infrastructure costs should be anticipated
You would also participate in resolving bugs which may arise
Help to identify and analyse any bugs
Participate in prioritising and scheduling time to work on these
Where appropriate, work to resolve bugs and to appropriate an automated test to cover the case.
A healthy engineering team also teaches and learns, and we hope you'll help us do that by some of the following means:
Pair program with other engineers
Participate in internal hackathons (X% time)
Attend discussions of technologies that are unfamiliar to some of the team
Identify appropriate technologies to supplement/replace those we currently use
Technologies we currently use
We would expect you within the first few months of working here to have a solid understanding of, and to have worked with, most if not all of the following.
Where would you be working?
We’re based on the 5th floor of an old pharmaceutical warehouse in Bethnal Green. It’s a co-working space and we’ve bagged the best office which is light and airy with a lovely balcony - we love it.
EMI share scheme
22 days holiday plus your birthday off
Time off between Christmas and New Year
Cycle to work scheme
Travel card loan scheme
More coffee-making apparatus than the rest of East London put together
£45k - £80k, dependent on experience.
How do you apply?
If you are interested in discussing the role further, please write to email@example.com to arrange a call.