This week, I published Shawn Wang's #DevJourney story on my eponym Podcast: Software developer's Journey. Among many other things, here are my main personal takeaways:
- Shawn first learned QBasic in primary school, but without any role models to show him that it was a valid career choice, he didn't pursue it before his 30s.
- While pursuing his finance trading career, Shawn created his own tools. At some point, he realized that he was having more fun creating the tools, so he ditched the finance part. Leaving such a high-paying and rewarding job was a "challenging ego draining endeavor" (sic). He didn't quit cold turkey but instead took over a non-technical product management role on a software product for the trading industry. Doing so, he drifted closer to the developers and learned the field while using his valuable skills. During his time as a product manager, Shawn discovered that he was limited by his inability to prototype. So he joined the "fine I'll do it myself camp" and started learning how to code.
- In his finance career, Shawn felt constrained by the idea that you need to be part of a group (which has money) to be in business. SO when he started coding, he joined the indie-hacker movement and started creating out of nothing. This was his liberation.
- Is it worth it to invest 17K$ for a Bootcamp? Shawn said yes. 1) Time is money. Paying someone to guide you through a curriculum and answer your questions is worth something. 2) Bootcamps have a hiring-partner network in which companies know the value of your education. This is worth a lot as well.
- Companies still see apprenticeship programs more as a service to the community than a funnel to create new hires.
- During his first coding job, Shawn realized he was bored at work. So he started learning on the side, visiting Meetups, and learning in public. Everything he did in public tended to work great, whereas what he did in private didn't quite work as well. So he doubled down on the #LearnInPublic and realized he was building a network that would outlive any other job.
- Shawn spoke about the 4 tendencies of motivation by Gretchen Ruben: "Obliger," "Questioner," "Rebel," and "Upholder." Obligers are very keen on not disappointing others. In #LearningInPublic, accountability is a great motivator.
- Another great aspect of #LearningInPublic is the feedback. "Once you have been publicly wrong about something, you will never forget it" the public becomes your second brain.
- Shawn summarized this learning about #LearningInPublic in an essay, and later in a book "The Coding Career Handbook" - 30% discount link. And of course, he wrote the book... in public. He sold an empty PDF for $4000 and started writing, live streaming on Twitch, and filling the document. That's the power of his network.
- Shawn later joined Netlify as a developer-experience engineer, which is a rebranding of developer-relations. Since then, he has remained in this field.
- Shawn gave us a piece of fascinating advice on how much should you specialize vs. generalize? His advice is "when in doubt, you should specialize, and generalize only when it is necessary." You are always going to be pushed toward more generalization on company time. So it would be best if you specialized on your own terms. There's a lot of common advice on how to learn 101s. But it takes a lot of commitment and effort to become an effort, break over the hump and become an expert. And once you specialized, you can trade this valuable skill.
- You should never end the week without having done at least one thing for yourself. If you need a kickstart, read "Pickup what they put down.". The idea is to give feedback, build upon what somebody else is doing. It is the "yes and" of improvisation theater. Not only will you build things, but you will also come in contact with makers. And they crave feedback like anyone! It is a good way to bootstrap your network.
- Pickup what they put down!
- "Programming is one of the few high paying jobs where a formal training is not required"
- "I went from VBA to Python to Haskell, while not calling myself a programmer"
- "Once you have been publicly wrong about something, you will never forget it"
- "When in doubt you should specialize, and generalize only when it is necessary"
Thanks, Shawn, for sharing your story with us!
Did you listen to his story?
- What did you learn?
- What are your personal takeaways?
- What did you find particularly interesting?