We are looking for a competent developer to work on a client project, to help develop our software to meet client functionality and specification requests and to enable data migration. As a part of the software development team, you will be adhering to the software development life-cycle and working with latest java (J2SE/J2EE) technologies to deliver multi-threaded, high performance, scalable applications.
The role will involve collaboration with teams in the US and Europe, and cross-functional communication with non-technical teams.
Main Responsibilities will include;
- Implementation as per coding standards
- Defining and carrying out necessary tests i.e. unit, integration, performance
- Performing and participating in peer design and code reviews
- Participating in production deployments
- Maintenance and support of live products, assisting Technical Support
- Providing Level 3 support on a roster basis
- Communicating and liaising with internal and external clients
- Contributing to software development life-cycle improvements and product quality
- Developing and maintaining necessary documentation i.e. class diagrams, user manual, programmer manual, test documents, etc.
- Participating in requirements gathering, and reviewing and/or co-authoring technical design specification
Person Specification
Essential Requirements
- Bachelor’s degree in Computer Science
- 3+ years of experience in Software Development with Java
- Multi-threaded programming and familiarity with concurrency concepts and libraries
- Strong experience with SQL databases, preferably Oracle and PLSQL
- Experience with NoSQL technologies - preferably in production environment
- Experience with JMS - preferably in a high-performance production environment
- Experience with JPA, Hibernate or similar persistence libraries
- Experience with enterprise design patterns and architectural design for performance and scalability
- Experience in agile methodology and projects
- Good communication and problem-solving skills with ability to work reliably as a part of a team
- Familiarity and ability to work in a Linux environment
- Ability and drive to learn new technologies
Desirable Requirements
- Telecommunication knowledge i.e. SMS, MMS, WAP-PUSH, SMPP, etc.
- Software profiling and performance tuning knowledge i.e. JProfiler
- Familiarity with Java Heap heuristics and garbage collection policies
- Experience in application monitoring/management technologies i.e. JMX
- Familiarity with JBoss
- Experience with dependency management/source control (Maven, Mercurial, Git..)
Application method
Please email an up to date CV and include in the email details of your current availability and daily contractor rate / fee.
Thank you for your interest in mGage
Recruitment Agencies
We have preferred supplier list and are not looking to engage any new agencies at the current time, so please do not contact us (this includes HR and the recruiting manager) about this role. Thank-you.