This post is about the current insanity in Silicon Valley, but I don't mean the valuations - at least not the ones everyone is talking about. Instead, I want to talk about how you value something much more important than common stock: yourself.
Over the course of thousands of overwhelmingly positive interactions with top CS students over the past few years, what's scared me the most is the tendency to think of your future job primarily as a vehicle for certain types of projects. This is, in fact, one of the worst possible reasons to take any job.
In many ways this line of thinking isn't so surprising. Perhaps because the long-theorized tech crash hasn't happened, and most companies (even relatively innovative ones) think of hiring as filling slots, our economy continues to promote skills over aptitude and ability. And even the best schools are much more effective at teaching subjects than synthesis. As a result, even in an age when software engineers are starting to be properly valued, there is a real risk of being commoditized - ironically, by yourself.
Apart from an earnest desire to cultivate "valuable" skills, however, is something I'll call techno-hedonism. Besides just thinking of your job in terms of projects, this means evaluating projects by how pleasurable they are to you versus how much good you're creating in the world. As a result, topics that could be invaluable as part of a greater whole - especially things like machine learning - become playthings. And this is how young people who honestly thought they were going to change the world end up being paid too much to quit to serve ads more effectively. In the degenerate case your employer becomes something to be agnostic about, merely a vehicle to work on a specific project of hedonistic desire.
Rather than deciding based principally on the project, I would suggest there are two questions that should inform everything else: Do you believe in the institution? And do you believe in yourself?
Evaluating the institution involves many more questions, but I'd argue these few are most important: Is there a real opportunity to make a positive impact? If so, is the team equal to the challenge, or (more likely) on the path to getting there? Is there a possibility of surviving as a standalone entity - this is almost impossible to know ex ante, but if the stated goal is to get acquired that should tell you something. Do they have a real mission and culture, or just hedonism and homogeneity? Do they invest in an individual's growth, or just increased productivity?
By believing in yourself I don't mean projecting an arbitrary level of confidence - it requires a willingness to critically assess your strengths and weaknesses and reconcile them with an emerging and constantly evolving sense of purpose. This cannot happen overnight. If you're betting on your ability to do something important, you'll learn - piece by piece - to intuitively subordinate the process to the goal, and separate the act of discovery from the procedural. By contrast, if you're betting on your ability to stay fulfilled by repeatedly doing a series of tasks, however pleasurable, you're actually shorting yourself.
It's not so difficult to see the surface characteristics of an institution for what they are - when you become enamored of a slick office space, at least you know you're being shallow. Becoming enamored of projects, on the other hand, feels like investing in your most important assets when in fact you may be stunting them.
I want to emphasize that this is not happy talk. It is unbelievably hard work. Having it all figured out now is the unrealistic part - and if you actually do succeed in your design, that's when the reality often proves to be bleakest.
Engineering is fundamentally generative. Specific implementations may be highly deterministic, but the defining character of the work is possibility. It's understandable to want to cling to certainties, especially after hearing what a dark and chaotic world it is for most of your conscious life. I say: embrace conscious ambiguity. The alternative is a predetermined future - one that truly belongs to the robots. You are not a lottery ticket - but neither are you an algorithm.