As it is with many developers, his path to coding was not straightforward. And looking at Shawn's bio, it's apparent he applied that experience to his whole career: he's the head of developer experience at Temporal.io, author of a bestselling book on progressing career in IT, and a sought-after mentor and speaker. His number one advice? “Marketing is not beneath you.”
What led you to software engineering?
My first career was in finance, and I did a lot of trading of currency derivatives and stock portfolios. We had to do a lot of number crunching in Excel, Python, and then Haskell. I was the guy putting together all that data. I didn't call myself an engineer, but I was writing software. I saw that there are many good ideas in software engineering that I should learn and that once I do that, my life will be significantly better. So I left finance and went through a boot camp to learn all the software engineering practices. My first job was at two Sigma as a front-end engineer. Then I joined Netlify as a developer engineer and then AWS.
What is the most impactful thing you ever did to boost your career?
This will sound very similar to Ken's thing, and it's called learning in public. I did it when I was at Sigma because I wasn't learning much at work. I was in New York City, there were many meetups, and I decided to give myself my own mentors speaking there, writing blog posts, sharing them, and just finding more ways to grow apart from inside of my company. And I realized that it was way more effective than just waiting for the right boss or co-worker to teach me.
Also, the dev community has been so welcoming and supportive. You learn, share what you've learned, and people will correct you if you're wrong. And once you're wrong, you will never forget what you have been learning. So if you have a pretty thick skin and a low ego, you can learn a lot. In fact, with my most recent job, I wrote a blog post about what I thought was missing in the serverless ecosystem based on what I had seen at AWS and Netlify. Someone commented on my blog, a VC read the comments and hired that guy to head the products at Temporal. And then that guy turned around and hired me based on that blog post.
For me, learning in public has opened up jobs and speaking opportunities on multiple continents. And I've made a lot of friends who are genuinely interested in technology.
What would be your three tips for engineers to level up their career?
Understand that some marketing is unavoidable and that knowing how to market yourself authentically is not scammy. It's not beneath you. It's what you need to do to get people to know you, your skills, and the quality of your work. A lot of developers have a build-it-and-they-will-come mentality, and it does not serve them very well. Invest some time into developing your marketing and understanding how to market yourself.
I have a blog called How to market yourself without being a celebrity. When people look at marketing, they see the celebrity path, the influencer path. But many people don't want to be an influencer, so they'll say: "No marketing for me!" Let's disconnect those two things. Also, there's a difference between marketing yourself internally within your company — which you should always do — and marketing yourself externally with other developers.
My second tip is to clone open-source apps. Clone something that already exists so that you stop making all these little product decisions. Maybe your implementation will be better, which is great; that's how the industry improves. And if it's worse, you start to understand the underlying trade-offs of your project.
And a third one?
Many people have the cold start problem when it comes to networking and content creation. Yes, you will not get much response when you start. So the way to guarantee response is what I call a "pick up what they put down" approach. If you want feedback, start giving feedback, mainly whenever people put out something new.
When somebody you respect publishes a new demo, a new library, a new blog post, or a new workshop, summarize it, respond to it, react to it. Not with a YouTube reaction video, but actually respond to the meat of the content. Ask questions: Do you agree? Do you disagree? What else can you do with this implementation? Pick up on the things. Find bugs in the demos and the libraries, and you're guaranteed to get a response from that.
I think that's an excellent starting point because these people are already influential. Almost definition, they have more ideas, and they know what they do. You work with them, become a collaborator. Eventually, you start to disagree with them, and you feel forced off into your own path. That's, I think, a great way to get started.
You are now working on developer experience at Temporal.io. What does it entail?
Temporal is an open-source microservices orchestration system, which you could compare to Apache Airflow or AWS Step Functions. But we're better. There's a core server that is open source, and then there's all this stuff around it that needs to reach developers: documentation, developer relations, web UI, and SDKs. And I'm the head of developer experience helping each team in those areas. They are not essential to the server itself but important to how developers experience the product.
I have overarching excitement in my career about helping technologies cross the chasm. I'm not sure who came up with the term, but the idea is that when you switch over from early adopters to a broad audience, there is a big gap in the middle where you have to fill in a lot of gaps with developer experience. That's what I focus on.
Do you have some rituals or tools that keep you focused and goal-oriented?
I try to do time blocking. For example, interview calls are on Fridays, which gives me focus on work from Mondays to Thursdays. Within the day, you have different time blocks as well. And if you can block off time for yourself too, I think you can get a lot more done.
Apart from your daily job, you are a writer and speaker, and you recently published The Coding Career Handbook. What inspired you to write it?
Mostly the feedback from my essay on learning in public. It was the most impactful piece of writing I've ever done; it reached over a million people. I can write about technical stuff, and I think it would be easier to sell, but React will be over someday. The thing that will not be over is career stuff, the evergreen things.
When I decided to write the book, I had some time between my Netlify job and my Amazon job. So I wrote a poll, and the one with the more enthusiastic response was the career stuff. For whatever reason, this is the most valuable topic to my readers. Also, I think there's a gap in the market for leveling juniors and seniors. You can find many materials on how to learn to code and crack the coding interview. And then there's a big gap. But many people are coming into tech as juniors, and there's a lot of companies wanting to hire seniors — and nobody focuses on developing juniors into seniors.
So I'm trying to contribute my thoughts as well as the thoughts of others. I collected 1,500 references to other people's ideas on becoming a senior engineer in the book. And I think if I keep at this — this is version one — I will build it up into the ultimate resource on how to become a senior engineer.
And if you were to highlight one idea from your book, which one would it be?
I'd say the most underappreciated part of my book is the strategy section — the importance of picking the right thing to work on rather than just being a clean coder or choosing the right tech stack. Understanding how money is made from your software is key to selecting the right company and positioning yourself correctly within the company.
You are also very active in the community: you've contributed to several other books, have a 34k+ following on Twitter, helped to run the React subreddit... How has it impacted your career?
It helps you to know everybody. It allows you to understand what's going on. I'm typically the source of news to my team, and they appreciate that. Also, if you're friends with everybody, you don't have to know everything — it's all coming from that community.
What open-source projects would you recommend keeping an eye on or contributing to?
I left the React community because I was getting more and more interested in Svelte. I do think it is an underrated framework for front-end developers. It's not for everybody, but I think it solves a good set of problems, including state management, styling, and animation. At React, we still don't have good answers for these things after all these years.
What pieces of your work are you most proud of?
Mostly the community behind the coding career handbook. I set up a semi-private Discord channel for people who opt into the community, and seeing people get jobs, double their pay when they go from junior to senior — that's really exciting. It's a great place for discussion where you can be totally honest. Realizing that that's something that I can do for ten years and not get bored of it, that's something I'm proud of.