The Opportunity As a Senior Software Engineer, you will help us achieve our goals and deliver success on behalf of our customers by: Developing new features for our real-time platform, maintaining existing modules including bug-fixing, integrating into customer deployments and building new modules to plug into our platform This is a hybrid role based from our Cambridge office. Ideally you will be comfortable coming into the office 2 -3 times per week. If you're interested in the role but require more flexibility, please speak to us Day to Day Technology Be knowledgeable in one or more technologies and continues to learn new ones Help to design and maintain structures and repositories Improve quality within the team Explore new tools to improve the team Review work created by others, checking accuracy and correcting where needed Own the quality of features through the full development lifecycle Ensure test coverage goals are achieved Identify gaps where knowledge is not captured and help fill those gaps People Proactively support other team members and help them succeed Work effectively with other senior individuals to share good practices Mentor Engineering team members, share expertise and provide support when needed Take part in the process of interviewing and hiring Operations Collaborate in team work, understand process intent and ensure processes are used effectively Break work down appropriately Ensure estimates and sprint plans are realistic Assist in team-level prioritisation and scheduling of work Drive good practises sprint-to-print and contribute to retrospectives Champion software engineering good practises and process improvements Communicate progress regularly whilst identifying any blocking issues and escalating where required Provide support for mission critical services deployed to production, including out-of-hours support for critical service issues as part of our on-call engineer rota Influence Has a positive impact on the team Awareness of how your work fits in with the team's area of responsibility and goals Highly knowledgeable of the team's area of responsibility Regular contributor to knowledge sharing and retrospectives Apply for job About you Must haves: Demonstrable experience designing and developing scalable distributed applications ideally in Java Championing great user experience, accessibility, and performance Work/co-ordinate with other engineering teams to expose functionality via APIs creating intuitive user experiences Experience with sprint planning, work allocation and prioritisation Ability to manage and prioritise your own workload Knowledge of patterns and their trade-offs in a distributed environment Experience of relational, NoSQL and queueing systems databases for large datasets Experience with modern IDEs, source control and continuous integration systems Comfortable working with large codebases External API integration Code profiling and performance tuning Great to haves: Experience of relational and/or NoSQL databases for large datasets Knowledge of cloud platforms and automation Experience in web services - HTTP API development Knowledge of message queueing systems - RabbitMQ / ActiveMQ / Kafka Equal Opportunities Here at Featurespace we are committed to being a place of equality, inclusion and respect to provide a safe environment for you to bring your authentic self to work. We know that we gain as much strength from our differences as we do our similarities. We value diversity and are dedicated to listening and learning from each other to build and maintain a positive and productive culture. We appreciate this will be an ever-evolving focus for the business to ensure everyone feels supported and has a sense of belonging.