Position: Java Developer
Location: Calgary, Alberta, Canada
Position Type: Contract
Our Client is looking for someone to design, develop and enhance rich Java applications with middle-tier (messaging) and other back-end processes and applications, in a large, complex, transactional based environment.
- Gather, refine, and document system requirements to ensure functionalities follow best practice methodologies.
- Code, test, document and deliver requested functionality changes or enhancements to new or existing enterprise applications.
- Produce technical documentation (i.e. requirements, design documents, turnover documentation, test plans) for requested functionality changes or enhancements.
- Work within established software development standards and configuration management procedures and processes.
- Assist in the creation of the system design and functional specifications
- Provide Functional Support for applications as needed.
- Responsible for developing and testing solutions, coordinate the implementation and completion of recommended specifications application
- Provide code and database administration in live and test environments.
- Write technical procedures and documentation for the applications including operations, user guide, etc.
- Participate in meetings with team to discuss progress and issues to be resolved, and report progress on a weekly basis to the Functional Manager.
- 5+ years of Java Application Development experience
- Proven hands-on Software Development experience
- Proven 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.
- Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management etc)
- Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
- Experience with complex data relationships and operating environments
- Proven ability to prioritize multiple work assignments
- Proven problem-solving abilities
- Willingness to accept responsibility for delivering solutions to complex issues
- Strong understanding of object-oriented design fundamentals, including patterns such as MVC, REST, and dependency injection
- Experience with Groovy, Grails or open source Java web application frameworks
- Knowledge of the Java enterprise application ecosystem
- History creating and working with JSON and XML based web services
- Experience with Tomcat, Web sphere Application Server or similar
- Working proficiency with Linux in both desktop and server environments
- Advanced SQL – modeling, advanced query writing, tuning/optimization of queries
- Experience with MQ messaging or other messaging systems
- Experience working closely with the business to arrive at an optimal solution in terms of functionality, timelines, and implementation
- Experience with agile development methodologies
- Experience in the Spring Framework
- Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC)
- Experience with test-driven development
- University Degree in Computer Science, Information Systems, or equivalent Application development experience