The Principal Software Engineer is accountable for the prioritization, development, quality, performance, scalability, security, and operationalization of SaaS products in support of the business. This includes processes and standards on writing, coding, testing, security, production monitoring & alerting, and analyzing software programs and applications. The Principal Software Engineer will also lead the effort to research, design, document, and modify software definition through ongoing production monitoring and support. As a technical leader in the organization, the Principal Software Engineer champions a DevOps Culture, highly scalable architectures, and lean development utilizing Agile practices.
This is a Remote Opportunity Essential Functions Software Development
- Lead research, identification, and analysis in order to fulfill delivery of value for all internal and external stakeholders for new or existing software applications
- Create well-written code to enhance functionality and/or performance of software applications and lead software testing on new and existing programs for the purposes of correcting errors and general debugging.
- Focus on automation, continuous improvement, and lean delivery of value for customers
- Identify risk and provide recommendations and lead the effort in performing software improvements, deployments, and operationalization
- Collaborate with Architects to develop and maintain code quality and architecture standards
- Partner with Product Owners and team members to drive the definition of software development plans, including scoping, estimates, implementation, and operationalization and drive for results
- Develop standards and reusable process for all software engineering
- Provide technical advice, instruction and training to software engineers with less experience
- Drive highest level production monitoring, scaling, alerting, and support to optimize value to customers efficiently
- Collaborate with peers, managers and customers to resolve problems with software products or company software systems.
- Bachelor's Degree in Computer Science, Management Information Sciences, Mathematics, Engineering, Business, or area of functional responsibility preferred, or a combination of equivalent education and experience
- At least 7 years of programming experience with various platforms and languages, with at least 3 years of experience in a technical leadership role
- Proven experience in a DevOps culture focusing on the customer, CI/CD, production monitoring, cross-functional autonomous teams, and continuous improvement
- Experience designing, building, and optimizing enterprise scale integration environments
- Demonstrated experience with microservices architecture within major cloud service provider (Azure preferred)
- Extensive experience with a variety of relational and NoSQL technologies such as SQL Server, Cassandra, HBase, and Cosmos DB
- Demonstrated experience and thorough knowledge of Angular 8 and working knowledge of React, Vue.js, and AngularJS
- Experience with API Management frameworks (i.e., Azure API Manager)
- Exposure to DevOps tools, processes, and culture (e.g. Kubernetes, Docker, Spinnaker, Jenkins, Git, etc.)
- Creative and innovation-driven with the ability to articulate engineering design patterns related to scale, performance, security, and usability