The senior software engineer is a key member of the Agile team and works with Technical Product Owner and/or Principal Software Engineer to ensure the delivery of the agile team meets agreed upon architecture standards. They participate in the conceptualization, design, development and delivery of solutions within their business portfolio in conjunction with business area architects. May research third party/cloud solutions to ensure successful integration of the technology. They will be deep application and technology skillset subject matter experts. The Senior Software Engineer plays a critical role in mentoring Software Engineers and Associate Software Engineers to ensure we are growing future talent within the agile teams.
Principal Duties and Responsibilities
• Leads the conceptualization, design, development, implementation, and maintenance of new and existing features for the existing portfolio of applications for a business area
• Provides technical leadership and direction for EPIC features delivered
• Ensures application solution design conforms to agreed upon quality attributes such as performance, fault tolerance, etc.
• Design, codes, configures, unit tests, maintains, and documents software deliverables using agreed upon standards and tools.
• Collaborates with Principal SE and architects on coding standards, processes, tooling and frameworks required for the delivery of features in the sprint or product backlog
• May complete the design of components of an application that supports and advances the reference architecture.
• Ensures that solutions delivered by self or team members are secure and scalable, comply with defined standards and best practices .
• Actively looks for solutions that are buy over build and are cloud based.
• Ensures product backlog has appropriate technical stories and participates in their prioritization
• Provides ongoing and appropriate mentorship for Software Engineers and Associate Software Engineers
• Responsible for application solution quality from design and implementation to deploy and run. Participates in definition and maintenance of software standards
• Responsible for communication and collaboration with key stakeholders in the delivery of features
• Maintains depth of technical understanding of third party/cloud solutions and Unum’s implementation of solutions.
• Evaluates technical impacts from and coordinates implementation of new product releases.
• Participates in sizing and estimation activities within the agile team
• Communicates daily with the Scrum Master or Technical Product Owner and the Agile team on progress made and planned progress for the coming day and reports any impediments that are blocking their progress
• Participates in code reviews and sprint retrospectives; ensuring their ideas for team continuous improvement are communicated so that the overall process and team can improve sprint by sprint and readily receives feedback for self-improvement
• Focuses on delivering business priority and value at all times
• Responsible for ensuring the quality of existing and new features through both manual and automated testing and use of continuous Integration techniques
• Demonstrates an interest in software architectures and seeks to design solutions in alignment with Company stated architecture and standards
• Participate in Proof Of Concept work and prototyping when necessary
• Collaborates with Business Analysts to confirm understanding of business requirements relating to features to be delivered and to help the Business Analyst define requirements that can be delivered from a technical perspective
• Collaborates with User Experience (UX) designers to ensure designs produced can be translated efficiently into working solutions for feature delivery
• Collaborate with Test Engineers and Senior Test Engineers as to ensure that software meets the definition of done; ensuring successful transition of work to the next stage of production during the sprints
• Contributes to an innovation culture in the team by suggesting improvement of deliveries and participates in evaluating new processes and technologies that can be applied to future feature delivery
• Collaborates with Technical Support Engineers to transition software features to a production environment ensuring that the deliveries meet application performance criteria, release standards; and ensures application and system stability.
• May serve in a Scrum Master role for an agile team
• Automates testing of software to industry standards of software automation ensuring very high quality application/solution delivery and efficient regression of existing features
• Ensures that the latest project progress is known to the agile team by ensuring Application Lifecycle Management (ALM) tools are up to date and participating in daily standups outlining progress made, progress planned and detailing impediments
• Thinks with the mind of the end customer at all times, ensuring solutions seek to improve the customer experience and delight their customers.
• Bachelors of Computer Science is preferred, or equivalent relevant business experience
• Passionate about delivering solutions that excite and delight our customers; holds self to high standards of delivery
• 6+ years experience in software development and delivery track record in a range or roles in a scrum environment
• Clearly demonstrates analytical ability and critical thinking skills
• Takes a logical, analytical approach to problem solving and pays close attention to detail
• Skilled in Agile development/methodologies
• Self motivated and results oriented; able to motivate others
• Takes an innovative approach to problem solving
• Demonstrates excellent oral and written communication skills; experience leading groups of people through discussions, technical or otherwise
• Strong team player; able to work effectively within a team and more broadly with people from a variety of backgrounds and areas across the organization.
• Strong experience of test driven development (TDD) and unit testing, leveraging automation toolsets
• Strong experience in continuous integration