Job Summary:
The Sr Software Engineer designs, develops, tests, deploys, monitors, and supports software solutions. Ensures quality, security, privacy, reliability, availability, maintainability, performance, compatibility, and integrations of solutions throughout. Advances the team's technical foundation to deliver modern, simple, and secure solutions, and raises engineering skills within the squad. Scope of delivery and sphere of influence is for a single squad.
Responsibilities:
Responsible for design, development, testing, deployment, maintenance, monitoring, and support of a platform or application. Maintains thoughtful application design. Builds subject matter expertise in the business area.
Contributes to and helps refine the team's backlog. Applies knowledge to partner with teammates and the Product Owner to break down work into reasonable sizes that can be accomplished in a single iteration. Ensures stories have clearly understood value and defined acceptance criteria. Helps inform delivery estimates (story points) and prioritization. Identifies dependencies and influences the product roadmap. Generates stories for backlog to address performance, non-functional requirements, tech debt, modernization, and simplification.
Participates in agile ceremonies, including daily stand-up, backlog refinement, planning, review/demo, and retrospectives. Helps drive collaboration within the team through practices such as pair programming. Actively seeks ways to drive continuous improvement within team.
Seeks to understand application architecture for the squad's broader area of responsibility, including partner teams. Starts to partner with Solution Architects to understand, define, and adopt enterprise patterns and technology goals. Implements reference architectures with tool selection and implementation to deliver cost-effective solutions that drive the right business value.
Mentors junior and intermediate individuals in the squad on technical delivery. Works to build technical skills in teammates through direction, example, and by creating opportunities for others to learn.
Establishes and manages quality standards. Leverages automation where possible. Ensures application performance, uptime, and scale. Participates in peer code reviews. Troubleshoots and fixes bugs, security risks, and bottlenecks. Improves software development lifecycle. Creates and maintains support playbooks.
Monitors and observes health, availability, and performance of software in production to provide appropriate application support. Diagnoses performance issues found in monitoring. Identifies and implements new monitoring and proactive alerting mechanisms to inform the squad of issues before problems reach consumers and stakeholders.
Employs DevOps practices to advance the technical foundation of solutions. Stays current on technology landscape. Ensures that solutions stay modern, simple, and secure.
Performs other duties as assigned.
Additional Requirements:
Career Band: Professional
Jobs on this career band have a knowledge management focus and are primarily responsible for results achieved through their own work. Requires the application of theoretical knowledge, typically gained through formal education or equivalent work experience that provides knowledge of and exposure to fundamental theories, principles and concepts of a defined profession. Jobs at higher career levels may guide small teams in their area of subject matter expertise. Jobs at the at the most senior levels of this career band set disciplinary strategy within their areas of expertise.
Criteria & Management Requirements:
Work Environment: Typical Office
Other Work Environment Requirements:
Typical Office: Operates in a typical office environment, routinely uses computer and other standard office equipment.
Other Physical Requirements:
Typical Office: Generally sedentary for prolonged periods, may occasionally require ability to move about or adjust/move items weighing up to 10 lbs. in all directions; Constantly requires collaboration and the ability to communicate with others to exchange information while in a typical office setting. Collaboration is generally conducted in person unless the role has been pre-approved for remote work.
Job Summary:
The Software Engineer II designs, develops, tests, deploys, monitors, and supports software solutions. Ensures quality, security, privacy, reliability, availability, maintainability, performance, compatibility and integrations of solutions throughout. Advances the team's technical foundation to deliver modern, simple, and secure solutions, and raises engineering skills within the squad. Scope of delivery and sphere of influence is for a single squad.
Responsibilities:
Responsible for design, development, testing, deployment, maintenance, monitoring, and support of a platform or application. Maintains thoughtful application design. Builds subject matter expertise in the business area.
Contributes to and helps refine the team's backlog. Partners with teammates and the Product Owner to break down work into reasonable sizes that can be accomplished in a single iteration. Ensures stories have clearly understood value and defined acceptance criteria. Helps inform delivery estimates (story points). Seeks to understand prioritization and sequencing decisions. Seeks to understand key dependencies. Helps inform prioritization, identify dependencies, and influence the product roadmap.
Participates in agile ceremonies, including daily stand-up, backlog refinement, planning, review/demo, and retrospectives. Helps drive collaboration within the team through participation in practices such as pair programming.
Seeks to understand application architecture for the squad's limited area of responsibility.
Participates in peer mentoring.
Follows quality standards. Leverages automation where possible. Ensures application performance, uptime, and scale. Participates in peer code reviews. Troubleshoots and fixes bugs, security risks, and bottlenecks. Improves software development lifecycle. Leverages and maintains support playbooks.
Employs DevOps practices to advance the technical foundation of solutions.
Starts exploring new technologies and ways of software delivery. Assists with the implementation of proof-of-concepts to experiment with new ideas.
Performs other duties as assigned.
Additional Requirements:
Career Band: Professional
Jobs on this career band have a knowledge management focus and are primarily responsible for results achieved through their own work. Requires the application of theoretical knowledge, typically gained through formal education or equivalent work experience that provides knowledge of and exposure to fundamental theories, principles and concepts of a defined profession. Jobs at higher career levels may guide small teams in their area of subject matter expertise. Jobs at the at the most senior levels of this career band set disciplinary strategy within their areas of expertise.
Criteria & Management Requirements:
Work Environment: Typical Office
Other Work Environment Requirements:
Typical Office: Operates in a typical office environment, routinely uses computer and other standard office equipment.
Other Physical Requirements:
Typical Office: Generally sedentary for prolonged periods, may occasionally require ability to move about or adjust/move items weighing up to 10 lbs. in all directions; Constantly requires collaboration and the ability to communicate with others to exchange information while in a typical office setting. Collaboration is generally conducted in person unless the role has been pre-approved for remote work.
#LI-SA1
This job description is not meant to be an all-inclusive list of duties and responsibilities, but constitutes a general definition of the position's scope and function in the company.
Read Full Description