POSITION SUMMARY:
The Senior Programmer/ Analyst’s role is to define, develop, test, analyze, and maintain new software applications in support of the achievement of business requirements.
They are responsible for the end-to-end design and development of custom software, in accordance with HomeEquity Bank’s development methodologies, technologies, and guidelines including:
- Effort estimation and planning
- Design and development of front-end user experience
- Design and development of backend components, API’s and services.
- Database design and tuning.
- Effective testing, using automated techniques where available.
- Create technical documentation to ensure knowledge transfer.
MAJOR ELEMENTS OF THE ROLE:
- Guide team development efforts towards successful project delivery.
- Peer reviews and retrospectives to provide and receive feedback on the overall effectiveness of the team including:
- Defining and maintaining development standards
- Code refactoring
- Process Improvements
- Maintain high standards of software quality within the team by establishing good practices and habits.
- Review completed tasks to ascertain compliance with standards.
- Troubleshooting technical problems and collaborating on potential resolutions.
- Researching and prototyping new technology and technical solutions.
- Keep up with trends in the constantly evolving information technology industry.
- Design and development of front-end user experience
- Assists tech leads and senior team members with software design tasks when required.
- Provides technical guidance and review to other team members by conducting technical walkthroughs.
- Keeps current on rapidly changing technological trends, self-teach new technologies and maintain an understanding of the Division’s business and technology strategies
- Adhere to high-quality development principles while delivering solutions on-time and on-budget.
- Research and evaluate a variety of software products.
- Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans.
- Package and support deployment of releases.
- Effective testing, using automated techniques where available.
- Create technical documentation to ensure knowledge transfer.
SKILLS AND EXPERIENCE REQUIRED:
- Post-Secondary education in computer science or related discipline
- Related experience in software design and development.
- Exceptional ability to understand complex business processes and rules, with a demonstrated ability to provide simple technical solutions to support them.
- Exceptional analysis, troubleshooting and problem-solving skills.
- Demonstrated excellent knowledge of core development patterns and best practices.
- Excellent knowledge of the Microsoft development stack:
- Visual Studio Professional 2017 +
- SQL server 2016
- .NET Framework
- C#
- MVC, WebAPI
- Report design with SSRS
- ETL using SSIS
- Excellent knowledge of web development technologies:
- HTML
- CSS
- JavaScript
- Responsive design
- Frameworks such as Bootstrap 3.0, bootgrid, jQuery, Select2, and Moments
- Excellent knowledge of testing methodologies including test automation using Visual Studio.
- Demonstrated ability to communicate effectively with multiple stakeholders, such as peers (technical and non-technical), business stakeholders, and third-party vendors.
- Demonstrated ability to organize and prioritize multiple responsibilities effectively to meet deadlines.
- Demonstrated ability to work collaboratively with project team members on complex development projects.
- Experience in the financial industry considered an asset.
- Experience with the following technology considered a strong asset:
- Salesforce 6 Administration, Apex and/or Lighting development
- CI/CD Azure Devops
- Google Big Query
- Python
Working Conditions Unique to Job:
- Standard office environment