The Opportunity: Senior Java/Systems Developer
Our client is a Canadian owned and operated property and casualty insurance company, they are seeking a Senior Java/Systems Developer for their Calgary location.
The Senior Java/System Developer provides IT systems development and support under general direction. The incumbent focuses on leading and performing the analysis, design, development, testing, implementation, integration, maintenance and documentation of systems and applications to ensure that client needs, and services are met. As the third level in the Systems Development job stream, the Senior Systems Developer completes tasks involving highly complex/diverse programs and systems, provides leadership and guidance to less experienced IT staff, and may be responsible for a phase of a project.
Roles and Responsibilities:
1) Analysis and Design:
- Following Systems Development Life Cycle (SDLC) processes, read, understand and interpret requirements documentation and problem descriptions from a variety of clients.
- Identify and analyze requirements for completeness, technical risk, work effort and impacts.
- Lead the process of translating requirements into a cohesive plan, determining technologies and options for a working solution.
- Perform technical analysis and formulate design and program logic.
- Ensure the overall design considers all aspects (environment, strategy, key business need, user demand, integration with related systems, financial implications, etc.) and all design/system components are feasible, maintainable, usable, scalable and work with the overall technical design of the system(s) or solution.
- Lead design review and validation with peers, business systems analysts, subject matter experts, Enterprise Architecture, & operations, information security, legal and audit to ensure it is complete, compliant, and follows the standards, guidelines and recommendations of the SDLC process and Enterprise Architecture.
- Create proposals which provide alternatives and recommendations and present to business and technical stakeholders or project manager for discussion and approval.
2) Development and Testing:
- Act as a development lead, choosing the approach, and planning and delegating the work.
- Establish accurate time and resource estimates and may provide high level estimates for business prioritization.
- Write new code and leverage existing code.
- Lead and plan unit testing and work with business systems analyst on system testing, coordinating the setup of test environments to verify that functionality and data integrity is maintained.
- Execute unit and integration tests that are comprehensive in nature, and support system and user acceptance testing.
- Ensure coverage of both functional and non-functional business requirements within test planning and execution, covering stress testing, load testing and performance testing.
- Run batch cycles, completing back-up and recovery functions.
- Research, identify and document solutions for application defects and where necessary, use debugging tools to determine root cause of defects and/or liaise with vendors.
- Document, redesign, recode, escalate and report on defects while minimizing the introduction of new defects.
- Track progress and provides status reports to lead resource, escalating issues as necessary.
- Present new discoveries in programming solutions and practices.
3) Implementation and Post-Implementation Support:
- Create or contribute to an implementation and back-out plan.
- Lead and coordinate implementation tasks with all affected parties, utilizing the SDLC checklists.
- Communicate implementation progress and status to all affected parties and provide direction on go/no-go decisions.
- Provide post-implementation support including resolution of defects found during warranty period.
- Create and maintain technical documentation, ensuring that documentation is ready for handoff.
- Present plan to transition system to support team.
4) Leadership and Project Management:
- Provide mentorship, leadership and guidance to peers and less experienced staff throughout the SDLC, including assigning tasks and reviewing/providing feedback and input into performance reviews.
- As lead resource, organize, direct and control the activities carried out by the team, managing changes, issues, and risks.
- Communicate and coordinate deliverables to ensure what is delivered is what is expected.
- May perform project manager duties for small to medium sized projects or sub-projects, leading system development project teams and providing guidance to less experienced members and conducting/participating in project reviews and/or code reviews for projects of varying levels of complexity.
- Contribute to IT standards, methodologies, processes and tools.
- Develop and maintain productive working relationships with IT and business contacts.
- Tool chains: JIRA, Subversion, Jenkins, Maven, SonarQube, Selenium, IBM API Connect
- Servers/Containers: MS SQL Server, MySQL, Tomcat, Kubernetes, Windows server 2016, MS SQL 2016
- Physical: Regular office environment Intensive computer work which requires sitting at a desk the majority of time. Overtime, on-call and travel may be required.
- Mental: Increased mental demands, multi-tasking, prioritizing.
- Supervisory Responsibilities: Direct Reports: 0 Indirect Reports: 1-3
- Budget Responsibilities: None
Qualifications and Skills:
- Diploma or degree in Information Technology or Computer Science, with at least 6 years’ experience in IT, or equivalent combination of education and experience.
- Strong understanding of technical components and interfaces to other applications.
- Strong understanding of business processes and how the applications support the processes.
- Proficient with all job-related programming languages, environments, tools and techniques, with advanced experience in at least two supported programming languages, one database programming language on a company-supported database platform, and in at least one development environment.
- Advanced experience with SDLC and architectural standards.
- Competent to work on all phases of applications systems analysis and programming activities.
- Competent in various project management methodologies.
- The successful candidate shall be subject to a Criminal Record and Consumer History background check as a condition of employment