Java Software Engineer
£450 - £530 a day
Up to £530 per day
3 months initially
This role involves the development of software applications that allow the client to sell in new territories and extends the existing platform to support the associated increased volume.
This is an opportunity to work is an extremely fast paced and challenging environment, developing large scale and high volume systems running on a cloud based infrastructure.
These systems will range from bespoke single purpose applications with simple user friendly web based interfaces to large scale multi-tier infrastructure pieces that provide core services to multiple applications. As such, development will often involve new software as well as reuse of existing components and third party off the shelf products.
The successful candidate will join a highly cross-functional scrum team and will be directly involved in all disciplines such as functional and non-functional testing, deployment automation along side regular development work.
The successful candidate will be a highly motivated individual who possesses excellent technical skills and can demonstrate a thorough appreciation of software engineering principles and best practices, and the ability to communicate and apply these principles effectively.
Development of backend REST compliant services using Java;
Active contribution towards key design decisions and detailed design and implementation;
Participation in all stages of the software development lifecycle, from initial analysis & design to implementation and post launch maintenance;
Investigate, troubleshoot and perform detailed root cause analysis of issues that may occur in live systems;
Effective communication with fellow software engineers, the project team, management and various levels of the business to ensure the effective delivery and integration of these systems;
Key Experience and Attributes:
The successful candidate will have a proven track record in developing "Internet scale", high volume and highly transactional back-end systems with vast relevant commercial experience including the following key skills:
Application development experience on building large scale, high volume (5000 TPS) and REST-compliant web services using Java in Cloud based environment;
Excellent core Java skills is a must;
Deep understanding of TCP/IP and experienced in the use of apache http libraries for consuming http based web services in an efficient manner;
Software engineering practices including: design patterns, unit testing with Mockito, JUnit, automated build and test systems for continuous integration (using Jenkins) and TDD;
Experience using version control tools such as GIT or Subversion;
Experience with build automation tools such as Gradle or Maven;
Agile development, in particular Scrum and XP; comfortable with practices like pair programming and code review. Experience of pair programming;
Experience with Jetty, Tomcat or other lightweight containers;
Experience of Dependency Injection frameworks like Guice or Spring;
Good understanding of concurrency, multi-threading and thread safety;
Thorough and systematic approach towards troubleshooting and root cause analysis of production issues;
Must be comfortable using Unix and should be good with common shell commands/scripting;
Developing application using NoSQL databases (Cassandra)
Scripting languages such as Ruby, Python or Groovy;
Virtualization using Docker;
Cloud technologies (AWS);
Capturing JVM and application level metrics e.g. using Graphite;
Nice to have:
BDD testing e.g. using Cucumber;
User interface development using web based technologies AngularJS, NodeJS;
NFT using Soasta or JMeter;
Posted by Experis, 13 Sep