Java Developer

Position: Java Developer

Location: Calgary, Alberta, Canada

Position Type: Contract

Language: English

JOB SUMMARY

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.

MAJOR RESPONSIBILITIES

  • 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.

Experience:

  • 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
  • Experience with HTML, CSS and JavaScript frameworks such as UI5/OpenUI5, Dojo, Sencha, Backbone, AngularJS or jQuery UI

EDUCATION/CERTIFICATION/EXPERIENCE
 

  • University Degree in Computer Science, Information Systems, or equivalent Application development experience