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 in‐depth 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 team‐level 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