Progress of Happiness

By most measures, including of course the physical ones, I was fat when I graduated from college and moved to San Francisco. Sure; I wasn’t you-need-to-buy-two-seats fat but I was definitely I-am-not-giving-you-my-number fat.

Just like most people, I have confused excuses for the reasons; Pittsburgh was cold all the time and it was easy to order food than to go out, buy groceries, come back, cook. Also, I happened to have a girlfriend who seemed to not mind it thatmuch. And probably, the biggest reason of all is that while I knew I had a couple pounds extra, I still felt like I wasn’t that fat.

While I am not sure what exactly was the trigger that made me realize I let things get out of hand, my hunch is that having a picture of me taken and published on a semi-prominent blog, along with all my co-workers.

See, I think during all that time when I was fat, I think I successfully avoided my picture taken. Not so much consciously, but more with the knowledge that it would come out not particularly flattering.

So when that photograph was published and I sent it to one of my friends, I found myself prefacing her exposure with “oh my god, those are most horrendous looking muffin tops ever”. I hope to never string together more offensive, childish yet true set of words together about myself.

I thought, or rather believed, that I could make some basic adjustments to my diet and see what happens. Particularly because it was a big part of the culture at the boarding school I went to, I had a big affinity for pizza and probably ordered one or two or more every week. I decided that if I could just stop ordering pizza and go out and eat something else, that would be hopefully make a difference. In fact, I even started a wager with my one of my co-workers; if I could not go without eating pizza for several months, until some deadline, he’d have to buy me a really good one at a fancy place. We both knew the irony but it was all in good will.

I am not sure how long this went on. I am sure, however, that I did lose some weight but nothing to write home about.

During all this, on one particularly boring Saturday, I found myself somehow looking at pictures of road bikes online; I think the train of thought went like me reading about a really high-tech, obnoxiously expensive bike on one of the many blogs I followed; then wondering what the state of the art that is accessible to mere mortals was.

Like many kids, I had a slight fascination with all sorts of transportation devices; I had posters of French fighter jets on my walls, I made model planes of Concorde planes, knew basic details about all different types of Airbus jets. (The more uncommon fascination with French engineering can be probably attributed to my dad selling Renault automobiles). I would read up about trains, ships, submarines. Surprisingly, bikes or motorcycles, however, never made the cut for me. Not that I found them primitive; but for the most part I just didn’t know.

So when I was actually looking at those road-bikes on Trek’s website, I realized these things actually looked really cool. I had a basic understanding of how bikes worked, of course, but I really didn’t know that they looked that cool; everything from the slick fonts they used on the liveries to electric shifters seemed like there was some advancement in technology and slight nod to futurism that I was missing out on. That just could not happen. I had to get in on this.

Since I had nothing better to do, I actually hauled my fat ass to a local bike store that specialized in road bikes across the city. While I am sure the people working realized I wasn’t particularly a road-cyclist material at the time, I really had nothing to do and told them that I wanted to test-ride one of the carbon bikes that I thought looked “cool”. It wasn’t the most nicest (or in other words, the most expensive) one but it wasn’t the bottom of the barrel either. The guy happily obliged; he asked for my ID and credit card, took the bike down from the rack and off I went.

I knew how to ride a bike and I did actually ride a Walmart grade bike pretty regularly in Pittsburgh; but this was something that I never experienced before. Literally, I lacked the words to describe how I felt after riding that bike for a mere 10 minutes. I remember taking the bike back to the store, just being speechless how amazing of a feeling it was. I think I described it as “I felt like a ninja, going down those streets”. While that description more speaks to my shallow vocabulary, I have actually heard the same feeling from others pretty regularly.

And there I was, couple hours after reading a random blog entry on a random blog with significantly less money in my bank account and a road-bike that I didn’t even know to how to even change the tire of.

Truth to be told, I think the first couple of rides have been mainly to justify myself the ridiculous expense than to actually enjoy biking. And having lived in Potrero Hill at the time, both because it was close to where I worked and it had gorgeous views, not all those rides were very enjoyable. Since I lived at the bottom of a hill, almost at the center of a “bowl”, I had to climb up a really steep hill both ways. Sure, it wasn’t snowing but it still sucked.

It sucked horribly. The first hill I had to climb was so steep that the first couple days, I had to walk up my couple-thousand-dollar bike up, like a savage. One of the first times I tried to climb up that hill on bike, I actually ran out of stamina, power, or whatever you call it, and literally fell to the side, sliding down the road with scratching my hand pretty terribly.

But I kept at it.

I distinctly remember the first time I actually made it up that hill, I remember feeling that if I could do something that I sucked at so bad couple weeks ago now, I could do apply that to anything. You suck, you fail, but if you keep trying, one day, somehow, you’ll do it.

And from that point on, the same thing kept happening. I found myself being able to do things that I couldn’t do before.

The first time biked a whopping 5 miles from my apartment, and back, all in one go, I remember coming home, and calling and texting all my friends to share my excitement and of course brag about my achievement, though that part kind of went over their heads. Then it was 10 miles. Than 15. Than a whopping 25 mile ride, which I thought was going to kill me. The opposite, turns out.

And of course, while I was slowly becoming a better cyclist, I started shedding all those pounds. In fact, I knew I sucked at climbing hills so much and wanted to get rid of any extra weight as fast as possible. So I signed up for a gym and even hired a personal trainer; telling her that I wanted to lose weight, damn it, because it was keeping me from climbing the hills I want.

Progress, of course, wasn’t without its minor setbacks. As I got sucked in to the world of never-ending bike accessory purchases, I also decide that it was time to get proper biking shoes with clips. Essentially, these shoes attach directly to the pedal, which helps a lot of transfer of energy. However, there is a slight elbow maneuver that you need to master slightly before you can comfortably take off your shoe off the pedal.

Turns out, I sucked at mastering that maneuver also. Maybe not that surprising given that the only sporting activity I have ever did in my life was playing tennis for a few years in grade school, but it was frustrating. And dangerous, to the point of being life-threatening.

I knew that falling a couple times practicing getting the shoe in and out of the pedal was par for the course. Normally, falling would just mean that I’d slowly fall the to side (if you see this happen, it actually looks pretty hilarious) try to laugh it off, maybe pretend to check my chain to act like it wasn’t my fault, and be on my way. One specific time, however, I was unable to take my shoe off the pedal at a red light. Unfortunately, this particular red light was at the top of a hill and I was still on the slope, not on flat surface. So when I fell to the side, I actually started sliding down and to the left into the way of incoming traffic. And I was very, very close to getting seriously hurt by incoming traffic that just started to go downhill and had the worst possible viewing angle to see anything, like a cyclist who had just fallen and was very close to the ground.

Luckily, I managed to skid to the right enough and the drivers noticed something was wrong with enough time to turn right and nothing happened.

And I mean that in all senses of the word; pretty much nothing has changed. I didn’t make it a big deal out of it that I almost died because I was half a second slow then usual at taking my shoe off the pedal. It didn’t traumatize me that I had to stop biking. I didn’t tell anyone how scary it was to know that a minivan who can’t possibly see you is fast approaching you while you are under a bike. I particularly didn’t want to tell my parents or close friends because I knew they’d tell me to be more careful or, god forbid, maybe find a better hobby.

Fuck that. I have found what I loved and I wasn’t going to let it go.

And I got better. The better I got, the better I wanted to get. Sure, now cute tourist girls were catcalling me when I was climbing up those hills in North Beach, I barely even registered them as hills, but there was always one old guy with a 20 year-old steel bike who’d just whizz by you on the way up from Sausolito, both humbling and frustrating you. But I looked at as how no matter how good you think you are, there is always a room for improvement.

But no matter how I did on a ride, no matter if I fell I found myself much, much happier than I started after hours of sweat and yelling and swearing and snot, a lot of snot.

One day, I did reach the both proverbial and the literal peak.

A popular route for cyclists in San Francisco is the Paradise Loop; a route that goes all the way from the city, up Golden Gate Bridge, to Sausolito, and then Tiburon and then climb up a few hills and loop back. Going to Sausolito from Golden Gate bridge means that you essentially turn “right” after the bridge.

One Sunday, I missed the early window of opportunity in the morning when the weather isn’t too hot but since I wanted to do the Paradise Loop, I decided to do it later in the day. So around 4 or 5 PM in the afternoon, I took my bike out, made my way to Golden Gate bridge.

Now, turns out, among many things, I also suck at estimating when it sun sets on a given day (probably because San Francisco has no seasons). So as I was biking on the bridge, I realized it was getting dark and it would be outright irresponsible to try to do the Paradise Loop without my headlight. And that left me two options; I was either going to bike back or just bike up the Marin Headlands, which I never thought about.

That hill, for one reason or another, always remained as this one hill that I never even bothered trying. Not because it wasn’t just steep (which it is) but also because it was really, really long and I just didn’t think I’d be able to find the motivation to finish it. Writing these words, it is outright clear to me that I was just scared of it and finding reasons to avoid it all this time but at the time, for all that time, I was able to have convinced myself enough that I was at peace for not doing anything about it. Mind over matter, indeed.

Well, that night, stars somehow aligned and I decided to just “fuck it and climb it”. So there I went. And I went and went.

The hill just seemed like it wouldn’t end. The first couple minutes wasn’t too bad; I was having a hard time keeping my speed but I was able to do it. But it just looked like no matter how much progress I made, the hill wasn’t ready to give way. And a couple minutes in, I started to feel the pain in my legs. And then, the pain started creeping up. My calves, my thighs, my abs, my shoulders and even parts of my body that were seemingly unrelated to biking.

It just wouldn’t end. I thought about giving up; I did. But not only I was too vain to get off my bike (or really, just lower a gear and go slowly), I was just too steep on a hill.

And then I made it all the way up, saw the amazing view of San Francisco from all the way up and I cried.

And it wasn’t the exasperation, or that the view was so beautiful that I couldn’t hold my emotions in -I do have a soft-spot for breathtaking views- or maybe something else altogether different. It was that at point in my life, I felt the happiest I have ever been in a long time. It didn’t matter that I almost blew out my knee or that I was so spent that my mouth tasted funny, seeing that view as a reward of my hard work made me feel happier than I have ever been, in a very long time.

So here I am today, a mere 2 days before 2013.

I wanted to write all this up because I wanted to remind myself of two fundamental things I learned from a year or so of biking.

The first is that sucking at something is the first step of getting better at it. And that trying really hard isn’t supposed to be easy. In fact, getting better at anything isn’t supposed to be easy. You are bound to get fail, get hurt, fail again before you succeed.

The second and the more profound thing is that what really makes one happy isn’t always what we think it is.

I am not an American but I know enough American history to know that “pursuit of happiness” is right there as unalienable right in founding document of United States, right next to “life” and “liberty”.

While that phrase itself sounds “deep” and thoughtful enough to be universally true, it’s also worth noting on as a side note that the “pursuit of happiness” is replaced with “property” in the U.S. Constitution and “security of person” in the Universal Declaration of Human Rights.

But going back to pursuit of happiness; while the scientific literature about happiness is full of examples of what canactually make us happy, we seem to be willfully ignorant of even the smallest things that can bring us incredible joy; things like setting a high goal and doing whatever it takes to achieve it.

As I mentioned; that time I made it up the hill was such a happy, joyous moment for me that I immediately list that as one of my “happiest moments in my life” whenever somebody asks that question. And while enumarating life experiences and talking in superlatives is vain and juvenile but there aren’t many times in my life where I felt as much accomplished, and proud, yet peaceful in my life.

Of course, there are many, many other ways to be happy.

Interestingly enough, the other time I can immediately recall being that happy, so happy that I was speechless and tearful, again includes a similar breathtaking view of a gorgeous city but this time in the company of a woman I held very close to my heart.

Here is to all of you finding your happiness in 2013.

On Being a Builder

One of the recurring themes in any technical team is the tension between designers and developers. Many designers complain about how their beautifully designed and well-thought out mocks aren’t faithfully implemented but merely considered as guidelines. A lot of the time, the design details takes a back seat to the ease-of-implementation and how detail-oriented the developer is. While there are a lot of developers who don’t mind going the extra mile to get the design “just right”, most of the time, the result ends up less than satisfactory to the designer.

On the flip side of the coin, a lot of the developers complain about the seeming disconnect of designers from the realities of building an application. Sometimes this happens in the form of designer designing something that can take an inordinate amount of time to implement or simply impossible. Other times, while the design looks great on the mocks where every piece of data is the way it is supposed to be, when the design is built and tested against real-world data, it just breaks down in unexpected ways and has to change dramatically.

While I have been mostly been on the developer side of this conundrum and definitely did my fair share of my complaining, it’s clear that this is a common problem with a lot of negative effects like inferior products that don’t feel right, unnecessary tensions between designers and developers, and wasted iteration cycles.

Different companies seem to be attacking this problem in different ways; some companies require their “designers” to actually code their designs, with Quora being the one of the well-known proponent of that approach. Quora’s job description for their product designer position explicitly lists “Ability to build what you design” amd their product designer Anne Halsall’s answer on the topic pretty much argues that the most important thing is being a builder.. Similarly, 37signals’ David Heinemer Hansson notes in a blog post that “all 37signals designers work directly with HTML and CSS“.

Yet another approach seems to be the rise of the “front-end engineer” position. As more business and consumer applications that were once desktop applications are built as web-applications where the meat of the interaction happens in the browser, people who were once simply considered “webmasters” have rightfully claimed their titles as real developers and became front-end engineers. While this position is generally considered an engineering position, it’s also always assumed (and implied in the job descriptions) that these people will have strong design sense, attention to detail to bring those intricate designs to reality as faithfully as possible.

I think both of these approaches, which aren’t mutually exclusive, are valid and have their uses. Especially in a sizable organization where there are tens or hundreds of people working together, some extreme specialization is not only desired but almost required to make sure people can work without stepping on each others’ toes.

However, I think the distinction between those who design and build application is an arbitrary one that is one that is slowly eroding. As there are better abstractions are built, the barrier to entry for realizing your idea and sharing it with the world becomes much, much lower. For developers, this means that they can prototype things out much faster and iterate on things themselves.

The real benefit, of course, is for the designers. For them, this means that they can just build what they had in mind without having to convince or wait for someone else to do it for them. I believe this is a game-changing freedom and it will only get better from here.

As we keep building better frameworks that encapsulate years of decision making, abstractions that hide things under the hood under under another plastic cover, and have simply better tools to get our work done, more and more people will be empowered to do things that once were within the technical reach of the few.

Today, anyone who can open up a Terminal window and type rails generate scaffold Post name:string title:string content:text can have a very basic blog up and running in less than a couple minutes. Top this off with some Heroku action and you have a live site running on a real database on a server somewhere in a minutes.

While the iOS space is a lot younger than the web and its reach is a lot less limited, better tools and abstractions that lower the barrier of entry are coming up fast. The XCode 4 interface is a huge improvement over the XCode 3 interface that make building an app require interacting with 1 app instead of 2; story boards are making building basic, brochure like applications essentially a drag-drop exercise, appearance proxies and callback based animations are making building iOS apps feel a bit more like using stylesheets and those familiar jQuery animations. For those who are more adventerous, tools like Pixate and RubyMotion are taking the abstraction to a whole new level where building an iOS app is essentially no different than building a web app.

Discussing the pros and cons of using abstractions over specialized tools is beyond the scope of this essay; I think while abstractions built in the name of cranking out more products faster result in subpar products, abstractions and frameworks that come out of real-world needs end up getting real traction.

Essentially, I believe we are moving to a world where we will see more builders like Sam Soffes who can churn out an iPhone app, a web application and an externally available API all by himself. When a single person can both “design” and “build” an entire product by himself, it’s clear that our nomenclature hasn’t fully caught up with people’s newly-found abilities.

That is not to say we should abolish all specialized tools; I think there will always be need for going really under the hood and actually replacing some carburetors but today, it is possible to push that need a lot further down the line. Similarly, that is not to say there’s never going to be designers who will be working away from technical tools; establishing a brand and visual identity will continue to be a job that requires professionals. Nevertheless, I believe the role of a designer as as it stands will change.

I think a lot of the responsibility will lie with the designers who will be expected to comfortable with the technology they are working with. While this seems like an exact opposite of the argument I am making, it will be more due to the adjusted expectations. Just like we are expecting better times from our Olympic athletes, designers will be expected to simply do a bit more.

As for developers, they will be freed from working as pure implementors of other people’s ideas but instead work on things that they find exciting. It is hard to make a general statement as to what this could be as it’s very domain specific but in general, I think in the future a lot more development effort will be focused on both building better abstractions for those who build on them and solving brand-new problems such as personalization and mining huge amounts of data.

It is an exciting time to be working in the tech industry right now. As we have built ourselves better tools, it is getting easier to simply work on the problems themselves. We’ll all have to learn a couple new tricks but hey, to me, that’s a small price to pay for progress.

Ode to Humility

 

Unless you have been living under a rock, you probably heard that the smart fellows at Jet Propulsion Laboratory managed to land a rover on Mars. Or more accurately, the scientists and engineers managed to program a robot to successfully enter the Mars atmosphere, guide itself towards its landing destination and then lower a 900 kilogram rover from 7.5 meters while it is suspended in the Martian sky by rockets. JPL, headed by Lebanese born Charles Elachi, did that with a budget of $2.5 billion dollars.

In fact, it has been a good couple of weeks for the world of science. Just around a month ago, on July 4, 2012, scientist at CERN have announced that they have most likely confirmed the existence of the Higgs boson, so called the “God particle”. Scientists have managed to achieve that feat by the help of Large Hadron Collider that sits underground between and literally spans across French and Swiss borders 4 times.

And of course, the 2012 London Summer Olympics. For the first time in history, a disabled athlete, South African Oscar Pistorius is running alongside able-bodied athletes using his prosthetic legs made by a Icelandic company. Another first in this olympics games is about women; with Brunei, Qatar, and Saudi Arabia sending female athletes this time, 2012 games is the first Olympic event ever where all countries have sent female athletes.

While Hans Rosling would –rightfully– argue that the world is much better than it used to be, sometimes it is hard to believe that. Right near my home country, the Syrian regime is literally killing its citizens by the hundreds on their way out. Egypt, one of the poster boys of the Arab spring, is dangerously close to adopting Shari’ah law.

The world is changing, every day.

More importantly, especially for those who are fortunate enough to read this, there is not a shortage of important or really hard problems in any given part of the world. However, somewhere along the line, we have conflated “changing the world” rhetoric with simply “making a lot of money by exploiting a new market”.

There is nothing wrong, in my mind, with wanting to make a lot of money, being famous, or gaining the respect of those who we look up to. We owe many of our modern conveniences that make our lives easier, the medical advancements that keep us alive to those who simply aimed to make money.

Nevertheless, not everything that effects a lot of people changes the world. And on the flip side, you simply do not have to touch millions of people’s lives to make a meaningful difference in the world.

There’s a irony in that while we made the world interconnected than ever, we actually just make it possible to simply ignore those that we don’t want to connect to. In other words, we have just made it possible, for virtually everyone, to live in a world of their own choosing.

While it might feel like we are all living in our own worlds, there’s nothing like a little humilty to remind oneself of what truly great achievements could be, how it can affect many lives in very small ways of just a few lives in huge ways. And that humility, is what I’d really love to see more of.

What was it like to work at Digg during Digg V4?

Unique.

I joined Digg pretty late in the product cycle of Digg V4. Eagle-eyed followers of Digg might have noticed that the version of Digg V4 was somewhat different than the Digg V4 that was shown around in Diggnation in SXSW 2010.

When I started at June, right out of college[1], V4 was pretty much finished feature wise and most people were tasked with actually building things up to scale and start thinking about how to launch it. As Digg V3 was actually live at the time too, there was a lot of technical work that needed to be done for moving the data and of course there were some launch-related features like the invite system. For example, my first projects were related to building the parts of invite system and supporting short URLs generated in V3 on V4.

There was definitely a lot of unknowns before launch. Every single person was ready for some sort of backlash. We knew some people would simply not like it because, as the consumer product vernacular goes, people hate change. But more than that, we knew that Digg had a very vocal user base, who rightfully believed that their contributions, their time on Digg made Digg what it was.

As nervous as people were, there was a lot of excitement for the launch. On the product side of things, Digg had been pretty stagnant for a while and there were more places where people could find and read news, like Twitter and Facebook. On the engineering side, there was a lot of effort put in to make a really scalable infrastructure using some brand-new tools and in general, a lot of things were done the right way.

Anyway, launch.

I can’t remember how we exactly set the date. I think it was a combination of marking off the bugs we definitely wanted fixed and some sort of “we should get it out” for sure.

On the day of launch, we have reorganized the engineering floor (which was a silver-painted warehouse, which used to be a church though you could’t tell) to have one big table and put the couches around too. There was some nice food being served, couple lights and and projectors were set up for the Twitter feeds and metrics. An hour or so ago, most of the engineers were set up so that everyone was on IRC, which remained the main form of communication at Digg, people who needed to were tailing the production logs from Scribe, the procedure for immediately triaging and assigning bugs were all discussed.

I certainly was scared as someone who did mostly front-end work so I cannot imagine how people who worked a bit lower to the ground felt like. All in all though, people were excited to see their work go live.

The few hours right after launch were tough. We did have a couple technical challenges, though probably the extent of it was a bit amplified by the press. Sure, the site worked a lot slowly than we would have liked and when it came back up, it had some trouble staying up. I will be voting along the party lines here as an engineer and I am probably diluting the technicalities of building a service like Digg at that scale as a measly front-end engineer, but once everyone good a grasp of the performance characteristics of a lot of the backend stuff, the site became reasonably stable.

As I mentioned, people were ready for some sort of backlash and we knew the press would be watching like a hawk. There were, however, couple instances that I personally wasn’t ready for. At the time, the list of employees were visible on our Team page and couple people searched for each individual’s name. So I had a couple reaching out to me on my personal email and Twitter, and, errrr, express their discontent in colorful terms. It wasn’t scary or annoying, just unexpected.

The most important thing right after firefighting and cleaning up some of the fallout after the launch was figuring out what the next thing would be. The driving force behind a lot of technical decisions was building a platform; the Digg website and the API all ran on Thrift services (which was super nice, in my opinion [4]). So there was the idea of building more features on top of the platform in line with the grander vision but also some pressure to bring back some of the old stuff. If I had to pick one thing, I’d say that’s one thing I wasn’t very excited about initially was that we’ve decided to bring on more of the old features.

There were a couple high profile features like the RSS imports that made a lot of users feel like they lost the ownership (which everyone knew would receive a lot of feedback) but the more interesting things were like how tons of people were upset about things like changing the things buttons on comments from Thumbs Up / Thumbs Down to arrows. I can probably count several of such seemingly small things that turned out to be big deals, in terms of user sentiment.

Anyway.

While all this was happening, Digg had a new CEO, whose search has long begun before the launch. Some people were excited about it, some people weren’t but I think. For a lot of people, Digg meant Kevin Rose and vice versa. I was more on the side of “eh, who is this guy?” initially. I think I saw it as having a tenured CEO coming from a Big Company would soon change the workplace. That’s not to say we didn’t need some change but I think I wanted things to be more “fun”. Ah, the young me. I couldn’t be more wrong as Matt turned out to be not just a great mentor who I looked up to pick up some C-level tricks but also who is very clever, direct and a keen sense of humor.

There was the layoffs, which of course wasn’t pleasant. I was lucky enough to be not laid off, considering my visa was sponsored by Digg and that could technically mean I would have to leave the country. [3] The day of layoffs, I don’t think anyone did any work.

The next day, however, was the polar opposite and was probably one of the most teaching days during my time at Digg. The day after layoffs, we’ve all sit in a room and assigned project to people and everyone started working.

See, I think I went to work that day in all sorts of existential thoughts in my head, contemplating whether or not I should stick this one out or just go back to Turkey or maybe find another job or something else. I knew there would be shit ton of press that I could probably spend the entire day reading. I had long since removed Twitter from my computer as I knew it’d be nothing but a source of misery.

However, 40 minutes into that day, I had a project assigned to me and I was working. To this day, I remember the day after the layoffs as the day where I learned how once you are excited and have a goal to strive towards, none of the other crap matters. More eloquently, “focus or die”.

Soon after the layoffs, there was a considerable paradigm shift and honestly, productivity went up. Part of is was definitely the significantly shrinker overhead; it was easier to just push the code to production and individual teams, whose sizes went from 6-7 to 2-3 at most, were more empowered. There was also the other part which was that people who had stayed kind of felt like it was now on them to turn things around.

As the team size went down, the engineering team moved to the other part of the Digg HQ –we were separated between 2 floors of the SF Guardian Building and the warehouse-church the engineering building–. It felt less like a hacker warehouse but it was actually a really nice office space and had actual windows.

My memory goes a bit less vibrant as I think further. As a much smaller team, we have worked on a lot of different features and I certainly felt like I was very empowered.

As days passed by, I personally have risen up in the company and had a lot more say, even on the executive level. Everyone believed in the original mission of Digg, I felt like, which was getting people the news they cared about. Digg, for me and many others, was never about the digg counts or the subculture it created. Both were extremely essential, for sure, but I think I always looked at them as tools to get people to the news they cared about.

For me, I knew it was time for me to try something different was the way I believed on how to do that wasn’t the way others wanted to do that.

From what I could tell Digg didn’t really have a lot of pressure from the VCs to do this or that but internally, everyone wanted to move the needles up. Digg had a lot of technical assets, brand recognition and the talent to execute on many of the ideas.

So, I have argued rather colorfully with a lot of the executives on why I didn’t want to work on the upcoming projects as I believed they’d distract us from what I believed were the right things.

On top of that, couple of the people I was working very closely with had left and I was interested in working at a different kind of a company made me soon leave. People knew as much as I did that I’d not be very happy and productive working on some of the new stuff so everyone understood. As I am on a visa and changing jobs is an ordeal while on one, everyone again went out of their way to accommodate me more than the usual 2 weeks just to make sure I am never in a legal gray area.

This answer became way longer than I imagined and I am very slightly tearing up as I am writing these. I have teared up many times talking about Digg (or even at Digg). At the end of it all, it was my first real job outside of college. There were times I felt miserable enough to just leave work at 4 and ride my bike for hours (which did help me lose a lot of weight) and other times where I was scared to death about how much responsibility I was given on a site had millions of people visiting.

I haven’t had a lot of jobs so I can’t reasonably judge but I can’t imagine being at Digg before, during or after V4 launch being the easiest job. Technical challenges were huge, and dealing with an extremely vocal user base who are almost as invested in the product as you are while taking shit from the press left and right was pretty taxing. But you know, everyone loves drama and pretty much everyone loves to watch Rome burn. I personally enjoy bitter chocolate.

V4 was a different product than anything else out there and had it worked as we’ve liked, it’d have been an astounding success story. It didn’t. But that’s fine. Digg pushed on, and even invented, some of concepts that we take for granted now like those sharing buttons, building communities across many different interests. It pioneered technologies, contributed heavily to open source, created not a subculture on the internet but also a very open and fun culture among its employees also.

I feel damn lucky I got to be part of a special company like Digg at a very special time.

1: It was almost too right out of college. Before preparing my offer letter, they asked me when I was graduating and I put in May 16, as that was the day I was getting my diploma. And the start date on my offer letter turned out to be May 17. Due to the sheer excitement of getting a job at Digg, I didn’t really notice that, until I was getting my plane tickets. I called up the office, told them that I really couldn’t move across the country in a day. Fortunately, they were more than understanding –though they did push from the month I wanted to 2 weeks–.

2: Digg V3 and V4 technically shared no code, they were entirely separate projects with V3 being all in PHP + MySQL and V4 being a brand-new PHP app running on Python (and very little Java) services on Cassandra and Redis. I did actually copy-paste 20 or so lines of advertising cookie from V3.

3: In reality, had I been laid off, I had a feeling that they would go out of their way to make sure I wouldn’t actually get kicked out of the country. One common theme among all the sensitive issues at Digg, the management always went out of their way to help the employees or even the former ones out.

4: To give perspective, I had my laptop set up done in less than half a day and submitted a code for review before I left work that day. I was also really big fan of how our deployment worked. In general, shit ton of operational magic just worked.

    Learning vs. Doing

    Sometimes I wonder the sheer amount of knowledge that can be found on the internet is creating a culture where some sort of shallow learning is encouraged over anything else.

    I am definitely guilty of this too but I see more people reading blogs explaining some sort of trivial or only theoretically important stuff about, say, web development than people who are working on creating web applications.

    It really is another form of procrastination, if not a more dangerous one in my opinion, than randomly starting to play a video game. The fact that you can fool yourself, for the most part, into thinking that you have done something really valuable with your time is really dangerous.

      On Work

      At the end of the day, it’s the ownership that determines the quality of work produced. You either have this emotional connection to whatever you do, or not. Everyone has seen a video of some craftsman who produces an amazing product after an inordinate amount of effort and is moved by it.

      It all reminds me of an essay by Ben Pieratt that was making rounds a few weeks about how work is personal for some people. Some people don’t just work on things; they own them. Grinding, refining, to the last proverbial bit. And it just shows.

      Having the same kind of emotional connection to your work when your work is mostly some text on a file somewhere is looked down upon or at least not as romantic, which is unfortunate. It is understandable, given how less accessible certain professions and artifacts of such professions to others, but still a shame.

      Visual vs. Interaction Design

      I for one generally hate getting into discussions about titles, especially in the realm of design. However, I’ll mention this one. Before you venture further, I’ll also disclaim that I am not a designer by trade but merely an interested, somewhat educated bystander.

      As fluffy and pretentious as the name may sound, interaction design is a skill that is very, very different from visual design. The thought process that goes into creating an application that is going to be used is a lot different from the one that goes into making a jaw-dropping mockup or illustration.

      In one sense, the term designer is definitely overloaded. Beyond the obvious technical differences between designing for print vs. designing for digital there is a certain overlooked difference between designing an application where people click on things, type in data; where things seemingly appear out of nowhere, change colors and designing a visual look.

      That is not to say you can separate one from the other in a clean cut fashion; you definitely cannot. A great user interaction can go a long ways by itself but if you want to delight your users, you will want to couple that interaction with some great aesthetics of your own.

      However, the point I am trying to make is that interaction design is a whole different animal that can be sub par no matter how good your product looks.

      I do not know what makes a good interaction designer –and I still have moral qualms about using the term interaction designer–. However, I’ll make a few relatively educated guesses:

      • You need experience. This is a no-brainer. You just cannot learn this stuff in school (trust me, I tried). The challenges that you face when you actually create and support a product that are so weird, for the lack of a better term, compared to what your problems would be, that you’ll try to design things better the next time round.
      • You need education. This seems to counter the previous point but not really. I am not arguing that everyone needs to go to a HCI or design (I did but I was in the right place at the right time) but you need to know some hard facts to back up your intuitions. You need to know what an ideal line length is or if people care about below-the-fold. You can definitely make shit up as you design and probably convince yourself and people around you that your opinions are right but where’s the fun in that?
      • You need to iterate while designing. Again, a no-brainer, if you ask me. This stuff just takes time.
      • You need to work on your target medium. This is me saying, in a fancy way, that you need to be able to build your designs. A lot of people disagree with this. I think the best analogy I can think for this is translations, although that fails to capture the full breadth of what I am trying to say. Translation implies that as more touch and tweak an artifact, the more it will lose some of its initial value, which is correct. However, the real value in building what you design is that you’ll have a better feel for what works faster, which ties back to the previous point.
      • You need to get out and look at how people use other things than just a computer. I know this sounds a bit pretentious but watching people operate physical things just reinforces the importance of things like affordances, gestures, how people make mistakes, why Fitt’s law matters, what frustrates people.

      Again, I’ll reiterate: a great designer (or product designer, whatever term you want to use for yourself) will need to have both good visual design skills and good interaction design skills.

      The point I am trying to make here is that great interaction design is not something that is just a natural extension of great visual design.

      What is wrong with HCI?

      On May 10, 2010 I turned in our code and presentation file for my Human-Computer Interaction capstone project, virtually marking the end of my academic career at Carnegie Mellon as an undergraduate and probably my academic career overall. I graduated with double majors, or more accurately as a cognitive science with an additional major in Human-Computer Interaction from Human-Computer Interaction Institute.

      Although it was only an additional major, HCI definitely took a bigger mindshare for me, and for good reason. I care deeply about how people use computers; so much that even my college application essays included anecdotes and thoughts about how my parents did not seem to get it.

      However, just like my friend Paul, I have some qualms about the HCI education that I received. Paul’s main issue with the program is that he is not sure if what he learned–and did–transfers into creating better products and interfaces. It is a valid concern and I would similarly encourage you to read the comments posted by me and Marshall, who in addition to doing HCI as an additional major, did the accelerated master’s program.

      It took me a lot of thinking to pinpoint what was exactly wrong with the program or at least find a way to describe it. Partly it is the disconnect of the program with the real world. Partly, it’s the generally fuzzy material. Partly it is the lack of distinction between usability and design. I will try to tackle them one by one.

      What did I learn?

      This is a sentiment you hear a lot after many of the HCI courses here at Carnegie Mellon. Be it Software Architecture for User Interfaces (SAUI), HCI Methods, or Basic Interaction, for many students the courses simply does not seem to teach enough. Now, saying course does not teach enough is a bit misleading as I am not fully convinced that it’s not the quantity of the material per se that’s the problem but the material itself. Simply put, a lot of the time students can’t find any value in the material.

      Carnegie Mellon students, including myself, are a critical bunch, who are driven by things like numbers, statistics, evidence. To those people, a significant portion of the HCI curriculum is simply hand-waving and it’s not clear how they would be useful.

      Let’s take a look at HCI Methods, arguably the flagship course of the program. We learn several different HCI methods which have all their unique uses; contextual inquiry (and contextual design) to learn more about the users and design for them, heuristic evaluation to find out problems with the current interfaces, keystroke modeling to essentially replace users with artificial intelligence and several others.

      For many of those methods, the process and the deliverable created by the students seem to be more important than what they actually learned or how those methods resulted in a better interface. A lot of the time, you will hear from people, who clearly are more sold on the HCI methods than I am, how they followed the guidelines, resulting in absurdly long hours of meetings and create ridiculous amount of output of some sorts. People brag about how many post-its they used, how they covered the entire floor of the lab with their analysis spreadsheets.

      Note that I am definitely not dismissing the material or the people who are enamored by what is taught in classes. What I have a problem is the evangelism people put out for the methods without providing any sort of evidence that they result in better interfaces or products. The problem simply could be that the it is the evidence that is missing, rather than a problem with what is being taught.

      Real-World Applicability

      This issue partially stems from the previous one. A lot of the material that is taught in the HCI courses do not immediately transfer to real-world. This would not have been a big problem or a problem at all many other fields. There’s some intrinsic and immeasurable value learning for the learning’s sake. In my book, someone who studies in a major just because the material is interesting to them although there are very small job opportunities for that kind of studying is not doing something wrong.

      HCI, however, is not one of those fields, at least in the way it’s presented at Carnegie Mellon. Almost every single class is taught by someone who has worked in the industry in some capacity and it’s presented as a plus. In fact, some of the class material comes directly from companies such as IDEOAdaptive PathMAYA and probably some others I don’t immediately remember (or didn’t recognize as originating from a certain company).

      Now, it might be a bit paradoxical to say that the material that directly comes from industry is not applicable in real life. However, as you might noted all those three companies I listed are essentially small design companies (where I use the design as a broader term, encompassing all facets of design, not just visual design). At best, they would hire a few people each year and most likely as designers. That would clearly leave out a significant part of the folks out. And in any case, my point is that HCI is clearly thought of as a major that helps you find a job or be better at what you do.

      Of course, that would be looking at it wrong, the administration would probably argue. HCI is designed as an additional major where you pick up other skills in addition to those from your primary major. However, that doesn’t immediately jibe with how students sometimes try to perceive it, and rightfully so. Studying HCI incurs a lot of cost; both in time and money. After countless hours of countless meetings and working all night several times, it’s fully within students rights to try to market themselves with their HCI major. I am by no means very experienced in the real world but I do have some idea how things work in certain industries, such as the web. In my opinion, a lot of the skills taught in the HCI major do not come off very marketable, or haven’t been so in my job-search experience.

      That is not necessarily because the skills themselves aren’t valuable or marketable but it’s that they do not add as much value as other skills such as software development, visual design, business. Now, an exception to this rule is program management. Standing somewhere between all those fields, program managers, or PMs as they are often called, are the ones responsible that something that’s valuable rolls out at the end of the day. The product has to work, has to be usable, and provide value to the business that created it as well as its users. This, I believe is the sweet spot for a lot of the HCI majors and fits surprisingly well with the curriculum. Unfortunately, it’d be naive to think HCI should train people for only a certain job.

      Lack of Focus

      I think a lot of the issues with the HCI program is caused by lack of a clear mission statement applicable for an undergraduate program. Let’s look at what [Human-Computer Interaction Institute](http://www.hcii.cmu.edu/about-hcii”>Human-Computer Interaction Institute) (HCII) says about it.

      The HCII’s mission is to understand and create technology that harmonizes with and improves human capabilities, goals, and social environments through interdisciplinary research and education in design, computer science, and behavioral and social sciences.

      This is an appropriate mission statement for an academic institution but a lot of the times this is not refined or adjusted to fit in a bachelors program. Let’s take at the page for the bachelors program. It describes all the parts of the program in great detail but fails to really convey what the major is for. Of course, judging an entire program by a single page on it’s website is a straw-man argument but it still portrays my point that it’s not immediately clear what the undergraduate major tries to do.

      It’d be naive to think that a single additional major could teach someone to be very good at both design, implementation, and evaluation, the three pillars of the HCI field according to the website In fact, out of those three, probably evaluation is the only one that does not have a major field of study that is offered at Carnegie Mellon for itself.

      That brings an interesting point, however. I do not have immediate quantifiable evidence to prove this but my experience suggests formal usability evaluation seems to be a field that seems currently occupied by people who are either self-taught,studied in related fields, such as psychology but not HCI specifically or studied it at a higher level. It might very well be that I have never taken classes that emphasize formal usability evaluation but part of me always wonders how most of the HCI undergraduate program graduates have never done a formal user study (which is observed by the instructors and graded on), have experience with tools such as eye-trackers and such.

      So?

      I should note that doing an additional HCI major might have been one of the best decisions I made at Carnegie Mellon, after joining cmuTV and primarily The Tartan. It provided me with opportunities that I could not have imagined otherwise such as working with real clients on real projects, applying what I have learned in classes to–somewhat–real-life settings. It allowed to meet a group of people who have share the same passions as I do, which have many other side benefits. There’s something just satisfying about being able to just talk with people who are as excited about small user-interface things as you are. However, I want the program to be better. And although my thoughts alone can’t (and shouldn’t) cause changes by itself, I would feel better if they got expressed somehow.

      I think there are two major things that need to be changed about the undergraduate program. First of all, especially about classes that focus on projects (such as Basic Interaction, HCI Project and some extent to SAUI), there should be more focus on delivering actual products or interfaces that can be put in front of someone to test rather than spending inordinate amount of time on doing research beforehand. There are several justifications for this. Although there is a lot of value in understanding what users want or do, it’s an exercise in futility to develop something for the users without having them use it at one point. Moreover and more importantly, the dynamics of actually developing a product or an interface is much different from just creating a mockup or a prototype.

      For example, the designer must not only live in Photoshop but also know what is reasonably possible with the current technologies. The developer must realize that people who are actually going to be using the interface will no almost no room for error or frustration or technobabble. The usability person will have to realize time is of the essence.

      I know that creating something that’s more than just a mockup, is harder than it sounds but I think it’s not an insurmountable problem. Development and creating products in the real world take time too. If it looks like something cannot be delivered as a real product in time, then it should be the scope that needs readjustment, not the fidelity and the quality of the end-product.

      That recommendation goes hand-in-hand with not just encouraging output for the output’s sake but also something that’s valuable to the people who will use the product. The other recommendation is focusing more on formal methods and better evaluation of them. Maybe it’s the fact that I just graduated from the program and do not care about grades anymore but I am convinced that the evaluation of students’ performance in HCI is too generous to actually get students to respect the material enough.

      The End

      As I said, doing the additional HCI major was a no-brainer for me and as I am done with it now, I can definitely say that I am glad that I did it. There are many things that are right about it. However, just like the field itself, this additional undergraduate major feels very rough on the edges and immature at times. Sometimes it tries to do too many things at once and some other times it doesn’t take itself seriously enough. As overly dramatic as it might sound, the entire program feels like it’s exploring what works and what doesn’t sometimes at students’ expense. At least it was fun to be in it this early on. I mean that.

        Times

        One weird thing about success is that it’s really only the success part that is visible; whatever lead that to that success is rarely visible and even if it is, it’s simply not as exciting.

        I recently watched this video; it’s the Mad Men’s intro music with lyrics from Nature Boy. It’s really lovely and as a fan of the show, it’s very enjoyable for me. And fascinatingly, it’s all shot in one take

        Well, arguable. It is one take but instead it is take 29 of that day, apparently. You could very well argue that it took them 28 takes (and quite a bit of luck) to get that one take so perfect.

        So that’s the thing, good stuff rarely just happens; you just have to work your way through all the shitty parts until you get it. Of course, there’s a fine balance between “shipping it” and “getting it right”[1]. However, the point I am trying to make it is that whichever methodology you go by, the first few iterations is probably going to suck.

        This also kind of illustrates how as a culture, of which I am of course a part of, we really value fancy, shiny things more than the work that goes into it. Maybe I am extrapolating here too liberally but every time someone complains about a “small bug” on their favorite website or a “stupid issue”, a little part of me dies on the inside. But then, from a user’s perspective, that is what it is. When you are trying to deliver an experience, each bug is something that takes away part of the magic.

        It’s a hard life.