As Fullstack continues to host events and classes virtually, we want to ensure that we’re continuing to support the next generation of software developers by providing valuable tools and resources.
The latest conversation features Swyx, aka Shawn Wang, a former banker who attended Fullstack and has worked for companies like Two Sigma and Netlify. Swyx talks about his project, #LearnInPublic; writing his book, The Coding Career Handbook; fighting imposter syndrome; and more.
Watch the full video on our channel and read the highlights below.
This interview has been edited and condensed for clarity.
What is “learning in public,” and why do you think it’s so powerful?
Learning in public is the idea that you grow faster when you learn it in public (the default for most people is to learn in private).
The thesis is that once you put it out there, you not only remember it faster, but you also get other people involved in your journey. You help others, but also, people who know more than you can correct you, and that’s just a fundamentally faster way to learn.
Once you’ve gotten something publicly “wrong,” you’ll never forget it.
People are very incentivized to follow along in your journey because you’re growing with them, they’re investing in you, and you’re amplifying their voice.
What’s your approach to finding mentors?
The solution to finding mentors is to not try. I get people asking me to be their mentors, and it’s a job that’s unpaid, open-ended, [and] very vague—it’s not an attractive proposition for the mentor.
The better way to do this is to create a mutual exchange of value. Everyone who’s an expert in something is also super busy, and that’s an advantage. For example, if they need feedback on something and you reach out, they almost have to respond to you.
From there, build a relationship as someone who picks up on stuff and carries it through, and then they’ll trust you with more stuff. They’re mentoring you—they just never signed up for it. You’re proving that you’re worth mentoring along the way.
What are your techniques for dealing with imposter syndrome?
Obviously it’s a concern for a lot of people, and I’m still facing imposter syndrome today. It’s really about coming to terms with how you what you know and being extremely confident in that and also not attaching your self-worth to your work.
One of the other ways to combat imposter syndrome is to just do the work and be extremely clear about where the work comes from.
Wikipedia has no credibility by itself, right? But it cites every single source, and there’s a very strong “citation needed” culture, which means that Wikipedia doesn’t need credibility. It just needs to collate credibility.
If you have a good source for your information, then no one can argue with you.
How do you focus on systems versus goals? What systems do you use?
So, learning in public is a system. There’s no end date. It’s such a mutually dependent thing that it’s really great. That’s the core system I use.
I’ve been writing down so much for this book, but kind of the corollary for learning in public is to journal in private.
That’s a really good system for picking up everything that falls through the cracks. You need some process of continuous self-reflection to figure out where you are and where you want to be and to adjust along the way.
Another one from Patrick McKenzie is: “Don’t go home with nothing.” In my finance career, I wrote some of the best work I ever did and it was all property of the bank or the hedge fund. It was never mine. I went home with nothing.
In tech there is this fundamental openness. We do awesome work, and then we get encouraged to go up on stage and share it with people—that doesn't happen in every industry.
We spend a lot of time working for the companies that pay us, but we should also think about our own futures because there will be a point in time when we will leave and we need to build a career that’s independent of the company that we work for.
What technologies do you think are gaining and losing relevance?
Svelt and GraphQL are gaining relevance, and I think React is losing it. React is becoming boring. This is not a dis. Fred Wilson calls it the deployment framework, which is from Carlota Perez, which models stages of adoption in technology.
It’s all s-curves. The initial stage is your early adopters, hobbyists, etc., and then you cross the chasm—and React has crossed the chasm—and then you get the majority and then you get the stragglers.
We’re at the straggler bit, and there you kind of cease to innovate and it’s more about stability. React is boring for a good reason. You want technologies you can depend on, so when you’re scaling at an enterprise level, it can be boring. It also enables other innovations to be built on top of it. I call this the Age of React Distros
For developers starting their careers, do you recommend betting on the boring or the innovative?
It’s up to you. Boring, because there are a lot of jobs and a lot of money. If you bet on the innovative, you take a greater risk, but you have a greater potential reward. I think there’s money to be made in both directions, so it’s more about your risk appetite.
What differentiates a junior- and a senior-level developer? How can new grads set themselves up for success?
As a bootcamp grad, you’ve finished the “learn to code” section and now you need to get the first job, excel as a junior engineer, and sell yourself from junior to senior, and then you need to work well as a senior.
Let’s talk about the senior versus junior divide. I compiled this list of every public engineering career ladder, so you can really tell how people view their progression from junior to senior, and obviously different companies have different points of view, but it’s always about ownership.
Can you own a project from beginning to end? Can we trust you to build production-quality code?
One thing I started noting a lot is that junior engineers mostly say yes, and senior engineers say no a lot. As a junior engineer, your job is to learn as much as possible. For senior engineers, your judgment is part of your trade.
What tactics make someone good at marketing themselves?
We’re not in this job to be marketers. I think we should respect that. In my blog post, How to Market Yourself Without Being a Celebrity, I share advice on how to market yourself competently as an engineer.
Basically, you collect your assets—your personal brand, your domain, your business value, and your tech skills—and then you apply them in different situations. You market yourself in public and then you market yourself at work.
Want to know more about the Fullstack alum community? Find out the essential skill that prepared Google software engineer and Fullstack alum John Gruska for the real world while also making him a stronger leader and mentor.