Senior Software Developer (Java)

About the Role
LMAX is renowned for its high-performance, ultra-low latency exchange written in core Java. We constantly push technology further than most, especially in our greenfield projects, driving the financial industry in new directions.Developers are encouraged to continually develop and learn new skills. Pair programming supports continual growth of knowledge and sharing of expertise, alongside regular team rotations ensuring everyone gains hands-on knowledge of all areas of our codebase. Friday afternoons are set aside as personal development time where you can explore a different coding language, research bleeding edge technologies, or experiment with one of our environments. There is also regularly scheduled time to improve developer experience and reduce technical debt, directed by developers.Our continuous integration and testing culture allows us to have confidence in our builds and to develop quickly. We have over 30,000 acceptance tests running every 25 minutes in our CI, alongside extensive test suites (performance, compatibility, migration, resilience). Continuous Delivery was pioneered at LMAX; one of the authors worked here while writing the book. Due to pair programming and testing we don\''t do pull requests, we push directly to our monorepo with a "revert first, ask questions later" attitude.If you want to work with great developer practices like fast feedback across all aspects of your work, a cooperative culture, and only shipping things when they\''re ready, while being at the heart of a thriving exchange with opportunities to learn about the finance industry, then LMAX is for you!
What you should expect
Collaborative office environment with constant pairing and plenty of social activities
Work across the stack to solve a problem - you might be working with a performance-critical component, integrating a new blockchain, or designing a greenfield cloud-based system
Regular opportunities to learn and develop yourself with internal tech talks, ability to travel to conferences, and dedicated time for your personal development
What you\''ll be working with
Backend: Distributed, event-driven core Java (90% of the code-base), MySQL, Kafka
Frontend: Javascript, Vue.js
Deployment: Kubernetes, Nomad
Data analytics: Python and Jupyter notebooks, Parquet, Docker
Testing: JUnit, JMH, JCStress, Jenkins, Selenium, many in-house tools
OS: Linux (Fedora for development, Rocky in production)
The LMAX way is to use the right tool for the job, so this is just a flavour of what you\''ll be working with and isn\''t a list of requirements.
Requirements
Be passionate about software development. Bad code offends you!
Work in a dynamic environment enabled by fast feedback; the heart of our ethos
Pair programming in small teams of developers and testers (who also write code)
Share knowledge and learn from like-minded peers
Work across a variety of teams covering a wide range of technologies
Write performant, reliable, and well-tested code — shipping only when it\''s ready
Benefits
25 days of holiday
Bonus
Pension contribution
Private medical, dental, and vision coverage
Life assurance
Critical illness cover
Wellness contribution program with access to ClassPass
Plaum Platform
Five volunteering days
Give as You Earn initiative
Learning and development programs
Electric Vehicle Scheme
Cycle to Work Scheme
Season Ticket Loan
Seniority level
Mid-Senior level
Employment type
Full-time
Job function
Information Technology
Industries
IT Services and IT Consulting
Referrals increase your chances of interviewing at LMAX ..... full job details .....