
Senior Java Software Developer
- London
- Permanent
- Full-time
- Participate in all phases of the product lifecycle, including design, development, documentation, testing, integration, deployment, and ongoing support.
- Participate in mentoring relationships - both giving and receiving guidance- to foster mutual growth and development within the team.
- Approach our products and customer challenges with curiosity, striving to understand the solutions we deliver.
- Work with team members to develop innovative, customer-centric solutions.
- Take part in team support responsibilities to ensure reliable service for our customers.
- Advocate for a culture of quality and testing, offering guidance and support to team members less experienced in these practices.
- Learn as much as you can about our company, team and product.
- Complete hands-on training with ITRS Analytics and other products in the ITRS portfolio.
- Follow an onboarding checklist and meet with team members from across the company.
- Pair with current team members for meetings, demos, and presentations.
- Review recorded sales calls and learn our sales motion.
- Take over parts of the agenda as you get more comfortable.
- Continue pairing with the current team and assuming a more active role in the agenda.
- Begin playing a role in the Analytics developers community, answering questions and sharing advice.
- Select a learning course that aligns with your goals and experience and begin the course.
- Continue to grow your understanding of ITRS, both us and our products.
- Learn how we develop products.
- Build relationships.
- Discover how our products connect and interact.
- Assume ownership of an initial subset of the product, supported by the team.
- Continue to learn and grow. ITRS is committed to your ongoing personal growth. There will always be opportunities requiring it. We have an ambitious L&D policy to support your learning and growth
- You are predominantly a backend Java developer with at least 7 years of experience building complex distributed systems.
- You have built applications from the ground-up with a deep understanding of core Java, data structures and concurrency, rather than relying on frameworks such as Spring.
- You have built event-driven applications using Kafka and solutions with event-streaming frameworks at scale (Flink / Kafka Streams / Spark) that go beyond basic ETL pipelines.
- You know how to orchestrate the deployment of applications on Kubernetes, including defining services, deployments, stateful sets etc. and where to look if there is a problem.
- You know how to design systems from a macro-level through to the micro-level optimisations needed to build high-performance, scalable solutions.
- You have tackled hard problems in the past around data consistency vs availability and have designed systems around these considerations.
- You have designed complex data models and managed their evolution to limit breaking-changes and support backwards compatibility.
- You have a focus on delivery and an awareness of how your contribution in a software team delivers end-value in a product.
- You have likely tuned garbage collection, fixed CPU hotspots and analysed heap dumps to find memory leaks on JVMs.
- You have likely instrumented custom metrics in your application and used monitoring/observability tools to understand how they behave in different environments and to identify the root cause of issues.
- Health Insurance and Dental Health Cover for you and your dependants
- Employee Assistance Programme
- Pension
- Flexible Hybrid Working
- Enhanced Parental Leave
- Travel Insurance
- Life Assurance
- Income Protection
- Referral Bonus
- Buy and Sell Holiday
- Training Reimbursement