Shutterfly is a company dedicated to making life’s experiences unforgettable by helping customers create personalized products that reflect their individuality. They are seeking a Senior Software Engineer II to join their Identity and User Profile team, which focuses on managing user accounts and personal data at scale while enhancing the customer experience through technology innovations.
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 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 proposed 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 meets preset goals of quality, security and performance to stakeholders
- Help guide and the activities of development teams
Requirements:
- 5+ years of development experience with proficiency in Java and Spring frameworks
- Solid foundation in OOP, design patterns, algorithms, programming languages, networking and operating systems
- Proven expertise with RESTful Concepts and Development of Microservices
- Experience with Java, Spring, Maven, Git, and CI/CD tools like Jenkins
- Experience with designing and building Cloud resource provisioning pipelines using tools like CloudFormation, Terraform
- Understanding of building secure, scalable identity ecosystems using AWS Cognito, including the design of User/Identity Pools, custom Lambda-driven authentication triggers, and complex OIDC/SAML 2.0 integrations
- Understanding of modern Authentication and Authorization strategies, including OAuth 2.0, OpenID Connect (OIDC), and JWT management, alongside advanced Authorization models such as Role-Based Access Control (RBAC) and Attribute-Based Access Control (ABAC) to enforce fine-grained security at scale
- Ability to use and understand Logging and Monitoring tools like Splunk and SignalFX
- Follower of TDD (Test Driven Development) and Unit/Functional/Performance Testing
- Good Understanding of RDBMS and NoSQL Databases
- Understanding of Caching layers like Redis, Memcache
- Experience with working in an agile environment
- Knowledge of Node, PHP, Ruby on Rails, Go Programming Languages
- Ability to learn new Technologies and deliver results
- Excellent problem-solving ability and debugging skills
- Good communication and personal skills: ability to interact and work well with members of other functional groups in a project team and a strong sense of project ownership
- Capable of delivering on multiple competing priorities with little supervision