• Develops, codes, tests and debugs new moderately complex software solutions or enhancements to existing software in a maintenance capacity. Has good understanding of business application.
• Works with technical staff to understand problems with software and resolve them.
• Resolves customer complaints with software and responds to suggestions for improvements and enhancements.
• May assist in development of software technical documentation.
• Designs and codes moderately complex applications using routine and/or advanced technology.
• May create optimization programs to resolve problems.
• May design and build prototype applications.
EDUCATION: Bachelor's degree or equivalent
EXPERENCE: 7+ YEARS
- Strong core Java programing skills including thorough working knowledge of Collections.
- Working knowledge of Java concurrent programming ( threads/synchronization), Generics
- Working knowledge of relational DB (Oracle preferred) and SQL.
- Good understanding and experience with AWS.
- Unix/Linux experience at a user level.
- Scripting experience with Bash or Python.
- Good understanding and practical experience in applying TDD practices, code refactoring, continuous integration and agile methodology
- Good knowledge of software design patterns.
- Strong interpersonal and communication skills and ability to mentor junior team members.
- Ability to work on multiple projects simultaneously
- Strong analytical/problem solving skills and proven experience in providing production support.
- Experience with Build tools like Maven, Ant
- Experience with FitNesse or other automated test tools.
- Basic knowledge of XML, Spring, Hibernate, JMS.
- Experience with Code Quality & Metrics tools such as Sonar.
- Knowledge and interest in new trends in software development, for example : Cloud computing, OSGi, SOA, JPA, JAVA 7 etc
- Experience working with globally distributed teams.