Canadian Pacific Railway Senior Java Developer in Calgary, Canada
Req ID: 75667
Department: Information Services
Job Type: Full-Time
Position Type: Non-Union
Location: Calgary, Alberta
% of Travel: 0-10%
of Positions: 3
Job Available to: Internal & External
Deadline to apply: 09/26/2019
Canadian Pacific is a transcontinental railway in Canada and the United States with direct links to major ports on the west and east coasts, providing North American customers a competitive rail service with access to key markets in every corner of the globe. CP is growing with its customers, offering a suite of freight transportation services, logistics solutions and supply chain expertise. Visit cpr.ca to see the rail advantages of CP.
PURPOSE OF THE POSITION
Conduct requirement gathering and analysis to understand the domain of the software problem and/or functionality, the interfaces between hardware and software, and the overall software characteristics.
Work with Solution architects and technical lead to understand application, database and integration technologies, including solution and service-oriented architectures and their breakdown into solution designs.
Work as part of a team contributing to designing and developing successful software and supporting software testing, deployment, maintenance, and evolution activities by correcting programming errors, responding to scope changes, and coding software enhancements
Applying knowledge of software development best practices, including coding standards, code reviews, source control management, build processes, testing, and operations
Work with users and clients to determine what their needs are and develop the software to meet the requirements.
Create development plan and assign tasks to junior developers and other employees
Work with architects and colleagues to produce system designs and test artifacts and recommend upgrades to existing systems as required.
Create integration plans, flow diagrams and models that show programmers how the code will work together for the software.
Work with other computer specialists and collaborate within the company to develop software.
Develop code for multiple categories including end-user applications and utility software either as stand-alone applications or enterprise systems to create optimum systems for the business
Create documentation that detail how applications or systems work together to ensure they’re maintained properly in the future and to help with any upgrades.
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 Project Manager/Technical Lead.
Understand secure software development best practices and able to guide junior developers
Coordinating / influencing
Communicate and influence at all levels
Possess a creative mindset that can think outside the box and find alternative ways to develop computer applications.
Focused and detail oriented to spot any inaccuracies or errors within requirements and code.
University degree in Computer Science, Information Systems, Engineering or equivalent Application development experience
Relevant railway or PTC experience is an asset
10+ years of experience as a Senior Java Developer or similar role
Experience designing, building and testing Java enterprise applications
In-depth knowledge of popular Java frameworks like JSF and Spring MVC
Experience with Object-Oriented Design (OOD)
Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
Experience with complex data relationships and operating environments
Good delegation and time management skills
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 with test-driven development
WHAT CP HAS TO OFFER:
Flexible and competitive benefits package
Competitive company pension plan
Employee Share Purchase Plan
Performance Incentive Program
Annual Fitness Subsidy
As an employer with national presence, the possibility does exist that the location of your position may be changed based on organizational requirements.
The successful candidate will need to successfully complete the following clearances:
Criminal history check
Management Conductor Program:
Becoming a qualified conductor or locomotive engineer is the single best way for a management employee to learn the business at CP. You may be required to obtain a certification or to maintain your current certification/qualification as a conductor or locomotive engineer.
CP is an equal opportunity employer committed to the principles of employment equity and inclusion. We welcome applications from all qualified individuals. All applicant information will be managed in accordance with the federal Personal Information Protection and Electronic Documents Act ("PIPEDA").