Goodbye Google Reader, You Will Be Missed

Goodbye Reader. I will miss you.

Back in my PayPal days, with many predictable big-company-engineering idle moments at hand, waiting on hour-long builds to see if I got all my semicolons just right, my friend Wayne introduced me to you. Almost immediately, he and I spent a few moments one afternoon making one the arguably largest contributions I’ve ever made to mankind’s happiness: a better cyanide and happiness feed, just for you (and, well, ourselves..).

A few months later, Wayne declared RSS bankruptcy and shrugged you off for good, or at least for the most part. I suppose, given that you’re shutting down, many other Waynes out there followed the same path.

They say RSS is dead. They say the future of sharing important information is my relatives sharing meme images full or republican or liberal bullshit on facebook. They say this is the way of things, the beautiful future we’re all looking forward to. Thats what they say.

Insiders say you never really gained traction, your target market is too-small, or stagnant, or diminishing. I’m sorry to hear that, Reader, because you are one of my most favorite applications of all time.

I just want to let you know that I really appreciate the work and effort that went into making you, you truly improved my life.

Back in 2009 when you and I first became friends, I was constantly clicking through four or five bookmarks in my browser, dozens of times a day – checking slashdot over and over, and so on. I was wasting time, and learning and growing at a horribly inefficient speed. … then you and I met.

When we first met, I was so psyched to always know I was up to date on the latest slashdot headlines – that was enough right there. Then, a few months later, you went one better and enabled sharing items with friends, and through my friends I discovered joystiq, kotaku, joel on software, boing boing, lifehacker, and coding horror. Later you added recommendations, introducing me to xkcd, the consumerist, and a dozen other great publications that I may have never encountered otherwise. You kept getting better and better, and I never lost the habit.

As time wore on, bullshit corporate ineptitude led to crippling you for no good reason, taking away my friends’ ability to easily collaborate and share great stories publicly – I suppose that’s why we’re all on facebook now, sharing memes full of political bullshit. Taking away our ability to share with each other with RSS sucked, several of my buddies jumped ship then, going to other services or kicking the habit altogether, but you were still indespensible to me – one random user out of your too-small-and-shrinking target market.

I kept on coming back to you, and I’m glad I did. Despite your dwindling feature set and steady-state stagnance, you later introduced me to ars technica, and hacker news. In turn these and other news sources introduced me to gamasutra, daring fireball, damn interesting, bash cures cancer, one thing well, destructoid, the oatmeal, hyberbole and a half, and of course, stevey’s blog rants. With you, I was able to keep up with my friends who still blog something more interesting than the Nth political meme or “like for a cause” idiocy. You and I, we had some really, really great times.

I starred what seemed like a million items, to come back to later, and I kept on clicking that “share” button, even though I knew everything I “+1ed” was going to some undiscoverable corner of a locked-down inferior product. I couldnt bring myself to click “Share” anymore, because unlike all of those political-meme facebook users, I didnt want to spam my entire friends list with 10 items a day, even if your product is a ghost town. I just wanted my friends to be able to see some neat stuff if they liked, so +1 was alright – I guess.

I was bitter about the +1 nonsense, I suppose I still am, but your parent’s ineptitude can’t take away the good things you did for me.

You saved me countless pointless hours opening and reopening a handful of websites, and you introduced me to and allowed me to easily track dozens more. You made me a better person, in many ways. Because of you I’ve learned from a million startup failures, and the occasional poignant story of a life well spent. You’ve inspired or entertained dozens of my friends whenever you showed me something one of them would have loved. With your help, I’ve become a better husband, brother, and man, because you have so often shown me or taught me just one more small thing that adds a new little piece of me, some new nugget that furthers my understanding and appreciation of this beautiful world.

Alas, sometimes good things come to an end, and that’s a damn shame. For me, there’s kind of a silver lining, you shutting down has inspired me to make something worthwhile with some of those great tips and resources I found while spending so many moments with you. Indeed, your shut down has been a catalyst in my life to make the world just a little bit better than it would have been had you just kept on keeping on. For that, I thank you.

You’ve also taught me the true meaning of the phrase “there’s no such thing as a free lunch”. Losing you has taught me the value in paying for services where a company has a vested interest in maintaining the product. Losing you has taught many of us the perils of trusting any non-mission-critical product offering from your parent company, or any company at all.

I dont’t blame you, Reader, for throwing in the towel. A recent lesson in my own life is that sometimes you build something, knowing it will be incredibly useful and bring joy to many people, but without ROI, further investment, or even keeping the lights on in a steady-state can be a losing game.

We had some great times together, my friend, countless quiet moments spent learning about something new, something tragic, or something inspiring together. My life is and was improved by you, Reader, and for that, I thank you.

Goodbye Reader, you have been a great friend. You will be missed.

Music: iredescent

Loss is a sickness.

We lose stuff all the time, our keys, loose change forever embedded into secret areas of the couch, occasionally, our wallet. Some stuff matters a little, most doesn’t matter at all. What we do not lose so often, for better or for worse, are the things that matter.

It may seem good fortune to live a pristine life of luck, free from true loss, but in a sense, a life without house fires, theft, or death, is a heavier tragedy than a life with those experiences. A life without loss, is a life unlived – a life of innocence and ignorance, a blissful experience missing the bigger picture of truth: the simultaneously tragedy and beauty of the human experience and mortality.

Everyone experiences loss and reacts differently, some people hoard or collect, some detach from others, some become health nuts, some install 85 fire alarms, some click backup buttons.

When you have the sickness, it presents in a million weird little ways. Some, extreme.

A well-adjusted soul would backup their data fairly often, after losing the wedding photos forever. Someone with a touch of OCD (myself) would have a big red button to backup at any time – and click that button all the time.

“If those files are duplicated now, I will feel better, and sleep easier.” – this is how it starts. The big red button is clicked, and for a few moments you hold your breath, wondering if today will be the day the hard drive failure happens between ‘save’ and ‘copy’. Inside yourself, a small insane voice somewhere between the concious and subconcious screams “Click the button now, because I’d rather know I’ve lost something, than wait in fear of the inevitable.”

After experiencing loss, every successful moment without further loss feels, in some small way, like a high point of your life – especially when you can get just a little more mileage out of your delusion of control over your life and existence.

The thing about loss, the sickness, is that it ebbs and flows, like the ocean. Some days you’re hitting that big red button frantically, like a maniac, and some days it’s just not on your mind.

Like all things, when it hits, it hits hard.

You lay with your spouse in bed one morning, one of those rare days you wake before her, and because you’ve experienced loss before, you both appreciate and loathe the moment, because you know that this moment, too, will pass.

Not until you’ve truly experienced loss, and wasted far too many brain cycles on the topic, does this become clear: Nothing is forever.

Time moves forward, endlessly, and, after loss, after gaining the sickness, mortality becomes more than a word – your inner immortal superhero delusion gives way to a truer, bleaker world view – you realize that you are, truly, finite. As is your dog, your job, your friends, your family, your spouse, your children, your story, their story, our story, the human race, the earth – down and down you go, there is no bottom – all is finite, except, of course: star wars.

You will spiral down, down, down. You’ll checkmark your stages-of-grief list, with an optimistic hope that these stages being experienced are a sign of progress and this will be over.

And at some point, 10 leagues beyond what you thought was the bottom of the spiral, it feels over, and grey gives way to color and you’re alive again. At that point, the point where you’ve redefined what pitch black truly is, for the tenth time, you’ll come back up and out. You will find structure, and your life will move on.

For some, like an alcoholic unable to take the reigns, religion, the idea of heaven, will provide the scaffolding, the ruleset for structure in life moving forward. God bless you, if it’s that easy for you.

For others, unable to put a levee up to block curiousity, imagination, empathy, and thought, structure comes with greater effort and cost.

Regardless of your faith or lack thereof, your structure in life after your moment of loss may always feel like a house of cards. Where before there stood a rose-coloured castle of ignorant bliss that was impervious to common sense, now you’re rebuilding castles made of sand, all the while watching the tide rise.

You will still have those days, those moments, awake before your love, alone with birds chirping some morning – where it all comes back with lightning speed. For those moments, like all moments, we make a choice of interpretation, a choice of perception. “Should I dwell on the tragedy of existence, or use this as a catalyst, a reminder to maximize my personal experience – to let that which does not matter, slide?”

The other side of loss, and the spiraling plunge that follows, besides these little OCD quirks about the fire alarms or backup buttons, may be a hard-to-swallow realization. You may come to understand why utopia and heaven cannot exist without a dark secret or hell. There is beauty in tragedy, failure, and loss – a terrible, horrible, necessary beauty. Without your personal hell, without your tragic loss, your moments of bliss just wouldn’t mean as much.

After loss, a new, better, you will rise like a phoenix from ashes, with a fuller, truer, understanding of what is and always will be. Without your personal tragedy, turning that corner from immortal superhero delusion would not happen. Indeed, your loss would never become the catalyst for your next beautiful chapter – those magical moments that will be just a little brighter and more vivid than those that came before.

Without this terrible moment of your past, a million amazing and fantastic moments to come would be missed. Without your loss, you would not today be able to see and experience your personal story as clearly, deeply, and vividly – you’d still have those silly rose-coloured glasses, and be missing the whole point.

All photos are my own. I highly recommend the following works, to anyone who has experienced or hopes to understand the beauty and the tragedy of loss and the human experience: The Watchmen, The Tree Of Life, Safety Not Guaranteed, Lateralus, Mer De Noms, and the song Big Machine.

Linus is no fool.

Linus is no fool, he knows the key to marketing success is having people constantly talk about your product. So, the most successful product idea ever is obviously a version control system so complicated that every engineering conversation ever for the forseeable future is dominated by talk about his product, such as “Well, I’d love to share my files with you, but.. well, how do we do that again with git?”.

fix2x.sh – automatically create/resize @2x and non-@2x images for IOS

Oh, you think meritocracy exists? Tell me more about how you’re always overlooked.

So you want to talk about meritocracy, and how hard work will pay off, and justice will come your way someday? Cool story, bro.

My turn, let me start with a little story that’s slightly less crazy than your imaginary meritocracy pipe dream – something ridiculous about growing up religious.

I grew up being an ungrateful little shit, coming from a long line of ungrateful little shits, growing up religious in Texas.

Don’t get me wrong, I didn’t have to be an ungrateful little shit – after all, I was born a white male, in America. A lot of my first-world-problems complaints in life have never really amounted to more than this:

Religious in the South should be qualified, because down here religion can sometimes (or sadly, often..) be different than religion may be in other, more sane, areas of the world. Our god was the god of perpetual disappointment, the god of lifelong imaginary toil and punishment, always teaching us some lesson or another through some perverse self-deluded belief that things not always going your way was god’s way of saying you’re not good enough.

In many ways, our god was the “God of America”, that is, the god of the american dream – the god behind all those oddballs out there thinking if they stick to the rat race long enough, work hard, pray, and get along more often than not, they’ll win the lottery and be rich. – the very same oddballs who vote republican against their own self-interest and the interest of their country and brothers, because if they win that lottery, a high tax rate for the betterment of others sounds like it’s really going to hurt. In other words, our god was the god of irony, never you mind the bits of scripture about helping your fellow man, let’s get rich!

If you can’t tell by this point, our god was the southern baptist god, the god against fun, and, basically – against everyone, it seemed. Generally speaking, life under our god was a struggle, for no good reason. Even when things were amazing, enjoying anything, ever, felt like some sort of sin. When you lost, god was punishing you, and when you won, it was because god did it, there was no such thing as personal achievement – it was weird.

To put it lightly, I learned some really wacky belief and faith systems early on in life.

It’s wasn’t all bad, not at all. Growing up religious meant I learned a whole lot about having structure in life, and to think about the big picture, a lot. When your god is the god of keeping score, you think a whole lot about every little misdeed, and wonder if the last will be the one to do you in for good.

Another positive: my parents and religious friends were not only religious, they, like me, were also human! That means they weren’t perfect, which means they slipped up from time to time.

Fortunately, and, paradoxically, the god of brimstone and hellfire and eternal punishment is also conveniently eternally forgiving whenever you feel like he should be. Convenience god for the win!

You just say a little prayer at night, asking god to help you be better next time, and because he’s in charge of you and everything ever, you dont really have to actually put in the effort to change yourself for the better tomorrow, because whatever happens is god’s plan, right?

Instead of putting in the effort, you say your part, chant your dogmatic little bit for the millionth time, brush the feeling of guilt off your shoulders, and wake up with a smile the next day, ready to point your finger of blame and play the church version of keeping up with the jones’ another day.

Back then, life was, seriously, quite easy. Especially with such a nice little loophole as a corner stone to our wacky warped little way of seeing the world. You chew your charcoal teeth, judging everyone else’s pearly whites, and continue the cycle until the reckoning (day of final judgement, which you’ve been practicing for for your entire life..) comes. All the while, so happy to be in the exclusive hip little club of ungrateful judgmental white people on god’s side.

At some point, the hypocritical paradox of religion in ‘Merica began to bother me, and, I discovered rock and roll. True story.

I found the rock and roll tunes more relatable and honest than a thousand pages of whatever-you’d-like-them-to-mean/revised-by-imperialistic-kings parables. The tunes’ lyrics seemed to come from an ironically cleaner, purer, and truer place of wisdom – this make sense in retrospect, because, you know, every band’s really good stuff is the stuff that comes from a place of honesty, before they make it big.

The heavily-revised modern version of the bible is alot like those other tunes, you know, the ones written by committee and evaluated for chart metrics. In other words, discovering rock and roll for me was a lot like spending your whole life listening to Nickelback, and then discovering Tool.

Some really great rock tunes planted the seed – and in time a great inner turmoil sprouted – believing in a cowards’ god was easy. If life sucked, we blamed god and were oh-so-helpless to change anything about our lot in life, because, gosh, god just wanted things to always be the way they were. But, when I thought about it quite a bit, believing in a god of convenience was easy, but it was a cop-out, and false.

Our god was the god of shifting the blame.

Our god was the god of shifting the responsibility.

Our god was the god of cowardice, the god of a spineless fool, too scared to ever try and be something or make something happen.

Sound familiar?

From that point onward, it was the same old boring story you’ve seen a million times before. I started asking a whole lot of “why?”, and bickering with my friends and family about our god getting ten thousand prayers about the football game on sunday, but a smaller percentage about world hunger.

Eventually, I was born again.. again. To anyone who’s been through something of the same, I highly recommend just about anything MJK has ever done, you’ll enjoy it, because his personal story is the same as yours.

I decided to ditch my parent’s twisted merit-based belief system from hell, and decided to embrace the random chaotic universe – and find another way of looking at things.

Starting a long journey towards a different personal belief system that worked better for me was not easy. There was a whole lot of “if there’s a god, why would he do such and such, so there must not be one”, then as I grew older, I learned that sometimes beauty is hidden in tragedy, and that there’s a lot more to life than everything always going perfectly. Without a rainy day, you’d never notice the sun.

.. So maybe there’s a god, or gods, after all? – I just, personally, don’t really care for any of them if this is the divine design. I’ve seen software written better than this.

In time, I settled into a live-and-let-live style belief system. Identifying as agnostic to some extent- that is, I don’t really care who’s right or wrong, or if there is or isn’t a god or gods.

To me, everyone has a right to their own personal belief system, even if it does them more bad than good – every man’s story is his own journey, and you’re free to find your own way and happiness in this existence, I think. If you want to believe in the rat race and that hard work with minimal fun & enjoyment pays off in the end because you get a gold star sticker from god for being better than everyone, knock yourself out, doesn’t bother me. If you want to actually follow the teachings of your christ, or the buddha, or whoever, or whatever – cool.

Turning a corner in terms of personal belief did not automatically make me a better person, hell, I’d argue I became a worse person, for a good long while. I, like any good christian, or former-christian, took the parts that worked for me right along to my ‘new life’, and left out a lot of the harder parts.

I found the lifestyle choice of being a pessimistic self-involved little asshole easier than putting the thought time in to *why* I was so pessimistic, so I brought that right along with me. Calling myself, cutely, a “realist”, and rejecting silly optimists as silly.

Another thing I brought along with me from before was that more often than not, I rode proudly onward on a bullshit high horse of self-delusional judgement and holier-than-thou. I had everything in life figured out, and was kicking ass and taking names. I knew the politics game, and had seen the other side of dogma. I knew ALL ABOUT life (right?..), and that being a good person, or at least better than others, was, truly, just telling a good story – just marketing.

The self-marketing lifestyle worked really well for me, and still does, more or less. I learned early on that, sadly, life can be a lot more about spin, than truth or hard work. You can run with this, and learn from this bitter truth, or spend a whole lot of time decrying it and being upset over it – and find yourself in the same place in the end. Spin works wonders for you, as long as its grounded, to some degree, in truth – until someone calls your shit.

Growing up white male american, with nothing more than first world problems, I didn’t really understand what it was to truly want something. Not just want something, but want to truly DESERVE what you want.

I didn’t know what ‘want’ was.

I had good-enough grades, I got into college, I skidded along, and landed a really amazing job in the big bad corporate world of big-brand software. My biggest fear in life, ever, was having to make it on my own if my ever-disappointed parents ever made good on any of their good-christian promises to disown me for this grade or that.

Then, I met my wife.

I went into meeting my wife pretty confident and arrogantly – still riding my high-horse of convenience, constantly feeling a hot-shot for this or that. I was still a software engineer, of course, so, predictably, I wasn’t really a hot shot with the ladies, but I felt like one anyway.

Here’s how it happened: I wrote up some random missive for the Nth time on craigslist, utilizing my gift of spin. Dudes, let me tell you, if you have a heart, a brain, and can write, craigslist is a guaranteed-win – it’s like shooting fish in a barrel when every other post on there is just aiming at the predictable cliches. The problem is, there aren’t a lot of winners out there – so you go on some dates with some of these people and your mighty steed, that high horse, gets bigger and bigger. By the time I met Amanda, I felt like god’s gift. By that point I had convinced myself I was ready for the real big leagues, no more N-year girlfriends, no more half-in/half-out bullshit, just ready for something real.

Then I met her.

You’ll never understand what I mean here until it happens to you, and man, I hope this has or will happen to you – I’m just like you, and everyone else, all I really want is to love, and to be loved. I fall in love easily, and just like every true american, I’m the best thing ever – so who the fuck is so and so to say my shit stinks, right? Then you meet a real, genuine, responsible, honest person – and, if you have any goddamn wits about you at all, you feel like you hit a brick wall at highway speeds – who the fuck am I? Right? Right.

Before I met my wife, I had *never*, never met anyone worth a damn. I say that with absolute honesty, and let me tell you, I am fortunate enough to have more than a few amazing people as life-long friends, *all* worth more than a damn – but this kid was in another league. Before her, I had told myself I was ready for something real, ready for “the one”, and then, on the very first date, I met “the one” – and immediately had an unexpected reality check.

Never before her had I had this primal fear in the pit of my stomach, this sickening understanding of how false, fake, shallow, and immature I truly was. And, here’s the thing – Amanda, my wife, is the sweetest person in the world – she didn’t say a damn thing to make me feel that way, and, well, that’s kind of the point. I’d done the longterm he-said/she-said girlfriends before where you’re both judgy mcjudgerson and too prideful to truly give a shit – I’d had the girl who checks your shit all the time to make herself feel better, and really, that’s okay, because you know you do it to her too – it just feels good in this really horrible way, right? Right. Amanda wasn’t that.

Amanda and I didn’t meet to become husband and wife, in fact, she was convinced we weren’t each other’s types – it was just a casual coffee, and after that very first date I went home with my head aflame in paranoid fear. Here was someone worth hanging on to, someone worth a damn – and immediately the self-delusional spin and hype of ‘being ready’ for something like that collapsed. Suddenly I knew what desire truly was, what it was to not just want something, but deserve it. Suddenly, instead of being the sure-of-himself yet-another-asshole – I was the guy who needed to grow up real fucking fast, and do my damned best to ever be 10% of what a woman like that deserved.

I’m still trying, and failing all the time, nearly 5 years of marriage later 🙂 Fooled her!

Meeting Amanda felt like losing my religion, all over again. It was immediately clear that I needed to be next-level, and leave the asshole-me behind.

A few weeks after meeting Amanda, I met her parents. My future father-in-law, Dennis, was this really funny and awesome guy. He’s the kind of guy that when he tells you something, you have this feeling it’s 90% bullshit, but somehow, deep down, you completely believe him and every little story he tells. I can promise you that I truly believed him, very deeply, when the first thing he mentioned to me upon meeting me was that Amanda grew up in the desert in California, and that there’s a whole lot of desert out there. He told me that I needed to go see it sometime, so I could understand just how much there really is – he said people go missing out there all the time, and that, if I ever mistreated his daughter, I would really understand just how that happens. Then, he winked at me, and laughed.

The thing about my father in law is, he’s just like his daughter, he’s the nicest guy in the entire world, and there’s just something about him, and his kin, that when they say something, or you meet them – you just get this primal intuition that they’re the real thing, in all ways. Whether it be being the most amazing woman in the world, or the not-bullshitting-you-at-all-about-that-desert-thing father of that woman, these people are legit. You look at these people and you see right down into their soul – there’s a real honesty there – to a terrifying degree, in more than one way.

Almost immediately, Dennis and I became good friends, both having this super-serious on-edge slightly-off-the-rocker intensity, and the gift of telling stories, the gift of spin. He was this really great, genuine, down to earth blue-collar guy – and I loved that about him, but I was also confused.

When I met Dennis, he was a bus driver. He didn’t have any goals or aspirations it seemed, and that seemed good enough for him. Coming from a long line of overachievers with constant guilt and disappointment in one’s self as a way of life, I was extremely interested in how Dennis, the bus driver, was so happy in life, when all the white collar american-dream sell-outs I knew, and was, weren’t.

How could one look at one’s self in the mirror, as a bus driver, and be happy? Impossible.

As time wore on, I spent a lot of time chatting with Dennis, and I learned that in actuality, he’s seen it all, he’s been there and back – and to my great fortune, he tripped into my life early enough to tell me all about it.

Dennis didn’t go to college, and he married himself a polish wife who could cook. His wife was one of 12 children in a catholic household in the truest sense. To his wife, religion isn’t something you shove in everyone else’s face and one-up everyone with, it’s a personal, private thing that’s really quite beautiful – had I been her son instead, I probably would have had the very same genuine, sincere, honest, and kind demeanor that both of her kids have. Having 11 siblings, several who die as a matter of statistical probability, teaches one early on in life the difference between ‘Merican “want”, and reality.

Somehow, somewhere, Dennis picked this same understanding up along the way – though I’m not sure where.

He may have picked up his kind and gentle understanding of the way things are when he was doing EMS for a number of years around southern California, rushing babies to the hospital to be born, and scraping some unfortunate soul off the highway after a horrendous accident the very same day. Driving EMS, he saw it all, truly, all of it. That first real career opportunity opened his eyes, at a very young age, to the reality that the world is both beautiful, and tragic, all at once. I can’t say for sure, but I’d wager those experiences also taught him early on that life is what you make of it.

A few years later, Dennis started his own small business, repairing and customizing wheelchairs – also a humbling experience, working with and improving the lives of the less fortunate. Dennis was rewarded, well, for his entrepreneurial spirit, for taking the risks you have to take to go make something from scratch. Years, later, at the height of his career he was making several hundred thousand dollars a year, as a primary vendor for several prominent southern California hospitals. His risk, and enduring kindness was paying off in big ways – until it didn’t. Sometimes someone bigger moves in with an inferior product, but has the right political muscle, or price, or chinese knock-off supplier, or whatever – and capitalism rains on another parade.

For a time, Dennis had it all, then he didn’t. And I’m sure that stung like a motherfucker, but when I met him, years and years later after the fact – he’d learned a really hard lesson from his rise and fall from fame – life is, truly, what you make of it. Being there and back, Dennis doesn’t give a shit what you think about the fact that he drives a bus now. He has a part time gig, not a whole lot of money to his name, and he lives a happier life than a whole lot of other people I’ve known. Dennis made his mark on the world, and improved thousands of lives in the process, and he’s put in his dues. Nobody can take that from him, the sense of making something from nothing, doing a whole hell lot of a good with it, and being okay with it all when the spotlight moves on.

In recent years, I’ve been a bit of a risk-taker myself career-wise, again setting out on a journey into the unknown to figure out what’s just right for me, when what I fell into before wasn’t working out quite right. In many ways I’ve been quite successful myself, thanks, in part, to hard work, but more-so, thanks to dumb luck. There have been ups and downs in my own personal story, and a stupid amount of time invested in thinking on what success is or isn’t, until I came to the conclusion this past summer that success, for me, is making the world a better place than it would have been without me.

I think, in a lot of ways, that’s Dennis’ personal metric of success as well. The banks may not give much of a shit about Dennis’ retirement account, and if he gave a shit about keeping up with the jones’, he’d have a struggle, but, that’s the thing – he doesn’t. He’s already lapped the rest of us, so self-deluded in our score-keeping game like our popular vengeful god – Dennis has seen the other side, kicked ass, taken names, and, I’d argue, done the world more good with his own short-lived career than the whole of any church I attended as a child.

I’ve found, one of the finer points in life, is being able to look at yourself, and your accomplishments, with pride. This sounds easier than it is. Finding a point of pride can be *incredibly* difficult when you believe in some false god equation of merit equaling success. If you limit yourself to an overly strict, and detrimental, belief system that hinges on merit with some big pay-off at the end- you’re going to be let down, over, and over, and over again.

Often times we are taught pride is a ‘sin’, or bad thing. Indeed, growing up in a religious household, I felt fairly often that one should be kind, and humble in all things, always – and never prideful. But, in time, that was one bit about our religious views that really bothered me – there was never room to celebrate an achievement – because acknowledgement of an achievement was to turn from the one-true vengeful god. Our reward was, always, waiting, in heaven – or so I’m told.

Insane, right? Waiting on a silly achievement trophy, never taking a breath to appreciate or celebrate personal success. Madness – and yet, some variant of this sickness is in so many of us that we don’t even think it odd. Many people downplay their personal achievements, rather than celebrate them – because they never got the credit they were due, because their version of ‘reward in heaven’ didn’t play out the way they thought it would.

If you’re waiting for a reward, you’re wasting your life.

So many coders I’ve met have these weird hang-ups about the one that got away – the one time they were right about some big project decision, and were unheard, and then vindicated in the end – without credit. Sometimes the story ends there, sometimes it’s even more perverse, with a massively successful product going well, with a whole bunch of credit-takers (or, perhaps, people with a sense of pride?) putting their name in the blank for who deserves the credit. These guys without the pat-on-the-back they always wanted can never see themselves as worthwhile, or take pride in their personal accomplishments and contributions, because they’re waiting on a gold-star-sticker to come down that they’ve always been told will come.

I’ve seen it over and over again, it’s always some guy with jaw-dropping talent and amazing personal achievements, who can never be convinced his efforts are good enough. Nevermind convincing him that his achievements are more than good enough, they’re usually better than good, they’re fantastic – but, it’s impossible to get through. Someone always took the credit, or someone had the idea, or someone worked harder, or was in the right place at the right time, there’s a thousand reasons, and they all boil down to one simple common coder fault:

Coders *love* the idea of a meritocracy, that is, hard work equates good fortune.

Hard work does not equal good fortune.

Trapping yourself in a self-limiting belief system of meritocracy is only going to disappoint you, regularly. If you’re lucky, you’ll have a great manager, or friend, who will see achievement and let you know about it, but no amount of praise from those who count will be heard if all you care about is receiving that pat-on-the-back from the assholes who don’t acknowledge you.

Never grabbing a hold of your own life, and achieving your true potential, because you’re waiting for your pat-on-the-back from some credit-taking scumbag is just about as crazy, and certainly as lazy, as believing in a coward’s cruel god.

When the credit-takers increase, and your 2 man project turns into a 5 man project with a dozen other management-types billing the same account, and you don’t get credit – it’s time to reward yourself – it’s times like those when you need to sit back for a minute, and think about where you came from, the good fortune you’ve had, take great pride in your achievements (or failures!), and plan where you’re going next.


(above photo by Morgan Elizabeth)

Sure, it feels great to tell yourself that you deserve better, and whine about how you’re always overlooked for the promotion because you don’t kiss the right asses. That stuff feels great – but it’s a disservice to yourself, your team, and your company. Instead, I suggest you drop the false god of shifting the blame, your false god of convenience, and grow a pair.

When you’re ready, you’ll need to spend some time thinking about yourself, and what you want, and find a little place in the world that matches those goals. You’ll have to endure conflict and the reality that when you face conflict, sometimes you lose, but remember, you’re likely a white male american, who sits in an air conditioned building, with great computer equipment, reading hacker news all day – your company’s political “conflicts” are a joke, and weathering a few of them rather than shying away like a coward with the blame-finger will strengthen your character.

Having a hard time growing a pair? I understand, I was an lazy asshole on a high horse too – until I learned the difference between wanting something and deserving it. Do you want a better life story, or, do you deserve it?

Dennis has this great piece of advice that he calls ‘the five second rule’. It’s not the five second rule you know – Dennis five second rule: “your whole life can change in 5 seconds, that’s all it takes.”.

My corollary/addendum to Dennis’ rule is this: “Some things happen because they will, and some things happen because you make them happen.” You can let life come at you, passive-aggressively complaining all the while, blaming some god or silly idea of merit when things don’t work out the way you wanted, or you can make your life your own.

Leave the meritocracy that may, or may not, exist behind, take a breath and celebrate your personal achievements as well as those of your friends and family. Don’t wait up or waste your life worrying about some lifetime achievement reward that may or may not come for your poor little white male american soul with so much suffering – make your story your own, and make a dent.

Music: Puscifer – The Humbling River

A Trillion Dollars & E.T.

Music: Blonde Redhead – 23 (the song)

This is one of those fun, or, perhaps, overwhelming number games. It’s going to be like the drake equation, where we’re throwing numbers around, stacking assumption on assumption on assumption, and surely several assumptions will be wrong, and the number of zeros will get quite insane, but in the end the point will be: there’s life out there.

The other day I was at a concert with my wife, for this phenomenal one-man-country-blues-band called ‘Shakey Graves‘. This guy’s amazing to see live, super intense, and supremely talented. He left his guitar behind at the last show a town or three over, so he had to rent some equipment that night. Naturally, his rental equipment popped a string or two during the very first song, so he took some down time between songs to fix the situation.

While he was switching instruments, I took a look around the venue (The parish, aka the best sounding venue in Austin, ever). The place was packed, probably 500 people, easy. Lots of people for the amount of space.

I got to thinking about how different people might look at a crowd of 500. I wondered what an economist would think of this situation, and that’s where our story really begins.

An economist might try to guesstimate the total net worth or yearly income of such a crowd, I thought. Not everyone works, sometimes someone’s a stay-at-home-spouse, sometimes someone’s unemployed, and so on, but what if, on average, each of our 500 people made $50K a year. How much yearly income would we be tossing around for the crowd?

$50K * 500 = $25 million dollars, per year.

Not everyone earns 50K per year, for example, poor Bill Gates only makes 25 million dollars every 3 days or so. Certainly many people earn more or less than $50K per year, but we’ll just call 50K a decent average.

$25 million dollars, for 500 people, per year, every year. If we do the math, assuming a 40 year consistent career, this crowd of 500 people with zero unemployment or non-working fathers or children in the headcount would collectively earn $1 billion dollars over the span of 40 years.

A billion dollars of total lifetime net worth, in that little room of 500 people. Think about that for a moment.

Of course, Bill will earn this much in about 120 days – 20,000 man years of decent-wage income in 120 days, not bad.

Still, even with all of his massive wealth, Bill couldn’t buy New York City, with our idealized ballpark math, 10 million New Yorkers bring in $500 billion per year in personal income, more than 10x Bill’s total worth – every year. Throw in Los Angeles and we’re at $1 trillion dollars per year in income, for two cities, 20 million hard-working citizens.

The math sounds all wrong because we’re not accounting for unemployment, or families with one income, and so on, but remember, the United States has about 300 million people. In an ideal simple math 50K per head world with 100% of the population working, thats 15 trillion dollars a year in personal income.

Coming back down toward reality, there’s a whole lot of people who aren’t working: children, elderly, disabled, stay-at-home-hobbyists, and so on. Some families have 4 children, some have none, and such. For 2011, an estimated 150 million taxable households existed, with 70 million paying no income taxes that year, if we say each of those households had our 50K estimate that’s 7.5 trillion dollars of income per year, or 300 trillion dollars over a collective 40 year career.

With a flat 20% tax rate (if only..) for that 300 trillion, the United States would have 60 trillion dollars to work with over 40 years, or $1.5 trillion per year, which is, about right.

$300 trillion dollars in lifetime income, with 1/300,000th (or, $1 billion) of that income represented by a sardine-tin venue packed with only 500 people.

The world is sometimes both very large and very small, all at once. I think Drake was right, there’s a lot of life out there.

Waking With The Sun

Music: Blink 182 – Pretty Little Girl

.. It’s time to switch from our designer’s credit card to the LLC’s, because, we’re lucky enough to have enough income that our LLC credit card can cover that no-longer-free Amazon VM.

Adam tries his best to convert non-straight-forward AWS pricing structures into toddler level english, so idiot peer, me, can understand what the hell we’re looking at. He repeats himself 3 or 4 times, switching back and forth between 3 tables that might as well read ‘lorem ipsum..’ on them – it’s all greek to me, when he switches to hard numbers from our past month’s hosting to translate gigabytes to dollars – we both stop talking.

That’s not right, 90 gigabytes in transfer last month?

What the hell. We’re being hacked, or trolled somehow, I’m sure.

Adam’s smarter than I, so he starts poking at something more realistic – that damn hip mongo db instance we have running for another side project – the hip shit always goes out of control when it matters, doesn’t it? I ask him, “remind me again how we convert hipster cred cool points from two years ago into actual cash to pay for this POS going out of control on us?”

He kills mongo, and brings it back up, does some unix kung-fu that makes me look like a toddler, in 3 seconds he’s determined it isn’t mongo, but something is pushing 60+gbits per second somewhere, what the hell is going on?

I’m out of my league, I dont even understand what magic command Adam just used to ascertain XYZ bandwidth is going somewhere, so I open up chrome and start poking around at websites. Damn, our website, the one for the pretty picture viewer for iPad and iPhone, has a lot of pictures on it, in PNG, and is a 1.1MB splash page – that can’t be it.

Our designer hears this and picks up on something she can fix – converting to JPG because perhaps, for the first time in our personal hobby careers, that matters. Adam and I tell her thanks, but shrug her off, because we’re smart developers and already know its more than that 1.1MB splash page. Thanks anyway, silly designer.

Adam pokes more, odd that there’s a constant 60gbps flow going over imaginary pipes. He does some mental math, wait a minute, 60gbps would translate to a monthly usage of terabytes upon terabytes. Wait, what?

Turns out Adam’s not as immaculate as he seems, we were accidentally looking at localhost traffic, imaginary bits moving really REALLY fast from one file to another on our box, consistently. This is weird, but not what translates to a transmission usage bill at AWS, so that’s not it.

We do some math on spotlight’s shortcut for calculators, fighting with each other over putting more parenthesis into the equation so we dont have to worry about operator precedence (I want more, he wants less).

Meanwhile, the designer’s cut the big graphic down to 1/4 the size without any visual quality loss, thanks much designer, we’re busy doing real work here, leave us be!

We poke more, tail the apache log, sorry, not apache, Adam’s got that hip nginx in there. I think of another hipster cred one liner here but keep it to myself, opting instead to be marginally helpful. We tail it, and watch – we don’t see anything funny, after a couple of minutes all we see is 4 hits on our webpage. 4 MB out that way, mongo’s down, what is going on here?

Two senior software engineers are stumped. We poke at ‘top’ for a minute or so, nothing crazy on the usage – where is this 90 gigs of traffic coming from?

Now we’re both getting to the paranoid point, throwing grand/insane/impractical theories around – most of these assuming someone gives a shit enough to try to hack our little webserver with nothing of value on it.

The designer pitches in, the website splash page size is down by half, in, what, 5 minutes? That’s good news, I guess.

Then it hits us, wait a minute. We’re clocking 3K hits a day now, thats 90K a month, 90K at a megabyte a hit, that’s right around 90 gig.. isn’t it?

Adam and I catch our breath, well, we figured that one out, didn’t we? Classic too-smart-for-any-good engineering, blaming all kinds of weird super technical imaginary beasts for something we’re sure can’t be right.

Suddenly I realize how software gets the way it gets, in ten minutes the designer has done something super useful, and the two senior software engineers have mentally engineered half a dozen highly complex and completely wrong solutions to a non-problem.

We laugh at ourselves, and thank our designer for actually doing something useful – which was more than we had done, clearly.

Later, we spend less time scheming our next month’s work than we did worrying about imaginary hackers – we’re a well-oiled, highly performant little machine at this point.

We show the designer the elaborate fancy software tricks we’ve pulled off in the next little product, and she’s unimpressed – immediately pointing out half a dozen idiot-level flaws in the usability of our immaculate designs.

We all immediately agree on every point she makes, not because she’s hard to work with or anything like that, because she’s the best designer on the damn planet – it’s not her fault she’s always right – it’s just a shame she has to work with peanut gallery morons like us, with our fancy software degrees and enterprise experience and so on.

If designers could code, well, it’s like if women could create babies without men. It’s exactly like that, actually.

We finish up and I drive home, thinking how it’s funny, this is another first, the first time any optimization made to my own personal software actually makes a difference. A dozen failed self-published software experiments before, and generally acceptable performance built in as a standard, but never has success grown so large that any of us have had the choice of “hey, we could save half our hosting cost by optimizing some jpgs” – this is cool.

It reminds me of the time we stayed up all night in July, just after releasing the app on iPhone, free for the first week.

We hit the app store release button, and immediately all three of us were glued to our phones, searching “tumbleon”, and for more than an hour receiving an app store default response of “did you mean tumble?” – for some reason this cracked us up.

All three of us, we were so excited to launch this thing, sure we’d be insta-success, just like we were sure the time before and the time before that, and not to mention the one other time – we were beside ourselves, almost delirious. It was probably 8pm.

An hour or so later, the auto-synch script somewhere on the app store servers kicked over and the word “tumbleon” started meaning something on iPhones. Adam logs onto the server, curious to see if any one gives a shit.

“Jason, you should look at this.”

.. The logs are rolling with activations. Every 30 seconds someone’s downloading our baby and discovering something amazing – at this point delerium has given way to pure insanity.

At this point marketing, if marketing existed, would be telling us to shut the computers off and race downtown for a celebratory night of drinking – we don’t have marketing, and do things our own way when we party:

I (the not-amazing-unix part of the amazing duo) put together a small bash mess to remotely tail access logs and automatically play a super mario “power up” sound when an activation hit, and play the chorus to that “party rock” tune when a paid activation hit. Every few minutes something’d hit and our skype conf call would echo cyclicly as each of our computers caught the hit and made us smile.

I can’t remember how many years I’d thought of having a moment to actually write and appreciate a script like that, but for years and years I’ve secretly wanted to have that moment, and that night, we did.

That was also the night we discovered Google Analytic’s neat real time feature. For the first time ever, something we put out was tracking enough traffic that we could almost always see 5 people on the site from different areas around the world.

We stayed up through the night, or at least Adam and I did – I’d waited too long for this day to come, and I knew, in my gut, this may very well be a once-in-a-lifetime moment that would not come again. Skyping beyond the delirious hours, into patent insanity territory – and somehow, Adam, the machine, was still cranking code on something or another – I was just proud of myself for making something (the sound script) kick over at all while being so excited – so I stopped there, and soaked in the glow.

Adam was using the excitement as fuel for his next big whatever, and I just sat back, distracting adam with random hilarious whatevers and watching two windows on my second screen – google analytics, and the logs, rolling.

6 or 7am hit and we finally called it – that was it, one of those rare moments you’ve dreamed of for years – and when it hits it’s just as good as you imagined – you just soak it in and let it unfold, as if in slow motion, for hours.

A week later, the sale was over. Some 2,000 people downloaded the app, and the logs and google analytics died, predictably. That was it, our moment, our delirious insane ‘this is it!’ moment – just like that it was gone.

A few crummy, grumpy weeks later, we’re coming out the backside of yet another of our cycles – at heart we’re optimists, even the king of grumpy grumps, my good friend Adam, is really a dreamer at heart. We theorize something new and give it another go, this way or that, rinse wash repeat and teach ourselves to appreciate the good fortune we’ve already experienced. We are so lucky – and we realize that.

And yet, human nature kicks in from time to time, and we’re wanting more and more – and despite our dirty little contemptuous/greedy hearts, it just keeps on coming.

A few months later we’re posting that 100 million photos have been viewed in the app in 6 months, up from about 100K a day in early jan.

A few days later out little ticker hits another milestone – one million photos viewed in a day, the same day the budget cuts hit and I’m laid off.

Again with the delirium – it had been that part of the cycle, we didnt know our next move and when the layoff news came I couldnt think of even 20 hours to drain into TumbleOn version next.

I text my friend Adam: “we hit a million today, and also, I got laid off, let’s go do coffee.”

We do coffee, and Adam’s a good friend, he’s not into it anymore, just like I’m not – but the layoff sucks and the upside is extra time to do something useful, so he tries to help distract me. He pitches me for the millionth time on the next big idea that I’m always shutting him down on, but this time I say let’s do it. The day started with < 20 hours on the docket, and ended with months of scheduled hobby time we're still eating at to this day. --- I fly to Seattle, I visit my friend, and I tell myself I can be an independent little worker bee for a few weeks, and for a few weeks I am - until I'm not and the reality sets in - the app is no substitute for a steady paycheck - and even if it were, we had one month of ideas, not a year. That's part of it, but the other part of it is that my friend in Seattle had this kid. Man, I hate kids. This three year old terror could scream happily at the top of his lungs for hours on end, and could NOT understand why I spent so much time being frustrated looking in front of my laptop rather than playing the one level of castle crashers he loves to play for hours (the weapon select warehouse area). Peaceful, it was not. While out there, my buddy tells me he's halfway interested in doing some apps and we have some really good times those first few days talking about almost anything other than the layoff situation. Two days later, I'm sitting there, grumping at my computer, up early - because when I'm messed up, I'm waking up before 10am - and I hear the sweetest sound in the world. Wait, context, here's the thing, my friend - he's an optimist at heart, a really great guy, but there's a certain sadness about him. I'm not sure what it is, but forever he's been one of those guys - he's so kind, loving, and basically - fucking amazing - but something's missing there - you just feel it, most everyone does. This is a grade A amazing person, and yet, there's some hole. Back to the sound, Mom's up and around, and my buddy is dead asleep. The three year old terror's up with mom and he runs and jumps into his dad's bed, rolling and jumping around until he wakes. At this point, I'm already rubbing my temples, grumping at my computer screen. This goes on and on, and I feel for my friend with this tornado waking him this way - and then I hear it... My friend wakes to the day with a smile. I can't see him - but you hear it the timbre of his voice, his eyes aren't even open and the love oscillating through his home and permeating every cubic inch of air is lifting him from slumber to some higher plain I had completely forgotten existed. God, I think, how many years have I been grumping at this fucking screen? how many million moments have I missed the love and life oscillating in the air, the simple presence of being and seeing the sun rise once more? My buddy drives me to his work, to drop me at a coffee shop nearby and I watch him as he drives, to him the job isn't it, the job is temporary - a reprieve at times from three year old lungs, but mostly, a waste of time - my buddy with the 'certain sadness' is someone else now - my buddy has his direction, and place in life, and there is nothing, NOTHING more important than waking up to a new sunrise filled with three year old giggles and screams. The sadness is gone. It takes me a long while to digest the thing I witnessed that morning. The sound. --- A few weeks later, I'm back home, and bored out of my mind - realizing I don't have what it takes to stick with any project of my own that isn't paying salary+ rates for my time. Hobby time, sure, but it was time - time to get back to getting a job - a great job. The job was important, but God, the moment I noticed my buddy was whole and had a house bursting at the seems so full of love - the job wasn't going to be enough this time around, that's what I kept thinking. Thanksgiving hits, and we put TumbleOn on sale, there's a moderate amount of coverage (which for us, is 2 articles a month..) - 35,000 users download it in two days - incredible, and yet, it doesn't matter. Adam, our designer, and I are all with our respective families and the sale is a ploy - we're winging it, seeing if getting the word out more will lift sales afterward. It doesn't, and it doesn't matter - because we're all spending the holiday in our own little version of my friend in Seattle's world - those two or three holiday days where the adults all put the calendars down and take the time to actually live and soak it all in. A few days later, I've got a new great job, and Adam's just finished up at his. At this point, Adam had elaborate plans that I laughed at, like the asshole friend that I am. He's going to spend 6 months really trying to make something happen. Self-involved me failed at that dream after about 2 weeks, so I couldnt' see how he'd do any better. Christmas rolls through, Tumblr iPad is release, cutting our sales in half or so - worst christmas present ever? We feel sorry for ourselves for a number of days, until the optimistic cycle kicks over again. We post our new year post - 100 million in those first 6 months, another 200 million in the 2 or 3 months since - it's growing, what are we doing feeling sorry for ourselves? And we come full circle, confused by 90 gigabytes of transfer, ignoring our google analytics altogether, which regularly clocks 10 visitors on the site any given time of any day - and the fun little mario sound script, that stupid thing is useless now, b/c we'll be adding thousands of users a day when our ad-supported version hits in a few weeks - had we had the thing on during our free experiment back when, we would have been scrambling to turn our speakers off, because, you know, 20K users in a day is about 13 chimes a minute.. --- Before I went out the door to drive home, I asked Adam- 'how much are you working on your 6 month dream?' He opens this funny little insane-person's plugin on his browser, he clocked 56 hours last week, for fun. Damn, maybe Adam's not me after all, maybe this kid's got it - I really hope he does, he deserves the damn world. I drive home and think on my friend from Seattle, the guy with perpetual loving sunrises, maybe he's not me either, maybe he's got it too, he, too, deserves the world. Maybe we all have a little flame inside ourselves, some little switch that's going to flip over - some little moment or series of moments that's going to catalyze the next great chapter, our truly golden years. For some of us, that may be a three year old noise box to wake us with the sun, for others, our ambition, drive, dedication, and the big pay-off. I'm not sure what my little flame is, but I know this. For so many years I wanted to write that script and hear mario singing my success - I just wanted to hear that little cash register sound, heralding my 15 minutes. For all of those years I had completely forgotten about those sounds that truly mattered, the sound of a three year old thrashing his father to conciousness with all of his little might. Once you empty your so-important little bucket list, hit your number, your dollar amount, whatever, there's still a whole lot of life to live - I think for my next trick I'll figure out how to wake with the sun.

Life & Career Lessons – 2012

Music: Angels and Airwaves – Diary

I’m always a little late on the 2012 lists, stick with me, this’ll be worth it.

Executive Summary of 2012:

I started 2012 by taking a bit of a risk careerwise, where before I had been the enterprise huge-company guy, I ventured into mid-sized startupish culture, pushing myself out of my personal comfort zone in terms of commute and direction. I was getting into mobile (IOS) development in my spare time, but still wanted to fill in some experience gaps I’d missed in previous opportunities. I had a good 10 month run at a great ‘startup’ in downtown Austin, was laid off, felt my world was upside down for a little while there, and came out of the tailspin – righted myself and found myself with a really great career path/opportunity for 2013.

2012 wasn’t all career & code, but it was certainly too much of it, and it shows. We’ll get to the finer points on that angle as we get through the list.

So, here’s what I learned:

I learned to take risks.

When I quit my job at PayPal a few years ago, I had interviewed around a bit, but didn’t find anything quite perfect. Meanwhile, I was steadily growing more and more disenchanted with code and slow moving big companies. At some point I decided to just quit, taking the risk to take a little time off to take a break, and fall back in love with code in the process.

The day I quit, I was scared to tell my wife what I’d done, and I was shocked when she gave me one of the best hugs of my life and simply told me “What took you so long?”. – Only days later she would not stop telling me that there was an immediate change in my mood, my sense of peace, and my happiness.

The thing that happened when I quit PayPal was, I took my destiny into my own hands. I decided firmly that PayPal wasn’t it for me, and that the next great thing was out there somewhere.

I spent that next year consulting on a cloud infrastructure product at Dell, making some really great friends in the process, and learning all about datacenter innards that I’d never had a chance to learn about back at PayPal.

When the Dell gig was up a year later, I interviewed around again, and found myself pushing my personal envelope of comfort and safety even further – trying a startup-like mid-size company with an open-atmosphere office layout and 90% all-star employees. I wasn’t a cultural fit for the new place, but I was surprised to find myself very comfortable in my own skin – despite philisophical clashes with the culture at large.

The point is, the downside to risk is the unknown, but the upside, if you can handle it, is also the unknown. Each time I switched jobs I learned a little more about what’s always the same in software, and what can be, and should be different. Each time I jumped from one ship to the next, I accepted a little bit more risk and discomfort, and learned a lot about myself, because the opportunity ahead of me always offered 1,000 new variables.

While I was at that ‘startup’ with the all-stars, I learned quite a few valuable lessons, such as:

I learned that sales guys really matter.

As a hot-shot self-involved software engineer/coder, I’ve always had trouble understanding what it is that the sales guys actually *do* at a company. It always seemed the sales guys were the guys selling more than we could deliver, and generally mucking things up – this may still be a fair assessment for a giant cant-do-wrong company such as a PayPal or Dell where the money is pouring in the doors no matter what happens. … It would not be unfair to say I had contempt and disdain for the marketing guys.

Then I worked at a startup.

When you personally meet the 3 or 4 guys who have those sales calls week to week to keep the 3 or 4 big clients sending the checks in, the contempt fades. When you hear the war stories of those 3 guys working in a shitty little closet of an office, and see a team of 20+ engineers around you in a posh downtown office making great salaries 3 years later – the disdain goes too.

Seeing and hearing those sales guys in action was, I think, *critical* to my understanding of how the world works. And let me tell you, Mr. Hotshot Engineer or Designer, the part you do, doesn’t mean shit. The world of money goes around based on relationships and a little bit of luck. The guy in your office who’s non-replacable is the guy who looks and acts like a walking parody out of a ralph lauren ad – so long as he can sell.

When you see VP so and so from client X lose their shit for some random reason and threaten your company’s bottom line on a whim, then see your sales guy have that same VP offering more money next month after a 5 minute phone conversation, that’s when the light bulb clicks on, and you realize that really, the code matters a little, but not very much.

I learned that assholes matter.

The thing about jerks is, they run their mouths. The thing about the right kind of asshole is, they’ve got charisma, and backbone. There are certainly standard run-of-the-mill wannabe jerks who don’t have the right, and I’d argue we could all stand being nicer to one another day to day in general, but man, assholes make the world actually move.

Working in the big company, you’ll see an executive here or there who wasn’t the original big idea guy or gal, and wasnt the nepotism stick-it-out-long-enough ladder climber – frankly, this odd executive is the asshole. And, like it or not, you and I need these people.

When you work in the smaller company, and see the next engineering VP hired cold off the street, along with half a dozen other hires – you’ll know which one he is. He’s going to run his mouth. He’s going to be friendly to everyone, but trash talk everyone too. He’s cunning, he’s smart as a whip, and if he’s rude, he’ll get you if you cross him. Most everyone will agree that this new guy is going to ruin the company, except.. he doesn’t, he does the exact opposite. It’s the nice polite guys who are too scared to risk their necks who ruin the company.

The thing about the asshole is, he gets shit done, he has drive. He has a fault of running his mouth, and along with that comes a life full of lessons of how to get himself out of the jams his mouth gets him in over and over – that means, this guy has a spine, this guy can make tough decisions, and this guy will deliver when it counts.

I’m not advocating ladder climbers, I’m not advocating jerks being jerks for the sake of jerktitude, I’m just saying, they have a place, and when you find the right asshole, they’re going to deliver and kick ass while doing it. The delicious irony will be, 5 years from now when your midsize is larger than midsize, the asshole who everyone hates will be the only executive of the lot who arguably deserves his merit badge title. Think on that.

I learned the value of having lunch with others.

One of the perks at my job last year was paid lunches. This is a really great thing for developers, because developers are idiots in many ways. First, they’re anti-social, and secondly, they’re cheap. So, if they can pretend to be a robot and work 8 hours straight with a hotpocket “meal” in the middle, they will, like idiots.

The downside to this is that it takes your developers a year to make the friendships your marketing team will make with each other in a week. The solution to this problem is to get your developers to go have lunch together.

After having lunch with my new peers for only a few weeks, it became immediately obvious to me how stupid I’d been in my career until that point. Previously I’d always opted for a 15 minute or 30 minute lunch, microwaving something, and getting back to it. In only a few weeks with the new group, I knew more about several of those guys than I did people I’d worked beside for 3+ years at PayPal.

Lunch matters, take it, and have lunch with friends and colleagues, often. Happy hours, too.

I learned that open environments can work for coders, within reason.

Open environment offices are an in-thing. Facebook did it, so everyone else must now do this too.

I disagree with the open environment if it’s done the wrong way. Doing it the wrong way includes: forbidding telecommuting; having more than ten people in any one open space; having sales guys in the same open office as the coders; not providing quiet spaces (couches, little closet hotel cubes) for people to go to to talk or work; and test-piloting your open-space idea on an executive sales team, then mandating it for the world (PayPal..).

Doing it the right way means doing the opposite of everything above, and providing nice noise cancelling headphones for your employees.

Coders need quiet, and time to think, and noise-cancelling headphones are not enough. The place I worked this past year had a great open-environment layout and telecommuting policy, but even still there were more than a few days where I had unending headaches caused by the choice of music or office chatter.

I learned that telecommuting is really awesome, within reason.

Let’s see, this past year I accomplished many things while telecommuting, I watched the entire 5 seasons of the wire (amazing, perception altering show, btw), many movies, did a lot of laundry, took my dog on many walks, and was more productive than I’ve ever been at any job in the meantime.

Telecommuting isn’t for everyone, you’ve got to be driven, on-task, and have a list to constantly feed on when you finish the task before. But, for coders, who need the quiet, the peace, and the space to play This Will Destroy You at deafening volumes from time to time, telecommuting is great.

The thing to remember about telecommuting is that it’s lost face time with your colleagues and boss, and you’ve got to make time while in the office to make up for that lost time.

When 2012 started, I thought telecommuting was something you do on a day without real work, in a startup-like mid-size, those days don’t exist – and that’s a good thing, because by the end of 2012 I can safely say telecommuting days are the days you take to really go heads down (even with This Will Destroy You or The Wire blaring in the background) and get shit done. Asking for a telecommuting day no longer carries a guilty connotation with me, and as a person who consistently delivers, I actually *need* the freedom to just go do the right thing from time to time.

I learned to track myself better.

I’ve always been a list maker, and from time to time I burn myself out with the lists. There’s a balance between the lists and actually letting life just happen, and I suck at that balance.

It turns out, I had a fatal flaw in the way I managed lists. That is, I deleted items after I finished them.

Don’t delete items after you finish them, grey them out, in place, and make a new list each week.

When you grey the items out, you start to get a feel for how much you actually accomplish.

Going into 2012 I was constantly feeling stressed out that I was never on top of my list, and that the list was constantly growing.

After a year of greying items out I feel worlds different, I now have great pride in how much I accomplish, and yet I also finally understand about how many items I can truly knock out per week. I also, for better or for worse, realize what a shitty friend and flake of a person I can be sometimes, because the lists show me these things where before the giant list that never ends with deleted items did not.

I learned that tracking myself does not matter.

One thing I’ve always done with my lists of tasks at work is track what I did each day, because I thought I could cover my ass with the paper trail. It turns out, that matters somewhat, but .. well, not really ..

I learned to be fired (and, when to quit).

I wasn’t fired, I was layed off, budgets got tight, last in first out, etc, but really – I was fired. I was on the top of the boss’ list to axe for a while, and I knew it. I wasn’t a great cultural fit, and had fundamental philosophical differences with prioritization and feel-good-about-ourselves-rewriting-endlessly-for-the-hell-of-it wankery.

When I started working at the place, it was an uncomfortable risk in several ways, and at first I gave myself 6 months to decide if I liked it – at some point that changed to a year mark, and a little after that it turned into a “2 or 3 years, I guess..” kind of thing from my side. I was into it, having fun, but cultural friction was perpetually upsetting. Nothing quite like being 1 of 5 “platform” engineers never invited to the endless feel-good-about-ourselves wankery standards meetings that never went anywhere, perhaps the fact that it was wankery in my mind had something to do with it 🙂

To the point about covering your ass with your paper trail, the thing there is, that doesn’t matter. If someone has a target on your back for whatever reason, the paper trail won’t help you. What will help you is spending more time getting to know people and working things out by communicating more, if anything.

Communication helps, but also, life is short, if you’re unhappy with your lot in life, even a little bit, consider changing your lot. For me, I had to be laid off to have the wakeup call that I was settling in several ways to work at the place. I had convinced myself that the settling was part of the discomfort/risk experiment, and honestly I’d probably still be working there today had I not had the not-so-gentle push out that I needed.

Saying I “Learned to be fired” sounds funny, but truly, learning to not compromise 100%, have a little backbone, and be myself mostly was worthwhile. Had I not been myself, I would have hated myself for capitulating to philosophical differences I couldn’t get behind, and I probably still would have been first on the list to go. There’s a stigma to the thought of being fired, especially if you’re someone who’s fired for really bad reasons – such as not actually doing your job. In my case, I did my job to the best of my ability, and kicked ass while doing it, all without compromising my character or beliefs in the process. Being let go for philosophical differences is a lot like being that hard-won asshole VP – being let go b/c you give a damn, and stood up for something, but fell on the wrong side of the dice. (In this case, I just gave a different Damn than the rest of the team.. :))

I’m not advocating getting fired, but truly, politely contributing to the cause without making a scene of your philosophical differences too often, is worth it, even if you’re fired over it. I suppose a secondary lesson to learning that assholes are needed is that you can’t be everyone’s friend. You win some, and you lose some. That’s really all there is to it.

No slight to the people I worked with or for, to each his own, truly – I wasn’t a cultural fit at the place, end of story, and that’s one of the beautiful things about software – there’s a dozen or more overarching cultural styles you’ll encounter depending on the shop – if you don’t fit at one place, you’ll fit at another.

I learned to communicate with my spouse, regularly.

The layoff could have been a lot worse, had I not been able to communicate openly and work through the topsy-turvy tailspin with my wife by my side.

Earlier in the year my wife and I had gone to some couples therapy together. As a non-religious person who values reason and actually doing something to change yourself for the better, I highly recommend therapy when the time is right.

We skipped marriage counseling, luckily having enough wits about ourselves to already talk about and understand each other’s thoughts on money, babies, family, etc before actually tying the knot. I’m glad we skipped marriage counseling b/c honestly we wouldn’t have enjoyed it or been ready for it – we were on a high that didnt really dip from the day we met until late 2011 – the counseling would have caused needless turmoil, or been wasted on deaf ears.

So we had communication breakdown, and went to speak with a counselor, a great one.

It’s funny how even the greatest relationships still have amazing amounts of built-in fear and reservation. There were so many downright silly and stupid things that my wife and I were so scared to talk about with each other, nitpicks on character or even habits and whatnot that didnt matter in the big scheme of things. The thing is, the nitpicks build into a mountain at somepoint and will kill you if you can’t talk about them. Having a third party intermediary person there to listen to us and encourage us to talk about the scary things really helped.

At first, there were many tears and deep breaths while we vocalized things that were bothering us, and sometimes voices were raised, but the counselor kept draining reason into our ears and showing us how to handle these communications on our own. A few weeks later, even the most intimate fears or new worries were voiced easily without any fear at all – we didn’t even need the counselor anymore. That’s how you can tell you’ve got a great counselor, when there’s an end game and you can see yourself clearly in a better place of understanding than before.

Another tidbit the counselor gave us was a really great, if corny sounding tool: relationship talks.

A relationship talk is a weekly meeting (no shit, like a business meeting) that lasts 20 minutes. Spouse A has ten minutes to talk, uninterrupted, if time is left at the end of their ten minutes, Q&A can happen. Then Spouse B takes a turn. That’s it, the end. Next week, you switch who goes first. After the meeting, you do something fun together, which in our case usually wound up being a walk around the neighborhood b/c we’d find there was so much stuff to talk about that the relationship talk would open up. You do the relationship talk *every* week, no exceptions. Sometimes the talk’s a tear jerker, most times it’s boring, but doing it every week is essential.

The relationship talk keeps the communication lines open. When they’re wide open and you’re humming along happily, the talks may be a bit bland, but even then they’ll suprise you with news you had no idea of, and when the comm lines are shut down or atrophying, the relationship talk will save you. I promise.

We also started doing ‘Wonderful Wednesdays’, which, more or less, is date night. No computers, no tv, something wholesome and fulfilling and rejuvinating, together, no exceptions. In practice, it’s sometimes a ‘Wonderful Tuesday’ because something really can’t budge, but making time in your life, together, to chill the fuck out is important.

I learned to read myself, and trust my gut.

I am what, and who I am. I’m driven, impatient at times, overly dramatic, and extremely emotional when everything’s just right.

Otherwise, like most of this last year, I’m dead inside.

Early on at the startup, my boss informed me that he didn’t like the way I communicate, I’m too wordy, imprecise, yatta yatta. – It was a fair assessment in part, but I took it all the wrong way and used it as a vice rather than a tool to grow with. Long story short, it fucked me up.

My natural style is to be transparent, open, and accomodating, so hearing that I was expected to be more precise and careful with my words sounded a lot like I’d have to be someone different while I worked at the place if I was going to cut it. In the end, I probably WOULD have had to be a different person to jive well there longterm, but the point my boss was making wasnt that I should shut down and be a different person, he was saying I should strive to be slightly less sloppy.

I told myself I was becoming a respectable little adult by shutting down and towing the line, and when I was finally laid off a good while later – it all came pouring out. My writing became prolific again, as did my creative whims. I was staying up through the night one or two nights per month, I was even honest-to-god crying fairly often at even the littlest beautiful or horrible things – I was me, again.

Perhaps I’m both of these people, the emotional creative dreamer, and the tight-ass conservative who’s dead inside, but I prefer the dreamer.

Time and time again I’ve noticed these moments where everything synchronizes into this chaotic yet perfectly ordered moment where some huge chapter in life immediately makes sense – as if my subconscious has been working on it all the while, for months. The backside of those events is always the same – I’m writing, I’m loving my life, I’m creating all sorts of crazy little mementos, I’m taking it easy more often, and I’m, yes, occasionally crying at the immense overcoming beauty and tragedy of it all.

2012 gave me metrics, if I’m not blogging for the fuck of it at 5am on a work night once or twice a month, something’s off. If I’m not occasionally trading sleep for another one-night shot at something great, something’s wrong – and it’s time to really assess what my gut is telling me.

I learned to be brave, and patient.

Life is funny. Often the most important stories and lessons of your life are ticking right along, slowly, very slowly, in the background – completely hidden by silly shit you tell yourself matters more. Here’s what I mean, when I was pulling photos from the past 3 years out of my archives for the Freddie Book, I had to scroll past thousands, literally thousands of photos of my dog. I’m a dog guy, not a cat guy, and though I think my dog’s pretty fucking amazing, the story to tell for recent years is not hers, it’s the cat’s.

Here’s a picture of the awesome dog anyway:

Anyway, after being laid off, I took time off, again like after PayPal, because I could, and because I knew I needed to. TumbleOn seemed to be taking off, so I distracted myself with dreams about that for a while, and I visited my good friend in Seattle for a bit, and so on. After the predictable this-is-going-nowhere burnout phase that followed shortly, I was finally at ease for a moment or two. This was one of those moments where the chaos distilled into clarity.

One morning I woke up, and decided to write the story of Freddie. There are perhaps 3 days in the past year like the day I wrote that story, but Freddie’s story was the best of the three, easily.

Freddie came through me like they say the Bible did the prophets, it just flowed, as if from somewhere else. I didnt plan it 3 days previous, I didnt even know what the damn point of the thing was as I was writing it, and yet, as the story flowed out it turned into this really incredible, amazing thing – an allegory for my own personal story of 2012 – of learning to take larger and larger risks, be brave, and welcome change – all while giving credit to the one person who deserves all the credit for any betterment in my life ever, my wife.

I won’t bother you with the details of Freddie’s story here, you can go read the book yourself (online, for free).

I learned that success is not what capitalism says it is.

Working at the ‘startup’ this past year was really a great experience to be walking through while simultaneously seeing our personal side project, TumbleOn, grow.

Until you’ve worked at a startup, or a ‘startup’ that’s really a decently-funded mid-size pretending to be a ‘startup’, you don’t really ‘get’ what success is. Success, arguably, in American or capitalistic terms, is striking it rich. But, frankly, striking it rich is a stroke of luck, whether you win the lottery or win the right-time-right-place lottery like Bill gates.

This past year redefined my personal measure of success. Success is not a certain amount of money, or a title, success is being one of those initial three guys in a closet-sized office, seeing 20 well-salaried employees loving life 3 years later. Success is making something great that brings joy to other people’s lives.

Would I like TumbleOn to make me and my friends independently wealthy? Sure, but to me, TumbleOn is already the largest personal success of my short little career, and the sweet and sad fact is, it may be the largest success of my long term career as well. In my own little corner of the world, I’ve been a part of a small team who made something really amazing that thousands of people use regularly, viewing more than 300 million photos in 2012, and more than a billion in 2013.. laughing, gasping, giggling, and being inspired along the way.

To me, as I said earlier this year, success is not the money, success is making something bigger than myself, that makes the world just a little bit better than it would be without me.

I learned to take detours.

A stronger relationship between my wife and I resulted in a bolder wife, who’s more uppity lately, in all the right ways. This year she really put the time in to repeat the message to me that I should live life a bit more rather than plan so much.

For example, I immediately thought to take a long-planned-anyway trip to Seattle after being laid off, but kept the thought secret and was ashamed – it seemed extravagant given the circumstances. A few days after the layoff, my wife independently suggested and insisted that I go to Seattle. I hemmed and hawwed about it, listing the cons of the idea (money), and she wouldn’t have it. She knew what was good for me, and sitting at home in the familiar, moping, driving myself crazy wasn’t it.

Months later, I was visiting some friends, absent mindedly returning from lunch with a good buddy, when I got lost.

I wasn’t lost lost, but I was way off the beaten path. My coder brain immediately detoured me to the most efficient route home – still a different route than that intended, but efficient – when all of the sudden half way home I slammed on my brakes and nearly caused a wreck – swerving into the drive way of this great botanical gardens in Fort Worth. I’d completely forgotten the place was there, and decided that for once I would take my wife’s advice, and take the detour, throwing efficiency out the window.

On my way into the Japanese Gardens, the ticket clerk asked how my day was going, I told him “it was going alright, but it’s about to get a whole lot better”. The clerk laughed. I took a few steps inside and something primal overtook me. I felt as if I were outside myself, floating through this long-familiar place, truly soaking in the beauty and moment at hand – it was a feeling I really don’t have often.

As I walked past the zen garden I was congratulating myself on taking a detour, excited to tell my wife, sure that she’d be so proud of me for actually experiencing something rather than running the numbers beforehand.

I walked and savored the moment, being outside myself as in a dream, and conscious of it all the while. As I continued on, I saw something amazing, or I thought it was.

There was this crane, sunning himself, wings spread wide to wholly accept the sun. He too, was savoring the moment, and he just stood there, zen-like in this serene scene for a full 10 minutes, motionless. For a while I was convinced he was some poetic statue painted convincingly real, and then he blinked.

Seeing that crane, on my floating detour, was one of those weird things I don’t think I’ll ever forget for the rest of my life. Now, two months later, I can barely recall many of the particulars of that visit to Fort Worth at all, but that moment in the sun, watching that crane fully accepting the simultaneous chaos, beauty, and fragility of life – that scene and moment will stick with me for life.

Thank you, wife, for telling me to take detours.

I learned that time is precious.

The flipside to living a happy and full life is that there isn’t enough time in life.

There’s something they call “FU Money”, or, “Fuck You Money”. Loosely, this is the amount of money it would take for you to quit working and start living your life the way you want, and deserve, to live it.

Something flipped in Steve Jobs’ brain one day, and he realized the best way he could live his life was to live every day as if it were his last.

This year, I learned to set my “Fuck You Money” value to $0. I’m no zen master like Jobs, but for the first time since college I can honestly say that I’m working at a place where even if I were independently wealthy, I’d still be showing up for work the very next day.

That is what I, and you, and everyone, deserves.

You deserve to work with kick ass people who both inspire you and celebrate with you. You deserve to take time on wednesdays to be with your family and turn the computers and calendars off. You deserve to take time in the middle of the night to forego sleep in favor of some crazy undending blog rant (like this) or new project idea. You deserve to take vacation, and you deserve a wake-up call from time to time.

There’s this great White Stripes documentary of their last tour. There’s a segment in there where Jack White is talking about living on the edge, manufacturing wake-up calls. He says that when he goes on stage, he measures the comfortable distance to set the mic stand so he can easily grab his next guitar pick. Then, he moves the mic stand a few feet further, so he has to really jump and make himself get that pick in time. Sometimes he misses, sometimes he knocks the damn stand over, but every time he gaurantees he’s living – because he’s pushing his own personal envelope of comfort in even the silliest esoteric ways – and, he says, it works.

Music To Code By, 2012

Here’s what I listened to while coding in 2012.

This year I’d categorize my listening habits into three moods: getting shit done, relaxing, and background noise.

Standard disclaimer: I listen to albums all the way through, front to back, and am often annoying the hell out of my wife with a single track or album on endless repeat, for an entire day. I like moody music, stuff that takes you places, stuff with meaning or at least the feeling of meaning. If that’s not your style, and you want pop hits – you can stop here.

Getting Shit Done

These are the albums that put me in the zone this year, some new releases, some new-to-me stuff. This is the good stuff to go heads down with, especially at volume 11 or 12 on a 10 point scale.

For many days I listened to This Will Destroy You’s albums and EP. This Will Destroy You is awe-inspring post rock, think sigur ros, with much more tension, and more precision. I’ve seen these guys twice in concert in the past year or so, and they always impress. When you listen to TWDY, you wander off somewhere, and come back, up and down. It’s just perfect, buy it now. If you’re not sold, here’s the kick: you know that main epic theme that kept coming and going in Moneyball, but wasn’t on the soundtrack? The one that practically made the movie? Yeah, that was This Will Destroy You’s ‘The Mighty Rio Grande‘:

You’re welcome.

Later in the year, my good friend Greg and I went to see Tomahawk in concert, so that of course revitalized continuous repeat of their albums for a few weeks. Tomahawk is the rock super group to end all super groups: Mike Patton from Faith No More/Mr Bungle/50-more-bands is on vox, and that should be enough to convince you outright to at least give their stuff a spin. Mit Gas is the record to check out, and the selling point here is this music video, which just happens to be the greatest music video ever:

The thing about Tomahawk is, these guys are truly pro. Hands down, the most amazing concert I’ve ever seen: these guys. They’re not visual overload, they’re not elaborate, and frankly, the mix at the venue we were at was junk, but none of that fluff matters, because their command of moving your soul both aggressively and with pro style – all at once, that’s where it’s at. You hear these guys’ albums and some of it sounds like studio magic that can’t possibly be done live, then you see it done live, and you kind of feel embarrassed for everyone else in the music business. These guys pound the bass, drums, with force, and a moment later they’re drowning you in the most beautiful cathartic melody for just a moment, then bring you back around to aggressive amazing all over again. Tomahawk’s one of those things where, you know, some rock music could be characterized as cock rock, aggressive for the sake of being aggressive – but, again, you hear this stuff, and the level of effort and talent involved and you realize that for Tomahawk, you really don’t give a shit about the labels – it just is, and it’s awesome. BTW, Tomahawk has a new album coming out in January.

Okay, those are the two worth gushing about for hours. Here’s the rest of it:

I spent quite a bit of time this year coding to electronic music of this variety of that. I don’t know or care what classifies as IDM or Trance or LeftField or whatever the hell, b/c it seems all of these artists have albums containing all of the above, so we’ll just call it what it is: good stuff.

First up, The Glitch Mob came out with an *amazing* album in late 2011. This is glitched-out over the top melody and move your body music. It’s just good, the end. They’re working on something for early 2013 right now.

Second, as I mentioned last year, I’m a big fan of 65daysofstatic, and one of their members put this incredible solo effort out as Polinski, it’s really great sweeping synth with a bit of glitch. It’s a short trip, but man, is it epic:

Third, BT’s ‘These Hopeful Machines‘ double cd is godlike. BT’s a ‘trance’ artist, or so I hear, but like most of his more-pop albums, this one’s just good in all of the ways, all of them. Some bits are trance mind benders, others are good old fashion pop electronic love songs dance music style. Like This Will Destroy You, BT likes to spend 5 minutes building up to something, but when the crescendo hits and starts crashing down, you feel the goosebumps and then the waves of cathartic glow wash through you, and you come out the other side feeling like you really need to write this guy a thank you note for the experiences he compiles, or at the very least, do something awesome with your life that may one day pass the feeling on down the line to someone else.

I heard a bit of hype about this Skrillex guy this year and mistakenly listened to his ‘Bangarang EP‘ on repeat, for days, before giving his other albums a go. DON’T DO THIS. Bangarang is a remix album of some of his earlier efforts, with some new stuff in the mix. The thing is, Bangarang is basically a more precise version of his tunes – an added layer of glitch, noise, and so on. There’s that, then there’s the fact that almost every tune has it’s BPM increased just enough to notice. So, if you listen to these things in the wrong order (or perhaps this is the right order..), when you hear the earlier efforts – you find them annoying, b/c they’re slower sloppier versions of the tunes you’re already in love with. Skrillex is glitchy noise, with the correct amount of cathartic breaks in the middle of it all. The EP takes you on a trip, a high speed headache-inducing trip if your mood isn’t just right – but if you’re in the right mood to handle it, Skrillex moves you.

I love me some glitch / noise, or “white noise bullshit” as my wife lovingly puts it, but there were also more than a few regular alt rock records this year that spun endlessly while I was coding.

Metric is one of those bands I don’t think I’d care for, had I heard them before their last record, Fantasies, came out. Frankly, I think they’ve come a long way since the garbage they were putting out before Fantasies. I spun Fantasies quite a bit in 2010 and even 2011, but it still felt – this will sound snobby, but if you’ve heard it, you’ll know what I mean – accessible for the sake of accessibility. Think Rise Against after Swing Life Away hit it big – that kind of accessibility compromise. In Metric’s case I don’t perceive or care that they were so accessible, it’s just that the music sounded not quite there. Fantasies came out, then there was a track on the Scott Pilgrim soundtrack that sounded next-level – I was hoping for more of *that* on the new album that came out this year. Good news, there is more of *that*. Their new record, Synthetica is fantastic. Where Fantasies had some bits that felt off, or goofy, Synthetica is 1000% more polished. I’m not saying Synthetica doesn’t have some not-quite-right moments for me, but I dunno, the ‘Breathing Underwater’ track, and any record that opens with a line like “I’m just as fucked up as they say” over an immaculate bed of synth – these things make it A+ in my book. There’s a deluxe edition of the album that was released later this year. You care about this, because there’s a haunting, amazing acoustic recording of ‘Breathing Underwater‘ on there that you need to own:

It’s funny, when Synthetica hit, I started to think about Garbage, b/c a lot of this new electronic pop makes me feel like Garbage was just ahead of their time or something. This all caused me to poke around on the internets about what ever happened to Garbage, and it turns out they were broken up or calling it quits for a half decade or better – but this year they returned. And, they returned, with force. The new record is the same old Garbage (that is, the first two albums, good, Garbage), but with a 21st century shine. It seemed their last couple or three records were getting into esoteric pop jangles seemingly aimed at churning out sales more than style, that’s gone. This new record is, I guess, power pop. It’s upbeat, but it has a next-level feel to it. It’s the same old Garbage, but the in-between tracks that should have hit the edit room floor are now where they belong – on the editing room floor. It’s definitely worth a spin:

There were also a few decent mope rock records this year, I think.

Notably, Maynard James Keenan (from Tool, A Perfect Circle) released another solo-ish record under the puscifer moniker. Like his other efforts, the album’s flow and quality from track to track varies to a worrying degree – but you get the sense this is his i-dont-give-a-shit take-it-or-leave-it artistic outlet. There’s some half-decent tracks on the record, nothing I’d consider as deep or touching as selections from his first record, but.. it works, I guess. I listened to it quite a bit for a few days, but then I discovered the Blood Into Wine soundtrack, which has some pretty awesome remixes from his first effort and one of the best tracks I’ve ever heard: ‘The Humbling River‘.. the track makes a great point of how accomplished one can be on their own, but without helping hands will never be able to accomplish anything of importance. It’s tracks like these that excuse the white-boy-hip-hop-trash filler that you find in between the tracks that matter on his albums. He may be playing practical jokes on you the listener 50% of the time, but when he cranks someting like ‘The Humbling River’ out, you can tell he’s still got it.

In the opposite direction, you have Trent Reznor, who’s still playing with the idea of making music with his new wife, they released another EP, which just isn’t quite right, just like the last one. And he released the soundtrack to girl with the dragon tattoo, which like the social network soundtrack, didn’t really grab me personally. Once you’ve heard his Ghosts album, this other stuff just sounds like he’s pulling the 9 to 5 punchcard and pushing the buttons over again for client X. Like Billy Corgan, Trent kind of trapped himself in this juvenile lyrical style, and now that he’s a happily married better-adjusted non-addict, he’s not that guy anymore. He has the talent to churn it out, and I have faith he’ll return to form with something mind blowing with a step up in maturity in time – but it feels like he’s still getting over his last few records and adjusting to a better life.

Oh, Billy Corgan also put something out with moderate success, it’s listenable, which is more than I can say for everything since about 2000 otherwise, but that’s not saying much. Maybe next time.

So, with all of the Rock Gods retiring, it makes me feel slightly less ashamed/dirty-pleasure to heartily recommend Linkin Park’s latest effort, ‘Living Things‘. Perhaps it’s ironic the boy-band/nu-metal professional commercial calculated band is sharpening up and moving forward in small steps all the time, whereas Rock Gods proper are treading water. Like many people, I didn’t care for Linkin Park’s first couple or three records very much – then Minutes To Midnight had some hooks and movement to it that signaled something better coming, and something better came. I think that next record, A Thousand Suns was a fantastic record:

I find myself spinning A Thousand Suns at least a dozen times a year, three years later, it’s just a really solid record. It was often compared to Public Enemy, if that means anything to you. Where Minutes To Midnight started bringing some songs with serious depth, A Thousand Suns jammed 3 really great songs together with perfect transition into every single track. With A Thousand Suns, guitars-front-and-center nu-metal lolz are sidelined for electronic-laden super-layerd grooves punctuated here and there with equal parts hard hitting reverb/death-march drum tracks and epic melody. This year’s effort, Living Things, was really good too. It’s not a concept album like A Thousand Suns, but it’s solid front to back. Though, to be fair it feels like a bit of a retreat – mixing more of the safe go-to style into the next-level stuff we heard on A Thousand Suns. A Thousand Suns wasn’t as accessible as other albums and suffered in sales because of it – and that’s a damn shame because A Thousand Suns was epic. I can see why these guys may be back on track in the safe zone, but man, I can’t wait for their next risky concept album move.

Relaxing Music

Some days are heads down code, and others are what-am-I-doing-with-my-life hassles for this reason or that. When I was taking it easy this year, or needed something to calm the nerves, here’s what worked:

For a while, I thought Sigur Ros’ new effort was forgettable. It seemed like a meandering half hearted return to a light/not-sure-what-we-want-to-do-now Agaetis Byrjun. I love their earlier albums, don’t get me wrong – it’s just that everything that came before was always upping the game to the next level this way or that, finally climaxing (for better or worse) w/ Med Sud.. being a pop record. I kind of wondered where they’d go from there, and I just set their new effort aside. Turns out, I just had the wrong frame of mind. You already have your Sigur Ros records to listen to when you’re sad, inspired, happy, or cathartic – what you didn’t have, until this year, was the record to just chill out with and recoil from the stresses of your day to day. This latest effort doesn’t have anything you can impress newcomers with – but it’s still Sigur Ros, and it’s still damn good:

On lazy Saturday mornings, my wife and I seem to continually put Death Cab For Cutie’s 2011 effort on. It’s good – a solid record, with the right percentage of low-key pop jingle intertwined with otherwise relaxed fare. It works, for almost any mood or any time, but it really seems to hit the spot on Saturday morning.

A couple of indie/folksy albums came out this year that are absolute must-listens, but like the Sigur Ros record, you absolutely must be in the proper mood to soak them in. Of Monsters and Men is equal parts sounds-like-that-one-band and i-dont-care-i-like-it:

First Aid Kit is great folksy throwback with a 21st century crispness over the top:

.. and their touring open act, Dylan Leblanc, has a great laid-back whispered wallowing tone that works with a glass of wine as easily as it does a dark room filled corner to corner with volume 11:

Background Music

For those days where I just needed something on:

Angels And Airwaves’ latest album ‘Love 2’, and their just-released EP are really good, as is the just-release Blink-182 EP. The Angels’ EP has a really great track called Diary, and otherwise is a great collection of instrumental remixes from recent albums, they made a great retrospective video for Diary (the real album track doesn’t have the robot voice over..):

Blaqk Audio’s second effort is decent enough, feels phoned-in compared to the first, but it works. Rob Zombie’s 21st century remixes of White Zombie and solo hits is pretty epic, and I feel like I’ll regret saying this, but the Deftone’s latest is bearable front to back, which is more than I can say for their past 2 or 3 records. The offspring put out a new album that’s really catchy, if annoying after N repeats, but solid. I had really high hopes for Silversun’s Neck of the Woods, but it seemed to fall into background-noise mediocrity surprisingly fast – not horrible, but generally meh:

There were certainly other records I gave a chance but am not mentioning, so all of the above at least have that going for them..

One more background album or two: The Smashing Pumpkins reissues are still a thing, and this year saw the Pisces Iscariot and Mellon Collie remasters + deluxe awesome. I’d highly recommend either release, in deluxe form, to any Pumpkins fan. I’d say Gish benefitted the most from the remasters, followed by MCIS. MCIS’ remaster is particularly impressive because they’ve created room to clarify bits you never knew existed (such as a ferocious bass line in the wall of noise during ‘Bullet with Butterfly Wings’), all without compromising the fuzzy/warm/crunchy/wall-of-mud signature marshall-amped guitar sound that seemed to drown all of this stuff the first go-round. The deluxe edition of the MCIS reissue is expensive, but worth the price in my opinion for some of the recorded-live-as-a-band takes that are damn near the final version of what’s on the record. The pumpkins were at their best when they were recording that record, and it’s really inspiring (like, pro tomahawk level stuff..) to hear the raw full-band aggression – you can tell they cleaned up a bit with studio tricks on the backend, but only slightly. Impressive.

Bonus: Jonny’s Stuff

My younger brother, Jonny, occasionally recommends a few bands he’s heard.

Here’s his credentials: he introed me to Metric, Of Monsters and Men, First Aid Kit; he fully agrees that Silversun is basically amazing; and he’d pass on any of my over-the-top post-rock or 8 minute electronic suggestions. He likes stuff that’s to the point, but at the same time he heartily agrees that the acoustic ‘Breathing Underwater’ is best-of-year material.

Here are the bands/songs he sent my way this year:

Later in the year, my friends Adam and Amanda heartily recommended The Lumineers (you’ll enjoy if you like First Aid Kit or Of Monsters And Men), and Ronald Jenkees:

Ronald Jenkees part 2:

I really try not to curse on the blog, but yeah, ^^^ that, fucking awesome.

Jonny actually recommended The Glitch Mob to me late last year, after I wrote my 2011 entry, and somehow I have a feeling Adam’s suggestion of Ronald Jenkees is going to be in the best-of/high-play-count list for 2013.

Finally, my wife recently heard some “white noise bullshit that sounds like something Jason likes” while eating lunch. She inquired about the white noise, and it was Tympanik Audio’s ‘Accretion’ collection. Tympanik is a record label, and this collection is a selection of tunes from their electronic artists over the past five years. 4 hours of music for $9 – it’s worth a shot.

So that’s music for me, 2012. Hopefully you’ll find something new here 🙂

Interviewing Technical Candidates – My Approach

A good friend of mine is about to interview a web development candidate and asked me about my approach to interviewing, here goes..

A little philosophy / disclaimer:

I’m a fairly proficient and efficient software engineer, I’m not a performance hound, and frankly, I suck at math.

I’m certainly a bit of a warm and friendly generalist more than a one-better-than-you-because kind of engineer. But I think, when you can afford a team of more than two people, diversity is *critical* to building a team that will deliver. Meaning, you want generalists, and performance hounds as well.

When I say diversity, I’m not talking about racial diversity, I’m talking about technical and interest diversity.

Your team needs people who are extremely creative, as well as some who aren’t. You need people who can ship, as well as some who may struggle there but may be performance hounds. Ultimately, you need *balance*. If you have a homogenous team of super-sharp super-bright perfectionists who can dream all day long, but can’t ship, you’re screwed.

Lastly, I’m the culture-fit AND technical guy on the interviewing circuit, and I think culture fit along with an ability to code at all is more important than poor culture fit with wizard-level coding skills.

If you disagree with these sentiments, you can probably safely ignore any advice that follows 🙂

The basics:

Just to be clear, before we start, my approach here is the approach I use with *every* candidate, junior, senior, more senior than myself, whatever. The only difference I would suggest with more senior candidates is to let them talk a bit at first, in case they’re already comfortable with the interviewing process. If they seem like they’re already comfortable, I’ll ease up on the re-assurances and such mentioned later.

An interview is a conversation. It is vitally important that both sides of the conversation feel comfortable, so the conversation can flow, and both sides can learn.

Remember that this is not a one-way game, any good candidate would know, and every candidate should know, that this is as much about you portraying the company as it is about them portraying themselves.

Interviewing is *not* about pressure-cooking a candidate so you can make them a low-ball offer on the back end of the deal, or establishing dominance before they’re in.

A really great candidate understands that there’s more to life than work, and that work is a part of life, so they will be looking not for a place that will pay their bills, but for a place that’s actually a worthwhile substitute hour for hour for those hours that you’re stealing/paying-for from the bits of their life that really matter.

That great candidate can practically walk into any software shop they want, and land a job, and that’s the candidate you’re targetting, so treat them as such: treat them as a rockstar (even when they’re clearly not!).

Once you’ve established that who you’re looking for is going to be amazing, interviewing becomes much, much easier. All you have to do is have a conversation with the candidate and let them tell you amazing things about their story so far.

There are two things you *must* figure out: first, are they a great cultural fit? second: can they code? Cultural fit is more important than coding ability, but the canidate must have both. A wizard coder who seems to be a jerk underneath is not what you want, more so than a really nice, kind, genuine, hard-working person with mediocre coding skills.

Don’t ask yes/no questions, and, if possible, ask questions that let the candidate talk about their experiences. You’ll learn far more about the person this way than with the standard interview questions I’ll outline later.

Don’t be afraid to ask questions that will help you figure out what matters to you (or at least what should): can this person do the job; would I want to work with this person; how does this person handle conflict; how does this person handle pressure?

Do give the candidate options for water, bathroom break, breather before you begin.

Do give the candidate time at the end (even if you’ve blown your time slot) to ask questions. If they have none, offer up that you always ask interviewers one question “What’s your favorite thing about working here? and what do you think could be better?” – then answer that question yourself, and then encourage them to ask that question to your peers who will interview them later. Tell them that is really important for them to understand as much about a job and people they’ll work with as they can before they get that next great offer.

You want this person walking out of your interview to be feeling really great, and informed. You want their decision to choose your company to be a decision they made with great confidence and enthusiasm.

There is no harm in admitting that other companies exist, and if a candidate, good or bad, walks on your offer in the end – there’s a good chance you’ll be high on their list of stories they share with peers about great interviewers.. which in turn, down the line, will bring more candidates in.

If it’s impossible to fit time for questions in because of some military style schedule keeping, give the guy/gal your business card and tell them to call you later anytime if they want to ask some questions that you can’t make room for right then. – Unless, of course, you can tell very strongly that you do not want to work with this person in the future.

Oh, one more basic, get them to sign a NDA (non disclosure agreement). Interviewing someone for 4 hours without an NDA, so you can’t speak freely about the actual job this person is going to do, is bullshit. Don’t be that guy, or that company.

About coders:

Generally speaking, coders aren’t the most social creatures, so for this reason I usually try to be overly warm and friendly while interviewing, rather than cold, curt, and silent. The candidate is likely nervous to some degree or worse, and sometimes if they get stuck, it gets worse, so if you’re friendly with them and help them along with hints here or there they may fail a few questions (b/c you have to help them so much) but do much better at others as they loosen up.

Personally speaking, when an interviewer goes the cold route, I personally freeze up and start wondering if the interviewer is playing a game or worse – is this what their culture is like? It *is* a dog eat dog world out there, truly, but for me, I get on and perform much better at a people/culture-first outfit than a bottom-line-end-all-be-all place. If the interview process is overly mechanical and surgical, the candidate gets turned off.

Once the candidate is loose and friendly, you can ask hard hitting questions more easily without much fear, and the candidate will likely tell you more truth about their experience than they would have had you been the guy who gives zero visual or audible feedback about how they’re doing.

It’s also *very* important to know that there are different people out there, some coders *cannot* ship worth a damn, but can find bugs super well, or figure out super complex problems. Some coders (me) can ship worth a damn, but cannot dream up possible bugs as easily, or do great at tricky math related problems.

A *great* team has a mixture of varying characters who respect each other and recognize that each person brings something to the table.

Don’t fault a candidate for not being an interview question wizard on some weird puzzle – those things seem a lot easier than they are when you know the question *and* the answer/trick.

If you’re hiring for a team of one, or your first hire for a larger team, you need someone who is very well rounded and can start from scratch, architect well, ship, debug, fix things, be flexible to change, and stick to it.

Additional team members can be the same, but may bring differing interests to the table: the guy who takes too long to do things, but writes the most performant code ever; the guy who is kind of complainy, but can predict and help fix bugs miles before they’re a major problem; the guy who’s a math head and can model complex reporting using statistics and such; and so on – depending on your needs.

Also, since coders are not very social creatures, many coders hate giving interviews, because they’re forced to be in a non-hierarchical chaotic unknown zone, and talk while they’re there. If you can overcome this inner turmoil yourself and be warm and friendly and show the candidate that you give a damn, you’ll be presenting a message that this is an awesome place to work with nice people who take their work and culture very seriously. *This* is the message you want to present.

You show the candidate that you give a damn by taking the time to loosen them up; asking them questions about their specific experience; showing engaged interest while they’re talking by asking questions; joking and laughing with them about the more annoying aspects of the career; actually looking into their side projects listed on the resume before the interview; and asking imaginative questions.

One more important thing about coders, generally speaking, they’re some form of OCD control freak / perfectionist, almost every time. This means they have an aptitude to solve ridiculously obtuse complex problems that nobody in their right mind would, and learn how to work with complex systems that nobody in their right mind should, but it also can mean they have too-high expectations of themselves and others.

In the interviewing playground this can really work against these guys and gals, because many of the candidates have not had the opportunity to interview other candidates themselves before, so they have not seen first hand that nobody’s perfect, and that often the candidate who’s hired is not the most technically proficient, but rather – a well rounded individual.

The technical interviewing circuit has historically been, and is, brutal. Academic institutions and huge dont-give-a-shit-about-you companies on the career fair circuit train and reinforce early on that what matters is technical aptitude and nothing else. That’s great for a fuck-you culture that wants to have management call the shots and hire voiceless coders to burn out perpetually, but real life can be, and thankfully often is, different: technical aptitude is a great talent, but it’s not the end all be all – and that’s okay if you’re not a wizard!

It is not uncommon to have a candidate seem to completely shut down on you because you’ve asked them a question that’s stressing them out and they can’t see the answer immediately.

Again – these are people driven by precision and control of their world around them.

Facing the unknown, and the added pressure of talking about themselves and being scrutinized can lead to overload, fast. Many of these uninitiated candidates expect you to be looking for this robotic superbeing that simply doesn’t exist, and they may very well expect themselves to be that superhero. The first, second, third little sign that they’re not so hot shit may really throw them for a loop when in fact they’re a great person, they just need some help.

Keep this all in mind when you’re reminding yourself to be warm and friendly.

Personally, I prefer to make it clear up front, at the first sign of weakness or shut down, that interviewing is a conversation and I’m not here to make them solve crazy problems alone in 10 minutes that take 4 hours in real life. I remind them that an interview is to see if I and my teammates would like to work with them in the future, so in that vein, we should work together on problems during the interview. I tell them that it is perfectly alright to get stuck, just like you do in real life.

With that re-assurance in place, it becomes easier to truly monitor what the person would really do when they’re stuck. You can easily give them a few seconds when its clear they’re stuck, and see if they’ll admit it or ask a question or start working a different angle, and if they freeze even still after your re-assurance, re-assure them again.

My thought is, as a teammate, it is part of your job to make sure your teammates succeed, just as it is theirs for you. There is almost no effort or harm in setting up your candidate up for a feeling of absolute success – and then grading them later based on how the experience went. If a candidate really seems to be dependent on your reassurance, is that something that fits your culture, or is that going to not work? If a candidate never once asked questions to clarify the problem space, will they ask the required questions to have success on the real project? And so on.

Technical Interview Phases:

Generally speaking, a technical interview runs like this:

First, There’s a phone screen where the hiring manager tells the candidate about your place a bit, then asks about their experience, and possibly attempts to figure out if the person can code at all.

Then, on site, a minimal 2 to 4 hour interview is given with different phases: cultural fit, experience/background, practical easy/concrete problem solving, and possibly: puzzles.

I’m of the opinion that you can take or leave the puzzles section if you’re happy by that point, if not, sometimes the puzzles crap can really show you the light in perhaps 1 in 10 candidates who otherwise seem to be a dud.

Microsoft/Google fans will tell you it’s all about the puzzles, junk like “why is a manhole cover round?” that’s really obtuse, to more reasonable oddball questions like “How long would it take a single person to wash every window on Seattle’s sky scrapers, if it takes 3 minutes per window?” – these less straight forward questions can show you very quickly how out-of-the-box/esoteric a person can think, but to me that’s much less important than the basics: would you want to work with them, and can they code?

A fun puzzle question:

If you must ask a puzzle question, my favorite from paypal days was: “Can we fit a million dollars in pennies in this room?”.

I love this question because it is physical, concrete, and there’s no “trick”. The puzzle questions often have some really clever trick insight to them that if you don’t know it, you’re completely screwed. Nothing is worse than a interviewer who’s so thick that he’s cocky about how smart he is (knowing the trick), but probably couldn’t deduce that esoteric trick himself if he hadn’t seen the answer two seconds after reading the question.

Answers to this pennies in the room question have been astounding at times. I recall one guy we hired working out spacial geometry (which always amazes me, b/c I am horrible at geometry) – which may have been overkill, but was a precise answer.

Whereas the simple anyone-can-understand-you answer I liked to hear was something more like:

“Well, a roll of pennies is about 3 inches tall, and that’s half a dollar, so for every half foot of height we have a dollar, or two dollars per foot height, right? This room is about 12 feet tall, so that’s 24 dollars per stack of pennies.

A penny is about 1/2 inch diameter, so in a square inch we could have four penny stacks, a square foot is 12″ by 12″, so thats 12 x 12 = 144 square inches per foot, multiply that by 4 penny stacks per square inch (this is where I whip out my calculator on the iphone, or let the candidate do that if they want..) = 576 penny stacks per square foot.

So we have 576 penny stacks * $24 per square foot in a 12 foot height room per square foot of floor space, that’s: about $14,000 per square foot. (dang..)

This room is 15×10, that’s 150 square feet, 150 square feet x $14K = about $2.1 million dollars, so yes, we could fit a million dollars in pennies in this room, and sit comfortably counting our riches, as well.”

The thing is, the geometry answer is more precise, and probably correct, but for me, an effective coder with some smarts, the geometry was way over my head. I had to wikipedia the equations for a few minutes after the interview to see if he was right!

If we wanted this guy to face project managers or worse, non-technical clients – would he be throwing geometric equations at them for problems with simple followable answers? Further questioning in that particular interview revealed that no he would not be throwing equations at people with less technical knowledge, he was just being technical b/c he expected I would be – he was able to dumb it down to my amateur-hour level quite easily as I asked him more.

On the other hand, the more verbose step by step answer is easier to follow, stop, back up, go forward again, until everyone’s on the same page. If *I* can follow the answer, there’s a decent enough chance this person thinks in small steps like this in general, and will write code we have a prayer of understanding when a bug hits while he’s on PTO.

The most important question:

If you can: Ask the candidate about their most favorite project ever, doesn’t have to be professional, can be hobby. This question and general questions like this will give you a really great gut-feel about who this person is and how they feel about and approach their work. You’ll be able to tell how involved or interested they were, and they should be – this is their most favorite project ever, right?

In my book it’s a really great sign of drive, and creativity, and interest, if they really enjoy something they’ve done before or are doing. I’d prefer a candidate with ambition and side projects (the more failures, the better), because that’s my personal style and generally the kinds of people I see the produce the greatest work with the greatest enthusiasm.

As they’re going along, talking about the greatest project ever (or so far), pick out a few things to ask them specifics about. If you’re not exceedingly technical yourself, it can be difficult to understand what they’re talking about and/or if they’re bullshiting you or not, so it’s best to choose trivia you know good and bad answers to. If you can’t find something easily, ask them generally something like “what was the best and worst parts of the project?”, or “did the project ship, why, why not?”, “what was the greatest technical challenge?”.

If the candidate completely freezes up, especially if they’re a recent grad who’s young, it’s time to be warm and friendly and be more specific, look down at their resume, pick the latest job and ask how that went and what they did there. It’s possibly a negative that they couldn’t offer something up on their own, but remember coders are sensitive and non-social creatures, so like a shy child it takes just a little more time to really see their eyes light up and get going. If the last job was horrible and what not, figure out if the job before was too, try and dig for something they enjoyed. If they didn’t enjoy any job they’ve been at, and can’t put a positive spin on something as silly as coding, they’re likely a cancer for your team’s morale.

While you’re looking at their resume, it’s a good idea to figure out if the candidate has ever been a part of a team that actually shipped something, and why not if no. Failure is not a reason to skip on hiring, failure is a good thing almost always if the person learns from the experience for next time, so keep that in mind.

Also figure out their level of involvement in the professional resume experience, did they have the opportunity and autonomy to solve problems on their own? Have they experienced rigid-bullshit land where an architect or manager demands minimal code and perfection via configuration and absolute worship of libraries and immaculate design in all things, even more than shipping? Have they experience cowboy-bullshit land where everyone is autonomous and friendly and structure is laughed at and progress suffers because of it? Someone with really great opportunities in their past will have seen both of these extremes and everything in between. If they havent, know where your company falls on that spectrum, and interview toward finding candidates who will be excited to be in that type of culture.

Example Starter Questions:

These examples should take a minute or two each, nothing crazy, and if someone knocks some of them out of the park you may just skip on to your better questions later.

Question: What’s the difference between a div and a table, and why would you use one or the other?

Answer: Years ago everyone used tables for everything, including laying out where stuff was on the page, the div tag, with css added, can do all of that so a div is basically a random box that you can do things to, a table is best used for actual tabular data like laying things out like a spreadsheet.

Their answer wouldnt have to hit all of this or be precisely what i said, but something along those lines.

Next question: javascript implies some programming ability, so ask them fizzbuzz:

About fizzbuzz: http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html

Possible answers outlined here: http://c2.com/cgi/wiki?FizzBuzzTest

I’d accept any of the last two solutions, b/c for a simple five minute starter question like this, I dont care about the most elegant code style on this question, just that they *can* code.

Those are the easy questions, if they don’t get those two, and you expect them to do JS programming, yikes. If they’re doing good so far (which any candidate should), you at least know they have some bare minimal context.

For more intermediate questions consider something like:

Intermediate Question: Tell me of your most recent IE-hell experience, and what did you have to do?

Answer: IE is, to this day, incompatible with various standard html, css, js models in various odd ways. Most web developers will make their code work in chrome/firefox, then fix compatibility at the end in IE. No matter if they use jquery or great libraries to abstract the problem away and solve it most of the time, or not, they still hit this kinda crap *all the time*. The candidate should be able to describe in detail what was going wrong, and give you a good sense of how they compromise in a situation where they have little choice and are possibly upset by the idiocy they’re forced to deal with.

More Advanced Question: Suppose I’m a junior programmer who’s just learned about the innerHTML property in javascript and don’t know what DOM is, how would you explain to me why to use one or the other, and what they do?

Answer: innerHTML is a property on a DOM object (which in turn is a code representation of some tag in the html). when you assign a string like “<p>hello world</p>” to something.innerHTML, the browser parses this info and overwrites the inner html inside that particular tag. so before you had “<div<>p>goodbye world</p></div>”, and after assignment you’d have “<div><p>hello world</p></div>”. You *can* use innerhtml for quick hacky ways of generating HTML in strings and changing the page easily, but there are more robust and flexible tools for doing the same thing using the DOM Model. The DOM model lets you inspect the HTML document’s structure (tags), and walk up and down, inside and outside of a given tag or node. With the DOM model of programming you can find children tags by id or other means, replace them, add children after them or inside of them, etc. Further, if you have a page with a lot going on, using innerHTML is not going to be as performant, because the browser will be doing a lot of work parsing and creating DOM html objects for it’s internal DOM structure out of those strings you keep throwing at it.

Better questions:

Better questions come from your own experience. Think about a problem you recently solved yourself, that was kind of tricky, and ask them how they’d solve it. I usually preface these kinds of questions with a disclaimer that I don’t expect them to do 4 hours of work in 10 minutes with absolute precision, nor do I expect them to solve everything alone, let’s work together and figure out different ways this could work.

As the answers go along you can prod this way or that with questions like “That sounds good, are there any issues we’d need to worry about if we do it that way?” – This is especially fun to ask when you don’t even perceive issues yourself – sometimes the candidate will surprise you in being smarter than you, and other times you’ll get a sense of how a candidate handles confidence and/or arogance when they’re certain the solution is the best.

The truth of the matter is: code’s never done, and can always be done differing ways, doing things one way may be the best in terms of time to code the solution, but not great for X Y Z, if a solution is technically sound, these other more esoteric concerns could be discussed.

If your direct work experience is not exactly relatable to the candidate’s position, make it relatable.

For example, you worked on a windows system that may have a windows GUI, a great question may be: “When I was working on this windows GUI, it was tricky to make this widget work correctly for different window sizes, how do you handle that kind of thing in your web development for a browser?”

Even Better Questions:

If you have time, let the person actually code something, on a real computer. Give them an hour to do something you’d expect to take 30 minutes. Tell them they can use google, stack overflow, whatever they like. Tell them before the interview this will happen and that they can bring in their own laptop with their own code if they want, so they can copy/paste or reference a solution they’ve already worked out before for pieces of the problem.

In this kind of setting you can do all kinds of things:

a) Write a function that tells me if all letters are in a string with a boolean result.

b) Make a small webpage that takes has a div, a textbox, and a button. When the user taps the button, the text in the textbox is added to the div.

c) Show me some jquery tricks, make a box animate for me. Make it move to the right when I click a button in the page, and make it appear or dissapear with a fade when I click this other button.

If the candidate comes back in 10 minutes with these answers (reasonable for a senior candiate, more like lets say 30 minutes for a reasonable junior candidate w/ some experience), ask them another, or ask one more complicated:

a) Alphabetize all of the letters in a string.

b) Validate that the text box contents are alphanumeric, and show a nice error that fades away after a second if there’s something bad in the text box.

Notice that even these more difficult questions are *not* rocket science. You’re not hiring a rocket scientist, you’re hiring a coder who’s going to be putting up with shifting schedules and bugs in other people’s code, and doing things fast when we can’t do them elegantly b/c we don’t have time, and so on. If you test for extreme technical proficiency, you’re losing time better spent figuring out those other equally important abilities.

Resources:

There are some great books out there about technical interviewing, I’d particularly recommend the mount fuji book, because reading it really eased my mind about technical interviews.

The basic story that book will tell you is: Microsoft invented technical interviewing, and most everyone followed this particular style of interviewing blindly, because it worked mostly. Microsoft found that it’s better to weed out a million maybe-good candidates, than hire one bad candidate – because a bad candidate can be a cancer, as I mentioned previously – and it’s difficult to get rid of someone, especially if they’re not outright horrible in some fireable way. The mildly horrible are the worst ones..

Personally speaking, I think some of the Microsoft/Google-way of interviewing is a bit dehumanizing for candidates and may overly prefer coders with jaw-dropping technical skills but not equally important human skills.

It seems the to-the-book style those guys use does not test well for creative spark or leadership ability, which in my book are critical things to understand about an incoming candidate. A coder who breathes OpenGL wizardry or cache-line/register insanity (in 2012, no less) is awesome, but only if they have the spine to say no when they should.

I get the feeling some of these technical-merit-trumps-all fun houses are a bit predatory in that most of the people I’ve know to get through the processes have been surprisingly low on my “would want to work with” personal scale. Not all of them, some really amazing friendly people I’ve met are over at Google now, for example, but they’re definitely not the rule.

Anyway, the books are still great learning material for the history behind technical interview processes, and they contain tons of sample crazy questions..

I would also *highly* recommend reading this book:

http://www.codinghorror.com/blog/2012/07/coding-horror-the-book.html

Coding Horror is a great programming blog, one of the more famous blogs on the subject. His e-book he published earlier this year is one of the best things I’ve read this year, and more than a few of his favorite blog selections in that e-book are posts about interviewing style and process. I do not necessarily fully endorse or agree with all of his opinions on interviewing, but you should not completely agree with me or anyone for that matter. The book is *excellent*, the end.

Interviewing is a skill.

At the end of the day, interviewing well (as an interviewer or a candidate) is a skill, and an important function of your job. I recommend that you take it very seriously, and encourage the jerks you work with who don’t to consider taking it seriously too. Candidates are not warm bodies or numbers, they’re humans who want and deserve the same things in life that you and your teammates want and deserve, treat them as such, even if they suck. Just don’t hire them if they suck.

You won’t be a great interviewer the first, or fifth time you interview, so I recommend shadowing some other teammates while they interview for those first few go rounds.

Once you have a few rounds under your belt, you’ll realize that like your great engineering team, a great interviewing team needs diversity.

It’s okay to have a peer who’s really aggressive or cold perhaps be one of the later interviewers in the schedule, as long as he, and the rest of the team takes his ‘personality’ into account when he comes out with the left-field cynical insanity about the candidate everyone else loved.

You yourself may be warm and fuzzy and more culturally minded, like me, rather than super technically brilliant, which means you’re a better cultural fit phase guy – there’s no harm or problem in that.

The key is to structure your interviewing schedule to have the person comfortable, and shining, as early as possible – and have your interviewing team well rounded, with equal parts personality-people and tech-heads in the mix.

Finally, on this topic, I have the following advice: pay attention to who’s hired and not.

This is feedback to you about how well you are or aren’t interviewing the candidates, as well as feedback about what the culture is looking for.

I’ve been in cultures where everyone was a hot shot and they couldn’t hire anyone b/c they wanted nothing less than superheros always, unsurprisingly – I was never asked to interview there, and I was a bad cultural fit for their culture in general. And.. I’ve seen cultures that were more laid back and so permissive that almost anyone could come in the door, and that had an entirely different set of problems.

I’ve had enough interviewing experience now that honestly I can tell quite a bit about a company’s culture (or at least their sincere interest in well-fitting candidates) based on their interviewing style and techniques – and you’ll get there too.

A short story

I didn’t start interviewing candidates until I was about 3 or 4 years into my career. I always feared interviewing other people because I was so horrible at interviewing as a candidate myself. I did not want to see how awesome everyone is at interviewing and further crush my own perception of my interviewing abilities.

As I mentioned earlier, coders *really* do not like interviewing, from either side of the table, and one of my teammates was the prototypical example of this. He was a great conversationalist and had a great sense of perception, so naturally, he was a permanent fixture on the interviewing team – and he hated it.

One day at random he asked me if I would interview in his place, and I was hesitant for reasons outlined above, and he almost immediately offered me $1000 to take his place. I laughed at him, and then I stopped laughing – because he was not laughing. He was serious. We ran it by our HR guy, found no ethical dilemma, and considered it an out-of-band cash bonus incentive to join the interviewing team.

Being paid $1000 to start my personal interviewing saga is funny, but in actuality, my friend single-handedly shoved me beyond a silly perceived wall I’d set up for myself, he forced me to go interview some candidates – which in turn showed me the other side of my silly perceptions.

Thanks to him I learned very quickly that I wasn’t alone in my fear and clumsiness in being interviewed, and I found a serious interest in figuring out how to really interview a candidate well, in a way that would give them the best shot of shining and strutting their stuff in the process.

Seeing the other side of interviewing, from the interviewer’s side of the table really showed me how full-of-bullshit the dogmatic technical interview process/style really is if you’re just going to buy into it hook-line-and-sinker without using your brain a little.

Microsoft and Google have part of it right: the candidate needs to know how to code, and you need to test a bit to figure out how they handle conflict and such, but it doesn’t have to be a pressure cooker.

Insane puzzles with no correlation to the real world job you’re interviewing for are not really where it’s at. It’s more than that.

Credit where credit’s due:

When I was out of college, doing the career fair circuit, there was one interview in particular that always sticks out in my mind.

Where I had been dog meat (a warm body, a number) in every interviewing situation before, the interviewer opened up the conversation asking me about some very specific little shareware products I had made and listed under the hobby section of my resume.

That interviewer really took me off guard, and for a moment flipped everything I expected from technical interviews on its head.

Essentially, my personal interviewing style, 8+ years later, is to make my best damn attempt I can, every time, to replicate that amazing interviewing experience, where my past colleague, and friend, Brent Schneeman, showed me how friendly and amazing technical interviewing really can be.