Principal Software Engineer- Core Platform at Peapod Digital Labs
What’s Our Dish
Announced in May 2018, Peapod Digital Labs (PDL) is an Ahold Delhaize USA company that powers the eCommerce and digital strategies for the Great Local Brands of Ahold Delhaize USA. Accelerating growth in digital and personalization capabilities, PDL is an innovation lab focused on meeting the changing needs of customers, regardless of when, where, and how consumers choose to shop.
Browse The Aisles
The primary purpose of this position is to deliver a great consumer experience online through the development of software and maintenance of the mission critical PDL eCommerce core platform. The role responsibilities include the analysis, design, development, testing, installation, and maintenance of consumer and back-office systems. They interface with various business teams and other developers to determine the most efficient and cost-effective approach to meet their business requirements. Solutions utilize a variety of software technologies and will include new code construction, modifications to existing modules, and/or package implementation. Create solutions by designing, developing, implementing, and maintaining software-based components and interfaces, as well as web-based applications based on business requirements. They will help guard and maintain the software through code reviews and ensure that software is being built to address the scale and business needs to come.
Recipe for Success - What's “in store” for the role
Solutions Development (Functional Requirements/Design):
- Works with technical leads, product owners, and domain architects to understand business and functional requirements for new software features and enhancements. Provide level of effort estimates based on project scope and technical complexity.
- Works with the business to adjust functional requirements based on technical feasibility and to coordinate software launch with overall launch plan.
- Provides subject matter expertise in the analysis, design, and preparation of software solutions to meet business needs. Can influence the strategy for delivery of these solutions
- Mentors lower-level engineers in the translation of business requirements into software components and products, supporting them in writing of user stories/epics and identifying dependencies and interfaces
- Is a key influencer in determining the components for solutions that will work well together across business domains, will partner with domain architect or act as the domain architect to ensure adherence to the architectural roadmap
- Accountable for projects or applications meeting business needs and being delivered in a timely, cost effective manner considering all budget aspects including total cost of ownership.
- Creates technical specifications for new features or enhancements as required. Work with DBA to design new schemas and data access logic. Work with other development teams to design interfaces between the different systems.
- Will work with DevOps/Infrastructure and Performance team to provide high level software needs
Implementation of Solution (Coding & Unit Testing):
- Codes, develops unit test plans, and unit test new software features and enhancements.
- Leads code reviews and approves code for release in accordance with agreed CI/CD pipeline processes. Where steps in the process are not automated, confirms that all requirements are met for the release of code into production.
- Develops complete and robust test cases and scripts, ensures defects are properly resolved, QA has certified, and user acceptance is obtained. The test scripts and defects are entered and tracked in our department tools.
- Adheres to development best practices that have been established by the organization.
- Presents implementation approach to peers and manager prior to coding an implementation. Articulate the approach, design pattern(s) and technologies to be utilized.
- Reviews QA system and regression test plans.
- Fixes identified deficiencies by QA promptly and communicates these fixes regularly to the QA staff.
- Develops POC projects to prove out the feasibility of an approach or technology.
- Works with Content Developers to provide technical assistance and implement site creative prior to unit test phase.
- Completes applications development by coordinating requirements, schedules, and activities, troubleshooting development and production problems across multiple environments and operating platforms.
- Writes documentation supporting the implementation of the solution
- Mentors lower-level engineers in adherence to development best practice and all activities related to the preparation and release of solution code to production.
- Fully understands the PDL CI/CD pipeline process and toolsets, can identify areas of improvement, and influence the Production Change & Automation Governance groups efforts to deliver continuous improvement
The Essentials In Your Cart - The required ingredients
- 7-10 years of software development experience
- Strong technical aptitude to gain the respect of experienced, talented software developers
- Experience in implementation and operations experience with production systems in public cloud environments,
- Knowledge of Distributed Technologies (Elasticsearch/ Hazelcast/Redis, etc)
- Background in Domain specific languages and Rule engines
- Understanding of Development Operations and Immutable infrastructure
- Background in building e-commerce systems/engines would be an advantage
- Background in Microservice Architecture
- Experience with building real time order management and reservation systems
- Knowledge in providing zero downtime software components
- Knowledge of multi region Azure operations
- Experience building Search Engines
- SQL, NOSQL and Postgres Databases, that are built with flexible and robust data models
- Experience developing scalable consumer-facing SaaS software using modern technologies e.g. Kubernetes, Saltstack, gRPC, REST web services, and GraphQL
- Web Technologies (JS/CSS/HTML/JSP, etc.)
Extra Spices - What you should bring to the table
- B.S. in Computer Science, Engineering or related field
- Ability to develop and maintain high quality software products supporting the organizations standards
- Ability to manage own work time and priorities in accordance with aggressive timelines and budgets
- Able to excel working in an Agile Development environemnt
Join Us at Our Table
Peapod Digital Labs is a forward-thinking company with a strong legacy of innovation. We recognize who powers our progress – our people! We offer a great variety of benefits and perks to our employees, including: great health care options, including PPO and HSA plans (with company contributions), dental, vision, flexible spending accounts, a 401k with strong company match and immediate vesting, and generous and flexible paid time off.
We are an equal opportunity employer. We comply with all applicable federal, state and local laws. Qualified applicants are considered without regard to sex, race, color, ancestry, national origin, citizenship status, religion, age, marital status (including civil unions), military service, veteran status, pregnancy (including childbirth and related medical conditions), genetic information, sexual orientation, gender identity, legally recognized disability, domestic violence victim status or any other characteristic protected by law.