Shutterfly, through its brand Snapfish, is looking for a Principal Software Engineer who will play a key role in designing and developing the Snapfish website. The role involves collaborating with engineering leaders and stakeholders to introduce architectural efficiencies and innovative solutions across technology stacks while leading development teams.
Responsibilities:
- Collaborate with engineering leaders, product management, key stakeholders to introduce architectural simplifications and consolidation across multiple technology stacks and disparate systems
- Stay on track with the latest technologies for the domain and apply the experience and knowledge towards architecture and product features
- Analyze and articulate the current state of the technology and propose valued alternatives wherever required
- Help define and implement the architectural roadmap and own key portions of the implementation
- Explain the status & value of proposed design/solution that meet preset goals of quality, security and performance to stakeholders
- Help guide and the activities of development teams
Requirements:
- Advanced programming skills to design and build distributed storage and compute systems, backend services, microservices, and modern web applications; experience with Java, JavaScript, Angular, React, Python, Terraform, Perl, and native programming languages, with the ability to work across multiple programming environments
- Expert level in distributed computing and storage, including significant experience with the following: server systems, storage, I/O, networking, and systems software
- Expertise in the following systems & technologies and how they fit together: http and native clients, DNS, load balancers, reverse proxies, CDNs, application servers, databases, and caches
- Expertise in building streaming applications using pub sub system, & search technologies
- Proficient with ECS or other containerization technologies
- Proficiency across a wide range of database technologies including relational, document oriented, column oriented and graph databases such Oracle, Mongo, Document DB
- Expertise in CI/CD technologies such as Chef, Jenkins, Ansible