Job Title: Lead Software Engineer - Backend
Location: Corporate
Department: Information Technology
FLSA: Exempt
Band: Specialist
Job Last Reviewed: Aug 2021
Job Summary: The Backend Technical Lead will be actively involved in leading the design, development and support of backend systems within Wawa. As a technical lead in a given area, this role would work with appropriate product owners to define and design solutions to meet the business needs while working with and mentoring a team to implement the solution and ensure it continues to meet expectations.
Principal Duties:
·Operate as a key technical resource in an agile team, working with product owners and other team members to design and implement features that meet the business and technical requirements.
·Provide a leadership and mentoring role for other team members to continually improve the team and ensure that individuals grow with the organization.
·Complete technical designs as required that provide a detailed view of a solution and a solution ecosystem that can then be implemented and evolve as business and technical needs change.
·Decompose abstract business features into associated stories with the product owner to implement with the team using agile delivery.
·Define RESTful APIs and Domain Events using industry standards.
·Apply DevOps techniques to deliver code quickly and securely in a cloud-based PCI environment.
·Work with team members to define and implement test plans and automation using techniques like TDD and BDD.
·Operate in a cloud-based PCI regulated environment and collaborate with other teams to ensure security and security standards are always considered with every change.
·Participate in community of practice with other engineers to help drive the technical roadmap of the organization.
·Be responsible for ensuring performance metrics are maintained and performance SLAs are met. This includes designing and implementing performance test automation.
·Be responsible for monitoring and observability of owned systems including monitoring for abnormalities and alerting.
·Collaborating with L1/L2/L3 teams to drive a resolution and root cause analysis.
·Ensure all documentation is up to date to support teams and systems including designs, runbooks and developer guides.
·Stay up to date with relevant technologies and software development trends.
·Evaluate tools and platforms for fit and ensure the tools and platforms are supported and approved for use within Wawa.
Basic Qualifications:
- Bachelor’s degree in Computer Science, Information Technology or a technical discipline preferred (e.g., engineering) or equivalent.
- A minimum of 7 years experience of relevant experience
- Polyglot knowledge of multiple programming languages with a focus on Java.
- Fluent in multiple technologies (Frameworks, Java, JavaScript, SpringBoot, REST API, Graph QL, SQL, NoSQL, Graph DB’s, etc.).
Desired Qualifications:
- Understanding of retail and retail systems and processes.
- Understanding of SOLID and other OO design principles.
- Knowledge and experience with building RESTful APIs that are secure, isolated and event driven.
- Experience with OpenAPI and API first development.
- Understanding of microservices architecture patterns pattern like Service Discovery/API Gateway/Domain Driven Design etc
- Strong hands on usage of containers including tools like Docker, Kubernetes, Helm, ECS/ECR, OpenShift, LXC and other related technologies and tools.
- Hands on knowledge of event driven architectures including technologies like Avro, Kafka, Kinesis as well as RabbitMQ/ActiveMQ.
- Hands on with automated testing frameworks and tooling to support BDD, TDD and ATDD including Cucumber, Postman etc.
- Knowledge and practical experience of database change management tools like but not limited to Liquibase and FlywayDB.
- Knowledge and use of performance testing techniques as well as tools including k6, Gatling/Locust/JMeter.
- Understanding of cloud IaaS technologies (AWS) including VPCs, Subnets, IAM, SG, RDS, MSK, EKS.
- Experience with security mechanisms including mTLS, x509, OpenID Connect, JWT/JWE, OAuth2, PEP/PDP, SAML, WS-Security, Basic Auth and ABAC/RBAC based policies.
- Experience with continuous delivery (CD) concepts including CodeFresh, Jenkins, GitLab, Travis CI, GoCD and others.
- Experience with Linux scripting including Bash and KShell.