Description
Responsibilities:
- Ability to engineer complex, multi-tiered distributed software systems
- Design, implement, test and document / diagram software solutions for technical and business requirements
- Perform code changes to enhance a product or add new features, to resolve programming errors and develop new products as assigned
- Complete code changes in a timely manner based on project plans
- Keep up to date with best practices
Qualifications:
- Proven hands-on Software Development experience
- Proven 6+ years working experience in Java development
- Hands on experience in designing and developing applications using Java EE platforms
- Object Oriented analysis and design using common design patterns.
- Extensive experience with REST API design and development
- Deep knowledge of Java and JEE internals (Classloading, Memory Management, Transaction management, Thread management, etc.)
- Experience with Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
- Experience with Spring MVC Framework
- Experience in Git-based version control systems
- Experience in Agile methodology
- Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC)
- Experience with test-driven development
- Experience with PowerMockito
- Familiarity with Ant build processes
- Ability to effectively troubleshoot software related issues
- Perform effectively in a multitasking environment
- Have strong interpersonal, as well as written and verbal communication skills
- Strong professional attitude together combined with a drive to get things done