The Software Engineer 3 is both a functional and technical expert that requires indepth knowledge and experience. This role uses best practices and knowledge of internal or external business issues to improve products or services. It requires talent to solve complex problems by taking a new perspective using existing solutions and works independently while receiving minimal guidance.
The Software Engineer demonstrates competence in software engineering by analyzing requirements, creating/innovating designs, coding, testing, and debugging applications in various software languages that deliver results and meet system standards, security standards, and functional requirements. The role participates in development activities for approved initiatives, system improvements, and ad-hoc or emergency requests and takes ownership for quality/test automation, deliverables, code reviews and solutions design. The role is responsible for building a system that is sustainable, reliable, secure and scalable.
The Software Engineer 3 is both a functional and technical expert that requires indepth knowledge and experience. This role uses best practices and knowledge of internal or external business issues to improve products or services. It requires talent to solve complex problems by taking a new perspective using existing solutions and works independently while receiving minimal guidance.
The Software Engineer demonstrates competence in software engineering by analyzing requirements, creating/innovating designs, coding, testing, and debugging applications in various software languages that deliver results and meet system standards, security standards, and functional requirements. The role participates in development activities for approved initiatives, system improvements, and ad-hoc or emergency requests and takes ownership for quality/test automation, deliverables, code reviews and solutions design. The role is responsible for building a system that is sustainable, reliable, secure and scalable.
KEY ACCOUNTABILITIES:
- Educate and influence the team with coding best practices and how to apply an engineering approach to development and operations
- Define and implement standards for programing organization, tools and techniques
- Identify, anticipate and solve problems of advanced complexity and help others in solving technical issues
- Persuade and influence teamlevel direction and technical priorities; help balance workload to deliver
time-bound activities
- Understands and can work through technical interdependencies
- Demonstrates a broader understanding of the business and end-user behaviors and interpreting data in
business context
- Identify, measure and understand the impact of key performance metrics
- Collaborate with Development, Engineering, and Operations resources to provide technical expertise and
support on key initiatives for system availability and reliability
- Collaborate on design and implementation of elegant solutions and roll up your sleeves in helping solve
outages in production when things fail
- Treat infrastructure as code infrastructure lives in source control and everything is provisioned with
Terraform, Ansible, Serverless, Cloud Formation, and/or CDK
- Build requisite automation for repetitive yet complex tasks and self-healing of systems through the use of
scripts
- Continually drive automation and efficiencies to increase productivity and reduce costs
- Be able to provide automated and scalable deployment solutions
- Implement and secure best in class software delivery pipelines that increase our ability quickly, reliably,
and repeatedly deliver to production
- Maintains proficiency in the application and use of systems, tools, and processes within the department's
scope
- Exhibits drive and initiative to learn whatever is necessary to explore new solutions
- Write technical procedures and documentation including operational runbooks
- Adjust to shift schedule changes, if required
Qualifications
- Bachelor's Degree preferred in Computer Science, Engineering or related field
- Experience of leading and engineering in the field or in a related area
- Minimum 5 years of experience in software engineering/development
- Minimum 3 years of experience architecting and engineering on cloud platforms
- Minimum 3 years of experience with Agile development methodologies and practices
- Strong analytical and problem-solving skills to diagnose and address application issues
- Strong practical experience on open-source systems and technologies such as front-end UX
(CSS3, HTML5, ReactJS, AngularJS, Scala), and back-end technologies (Java, NodeJS,
Typescript)
- Extensive knowledge of system engineering/architecture and software development
lifecycle concepts/approaches, including requirements analysis, design, implementation,
testing/validation, integration and maintenance
- Understanding of design for scalability, performance and reliability
- Understanding accessibility and security compliance, user authentication and authorization,
and integration between multiple systems, servers, and environments
- Strong experience in AWS (Solutions Architect or Developer Associate Level Certification is a
plus)
- Experience in SCM tools Git
- Experience in micro-services architecture and container-based systems and tools Docker,
Kubernetes, AWS EKS
- Experience in serverless architecture AWS Lambda
- Experience in CI/CD tools Github Actions, ArgoCD, Jenkins
- Experience in using log aggregation tools and monitoring tools AWS Cloudwatch,
OpenSearch, Dynatrace
- Proven ability to be flexible and work hard, both independently and in a team environment,
in a high-pressure, on-call environment with shifting priorities
- Experience working in a geographically distributed team
- Strong focus on business outcomes
- Excellent verbal and written communications skills, including the ability to create organized and informative reports, as well as comprehensive, accurate documentation and comfortable in participating on leadership dialogues