5 years, 2 months, and 28 days ago I dropped out of high school, and in a few hours I'm going to graduate from college. This journey has been surreal, and that it's coming to an end hasn't even begun to sink in. I lack the words to express my thanks to my family and friends who've been with me through this.
However, I think I owe an even greater thanks to the open source communities I've worked with. Family and friends you have a mutual obligation to. But open source communities are all volunteer efforts, and I've often voiced that users of open source have no obligations to give back, that the freedom we offer is the freedom to give nothing back. And yet people do give back, again and again, in ways that completely floor me. Without these communities I wouldn't be anywhere near where I am today, they've given me friends, professional success, the opportunity to travel the world and do something I love, and most importantly, the sense that the work I've done has helped people.
For several months I've known that I wanted to write a "graduation post", but I struggled to come up with any particular narrative for it. I still don't have one, so instead of writing about anything in particular, I'm just going to offer some things I've learned:
Never be threatened: When people are threatened or scared, it affects their decision making. My solution to this has been to try to make myself unthreatenable. For example, I got through school by knowing that I was good enough at what I did that I could get a job without it, I avoid being threatened financially by saving effectively. I've found that this is more or less a necessary condition to being happy.
Be willing to walk away: This is probably an extension of the first one, but if you're anything like me you make mistakes, a lot of them, with varying degrees of badness. The only way not to get bogged down by them is to be willing to walk away from them. This is not to advocate abandoning something or someone, but rather that there is no hole too deep, no sunk cost too great, to not be worth leaving.
Help others to be lucky: I've been extraordinarily lucky. I define luck as the result of a decision made without the ability to predict it's consequences, given I dropped out of high school I was lucky to be able to get into college, even though I made a lot of good decisions between those two events (to this day I assume my acceptance at college was the result of a clerical error). The 9th season of Scrubs is not well liked by Scrubs fans, but it contains one of my favorite bits of dialog: "I've had, like, 15 second chances in my life. You deserve at least one, right?" The best I can do from here is to help someone else to be as lucky to get a second shot as I was.
The people are all that matter: I remember after a school trip a friend once told me that that he'd really loved where we'd been, and that he couldn't wait to go back. And I remember telling him, "No, this place was boring as hell, but we went with our entire class, all our really good friends, of course it was awesome". Just about everything worth doing is defined by the people you do it with, pick good ones.
If you can put a number to it, it probably doesn't count for much: I used to love numbers: IQs, GPAs, salaries, anything that you could represent as a number and compare I thought was awesome. But more and more I've found that they measure less and less. I can't assign a number to what makes someone a good programmer or a good friend. But as a society we're obsessed with this, because it gives us an illusion of accountability, but really it just makes us arbitrary. Because I'm pretty sure if you listed the traits that make someone a great programmer, you'd be picking a lot of things from two opposite sides of a spectrum, and a bunch from the middle as well.
We're all people: And in my experience most people are at least a little different from each. Slavish defferal to these, or any other pieces of advice probably won't work for you, nor will treating a large group of people as anything other than many different individuals.
It's been more than 5 years since I made the biggest decision of my life, and I've been fortunate enough to have enough opportunities for a life time in this short time. All I can hope for for my future is that absolutely nothing changes: that I still get paid to do what I love, that I stay in contact with good friends, and that I'm able to pay it forward.
Hi, I'm Alex. I'm a software engineer at Mozilla, working on Firefox security. Before that I was a software engineer with the U.S. Digital Service. I'm an avid open source contributor and live in Washington, DC.