Senior Software Engineer (closed)
London, United Kingdom
£55,000 - £60,000 compensation
Recruiter Comment: Senior Software Engineer / Spreadbetting Company / Permanent £55K - £60K / London / Excellent Opportunity
Job Description
Senior Software Engineer
Keywords: Senior Software Engineer – .NET Engineer – Application Development – C# – Java – Spreadbetting Spread Betting – Sports
Overview:
Our Client, a leading spread-betting company is looking for a Senior Software Engineer to join their team. The Senior Software Engineer must be extremely passionate about technology and ideally have an avid interest in sports.
Role / Responsibilities:
- Design and develop bespoke application software components for the in-house trading system
- Liaise with stakeholders and team lead to understand business requirements and deliver functional specifications and estimates on required work
- Work with the Chief Architect to produce detailed technical designs for required systems development
- Develop application interfaces and specifications that clearly define interoperability with software delivered by other delivery teams
- Build and keep an up-to-date knowledge base of all Front Office systems including technical and end-user documentation
- Design and create unit test cases and make your code work seamlessly in a continuous integration environment
- Develop iteratively and test early on the release cycle; report on task progress regularly; promptly raise risks and arrange for mitigation
- Comply with change control, source control and configuration management tools and practices
- Follow and promote software development best practices and maintain the highest quality of delivered software
- Provide 3rd line support and troubleshooting when required which is done promptly and until the matter is satisfactorily resolved
Skills / Experience:
- Strong technical background in software design patterns and architecture
- Good knowledge of the .NET framework architecture or equivalents (e.g. Java)
- High competency in developing object-oriented software using .NET and C# or equivalents (e.g. JAVA, Scala, Ruby etc.)
- Experience in real-time, multi-tier, back-end systems where high performance and availability are key using .NET or equivalent (e.g. J2EE)
- Experience in building stateful concurrent systems (desktop GUIs do not qualify) using some threading model (e.g. .NET, JAVA, pthreads) or multiple processes (e.g. Erlang)
- Experience in integration of third-party web APIs and implementation of RESTful services
- Experience with delivering HTTP-based, RESTful APIs and data feeds to B2B customers
- Experience in a variety of communications technologies such as WCF, SOAP, RMI, Google Protocol Buffers, BERT and message queues (e.g. Rabbit MQ)
- Experience in integration with distributed caching products e.g. Coherence
- Experience in developing systems software in a database environment, ideally Oracle 10g (or higher)
- Ability to analyze, understand in-depth, deliver and clearly document complex software systems and recommend enhancements
- Delivered high-quality software through iterative development methods
- Experience in unit testing, continuous code integration and nightly build validation
- Experience of delivering software in a multi-developer environment with applied source control (Subversion, Mercurial, Git) and source branching methodologies
- Excellent communication, interpersonal and organizational skills
- Attention to detail and focus on quality
- Enthusiastic and motivated to drive change through technology
- Ability to work well under pressure
- Flexible approach and a great team player
- Ability to manage multiple varied activities
- Experience in Agile and the Scrum Methodology
More information is available on request.
