Senior Functional Software Engineer (With Clojure Experience a Must Have)
Posted:
Senior Backend Engineer
We are seeking an experienced Backend Engineer to design, build, and maintain high-performance, event-driven systems. You will work with Java Spring Boot and Clojure in a collaborative, test-first environment, contributing to microservices architecture and mentoring junior team members. This role requires strong technical expertise, a commitment to clean code, and a passion for delivering reliable, scalable solutions.
Key Responsibilities
Backend Development
- Design, develop, and maintain high-performance backend services using Java Spring Boot (or similar frameworks) and Clojure.
- Adhere to clean code principles and industry best practices in all development efforts.
- Ensure code quality through pair programming, code reviews, and other collaborative development methods.
Event-Driven Architecture
- Implement and maintain event-driven systems using message brokers (e.g., Kafka, RabbitMQ, or cloud-native equivalents).
- Work on publish/subscribe patterns and streaming data pipelines to ensure real-time data processing and system responsiveness.
- Optimise event flow for performance and scalability.
Test-Driven Development (TDD)
- Apply TDD principles throughout the software development lifecycle to deliver robust, maintainable solutions.
- Write comprehensive unit tests, integration tests, and end-to-end tests.
- Ensure high test coverage and effectively diagnose, document, and fix bugs.
Architecture and Design
- Collaborate with architects and senior engineers to define microservices architecture and component interaction.
- Partner with senior engineers, solution architects, and principal engineers to shape and execute the technical strategy for your area.
- Contribute to architectural discussions and decision-making processes, ensuring scalability, security, and maintainability of solutions.
- Integrate best practices for secure coding, data privacy, and compliance.
Performance Optimization
- Monitor system performance and reliability, identify bottlenecks, and implement solutions for performance tuning.
- Conduct profiling, load testing, and implement caching strategies to enhance system response times.
- Work closely with the platform engineering team to optimize CI/CD pipelines for quick and reliable deployments.
Collaboration and Leadership
- Mentor junior engineers on best practices, coding standards, and new technologies.
- Collaborate with product managers, QA, and platform engineers to deliver features on time and with high quality.
Qualifications and Experience
- Bachelor’s degree in Computer Science, Software Engineering, or a related field.
- 5+ years of professional experience in software development, preferably in a modern backend environment.
- Strong proficiency in Java and proven, hands-on experience developing production-grade applications with Spring Boot.
- Expertise in designing, building, and operating event-driven microservices architectures.
- Proven ability to apply and advocate for Test-Driven Development (TDD) methodologies.
- Direct experience with message brokers/queues (e.g., Kafka, RabbitMQ) for inter-service communication.
- Solid knowledge of relational and NoSQL databases, caching layers (e.g., Redis), and RESTful API design.
CV Job Description Matcher See how well your CV matches this job and get tips to improve your chances AI Tool
This tool helps you see how closely your CV matches a job description. It also gives you simple suggestions on what to improve so you have a better chance of getting shortlisted.
Never pay anyone for job applications, interview tests, or job interviews. A genuine employer will never ask you for payment under any circumstances.
