The Principal Software Engineer is responsible for the overall design of an application suite, and ensuring the delivery from the agile team meets agreed upon architecture standards. They lead the advancement of CRM solutions within their business portfolio.
They will be knowledgeable in third party/cloud CRM solutions (Salesforce, Microsoft Dynamics) and lead successful integration of modern technologies. The Principal Software Engineer plays a critical role in leading software teams, mentoring software engineers of all levels and help grow future talent within the organization.
This role will play a leading role in improving the interraction between the business and IT by identifying and developing strategic applications of IT. The role will be critical in the advancement of the architecture roadmap through innovative solutions.
Principal Duties and Responsibilities
- Understand the business needs and designs solutions to enable the desired capabilities.
- Collaborates on the creation and application of technical road maps, standards, tooling and frameworks required to create a modern, high quality, rich application suite.
- Recognizes potential strategic application of IT, and initiates investigation and development of innovative methods of exploiting IT assets, to the benefit of organizations and the community. Plays a leading role in improving the interaction and understanding between the business and IT.
- Completes the design of an application and drives the advancement of the reference architecture.
- Advances architecture road map for business area(s) by recommending third party/cloud solutions and Prototyping initiatives
- Co-ordinates or participates in tool, technology and service selection, risk assessments and sun setting in conjunction with technical and business stakeholders ensuring consistency with existing business needs and architectural sustainability.
- Ensures that solutions delivered have an excellent customer experience, are secure and scale-able, comply with best practices and open standards.
- Look for ways to utilize modern technologies to solve business problems – including AI, Digital platforms, and automation.
- Stays abreast of external trends and new functionality to be released by third party/cloud solutions, identifying and socializing opportunities for expanded business applicability
- Ensures application solution design conforms to agreed upon quality attributes such as performance, fault tolerance, etc.
- Ensures product backlog has appropriate technical stories and participates in their prioritization
- Resolves architectural uncertainties through prioritization, planning, and execution of architectural sprints and re-prioritizes Technology Road map and portfolio backlogs based on outcomes
- Provides ongoing and appropriate mentor-ship for Software Engineers
- Plays an active role in creating and communicating new technical solutions to business partners
- Responsible for application quality from design and implementation to deploy and run.
- Responsible for the design, implementation, and maintenance of new and existing features for the existing portfolio of applications for a business area, and recommending areas where new investment is merited.
- Responsible for communication and collaboration with senior stakeholders
- May participate in the actual Design, coding, configuration, of software deliverables
- Will set standards, best practices and preferred tool usage
- 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.
- Focuses on delivering business priority and value at all times
- Ensures agile teams are adopting best software development practices including manual and automated testing, continuous Integration techniques, automated deployments, etc
- Collaborates with business SMEs and Business Architects to confirm understanding of requirements and to help drive business value in solution designs.
- Collaborates with the agile team to establish the definition of done for each of the stages of production within the team
- Ensures an innovation culture in the team by continuous improvement of deliveries
- Monitor application behavior in production to ensure that the application performance system stability are meeting business needs, and takes appropriate action.
- Ensures that the latest project progress is known to the agile team by ensuring Application Life Cycle Management (ALM) tools are up to date and participating in daily stand ups 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.
- Demonstrates strong leadership skills.
- Strong analytical abilities
- Takes a logical, analytical approach to problem solving and pays close attention to detail
Job Specifications (Required Skills):
- Bachelors of Computer Science, with Master degree is preferred, or equivalent relevant experience
- ETL (DataStage and/or Informatica preferred), Integration (Mulesoft and/or IIB preferred); CRM concepts or structures (Microsoft Dynamics or Salesforce)
- 8+ years of successfully delivering data solutions in a complex, enterprise environment.
- High focus on quality; holds self and others to high standards of delivery
- Excellent oral and written communication skills; experience leading groups of people through discussions, technical or otherwise. Successfully communicate to Senior Management