I worked on several projects and op-dev issues/tickets during my summer. Here’s a rough breakdown of some of the stuff I did:
60%: Ruby on Rails / Backbone, front-end
20%: Java, backend (e.g. some automation things)
10%: Hadoop / Cascading, hackweek project
10%: Packer / Vagrant / Sys-admin things, hackweek project
LiveRamp believes that the best way to grow people is to give them work that actually needs to get done. As an intern, I go through all the trainings and do the same work as a new hire; the only difference is that new hires have the ability to deploy to production on day one (most people don’t use this immediately of course).
This philosophy hopes to challenge smart, hard-working people and to hold them accountable. LiveRamp’s philosophy has some positives and some negatives; here’s two possible alternatives and their implications:
A) Internships give the intern one really cool project that could save the company a lot of money: These internships are good. One example that I saw on Dropbox’s website was that one intern did some project that saved the company $50,000 annually and that it paid for that intern and others many times over. One downside is that it doesn’t necessarily hold interns accountable or push them; if the project fails, it’s not a big deal.
B) Internships are purely for the purposes of recruiting – you give your interns cool projects to do (that maybe you take away from full-timers), you bring them out to lots of cool places, give them food, tell them to work easy hours. These could benefit the company a lot (because interns come back), but ultimately might hurt the growth of interns a little bit. Also it’s often not a correct representation of the real work companies are doing.
Practically, the implication of LiveRamp’s philosophy for me meant that while I worked on self-contained projects, I also did a lot of operational-development things.
For example, one day someone from another team couldn’t log-in to our internal UI. It turns out we have a hard-coded list of hostnames that people can log-in on. Because our ops teams added another web server (so instead of hostname1.liveramp.net, they were on hostname2.liveramp.net), our code broke. Our team lead was out of the country and everyone was quite busy; I tracked down this bug and fixed it. Not the most exciting of things, but definitely pushed me to perform at a high level.
Just a few things I did:
- Creating UI to allow customers to create new accounts (rather than forcing our internal team to do it)
- Using vagrant / packer to create VM’s that are similar to our production servers to test puppet changes for sysadmins
- Automating a process called matchbacks. When a customer uploads a file we automatically return a file with which of their rows were matched by our algorithm.
- Creating UI to show the changes to configurations for different accounts so we can track down what changed when an issue arises
- Many many other small changes that exposed certain parts of our back-end data to customer implementation team.
- Final Hackweek Project (next post)
For many of these small tickets, I didn’t have a hard deadline – but everyday I failed to finish the project was another day product would be delayed or time spent inefficiently by people using our systems. On the other hand, one customer said they’d pay us tons if we finished one of these projects within 2 weeks – which translated to a hard deadline for me. This puts a good amount of pressure on me to perform! I learned a ton just by sitting next to my mentors and bouncing questions off of them and being pushed to finish these tickets.
So anyways, that’s a small bit about LiveRamp’s internship philosophy. Beyond work I also did tons of other fun stuff at LiveRamp:
- Taught a class on Rubik’s cubing called Will squared and Rubik’s cubed. (Reference to Will Smith’s scene in Pursuit of Happyness). WIthin 1.5 hours, 3 people learned to solve a Rubik’s cube for the first time!
- Played on LiveRamp’s corporate basketball league team.
- Took a art class, bootcamp, and badminton class with the company.
- Slept over at the office a few nights (hack-weeks and random times…)
- Went bowling with my team: APEX! 🙂
- Played Blackjack and Poker during a casino night
All-in-all I had a great time! Wee!