Description
Java Software Engineer (6 month Contract)
Roles and Responsibilities
- Design and develop n-tier applications in Java using Agile practices
- Communication of designs and other development issues to developers and managers
- Design, develop and manage automated unit and acceptance tests
- Peer review of design, code and automated tests.
- Participate in agile development program
- Design and develop integration solutions to customer's Back End systems.
- Code refactoring
- Work with other teams (Service Delivery, Networks, Ops etc.) to ensure delivery of production systems
Skills and Abilities Required
- N-Tier design and development.
- Excellent knowledge of Java, Apache Tomcat, J2EE
- Understanding of design patterns
- Strong application process flow and problem solving techniques
- Strong focus on code quality
- High levels of software engineering literacy and communication skills
- Friendly and professional manner working in teams
- Familiar with version control tools such as git/svn/stash and experience with issue tracking tools such as JIRA.
Desirable
- Experience of working in an agile (XP) environment
- Knowledge of Spring & Hibernate frameworks
- Knowledge of RDBMS - Oracle/MySQL
- Experience troubleshooting application performance bottlenecks
- Knowledge of Web 2.0 software infrastructure
- Knowledge of Ant, JUnit, Maven
- Knowledge of Cloud technologies like AWS, Hadoop, Cassandra, NoSQL
- Knowledge of scalability and resilience techniques
- Willingness to work on highly scalable Cloud solutions
- Understanding of software configuration management and release management
- XML experience
- UML Design
- Unix development background
- Java Messaging
- BI/Analytics
- SOA
- Scripting skills - Groovy, Ruby, Python, Bash