Building the Pinoccio Pomodoro

This week, I had the chance to hang with the team at Pinoccio – they’re building magical little wireless microcontrollers that talk to each other (via a radio mesh) and to a web API (via wifi). When you combine those boards with prebuilt “backpacks” of sensors and other tools, you get a powerful tool for building your personal internet of things.

I was looking for a short project to learn how to interact with my Pinoccio troop. The company has built an easy to use node.js module, so I decided that a little javascript app would be a great starting point. I also wanted to build a tool that would both talk and listen to the troop, passing commands via the API and receiving instructions back. Since this was both my first Pinoccio app and my first Javascript app, I wanted to keep things as simple as possible.

After poking around with a few ideas, I decided to build a little Pomodoro timer, powered by Pinoccio. I spend a lot of time at my desk context switching between writing/programming on my laptop, and reading/studying on my kindle or paper textbook. Having a big, visual indicator telling me to focus or take a break would be really useful – sort of a needlessly technical version of Chris Poole’s chart.

For this tutorial, I’ll assume you already have a Pinoccio troop, consisting of one wifi connected lead scout, and one scout with a button installed. I’ll also assume you have Node.js installed, and that you have a tiny bit of familiarity with javascript. No idea what I’m talking about? No problem – just start with this guide to setting up your troop (via the browser!) and this tutorial for getting a button working with your scout. Node.js docs can be found here.

Once you’re all setup, take a minute to play around with your troop in Pinoccio HQ. Turn your LED’s on/off, and make sure your scouts are responding to scoutscript commands (you can type them right there in the browser!).

Next, lets install the Pinoccio node module. After you login, run the “pinoccio token” command to make sure you’re setup properly. Save the token that returns, as we’ll need it in just a minute.

Now, on to setting up our javascript app. Create a new folder for your app, then create a new javascript file. I called mine “pinoccio-pomodoro.js”.

Next, you can run “npm install pinoccio prompt” from the folder you created your javascript file in. Make sure you also make the changes in the javascript comments, adding your token and the correct troop/scout ID numbers. Once our file is setup, we can start listening to Pinoccio’s streaming API:

The first console.log() is a quick test to make sure we’re properly connected. run your app from the terminal, and you should see a stream of JSON on your screen. Press the button on your scout, and you should see new data being reported.

Next, delete or comment out the first console.log(), and uncomment console.log(“Button-press task started.”). Rerun your app. Now, you’ll see “button press task started” each time you press the button on your scout. Not working? Make sure you’ve have the correct value for your troop and scout names.

Now, we need to write two simple functions to interact with the user via the command line, and to pass messages down to the pinoccio that will display our timer light. Starting with the user interaction, we’ll use a simple instance of the “prompt” module which makes it really easy to interact with users on the command line. Our code for this method looks like this:

The prompt documentation has a good explanation of the different configuration options, if you want to make any changes. To wrap everything up, we just need our actual timer method.

Most important here are the two calls we make to the Pinoccio REST API. We use the node module to post to the scout when the timer begins, and when the timer expires we change post a new command to switch to green.

These commands are simple ScoutScript, so read the docs and experiment with making changes: make the LED turn different colors, or pass entirely different commands.

So, now all that remains is putting it all together. The complete code:

You should note the addition of the call to setTimer() when a button press is detected in the API listener. The same call is added to the “yes” answer if-statement in the runPrompt() function.

So that’s it! You should now have a working indicator light that responds to either a button press or console command. Each time you start a new timer, it will run for 25 minutes, before prompting you to start a new pomodoro.

As a next step, I plan to add better tracking of completed tasks (maybe some sort of goal/progress tracking), and maybe figure out a few more interesting Pinoccio interactions to add in. I’ll probably also hook the lead scout (with LED) up to a larger board that can be hung up over my desk.

Robots, Inequality, and Seattle’s Minimum Wage

(Cross-posting from Medium. There’s also a good discussion on /r/seattle about the post)

The story on Seattle’s decision to introduce a record high $15/hour minimum wage is being told looking backwards. Pundits from both sides of the political spectrum are focusing on a narrative of middle class wages, union membership, and inner-city poverty. This standard narrative misses the greater story: Seattle’s decision puts the city at the center of the rise of service job automation, while also accelerating the dramatic inversion of the American city. The Seattle City Council’s attempt to combat rising income inequality (driven, in large part, by a booming tech sector and the increasing automation of low wage manufacturing work) will unwittingly set off a gold rush in technology and automation.

There is surprisingly little consensus among economists on the impact of dramatic increases in the minimum wage. The best data can be summed up as this: poverty does decrease, but so too does the total number of jobs. But what Seattle is attempting is nearly unprecedented, in that the increase is dramatic (a nearly 50% increase over the existing wage), sustaining (pegged automatically to inflation after implementation) and gradual (phased in over 3-7 years, depending on the size of a business). I predict there will be two major impacts, neither of which are being discussed extensively, and with both representing major unintended consequences from the perspective of Seattle legislators.

First, and most importantly — Seattle’s City Council just made their city ground zero for the automation of service industry jobs. Imagine this: You’re an entrepreneur working on the next generation of those (currently terrible) self checkout systems. You’re bootstrapping your company, but having trouble getting traction with merchants. Everyone you talk to sees the value in automating the checkout process, but most businesses can’t quite justify the capital expenditure required to save on staffing costs. Seattle just created a geographically dense collection of highly motivated customers overnight. If they aren’t already, that entrepreneur should be on a plane to Seattle, ready to pound the pavement for new customers.

Remember, Jeff Bezos famously started Amazon in Seattle due to its combination of technical talent and advantageous tax situation. Watch closely: as the new wage phases in over the next seven years, expect large companies to test their US automation efforts in Seattle first, and expect a boom in startups bringing cheaper, easier forms of automation to cash-strapped small businesses. The net effect of that boom will be more highly skilled jobs in the Seattle region, and a commensurate increase in income inequality in the city.

Second, and related to the problem of rising urban income inequality: the gravitational pull of dense, wealthy city centers is intensifying the inversion of American cities. Since the 1940’s, American cities have been typified by poor, urban cores, with wealth distributed in concentric bedroom communities connecting commuters to the remnants of traditional downtowns.

The past decade-plus has seen this trend reversing, starting with the revival of urban cores in New York, Chicago, and San Francisco. Whatever your pet cause for this reversal (ranging from the changing lifestyle preferences of millennials, to falling urban crime rates driven by the elimination of leaded gasoline), it is now clear that in almost every city, wealth is concentrating in the center, while poverty is pushed out to formerly affluent suburbs. Seattle just unintentionally accelerated that process. Minimum wage workers in the city will be better able to afford a rising cost of living, but those workers that lose their jobs will be forced out to lower paying opportunities in the suburban periphery. Along with the aforementioned rise in inequality due to a booming tech sector, expect Seattle in ten years to look wealthier and less diverse.

At first glance, these predicted consequences paint a dim, even critical view of the decision to increase the minimum wage. I think the opposite conclusion can be drawn, and that Seattle should be lauded for putting themselves ahead of the coming automation wave. By recognizing the increasing political power of wealthy, dense metropolitan areas, Seattle can take action on what will ultimately be a series of difficult political decisions. How do cities cope with poorer commuters streaming in from the periphery? How does a tax base change as staff-heavy businesses become more capital intensive? Perhaps most importantly, what does an American city look like when it’s densest areas are almost universally affluent? The next 50 years will see these questions answered across the developed world, and Seattle will be leading the way.

The Anti-Dropout (Or, Why I’m Going Back)

Note: I am reposting this from Medium, because I’m old fashioned and like having at least a copy of all my content hosted on my own domain. You can view the original here


Since dropping out of college at age 20, I’ve been a vocal proponent of “Career Hacking” and other approaches that lead to departing from the standard education path. College was a frustrating and limiting experience, while my time since dropping out has been universally positive. I worked for David Tisch and the inaugural class of TechStars NY, joined Onswipe as Employee #2, and most recently was one of the first US employees at Taykey. At each of these roles, I’ve been privileged to be surrounded by smart people solving hard problems — exactly what I hoped to find when I left college.

That’s why it’s coming as a surprise to many of my friends that I am returning to my studies this fall. I’ll be studying Computer Engineering at Columbia University, attending as a full-time student.

Why am I doing this after successfully dropping out? Because two truths have become apparent after spending two years working in tech:

The most interesting technical problems of the next decade won’t be solved in areas of knowledge that can be self-taught, and most technical knowledge remains locked up in traditional academia.

Part of the fetishization of the dropout over the past few years has been the assertion that smart people can “teach themselves” the skills needed to succeed in technology and business. I take issue with the fact that this implies all smart people are autodidacts (not at all the case in my experience). It also implicitly argues that all “important” knowledge can now be found online in a readily digestible format.

It’s true (and exciting) that so much knowledge has moved online in the past decade. I can learn basic programming via Treehouse. I can learn web design in a course on Udemy. But what if I want to learn about the physics that drive hardware performance? The materials science behind the next generation of wearable computing? Or what about how to bring electronics manufacturing back to the United States? There are real, fundamental sets of knowledge that are still locked up in traditional academia.

We can debate the merits of this, as well as how quickly this knowledge will go “open source,” but as a 22-year-old in 2013, I’m not willing to bet my career on that time frame.

The next generation of innovation will come from larger organizations, where traditional credentials are more highly valued than in degree-agnostic web tech startups.

I believe that the next set of world changing innovations won’t necessarily come from the same team structure that has thrived over the last 5+ years. The default mode has been a small, nimble team, with limited resources (angel-financed seed round) building products. This is a great model when you are building on the back of commoditized tech or open sourced frameworks.

This won’t necessarily be true in the next generation of innovation. We forget that the technologies underpinning the current generation of startups began in huge organizations (Xerox, IBM, Apple) before being iterated upon in smaller teams and organizations. The past few years have seen a large reallocation of resources to the “iterative” end of the spectrum, which leads me to believe we are due for a swing back to investment in the “fundamental” side.

What does this mean in the context of education? It is in those types of organizations that credentials do matter. Want to work on the self driving car? That Ivy league engineering credential is your ticket onto that sort of team. I won’t bet my career on beating the HR apparatus at Google, even after I have proven my ability to hack my way onto early startup teams.

I’ve now twice expressed an unwillingness to “bet my career,” which probably seems oddly conservative for a college dropout. I’ve always admitted to being the most risk-averse dropout around. Just like the smartest gamblers do everything to stack the odds in their favor, I want to place smart bets in high-impact areas. My decision to drop out was a gamble that I could find success through my own educational framework. Going back is a way to double down on the experience I’ve gained over the past two years — I’ve seen the cards, and I’m ready to place the next bet.

Pursuing Arete

For several months, I have been researching the concept of “areté”, a Greek word loosely translated to mean “excellence of any kind”. I first came across it while reading “Zen and the Art of Motorcycle Maintenance”, where it was referenced as a more personal analogue to Pirsig’s “Quality”. Something about the concept stuck with me- a counter to what felt like a crushing pressure towards greater personal specialization. At the same time, I saw areté reflected in a variety of disjointed modern concepts, from the growth of “maker” culture to the localvore movement. areté seems to encompass the broad group of people actively working to develop a deeper understanding of how they interact with their world. With this in mind, I’d like to start by evaluating areté in a historical and personal context, before clarifying a few key aspects of a passable modern definition, as well as calling attention to a few modern writers and doers that best embody this definition.

The best way to understand classical areté is to consider the definition found in Kitto’s “The Greeks”:

“The hero of the Odyssey is a great fighter, a wily schemer, a ready speaker, a man of stout heart and broad wisdom who knows that he must endure without too much complaining what the gods send; and he can both build and sail a boat, drive a furrow as straight as anyone, beat a young braggart at throwing the discus, challenge the Pheacian youth at boxing, wrestling or running; flay, skin, cut up and cook an ox, and be moved to tears by a song. He is in fact an excellent all-rounder; he has surpassing areté.”

In seeking to tie this ancient ideal to modern times, the natural bridge ideal is that of the Renaissance Man, the famous polymaths such as Da Vinci or Michelangelo. Highly intellectual, they made enormous strides in math, science, philosophy, and the arts. On the other hand, we don’t envision Da Vinci behind a plow, or Michelangelo boxing with the youth of Venice.

In more recent times, the writing of Henry David Thoreau might be the best approximation of the idea. Thoreau was a poet, a naturalist, and a radical political writer, but as works such as “Walden” show, he was a rugged survivalist who lived for many years off the product of his sweat and hard labor. In “Walden”, he explained what he hoped to gain through his retreats into solitude and self-reliance: “I wanted to live deep and suck out all the marrow of life, to live so sturdily and Spartan-like as to put to rout all that was not life, to cut a broad swath and shave close, to drive life into a corner, and reduce it to its lowest terms.”

In evaluating areté at a personal level, I see parallels to a life goal I call the “any room” challenge: Developing the breadth of experience necessary to walk into any room and have a meaningful, informed conversation with those inside. This can require diverse knowledge, such as a working understanding of international finance, so you can relate to friends in the industry despite never having worked alongside them. It can require diverse experiences, such as having rebuilt a motorcycle engine so you can hold your own in a conversation about the merits of your bike while stopped at a roadside diner. Above all, it requires you to have lived a full and complete life, something I find to be a worthy goal.

I’m also intrigued by the fact that areté also explicitly requires two qualities that we see today as being quite in opposition to each other. There is a physically rigorous excellence (boxing, driving a furrow, etc), but held in equal esteem is a high level of emotional sensitivity (being moved to tears by a song). Somehow, modern culture has made physical rigor a “manly” quality, while emotional sensitivity should be exclusively feminine. Eliminating this artificial divide seems like a worthwhile goal.

An individual possessing areté is not a Luddite. Schools of thought advocating a “back to nature” philosophy, or some equivalent often advocate for a near total rejection of technology. In the case of areté, I believe the opposite is the case. Part of “surpassing excellence” is being well versed in the technology of the day. Homer drove a plow in the same way a modern person might be a competent computer programmer.

Areté is gender neutral. This should be self evident but it is somewhat obscured by the historical language used. For some time, it seemed like the only real modern definition of the well rounded nature I am looking for was “manliness”, which obviously comes loaded with gender issues. Areté is a worthwhile pursuit for all people of any gender, background, or age.

Areté is not tied to any religion. I’m not entirely sure why, but most of the online discussion around areté seems to be dominated by religious individuals/groups. I assume that this is due to the fact that modern discussions of “virtue” seem to be marginalized to a religious context, despite there being no reason for this to be the case.

Perhaps the best definition of areté I have heard came via a passing comment from a friend, describing someone as “wanting to get to the core of everything in life.” It’s not enough to use the computer, you must be able to program it as well. It’s not enough to ride the motorcycle, you must be able to fix it as well. This would certainly seem to capture the mindset of someone who seeks to “live deep and suck out all the marrow of life”, one who is “an excellent all-rounder”.

Aside from Pirsig’s writing on the topic (published in 1974), I’m not aware of any modern authors addressing the topic of personal quality so directly. The blog Art of Manliness (run by an amazing husband/wife team) has done several great series on topics like honor, self-reliance, and specific skills tutorials. Matthew Crawford’s “Shop Class as Soulcraft”(published in 2010) confronts the devaluation of tactile and “trade” work in favor of purely intellectual “knowledge” work, and individuals like Zach Klein promote a Walden-esque “back to nature” mentality that is at peace with technology in publishing projects like Beaver Brook and Cabin Porn.

In an increasingly specialized world, where walls seem thrown up at every opportunity between the tactile and the intellectual, the natural and the technological, and the sciences and the arts, any effort to present a vision of a more complete individual is worthy of pursuit. Modern areté is a movement without a name; the sum of thousands of individuals broadening their knowledge of the world. Individuals in this movement are often seeking a goal without a guide or framework. Areté is that framework: one for the maker, the doer, and the hacker.

Stop Applying to Startups

Discuss this post on Hacker News.


You’ve decided that you want to work at a startup.  Maybe you’re leaving an existing career, or just getting out of college and looking for a first job. You found a startup you liked. Checked the job postings. Cleaned up your resume, wrote a killer cover letter, filled out the form on the careers page, and hit send.  You did everything by the book, just like your college career counselor told you.

Now, let me tell you what’s happening on the other side of that application form.  A founder or early employee is getting stacks and stacks of resumes by email every day, adding to a laundry list of more pressing tasks in their inbox. The role you applied for? Hundreds of potential candidates for it are being sorted along lines like these:

1. Top of mind for the hiring manager are their “target” candidates for the role. This is probably an existing friend or contact that the startup is trying to pry away from their current job. A huge bulk of the company’s recruiting bandwidth will be devoted to enticing these candidates.

2. Next comes a flood of recommendations and introductions from friends and colleagues. Some of these are highly qualified. Others are being referred as favors to the candidates, and the warm intro means that at the very least they will be given a phone screening or in-person interview.

3. A distant third on the priority list are the stacks of resumes coming in every day via blind emails. To be perfectly frank, 90%+ of those resumes are entirely unqualified for the position. All will be scanned quickly and given a quick yes/no based on a set of exceedingly simple heuristics (“not enough relevant experience” is the easiest heuristic of all).

Looking at this hierarchy, it’s clear that being at the bottom rung isn’t going to lead to much success in getting hired. Fortunately, one of the things that makes startups so compelling is the relative accessibility of key decision makers. From the original story of Tristan Walker at Foursquare, to the way my friend Luke Hristou tweeted and blogged his way into a gig at Techstars NYC, the startup community is full of stories of cold contact hustle.  Whether it is through reaching out via Twitter, attending Ohours, or even finding the founders email (Scott Britton has an excellent, in-depth explanation of how to do this) and writing a strong introduction email, almost anything is preferable to letting yourself end up in  the resume stack.

If you manage to get a meeting, you will need to impress the interviewer in as short a time as possible. This means planning obsessively. I’ve had designers come to these meetings with mockups of a product feature, and marketing candidates who put together an execution strategy based on their research of the company. In addition to impressing the interviewer, this approach gives the candidate a tremendous advantage: by shifting the conversation from “convince me that you’re qualified to work here” to “let’s talk about the execution of this proposal” you get the classic advantage of “Show, Don’t Tell”. Show the type of work you can do for the company, rather than attempting to Tell them that you can do it.

After you’ve impressed the interviewer in your first meeting, It’s still critical to nail the “next steps”. I’m always surprised by how many really impressive candidates will walk away from a great meeting without gaining a good understanding of what comes next. As the candidate, your post-interview concerns should be:

1. Clearly defining next steps: Where is the company in the hiring process for this role? What is the next stage of the process for you? When should you follow up with the interviewer (in addition to your post interview “thank you” email)? These should all be asked and defined before you leave the initial meeting.

2. Nailing the follow-up: It’s incredible to me that so many people still fail the most basic skill of “interviewing 101”. As soon as possible after the interview, send a concise thank you email. Refer back to a part of the conversation where you and the interview connected well, and also mention the next steps you clearly defined as the meeting was ending.

3. Blowing them away with social proof: I have a close friend right now who is interviewing for a technical recruiter role at a hot NY startup. In the aftermath of his first interview, he has been getting in touch with all his close engineer friends and asking them to write to the company founder recommending him. I think this is brilliant- if you were hiring a technical recruiter, wouldn’t you be inclined to hire the one with enormous social proof from exactly the demographic you care about?

The takeaway is straightforward: If you really want to earn a role at a startup, then “applying” in the traditional sense isn’t going to get you anywhere. The key is to move yourself from the stack of resumes to the “target” list. The ways to do this are surprisingly simple: getting in touch directly, obsessive interview preparation, and nailing basic aspects of a follow up. Get these three elements right, and chances of successfully making the startup career jump are exponentially higher.

If you enjoyed reading this, you can follow me on Twitter.


Startup Career Growth

Most people are familiar with the “standard” model of growing a career: out of college, you get an entry level job.  You hunt around for the most prestigious name (which is why every new grad wants to work at Goldman or Accenture), generally hope for a vaguely “good” starting salary, and don’t worry about much else.  You take your first job, and start working your way up the food chain.  From here, assuming no major changes in industry or job function, you follow a highly predictable pattern of title and salary advancement.  You don’t get any large and unexpected jumps, but you also know that if you perform at a general level of competency, your situation will consistently improve over time.

This is in sharp contrast to the way a startup career is built.  As one would expect, a “typical” startup career is decidedly non-linear, and titles/starting compensation matter a lot less. The roller coaster analogy is often used to describe life in a startup, and I think that the same analogy works when modeling your career.

It is probably important to note here that I am specifically referring to the career growth that occurs as an employee, rather than a founder, of a startup.  Obviously your trajectory changes dramatically once you leave “normal” employment to start your own company.  That being said, there is an increasing interest in starting and building careers focused primarily on working with early stage companies.  This is the model I have pursued (so far), and there are important general principles that can be used when pursuing and negotiating employment.

Assume you’re a recent graduate or other new entrant to the startup world. You’ve been fortunate enough to identify a company interested in hiring you, in a market that you want to work in (something I wrote about previously here). You’ve reached the point where you are discussing an offer letter, and suddenly you realize that you have no idea what you should be optimizing for.  Fortunately, there are a few areas that tend to get the most attention when evaluating offer letters:


As a junior employee at an early stage company, you will not be getting rich off your equity compensation. Any grants you receive should be viewed more as a lottery ticket than a quantifiable part of the compensation package. Beyond negotiating for a standard options grant in the first place, you shouldn’t spend time negotiating numbers or terms of a grant.

(For more info on how to approach options as an employee, David Weekly has an incredibly valuable writeup here)


Titles at startups bear little relationship to those at other organizations, large or small. A director or manager at one startup might be doing the work of someone far more senior, while other companies hand out C-suite and VP titles like candy. Objectively, neither extreme matters. If you make a career move from one startup to another, your new company will be much more interested in how you spent your time and what results you achieved. As an example, at Onswipe my business cards called me the “Director of Strategic Partnerships”, a vaguely biz-dev related title. In actuality, I spent most of my time working on product and operations, including coordinating with the engineering team and lending a hand on hiring and organizational processes. When I was ready to make a move over to Taykey, guess what carried more weight, my title or my actual experience?

My only specific advice is to stay away from the obnoxiously trendy titles that are sometimes popular in startups. If your offered title has the words “ninja”, “happiness”, or “rockstar” in it, I would sincerely suggest picking something slightly more traditional. Your title shouldn’t ever provoke a negative reaction in people you might meet, and a trendy or irreverent title can often do this.


This leaves compensation as the toughest part of the equation. When you aren’t signing up for a standard 40 year linear trajectory of raises, the salary question becomes much more daunting. As a result, I like to think of compensation in terms of plateaus. In the first 10-12 years of your career, there are three main plateaus to be considered. These plateaus can be tremendously useful in how you think about and approach a salary negotiation.

Survival– This is the “crappy apartment and lots of Ramen” stage, one that is almost unavoidable if you are truly interested in pursuing a career in early stage startups. This is probably your first year of employment, and your first offer letter will often have you taking this type of salary. The negotiation here is simple: figure out what you absolutely need to survive wherever your job is located, and argue (quite reasonably) that you can’t accept anything less. In New York or San Francisco, this number is obviously different than in Raleigh or Seattle. Do a reasonable calculation of living expenses in your city, and make sure you don’t accept anything below that threshold.

Living Comfortably– – This will be the threshold reached after you have clearly established your value in a startup. It might take the form of a promotion (from an associate type role into officially owning a specific business function), or a move to another company. In most cases, you will have gravitated into a specific job function, usually delineated along lines like product, biz dev, or marketing (with plenty of other options depending on the company type). At this career stage, you should be making enough to live in a healthy and sustainable fashion for a period of several years. You shouldn’t be adding debt (and should be paying down any existing loans). You should have enough “extra” cash to do things like travel, eat out with friends, and generally enjoy life. I won’t get into specific financial planning advice here, but the general idea is to develop a reasonably comfortable and sustainable lifestyle at this stage.

Building Wealth– This is an interesting plateau, in the sense that reaching this “mid career” salary stage in a startup is much more age agnostic than in traditional corporations. This is where you see the non-linearity of startup careers being magnified into extremes. Some people are able to leverage an early career success (such as working with a company that goes through a successful exit) and turn it into a lucrative senior role at another startup. Others are able to capitalize on a strong personal brand to punch above their weight, and earn a senior role early in their career. However you arrive there, this is the point at which total compensation (equity + salary) becomes much more complex.

Rather than scrapping and fighting for every incremental raise (the “linear” model), look to make aggressive moves that put you in a strong position to progress from one plateau to another as quickly as possible.

A Guide to Career Hacking

It seems like every other week I am getting a call from an old friend or new introduction asking for career advice.  The narrative is usually pretty similar:  Smart people reach a certain point in their college education where they start thinking about career aspirations.  They look back at a couple years of miscellaneous coursework, and realize that they quite simply have no idea what they want to be “when they grow up”.

Our university system does an impressively terrible job of helping students iterate through career options.  Switching majors is somewhat stigmatized (which didn’t stop me from doing it three times in three semesters of school), and a huge percentage of majors do absolutely nothing to help students hone in on a career.  Students end up graduating feeling no closer to a career choice than when they started school.

I’ve had enough of these conversations over the past several months that I’ve finally decided to collect my general advice into a guide of sorts.  What follows is a mode of thinking about career decisions that has served me well so far.  As Brad Feld is fond of saying, “It’s just data”, and should be treated as such.

My advice is this:  Hack your career decision by rapidly iterating through several possible options.  Find industries that interest you, and hone in on testable ways to explore them as career options.  Check your assumptions about finances, time, and location to maximize your freedom to explore.  Finally, don’t be afraid to aggressively test these hypotheses, and be prepared to fail in doing so.

To do this, start by defining your interests:

1. Identify markets/industries that interest you.  I advise starting at the industry, rather than the job function level for several reasons.  First, job functions change dramatically over the course of a career.  You start as an engineer, get promoted to manager, and end up as an executive.  You start in marketing, move over to sales, and end up in business development.  So driving towards a potential function is often counterproductive in the short term.  Second, industries in which you have a genuine, long term interest are likely to keep you engaged regardless of the actual function you are fulfilling.  In my time at Onswipe and Taykey I’ve done everything from sales to hiring to project management, and thoroughly enjoyed each one.  This is because I had already discovered a passion for the overall industry in which I was working.

2. Hone in on testable experiences.  Prior to dropping out of college, I had three opportunities under consideration.  The first was the three month Associate position that I ended up being lucky enough to receive at Techstars.  Second was being an apprentice to an individual who led leveraged buyouts of distressed corporations.  Third was working for a military contractor in Afghanistan, doing QA on vehicles returning from combat situations.  These options were quite literally all over the map, but that was the point.  Each represented a bold, aggressive move into an industry that interested me, and each was an opportunity that would have been impossible to pursue in the traditional college framework.

3. The three month hypothesis.  Focusing on the Techstars opportunity, I knew that I needed to test whether tech could truly be a long term passion for me.  This meant taking a tremendous leap of faith:  three months in NY, no salary, and no guarantee of a job offer upon completing the program.  I planned a budget which allowed me about fourteen weeks of runway, and arrived in New York with my laptop, five changes of clothes, one set of sheets and one towel.  I planned and executed a lifestyle designed to minimize distractions, and worked 18 hour days, 7 days a week to maximize my exposure to mentors, founders, and learning opportunities.  The entire strategy was unsustainable on a long term basis, but that was precisely the point.

After defining my interests, I had to check my assumptions.  Overcoming your core career and lifestyle assumptions is the first step to actively hacking your career options.  These assumptions often fall along three lines:

1.  Finances:  What is your financial position?  Do you have savings?  Debts that can be deferred in any way? What are your living expenses?  Where can you eliminate inefficiency?  I was lucky to have several advantages in this regard:  I was intensely debt intolerant, and had chosen a State school specifically to avoid quickly being saddled with large student loans.  I was an inherent workaholic:  The summer after my Freshman year of college, I worked two jobs nearly full time:  From 9am to 4pm I handled the marketing for a SaaS software company, and from 5pm to 1am I worked as a waiter at a local restaurant.  Consequently, I had saved up enough cash to make an aggressive decision like moving to NY.

2.  Time:  Perhaps the biggest lie of American culture is the concept of the linear lifestyle.  You graduate high school and go to college.  Graduate college, get a job.  If you’re a high achiever, return to school for a graduate degree.  Back to work.  Get married.  Have kids.  On and on and over and over again.  The faster you can separate yourself from that mode of thinking, the better off you will be.  Taking three months at age 20 to pursue a potentially life changing career opportunity absolutely cannot damage your long term prospects.  When presented with a choice that has enormous upside, and a tremendously limited long term downside, you take it.

3. Location:  The geographic “hub” effect is as strong as ever, regardless of how social technology has changed the way we communicate.  I wanted to work in tech startups, and lived in Raleigh, NC.  I knew I needed to  relocate in order to accelerate my career, especially if I was going to pursue a three month hack.  I hear from too many students located in places like Atlanta or Madison who want to work in tech startups.  My first advice is always to move to a hub as quickly as possible.  You simply cannot replicate the serendipity and opportunities that come with living in New York or Silicon Valley.  Regardless of the industry you want to hack, find the hub and move there as soon as possible.

Once you’ve defined your interests and checked assumptions, you should have developed at least one testable hypothesis worth pursuing.  Having settled on the Techstars Associate position as my top choice, I simply had to go out and execute.  As always, this is the hardest part.  I left my friends, girlfriend, and network behind in Raleigh, NC.  I moved to a city I had never even visited, knowing that I was about to burn through every penny of savings I had worked so hard to accrue.  I threw myself into an industry I knew almost nothing about, in an environment where I was the youngest person by at least half a decade.

I was lucky enough that my first test ended with a “success” in the traditional sense.  I found the industry I loved, and received my dream job offer from Onswipe within less than a week of my budgeted runway coming to an end.  However, like any good experiment, an alternative resolution could have equally been seen as a success.  I could have found that I had no passion for the tech industry, and received no dream job offer with impeccable timing.  This would not have been a failure, but simply a refutation of my initial hypothesis.  With a relatively minimal time investment, I would have narrowed my list of potential career options, and learned an enormous amount in a short period of time.

Although these “hacks” are built around short term tests, they are not at all designed to optimize for short term success in the traditional sense.  This is no get-rich-quick scheme, or a way to circumvent paying the dues required to advance in your chosen field.   The primary goal is to learn, not to quickly make money or get a dream job offer.

If you enjoyed reading this, you can follow me on Twitter .


We Rejected Dan Shipper (And What I Learned About Hiring)

Edit:  To clarify some confusion over on Hacker News: Dan reviewed this post in its’ entirety before it was published. I gave him final say on whether or not it was published or submitted here.  He thinks the entire thing is pretty funny and will probably jokingly hold this over my head for months.


Last Thursday I jumped over to Twitter and saw this via my friend John Exley:



I was  blown away by the post and thought it was great to see this sort of thing written about an awesome guy like Dan.  I agree entirely with Jason Freedman’s thoughts on hiring, and loved seeing him put everything into his strategy of courting top talent.  It was cool to see Dan earning some (well deserved) attention for the following he has built over the past 2 years through his blogging and various projects/products.

The story also was cause for a little humor and embarrassment on my part.  See, a little over one year ago Dan Shipper applied for an internship at my last company.  And we rejected him.


Dan applied via our jobs page.  His application listed some interesting experience (Blackberry app development when he was still in high school, two small webapps), but nothing immediately relevant to our needs.  He also listed a few things that seem funny to look back on now:  His first semester college GPA, and his role as high school senior class president.  Altogether, it was an interesting application- but quite frankly, not very different from many similar applications we received from college students looking to work at a startup.  I sent him a quick response thanking him for his submission and looking to schedule a brief interview.

Here’s where Dan began to differentiate himself.  He followed up persistently (we were in the middle of Techstars at the time and had trouble coordinating an interview time), and kept me up to date on the explosion of, a simple webapp he had built with his friends Wesley and Ajay.  We finally found time to schedule a lunch, and he and I ended up spending half of an afternoon talking about product, startups, and education (I had recently dropped out, while Dan was committed to staying at Penn).

After our long conversation, it was clear that Dan had the mentality and intellect of an A Player.  He was young, driven, and extremely intelligent.  But in a review between myself and the company cofounders, one sticking point kept coming up:  Not enough relevant development experience.  We were trying to build a core front end team that had an existing passion for mobile/tablet, and Dan was a square peg in that round hole.  So we rejected him.

Rejecting someone you genuinely liked interviewing is tough, and I thought the least I could do would be to introduce him to other internship opportunities that might be a good fit.  I connected him with the awesome founders of Artsicle, where he ended up interning for the summer. Dan was extremely gracious about the entire thing, and I was happy to see him end up in a good situation.

Of course, looking back on it, the fact that we rejected the guy who is now being publicly courted by a well regarded startup like 42Floors is pretty funny.  However, in reflecting on this story, there are a few important lessons to learn as an early stage startup:

1. Look for talent at all levels: At the time that Dan applied, we had no plan in place for hiring technical interns.  We were focused on building out our “core” tech team, and really weren’t prepared for talented but raw engineers to step in and contribute.  We ended up rectifying this situation and finding two incredibly talented engineering interns, but we missed on Dan and several other potential candidates.  In a startup environment that is a constant battle for talent, early stage companies simply cannot afford to pass on talent at any level.  When we were absolutely buried with product needs in the weeks leading up to launch, we wouldn’t have given a damn if Dan did or didn’t fit our neat round hole of a job description.

2. Always hire A Players: This is repeated often enough that it’s a truism in the startup community, yet we still got this one wrong when it came to Dan.  As a startup, if you have the opportunity to bring on an A player in a low risk role (like an internship), you do it.  No questions asked.  Because finding A players is tough.  When one drops into your lap, you don’t hesitate or shuffle through your available job listings.  You pull the trigger.  In a company of less than 10 people, A players will naturally fall into the role that best suits them.  They will contribute at a high level, and attract other high level contributors to join the team.

3. Treat People Right: I could have easily made the mistake of sending Dan a polite rejection email and nothing else.  Instead, I followed up and worked hard to help him find another opportunity that made sense.  We got coffee the next time he came to the city, and met up when our schedules allowed over the summer.  I took something that could have easily been a negative interaction and turned it into a positive opportunity to build a friendship.  Whether we end up working together, competing, or just staying in touch throughout our careers, it’s great having a smart friend just an email or phone call away.


In our email banter about the blog post and subsequent Techcrunch and Hacker News coverage, Dan joked that maybe I finally owed him an apology for our rejection.  Even though that statement was made entirely as a joke, I don’t mind eating crow:  Like 42Floors made their offer as an open letter of recruitment, consider this my open letter of apology.

Making decisions in a startup is hard, and you absolutely cannot get every one right.  I’m lucky that this mistake turned into a positive (and humorous) learning experience.  Congratulations to Dan on one hell of a year, and best of luck to Jason Freedman and the team at 42Floors in courting A Players like Dan.





If you enjoyed this post, you can follow me on Twitter.  Thanks for reading!


Instagram and Value Judgements

As we move to the end of the Instagram acquisition hype cycle, I am especially discouraged by the overall tone of the conversation.  In the press, on Twitter, and in communities like Hacker News, I’m struck by the broad value judgements thrown out, debated, and repeated ad nasuem.

Perhaps this frustration comes from the fact that I’m currently re-reading one of my all time favorite books, “Zen and the Art of Motorcycle Maintenance”.  Context switching between a book that begins as beautifully and simply as:

And what is good, Phaedrus,
And what is not good—
Need we ask anyone to tell us these things?

And blog posts with breathless titles like “The Billion Dollar Mind Trick”  or “From 0 To $1 Billion In Two Years: Instagram’s Rose-Tinted Ride To Glory” is bound to be frustrating (and perhaps a good argument for ignoring the hype cycle altogether).

Early in “Zen”, the divide between classical and romantic modes of thought is studied in-depth. The classical tends to focus on underlying form (“how does a motorcycle work”), while the romantic cares more about intangibles; feelings rather than facts. (“how do you feel while riding a motorcycle?”)

Interestingly enough, I’ve seen that much of the Instagram cheerleading and criticism has aligned along these two modes of thought.  The cheerleaders largely focus on the romantic aspects of the company:  a strong, engaged community.  Beautiful and simple product.  The tremendous narrative of so much value being created in so little time.

The critics largely focus on a classical analysis:  no world changing technology was created.  There was no business model or revenue.  The fact that SpaceX was able to build an entirely new space vehicle for less than it cost to buy Instagram.

Quite simply, neither of these modes of thought fully captures the objective quality of Instagram.  Both approaches lead to value judgements rather than actual analysis.  Commenters on Hacker News use phrases like “cheesy filters” and “cat pictures” to deride the acquisition.  Tech pundits hype valuations and talk of an “overnight success”.  Both approaches rely on a particular mode of discourse, which precludes any actual discussion of quality.

So many labels.  So many soundbites.  I’m reminded of a particular line from “Zen”:

If someone’s ungrateful and you tell him he’s ungrateful, okay, you’ve called him a name. You haven’t solved anything.

Is there anything to solve in the Instagram story?

A small team worked hard to build a product they loved.  Great investors like Ben Horowitz supported them.  A network of passionate users evangelized the hell out of the product.  And finally, an individual much smarter than me unilaterally risked 1% of his $100 billion company to acquire them.

That is all.

Would I ever seek to build a company like Instagram?  Probably not.

Does this story affect my own desired career arc or ambitions?  Not at all.

Should it have any effect on yours?  I would certainly hope not.

So why don’t we all stop making useless value judgements, and start building quality and value of our own?

Hiring Great People Sucks.

Hiring great people sucks.  Its a slog.  Its hard work.

When I was still in school, I remember reading countless blog posts on hiring.  Mark Suster’s “Whom Should You Hire At A Startup” comes to mind as one of the best, but the topic has been addressed at length by many of the best in the business.

These posts always include admonishments to “only hire A players”, and “invest in great people”.  At the time, those seemed like truisms- of course you would only hire the best.  Smart people like working with other smart people, and in a startup you want to create a culture of excellence.

The fact is, it’s damn near impossible to hire truly great talent. Recruiting a single great employee is like trying to date that one girl (or guy) you know is impossibly out of your league.  You know they have plenty of options.  You know everyone in town is trying to get their time and attention, sometimes including your more well known or better funded competitors.

Still, you try.  You invest hours in coffees and lunches, trying to get to know them.  What motivates them? What challenges interest them?  What is their own personal career vision?

You email them regularly with updates on your company’s success.  Maybe another recent key hire could motivate them to join, or perhaps a new round of funding leaves your company in a more secure position.


Now, against all odds, and after investing months in building this relationship- the candidate finally accepts your offer and joins your company.  If we were still talking about dating, that would be the end of the story.

In a startup, that isn’t the case.  The grueling, time consuming process that you finally just completed?  Go do that again.  And again.  In fact, why don’t you repeat it, oh- 20, 30 times.  That’s the kind of dedication it takes to build an awesome organization from the ground up.

Like I said before- it sucks.  Which is why I have such respect for the leaders that work so hard to build excellent teams.  I’ve been fortunate to learn from awesome people like Jason at Onswipe, and Amit and John here at Taykey, that personify the hustle and effort that goes into building a great team.

I’ve also worked hard to apply this mentality to building out our team here at Taykey.  Right now we are looking to hire an amazing product designer, and I’ve spent time reworking the typical designer interview process to make it more conducive to finding and engaging with great people.  More than anything, I’ve been grateful to get a better understanding of why so many smart people like Suster obsess over hiring- it really is the key to building a great organization, and its also one of the toughest challenges a startup faces.