
Senior Back-end Software Engineer
- Waterloo, ON
- Permanent
- Full-time
- Builds, codes, tests, maintain high quality software
- Participates in Agile sprints and ceremonies; supports rapid iteration and development
- Translates user requirements into software requirements
- Responsible for designing, developing, testing, maintaining and improving application APIs as a member of a team, works across key data, orchestration, rules and transactional stacks through the entire application and system development life cycle.
- Builds code to specifications and standards
- Builds and codes moderately complex software
- Minimal time coaching teammates
- Contributes code across BUs
- Has positive impact to specific organizational entities & has some understanding of the nature of the impact
- Usually a top contributor to team's success
- Analyzes, codes, and tests software components as defined by the PO and team
- Creates and conducts executable tests, continuously integrating code into the overall software framework
- Reviews current software framework to identify defects and opportunities to improve performance and stability
- Completes and ensures completion of any required documentation required e.g. deployment, maintenance, support and business needs
- Researches technical strategies, third party tools, and current and new technologies to deal with emerging technical issues and improve development efficiency
- Promotes agile principles and methodology
- Applies disciplined coding practices to enable agility and delivery of high quality code
- Understanding of software development lifecycle
- Understanding of how technology supports Manulife business strategy
- Familiar with platform technologies
- Familiar with modern software architectures and API-driven development
- Familiar with scripting languages
- Mentors Associate Engineers
- Seeks coaching from experts
- Attends advanced training sessions and is certified on multiple domains of expertise
- Demonstrates all core skills, and good interpersonal skills for the role
- Good working and background knowledge of area of practice
- Use and combine knowledge of the discipline and the market to formulate the right approach
- Participates in functional demos utilizing new tech; designs own control structures
- Fit for purpose, though may lack refinement
- Sees actions partly in terms of longer-term goals
- Understands the corporate climate & culture
- Strong knowledge of the business
- Writes clear, readable and maintainable code, takes ownership of the quality and usability of code
- Understands systems development methodology
- Strong foundation in design, programming and testing
- Collaborative attitude, willingness to work with team members; able to coach, participate in code reviews, share skills and methods
- BS or MS in Computer Science preferred or equivalent professional experience
- Collaborative attitude, willingness to work with team members; able to coach, participate in code reviews, share skills and methods
- Constantly learns from both success and failure
- Good organizational and problem-solving abilities that enable you to manage through creative abrasion
- Good verbal and written communication; able to effectively articulate technical vision, possibilities, and outcomes
- Experiments with emerging technologies and understanding how they will impact what comes next.
- Able to achieve most tasks using own judgement
- Can lead smaller groups where required
- Drives 50% of the time in paired programming
- Good analytical skills, copes with complex situations through deliberate analysis and planning