Our Client, an asset manager based in London, are looking to hire a Senior Java Engineer on a permanent basis.
Developer Services is a team embedded in Enterprise Architecture and its mandate is to build tools and services to improve the productivity of application development teams. The flagship platform provides a one-stop shop experience for application teams to configure their source code and build artifact repository, allowing to apply Policy As Code and Infrastructure As Code practice to improve their experience and workflow in build, test, and deploy their applications. A successful candidate should have experience improving developer productivity and a solid understanding of how best practices in SDLC can help teams to deliver better quality software with higher cadence.
You expected to be agile / to lead / to think outside the box. The TDC is working to develop the firm's next generation data distribution platform, with the aim to seamlessly deliver real-time and on-demand investments data to a global network of distributed trading and research platforms. We are employing new paradigms such as cloud computing, lightweight microservices, and distributed and non-relational databases to deliver elastically scalable, globally distributed and highly resilient software services.
ROLE SUMMARY AND JOB RESPONSIBILITIES
- Craftsman-like approach to building software; takes pride in engineering excellence and instills these values in others
- Demonstrable passion for technology (e.g. personal projects, open-source involvement) while using their problem solving capabilities to deliver solutions utilizing a top end engineering approach
- Focused on delivering value to the business with relentless efforts to improve process
- Exceptional technology skills; recognized by your peers as an expert in your domain
- A proponent of strong collaborative software engineering techniques and methods: agile development, continuous integration, code review or pairing, unit testing, refactoring and related approaches
- Strong analytical ability, true problem solvers
- High achiever who combines ambition with humility and is happy to let their performance do the talking
- Accountable for all parts of the software development lifecycle for their projects
- Leads code reviews and actively participates in providing feedback on others’ designs/code
- Accountable for technical debt in their own software
- At some levels, capable of leading a small team of developers for a specific project
- Takes control of complex or vague problems and steps through them in a rational way
- Flexible in his or her thinking; able to evolve a solution when additional information or ideas are presented
- Java (backend)
- 8+ years of progressive professional Object Oriented development experience (Java preferred)
- Experience with automated delivery pipelines, agile delivery and test-driven development
- In-depth experience with server-side frameworks such as Spring Boot and Tomcat
- In-depth knowledge of software design patterns
- Solid understanding of cloud native architectures (AWS, etc.) for containerized microservices
- Experience working in a dynamic, fast-paced, Agile team environment
- Strong interpersonal skills; able to establish and maintain a close working relationship with quantitative researchers, traders and senior business leaders
- Confident communicator; able to argue a point concisely and deal positively with conflicting views
- Shows a commitment to quality by implementing suitable software using unit/integration and acceptance testing at the time of feature development
- Debugs large components with limited assistance and assists other engineers with debugging
- At some levels, leads code reviews and actively participates in providing feedback on others’ designs/code
- Performs as an expert in one or more parts of the software lifecycle (e.g., coding, testing, deployment). Oversees significant pieces of development within the development lifecycle
- Designs and develops practical APIs and abstractions.