About the Job | |
---|---|
Role | Senior Software Engineer |
Location | Remote, USA |
Duration | 2 years 8 months July 2021 – February 2024 |
Summary | As part of the Web Transactional team, I owned the development of several commerce projects for the Disney+, Hulu, and ESPN+ streaming services. |
Disney+, Hulu, and ESPN+
As part of the Disney Streaming organization, the Web Commerce, Growth, and Identity organization (Web CGI) had ownership of all the commerce and identity flows that happened on Web for all 3 of these popular streaming services: Disney+, Hulu, and ESPN+.
Web Transactional Team (TAB)
The TAB team was the team in charge of Transactions, Activations, and Billing, within the Web Commerce domain. This meant that at any point in any flow that happened on Web, where a transaction would happen, the TAB team was involved, as owners and maintainers of the feature.
As a member of the Web Transactional team, I got to contribute to the development of the most crucial aspect of the commerce flow, the point where transactions are completed, the user is charged, and their subscription is created.
I was also involved in flows that implied Activations, which meant users who activate their subscription by means other than by purchasing them from TWDC directly. Third Party providers would sell the TWDC subscriptions to users, and the user would use one of the TAB owned flows to activate said subscription.
The Experience
I owned the development of several new features from start to finish, including writing tests, automation, and documentation to validate the functionality before releasing it. Leveraged feature flags to introduce features with minimal risk of breaking crucial flows. Every new feature and project was built with instrumentation, monitoring, dashboards, and alerting tools to analyze and resolve production issues.
Analyzed and executed on projects by breaking down the work, coming up with reasonable and accurate time estimates for individual tasks. I worked across teams to ensure that priority and urgency was understood and that the work was delivered accordingly. I also hepled teammates overcome obstacles, resolve blockers, and complete tasks.
In the process I built strong relationships with my peers, managers, and cross-organizational partners, such as Product, Design, QA engineers, and Automation engineers, by driving discussions forward and ensuring positive and actionable outcomes.
I must have done something right, because eventually I got promoted to Lead Software Engineer.
Achievements
Commerce operations
When working in commerce, changes are needed all the time to make available new offers to the world, and update and improve the existing ones. In my time here I got to do the engineering execution of most types of commerce updates, including:
- Merchandise and launch new offers
- Merchandise and launch promotions
- Merchandise and launch tiering for plans
- Price increases
- Migrate users from legacy offers to updated offer models
- Phased and segmented rollouts of offers around the world
- Targeted and segmented experiments on offers
- Refresh and redesign offering pages
- Legal terms updates
Unification
With Disney’s acquisition and merge of Hulu, the learnings and experience of the technology organization at Hulu were applied for re-architecting the infrastructure and software applications at Disney+.
As I contributed to build the Backend-for-Frontend service API for the new commerce system, I was praised for the knowledge and experience I brought to the table when designing and architecting for known commerce use cases.
The Unified system was a success, and it enabled the streaming organization to build and launch new features and offers with quick turnaround, in a scalable and maintainable way.
Partnerships
Built the integrations to launch new partnerships with external companies, enabling new sources of revenue by allowing users to purchase Disney offers billed by third parties.
These integrations involved complex challenges, implicating a lot of discovery to understand legacy systems, and to come up with viable solutions within constrained technology stacks.
Some of the partnerships I participated in launching were with the following companies:
- Verizon
- T-Mobile
- Charter Communications
Forums, Presentations, and Team Culture
I am a believer that cultural change is often better received and more effective when it comes from the bottom up, than when imposed from the top down. As a Senior Software Engineer contributor in the Web Commerce, Growth, and Identity organization (Web CGI), I put together and participated in a few initiatives that had lasting impact.
Web CGI Forum
With the merge of the Disney+ and Hulu commerce technology teams, together with 2 other engineers, we began a bi-weekly series of meetings named the “Web CGI Forum,” as an instance to have engineering led technology conversations, and to present the work that engineers across the organization have been doing.
The series was a massive success, prompting many interesting engineering conversations, and fostering a culture of continuous learning and innovation. The schedule was regularly booked 3 months in advance, with engineers flocking to register their topics, presentations, and announcements.
As of this writing 3 years later, the series is still going strong, and attendance never drops below 70% of the entire roster of the Web CGI organization.
Streamcon
Streamcon 2022 was an instance hosted by the CTO encompassing 3 days of presentations and conversations about technology, methodologies, interesting problems, and solutions related to streaming.
I prepared a presentation named “A Page Multiverse: Managing a single page in a billion ways,” where I discussed the nature of the Disney+ billing page, the complexity that it means to maintain this page when considering all the business use cases that we support, and how each simple condition that the page supports compounds the problem of maintaining and testing exponentially.
When building a web page that is purposed to serve the entire universe of potential users around the world, we have to account for all use cases. To name some:
- User device
- Device viewport size
- Browser
- Accessibility
- Language
- Currency
- Business rules (Offers, upsells, optional features)
- Payment Methods
- Localized market needs
- Legal requirements per market
- Experiments, and A/B Tests
- Feature flags
As each of these conditions yields a data point of how the billing page is used, using combinatorial analysis we find that the possible variations of what the page can look like goes up to the number of billions, and it all depends on what set of conditions each user shows up to the page with.
It follows that the business needs to prioritize what use cases are the important ones to test for, to write automation tests for, and to monitor for.
Technology used
- A/B Testing
- AWS
- Accessibility (A11Y)
- Agile
- Ajax
- CSS
- Confluence
- Continuous Integration/Continuous Delivery (CI/CD)
- Curl
- Datadog
- Docker
- ES6
- ESlint
- Enzyme
- Experimentation
- Feature Flagging
- Fetch
- Figma
- Git
- Gitflow
- Github
- GraphQL
- HTTPie
- Husky
- IntelliJ Idea
- Internationalization (I18n)
- JSON
- JWT
- Jackson
- Java EE
- Javascript
- Jenkins
- Jest
- Jira
- Jotai
- Kubernetes
- LaunchDarkly
- Lighthouse
- Lodash
- Lombok
- Lucidchart
- Mariner
- Markdown
- Maven
- NPM
- NextJS
- Nginx
- NodeJS
- OSX
- Observability (O11y)
- PNPM
- PagerDuty
- Postman
- Prettier
- REST
- React Testing Library
- React
- Recaptcha
- Redis
- Redux Thunk
- Redux
- RegExp
- SCSS
- SOX Compliance
- Screen Reader
- Scrum
- Sequence Diagrams
- Server Side Rendering (SSR)
- Single Page Application (SPA)
- Slack
- Spinnaker
- Spring Boot
- Spring
- Stitches
- Storybook
- Swagger
- Tealium
- Typescript
- Webpack
- Zoom
You must be logged in to post a comment.