In Tommy Boy, the best film in the history of cinema, the late, great Chris Farley explains his prolonged college career with a simple, “Ya know, a lot of people go to college for seven years.” As a student in Flatiron School’s full-time software engineering bootcamp, I have essentially chosen the opposite. Over the course of 15 weeks, the program will introduce, develop, and drill the necessary knowledge and skills to become a full-stack web developer.
The first two weeks of bootcamp have been intense. This comes as no surprise given the use of the word “bootcamp”, but I had no idea just how quickly we would be diving into multiple programming languages. Additionally, we have learned numerous techniques and paradigms to make these languages organize and manipulate data to produce different results. Last week was Object-Oriented Programming in Ruby, and this week we have learned Object Relational Mapping (ORMs) to apply those ideas to SQL databases. While researching use cases of ORM/SQL in everyday life, I came across some interesting information I would like to share below.
The Oscars, or the Academy of Motion Pictures Arts and Sciences’ Academy Awards Ceremony if you’re not into the whole brevity thing, is an annual spectacle of the world’s biggest and brightest in the film industry. At the ceremony, awards are presented to the year’s best in 24 categories from acting to sound editing to animated short film. Simple enough process unless you are Warren Beatty, Faye Dunaway, and the second-largest professional services network in the world, PwC. However, the process to get to the point of reading off the winner or cringe inducing non-winner’s name involves much more data than one may think.
The Academy has approximately 8,500 eligible voters amongst their ranks. These voters are affiliated with 17 different divisions within the Academy based on their respective professions. The members of these divisions are then responsible for selecting the division’s award nominations as well as the best picture of the year. After all of the nominees are determined, the 8,500 voters cast their ballots on the 24 categories.
Long story short, the Oscars’ domain model is intense. The Academy has many members through the 17 divisions. Most of the divisions then have many award categories which in turn have many nominees. The 8,500 members’ votes belong to a nominee for each award. All of these different collections of data connected through numerous related and unrelated relationships should logically be organized in a SQL database. For instance, each award could be a table with nominees populating the rows, and then a “votes” table could be set up with each of the 8,500 members’ votes representing a foreign key to their selection for each of the 24 awards. That’s a quick 204,000 votes neatly organized and ready for queries to find the year’s winners.
At this point you are probably thinking, “Wow, Tom. What a revolutionary idea to use SQL aggregate functions and join tables to calculate large swaths of data. You are truly changing the world of data analysis.”
Well reader, your sarcasm does not hurt me because according to a recent Microsoft case study, the Academy did not realize the error of their ways until 2013. 2013! That is not a typo! From the study, “Until seven years ago, the annual process leading up to the Academy Awards occurred entirely offline.”
Nominees were submitted on paper, and DVDs showcasing the nominees were then delivered to Academy members by our beloved USPS. Those members would return their votes using the same underfunded and under-appreciated couriers of snail mail. Fortunately for all involved and for society’s continued adoption of technology, Bev Kite became the Academy’s first Chief Information Officer in 2014. Realizing their system was as outdated as silent films, they implemented in-house software development and IT infrastructure teams. Kite and her teams began the arduous process of bringing the Academy back to the future. They rolled out a multitude of Microsoft .NET Framework apps backed by the company’s SQL Server relational database management system. These two services work together to provide Academy members assorted information and conveniences through web-based portals. The Academy’s IT catchup has been so successful and rapid, they have since migrated to Microsoft’s cloud-based Azure SQL. About 95% complete with the migration, one of the final steps is to produce a full spectrum streaming service for the yearly award nominees which will be tied to the online portal for member voting. So, in the course of 6–7 years and with the hard work of software developers, IT professionals, and our new friend SQL, the Oscars have gone from the tech of Ben-Hur to the tech of Her.