Skip to content

Instantly share code, notes, and snippets.

@searls
Last active February 25, 2023 15:11
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save searls/35f57f1a5b6b24827dc1287bcd69f760 to your computer and use it in GitHub Desktop.
Save searls/35f57f1a5b6b24827dc1287bcd69f760 to your computer and use it in GitHub Desktop.

Dear everyone-who-attended-my-talk earlier this week,

First, thank you for coming! It was such a joy to see a large and engaged group interested in hearing a bit of my reflections in my first decade since graduating from Calvin. I'm confident that all of your experiences will emerge in their own right and lead you to profound insights that you can pass on to the folks who come up behind you.

I wanted to send this note to share a handful of resources with you of things that I referenced in the talk (I realize I talk too quickly to take decent notes). Here they are in no particular order:


Additionally, here's some answers to questions collected by Brenda Vander Linden from (I presume) the CS students that attended:

Q: In the “shame vs. guilt” comparison, is there a better option?

A: Like civilizations themselves, these models don't describe how we'd go about designing a new society. Rather, they're a reflection on buckets most known civilizations fall into. For organizations where you have a modicum of control, the key inspiration for our company is described in the book Drive -- that competent people who are paid decently will be sufficiently motivated if their work has purpose, if they're given autonomy, and they're on a path to mastery. Link: https://is.gd/lnKRbC

Q: How to you wash/dry your 2 pairs of clothes?

A: I buy peppermint castille soap and shave it before each trip, then agitate the clothes in a 4L dry sack (which, ironically, can also be used to keep wet stuff in). More here: https://is.gd/24dcjH

Q: Do you think your mindset would be different if you didn’t go to Calvin?

A: If I'd gone to UM, I would have plodded through as a lukewarm Christian who didn't deeply investigate my belief system. I may or may not have come out with deeper technical knowledge, but I'm certain I'd be less well-rounded. I probably would not have had the personal encouragement to have studied abroad, which deeply changed me, too.

Q: Any special advice for seniors (whose college decisions are mostly set at this point)?

A: Cast a wide net in your job search and find something that will push you. Don't worry about picking the offer with the highest salary or the most advancement opportunity. Focus on what will stretch you personally (e.g. moving to a new geography) and push you towards excellence (e.g. a clear variety/rotation of varied project work). I view your first job out of school as your best chance to put into practice the theoretical knowledge you learned in school; do that well, and it'll more than pay for itself later.

Q: One student heard you saying that not many people working in CS actually have CS degrees; student wondered then what is the benefit of studying CS for 4 years?

A: Don't be spooked! Your CS education is highly valuable! What's changing is a recognition by the market (probably stoked by how short supply of good programmers is) that "programming for business" casts a much broader net than the scope of what you need to know in a CS degree. Some people point at CS and say it's "theoretical", but I disagree with any notion it is impractical. I use skills like understanding data structures, how to model data, propositional logic, algorithm analysis all the time! At the same time, I'm perfectly comfortable acknowledging that the vast majority of businesses just need custom software that can be summarized as "put this spreadsheet onto the Internet", and to do great work of that doesn't necessarily require a CS degree. In short, a CS degree provides tremendous value to one's application engineering ability, but gatekeeping professional programming to say "thou must have a CS degree" is unnecessarily exclusionary.

Q: Any chance of an internship in your company?

A: Probably not in the near term, but thanks for asking! We revisit the idea of hiring less experienced folks or starting an apprenticeship program, but because (1) we market ourselves as senior developers who will improve the teams they touch and (2) our work product is all outward-focused, Test Double is not (yet) a safe space to work for someone who isn't independently capable in such a role. We could start a token internship program and give people exercises to do, but it wouldn't resemble our actual work well enough to warrant your (or our) time. Product companies tend to be much better situated to take on interns, because they always have valuable, non-urgent work that can be done safely by a less experienced person. If you'd like help finding an internship or if you think Test Double could help out your employer with supporting less experienced developers, e-mail me at justin@testdouble.com and we'll talk

Q: How did you discover your passion? Any regrets?

A: Passion is a tricky word. It'd be like talking to someone after 20 years of marriage and asking about how their infatuation got them through it. I think the initial excitement of programming or cross-cultural experience can be an exciting catalyst for deeper learning and can put you on a path to mastery, but at least in my experience, the path to becoming a competent programmer (with a specialty in automated testing) has been almost entirely miserable from the moment I started. It is hard, hard work. My experience studying Japanese mirrors that. At the same time, both bring me incredibly deep and profound joy and insight, because both give me ample opportunities to reflect on how far I've come and see the hard work pay off. I have countless regrets about every path not taken, but this is probably about as good an outcome I could have hoped for.

Q: How did you develop such discipline?

A: Very, very gradually. It can shock people to see just how disciplined I am about so many things today, but if you were to ask my wife Becky, she'd tell you just what a slacker I was when she met me. Somewhere along the way I just learned that the only one who was going to truly hold myself accountable to do anything was myself, and from there I decided to commit to things that I thought were valuable by being ruthlessly strict (like holding to a particular routine). I'd recommend starting with something small (X pushups every day no matter what, 5 minutes journaling what you're grateful for every night) and proving to yourself that you can commit a daily habit, even on your most hectic days. Sooner or later you'll convince yourself that you can rely on yourself and you'll build trust in your own ability to improve.

Q: What’s the best way to motivate yourself to learn a very difficult topic or something that you don’t particularly want to learn? E.g., how do I motivate myself to learn philosophy, something I must take in college as an education requirement?

A: At the heart of everything I do—in software, in sales, in Japan, making dad jokes on Twitter—is an acknowledgement that everything has been done before. The best we can hope to do is remix existing ideas in new ways. Maybe that's why I've always been such a sponge for news and never questioned the value of required coursework. The further out of my wheelhouse a topic is, the more likely it will yield low-hanging fruit by helping me connect a concept later! An interesting way I think about this is that my hearing is actually quite poor and I very often mis-hear people, but in that mishearing my brain often interprets what it thinks is a clever idea or a funny joke. If so many of my most creative ideas are literally the result of unlikely neurons firing when I mis-hear someone, it stands to reason that the a topic like philosophy—which is full of very smart, deep thinkers and insights—will be even richer fuel for future ideas. This approach has paid off. I always assume that every discipline is full of people smarter than me, and I never question the value of taking an unfamiliar topic seriously until I'm presented with evidence that I shouldn't

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment