Hulu offers a video on demand service primarily oriented towards television series with its own original shows. I work with the Customer Service as a contractor maintaining its core services along with other members offshore. I’m also the Technical Leader of the contractor team so I’ve to make sure we’re a quality driven team and follow best practices and Hulu’s guidelines. As the only contractor on site, I have to make sure the team offshore have everything they need to do their tasks and keep the client happy.
We’re working as full stack developers maintaining and creating new features for their main Customer Support tool that connects with most internal APIs to deal with any concern a subscriber may have with matters from billing to content. We work a lot with Python, Coffeescript, Bottlepy and Knockout to maintain this application. There’s nothing too impressive to talk about this project, but having worked with most of the company to build it made us the ones that better understand the business from all teams.
I also had to create a new status board that shows how many agents are available and how many are on any other status. The existing tool was creating using some internal systems that didn’t work due a change of provide. I create a new project from scratch because it was almost impossible to reuse any code from the old client and because the implementation was too abstract and it could have been simpler. I created a new Flask based app to move away from Bottle, Python 3 and React. The design was heavily based on the 12 Factor App and another personal react project that I used as a base for the front-end, with the difference that, in this case, the new app wasn’t going to be stateless.
With the launch of their new Live TV service, we had to add a bunch of new features to support this entirely new model (for the team, at least). We didn’t change anything about our usual process described above, aside from testing a little bit more than usual, but the remarkable aspect about this launch was that we were one of the few teams that didn’t have any inconvenience with this launch and our service could hold the increased load without any issues.
Moving forward, the team wants to change a lot of things from their main service which after much analysis it was impractical due to the lack of tests. We decided that it was best to create a new service and move features away from the old service to the new one little by little, but no one actually started doing that because it takes time to setup a new service while fulfilling what was requested in the task you were asked to do. So I took the challenge and created the new service with one new feature so we didn’t have to refactor or change any code from the existing project. Now we have Python3, Flask, TESTS and CI/CD in this new project which is a very important first step towards the migration.
- Software Engineering
- Web Development