Software Developers Journey Podcast

#152 Shawn Wang from the 'fine I'll do it myself' team


⚠ The following transcript was automatically generated.
❤ Help us out, Submit a pull-request to correct potential mistakes

Shawn Wang 0:02
I think that's one way to do the career chain transition, right, which is, have your own industry provide value while you learn the new industry. I was a customer expert because I wasn't the customer, right? So I could give it all the product requirements and validate everything before I went out and out the door in to learn to work with engineers. And then I realized we weren't bottlenecks by like ideas of things to do. We were bottlenecks by the engineers that could execute on them. It is tough, I think, especially whenever you manage across countries. So this was a remote engineering team, even tougher, but now everybody's remote. So I basically realized that like, if I wanted to do it, I should learn to code. And that was the ultimate like, Okay, I will learn on nights and weekends, I went through and complete a Free Code Camp in six months. And by the end, I was like, Okay, I can I can quit now and just go in full time. There's a bunch of us on forming product managers who became developers. So I call it team final do it myself.

Tim Bourguignon 1:17
Hello, and welcome to developer's journey, the podcast, bringing you the making up stories of successful software developers to help you on your upcoming journey. My name is Tim Bourguignon. And on this episode 152, I receive Shawn Wang. Shawn grew up in Singapore. At the age of 30, he set aside his career in trading for web development. Since then, he worked on developer experience for Netlify, AWS, and that's Amazon Web Services, and now Temporal. He is most well known for being a "learn in public" evangelist being a regular on the Svelte-Radio Podcast, and maybe his book, The coding career handbook. Shawn, a warm welcome to DevJourney.

Shawn Wang 1:58
Thanks, Tim. That's great intro. Thank you.

Tim Bourguignon 2:00
Shawn, as you know, the show exists to help the listeners understand what your story looked like, and then imagine how to shape their own future. So as always, let's go back to your beginnings. Where would you place the star if your tech call your dev journey?

Shawn Wang 2:15
Yeah, this is a question I've asked myself as well, because it's not clear where I started, let's go all the way back. The first programming that I ever did was actually in queue basic when I was maybe about 10, or 11. And this is at school where there was like one small little programming class, we actually did quite a lot we did for loops, and variables, and if else and all that. And I think at the final project, we were supposed to deliver some kind of stack algorithm, like, we were stacking pancakes, and you're supposed to implement, you know, lastin, first out, and then show show that in some kind of algorithm, and I remember very distinctly that I was very excited about this. And I worked really hard to write a UI in queue basic. So every everyone else did text feedback, like, you know, lifepo, but then just, you know, return the first result, and that was that was that was it in terms of text form, but actually visualized it in terms of UI? I wish I took the hint, because that that was it. After the class ended, I just went back to being a regular student. I wish I actually took the hint that I was interested in UI programming, because that's ultimately what I ended up doing, like 20 years later. Do you have an idea why you didn't take the hint, as you say? Like, yeah, I didn't think I had any role models. I think that was very important. Showing, showing me that this was a viable thing. I thought this was just for fun. So I didn't I didn't any, I didn't have any role models that I looked up to that we're doing this and actually having success. Actually, later on, I think, when I was maybe about 15, or 16, I got interested in programming again, because we were doing like a mock startup pitch for, you know, for kids and stuff like that.

Shawn Wang 4:06
And we actually came up with something that was very similar to like sending reminders by SMS. And that was a project that we pitched. And I was kind of the product manager type role. And a friend of mine was the programmer, and he actually did it, it kind of works. And this was a time without Twilio. So he was actually very, very good to figure out how to how to do that without API's. I'm actually still not sure how he did it. But he was a he's a, he's a hacker, he knew all the Linux commands and PHP and stuff like that. And I looked at that and I was like, Okay, I'm, I'm not, I don't fit that mold. I don't spend all day in Terminal. So I just don't have the required knowledge. So I don't feel like I'm a programmer. So that was probably a changing point. If I if I had just been more inquisitive and just tried to learn it and ask for help from him, I would have probably become a programmer about 1516 years earlier than than I eventually did. Wow.

Tim Bourguignon 5:11
Okay. And have you had role models since then? And are you a role model actively playing your role as a role model?

Shawn Wang 5:18
Yeah, of course, I found many role models. Since then, I have quite a few role models for the career transition, I think that Free Code Camp gave me a lot of emphasis to say like, Ah, okay, this is not, I don't have to have studied computer science to get into the field. And there's many people who've done it, Quincy Larson himself was used to be an English teacher, before he transitioned to a programmer. And now he's, he teaches code. And I just realized that there's many of them, I think, you know, in our pre chat, we talked about how many people in the fields are not formally trained for this job. And I think that's very true. In fact, it could be the majority. And it's kind of the only high paying job where this is true. Like, if you think about accountants, or lawyers, or doctors, you all have to go through some period of formal training, where as programmers, it's actually quite reasonable and very normal to have someone who's more or less self taught or Bootcamp, whatever, to reach a very high level of accomplishment. So I think that was very encouraging for me. I did you know, I did do programming on the side. So I dabbled a bit in VBA. When I was doing Excel. At some point, I was trying to scale beyond Excel, because Excel is 65,000 rolls, and I don't know how many columns, but there is a limit to how much you can use. So I actually went from VBA, excel programming, moving to Python, and then from Python, moving to Haskell, all of this while not considering myself a programmer, because I was just trying to do stuff. So people were very impressed by the Haskell. But literally, I spent like a month reading a small utility. And then I used it for work. So I, you know, I wasn't I wasn't a software engineer, I was someone who learns to learn the thing to write it, I think that I needed. So yeah, the big transition came from when I was in my finance, career, writing more reading more tools to help myself and then realizing that I liked the writing of the tools, and I was good at it. And I liked that more than the finance part. So I eventually decided to drop the finance partner, and transition to tech entirely, but I'm happy, I'm still happy to talk finance, I think people are very interested in the way that I blend investing in tech. And obviously, it's a very useful skill.

Tim Bourguignon 7:37
Did you consider staying at one foot in finance and continuing doing these tools for the domain? You knew? by heart?

Shawn Wang 7:45
Yeah, I did. So the the longer story is that I didn't, I didn't quit cold turkey. So you know, I had a very good job. in finance, I worked my way up from like a very low level, sell side trading position, all the way to one of the top hedge funds in the world, we were three people managing a billion dollars in gross allocation. And, you know, I got paid very well. And so trying to step away from that is always a very challenging, ego draining endeavor. And I wasn't sure that I would succeed as a programmer, right, I still had that impression from like, 15 years ago, of my friend who was, you know, Linux, God, and, and just already had so much experience in PHP. And I was like, I don't know if I can do that. So what I did was actually spent a year as a product, non technical product manager. So in finance, we do a lot of trading using Bloomberg. Bloomberg is a very expensive, SAS, it was it was like the first sass company, and it rose up information plus slack for wall street, you know, plus news reporting. So it's a very, very valuable service. That's why Michael Bloomberg is a billionaire. And we pay something like 24,000 a year for it. So every every individual, right, so very, very premium thing. And then this product came along that was replacing Bloomberg terminals, for us. And for everyone in my office that costs something like 100 a month. So it's so much cheaper, and it pretty much did the same thing. I was realizing like, Okay, this is a startup that it's in front of me, I'm interested in changing from finance to tech. So I actually, when the CEO came to pitch us, I walked him out of the elevator of our hedge fund, and ask them for a job. And, and at the elevator banks, because I was pretty was pretty sure I wanted to try this out. And if you know, there was an off chance that this startup could have grown up and replaced Bloomberg, then I would have gotten on the ground floor, something that could be potentially very big. So yeah, he was very happy about that. Actually, he told me he told my head of sales, which I became friends with later on that he basically his pitch went so well that the people he was pitching asked him for a job, you know. And that's that's the kind of sales pitch of the one right. But that's true for me is that's actually what happened. But yeah, so So I spent a year as a non technical product manager. So I think that's one way to do the career transition, right, which is, have your own industry provide value while you learn the new industry, I was a customer expert, because I wasn't the customer, right? So I could give him all the product requirements and validate everything before I went out the door, and to learn to work with engineers. And then I realized we weren't bottlenecked by like ideas of things to do. We were bottlenecks by the engineers that could execute on them. Our engineers were not very productive. There's a lot of stories way. But essentially, we had 60 engineers, and only two good ones. And every everyone just like, yeah, everyone just said their stuff to everyone say their product requests to the two good ones. And the rest weren't really that productive. It is tough, I think, especially whenever you manage across countries. So this was a remote engineering team, even tougher, but now everybody's remote. So I basically realized that, like, if I wanted to do it, I shouldn't learn to code. And that was the ultimate like, Okay, I will learn on nights and weekends, I went through and complete a Free Code Camp in six months. And by the end, I was like, Okay, I can I can quit now and just go in full time. There's a bunch of us on former product managers who became developers. So I call it team final do it myself, that's. So I still have a lot of sympathy for that. Because sometimes, you know, when when you're translating your ideas, or your needs over to an engineer, sometimes they don't have the same investment in it as you do. So they might get it wrong. Or they might have other priorities, right. Like, like, for example, in my company, we had six product managers, eventually, all channeling our request to the two engineers, they were actually good, that's not good. You know, you want you want to move things ahead. And on your own priority, you want to be able to prove your prototype, before you send it over as well. So there's all these reasons why you should learn to code yourself. And I eventually decided to go ahead and did it.

Tim Bourguignon 12:11
How did you pick one of the many languages, one of the many directions you could have gone? How did you make sense of all this? And then decide on the first step?

Shawn Wang 12:23
Yeah, very good question. Both in my finance career, as well as the product management role, I was writing scripts, right. So I would write a Python script, it would ingest some data, transform it and then spit out a report. But every single time I was essentially the bottleneck, I was going through the IPython notebook, and, you know, command, enter command and enter, command, enter, and that would calculate all the steps and it would output things and I would spot a mistake, and then we'll go fix it and all that. But I was always the bottleneck. And I realized I wanted to make products and things that people could use themselves are much more scalable than things that you have to be around to operate and run. So essentially, I have to make you eyes, right. And there's not that many options for choosing for making UI as you can either do a native programming, or you can do JavaScript. And essentially, I wanted up deciding very quickly that I wanted to do JavaScript, I think at that point, I started buying into this idea that we're open to the idea of the open web, you know, the, the software is going to eat everything. And if you can remake whatever into web software, I think that would have the highest chance of being usable and open. I think it was very bought into that because I was starting to see that, you know, happen in the nada, the software that I used, for example, sentio, which is the startup those replacing Bloomberg, Bloomberg used to be a dedicated computer, and terminal and keyboard that you have to buy. So instead of that that eventually evolved into just software, but it was a native application. But sentio was a web application, which was able to be delivered much easier with with lower onboarding, friction, as well as I guess it was just easier is theoretically easier to develop, even though our engineers were not that productive. But it was, it was it was very clear that the web was a good platform to bet on.

Tim Bourguignon 14:14
Were you still trying to scratch your own edges, being solving your own problems, or really, with the idea, I'm going to build something. For somebody else,

Shawn Wang 14:25
I think I wanted to I was very keen on the indie hacker movement already. I think indie hackers have been launched round about that time, and already got me super interested in this idea of building my ideas. And maybe it's a startup or maybe it's just a solo project. And I think that's a very powerful feeling to have, right? This is actually partially a reflection of my finance career as well. in finance, you basically don't have any value independently. You have to be part of a bank or you have to be part of a hedge fund. So your value is conditional upon your employment and I was always felt honored trouble with that, like, I wanted to have to say, to be able to say like, Okay, if I don't like working with any of you, I can just work for myself. And that that level of entrepreneurship is only possible if you basically learn to code yourself. So, so I think I didn't, I didn't intend to work on things of other people. But I think I felt a lot of imposter syndrome. Because if you're not formally trained, you don't know if you're doing it wrong. You just you just doing whatever works and copying stuff over StackOverflow. And you know that that's not going to last very much. So. So yeah, I think what I ended up doing was telling myself that I will learn to code and then work for other people to learn the software engineering practices as like a real software engineer. And then, and then be able to build whatever I want, you know, for, for whoever, for whatever purpose, I think that mostly worked out, but I definitely have not gone the traditional path of software engineer since then anyway.

Tim Bourguignon 15:56
I'm not sure there is a traditional path. Do you remember when when the when the bit or the flip switched the switch flip? When you fell again, now I think I have arrived, I'm I'm enough of a software engineer to call myself a software engineer.

Shawn Wang 16:13
People always ask this, but I think it's very simple. When you when your job title says software engineer, you are a software. It's very easy one, right? So yeah, you know, I did a boot camp. And then at the end, two sigma hired me and the job title and the job offer and everything said, software engineering. So at that point, you know, you have proof that you are

Tim Bourguignon 16:36
Indeed, indeed, how would you use this or this first job getting this first job and for the first time stepping in as a really, as a software engineer and other technical product manager anymore? And not somebody else? Doing tours? Really?

Shawn Wang 16:50
How was that? Okay, so the how of getting it? I think this is also very interesting for people considering transition, which is, should they do a boot camp? Or should they self teach, right? And boot camps are not cheap? Mine was $70,000. upfront, which I actually, by the way paid through trading profits. So there was also very fun. Literally, like, yeah, like the the, roughly of the amount of my trading profits for that first half of the year, I just reinvested into myself, which is, which is pretty cool story to tell. Anyway, however you do it, you can finance or whatever. It's $17,000. In some, I think lambda school even goes up to like, 30k depends on how long your bootcamp is. Is it worth it compared to just self teaching? And I say yes, for two reasons. One is that time is money paying, paying somebody to just make you go through a curriculum, and then also, having someone available to answer your questions, whenever you have them. Is is worth something, right? And that would cost me a lot of time by myself. So let's say I, you know, if I learned everything, I learned boot camp by myself in one year, and it was accelerated to three months, what is that worth to you. And to me, that is worth $70,000, that acceleration. The other thing that I would say is, is really helpful, especially for the top boot camps in the US, I'm not sure about, you know, other parts of the world. They all have hiring partners, like companies, which they know, have you have, are open to hiring boot campers, and understand and accept the quality of the training that has gone out of there, right, just on faith, that when you when you self teach, you don't have any such network to build on. So you don't really know when you're applying, like do they want someone who has, who has, you know, like a weird background. And of course, you cannot guarantee that you've covered your bases, in terms of curriculum. So a hiring partner system works all that out for you. So for example, I went to full stack Academy in New York, at the end of the boot camp, they organize a day where every all the employers come to you. And that's also a really great idea. So it's kind of like speed dating, there's like 3040 employers, and then you just go around and sit down and have a five to 10 minute chat. And if they like you, they'll invite you in for on site and you can go on from there. That's just a fantastic way to get into the door. Because all of them when they show up, they want to hire you know, they they're not going to show up and say no to everybody. So all you got to do is is try to stand out a little bit compared to your your bootcamp friends. That's a very challenging thing, because all of you just did three months of exactly the same thing. So what do you stand out on? So for me, it was the ability to bring in my former career right finance in tech, and that was very interesting for two sigma two sigma is a quantitative hedge fund. I ended up using zero of that finance knowledge but it was a good story to tell for hiring. But yeah, you know, so the the job search eventually took about two months. I got a I got a bunch of offers. I even interviewed with Google, but ultimately, I ended up taking the job with the first person I sat down with at that hiring So I could have just done one interview. And I just talked to that first company. And that's it. But in between I spent two months interviewing everybody else.

Tim Bourguignon 20:10
Why not?

Shawn Wang 20:13
It's just, it's just luck. Yeah. But um, yeah, I mean, I'll say I'll say, getting that first job is definitely the hardest for a lot of people doing this unofficial transformation. And I think that more companies should be opened to open to hiring boot campers. But then also, if you're not, you don't have to hire full time you can hire you can do for internships, and apprenticeships. Because the whole point is about getting experience getting real experience and in a real team, and we need to, we need to try to open access to that. And I think it's still too hard for a lot of people trying to break into the industry.

Tim Bourguignon 20:47
What would be the, the blockers you think, from, from the employer perspective to say, Well, I'm not sure,

Shawn Wang 20:54
yeah, there's a reasonable argument against this, which is that it would not be a good experience, right? Like, if they're not ready to, to host an intern, they're not ready to host an apprentice and things are just on fire, and they're like, okay, you know, I'm not ready, you know, and then when they hire an apprentice, then they're not gonna have a good time, they're not going to it's a, it's a, it's a miss abuse of your responsibility to the intern, right, then they're not free labor, they're there to also learn from you. And if you're not able to provide a good learning experience, then maybe you shouldn't be get involved in that game. So yeah, I agree with that, right, of course, like you want to take care of your insurance. But I think people are willing to work with you. I think that that excuse us gets used a lot where it probably shouldn't be used, like, nothing is ever perfect. No, no conditions are ever perfect. If you just brought someone on that you click with, that doesn't have a lot of experience, but can figure out whatever you give them, that's fine. You know, they just need to watch you at work. And they need to collect a few months on their resume so that they can use that to go get their next job, and eventually become the capable software engineer that everyone that I think most people can be.

Tim Bourguignon 22:06
Have you had, I want to say apprentices of your own agency, I've been in the position of hosting apprentices since since we started,

Shawn Wang 22:16
we had a couple and netlify. So, you know, Matt Bowman, he one of our, I think our CEO at the time, had a very good relationship with the university. So we had a constant intern program from there. So I like that a lot. And I had some interns during my during my finance days, but no, I haven't, for example, now it's immoral. We are a very small startup 20 people, and I voted up before but our CTO says we're not ready. So that it is what it is, I don't mind. You know, I always always have stuff to do that can hand off. But you have to get buy in from your management that this is a worthwhile thing. And a lot of them, they don't have this idea that like it's more like a service to the community than it is beneficial to the business. So you have to really be open and also create some kind of sustainable internship program where it actually results in hires, right, because that's ultimately something that I think CTOs and VP of engineering really respect is, if you hire someone, as an intern, that converts into a full time employee that's very productive, then you've just like skipped a whole bunch of recruiting and whole bunch of training, you've just built your own internal talent. That's fantastic. So I think people need to try to figure that out more, instead of having expensive recruiters go out and hire expensive people who already have a bunch of experience. I don't think that's sustainable, because everyone is competing for the same people

Tim Bourguignon 23:36
need any beer. We were pretty lucky here in Germany, the the apprenticeship is very regulated are the idea of apprenticeship. So we really have to, to, to send people to go to trainings and have formal staff taking care of the apprentices and really being keen on having a follow up having a plan really knowing what they're going to learn in x months, etc. But indeed, it's it's, it's, it's a win on the on the long term, every every apprentice we hire is, is is a big, big win there and they already moving. Even before the end of the apprenticeship, you're ready taking a lot of far off off slack from us. They're taking a lot of work. They are really trained on what we do. And so it's they're really helping, it's not apprentices anymore anymore. And so they're hitting the ground running. It's very cool. Very cool. Okay. Um, tell us about learning public, because you've been doing a lot on the side.

Shawn Wang 24:34
Oh, yes. So the story about this actually goes to two sigma. So kind of where we left off. Two sigma was not a good job. It paid very, very well. So I don't think I think I was probably the first person out of a boot camp that got something on the order of 200,000 a year salary as a fresh bootcamp graduate. And that's because two sigma just has too much money. So the higher And then they, we sat around for four days out of five, and we had nothing to do. Because, yeah, they were hiring in advance of something that they needed. And then the didn't have their product management put together or figured out. So I was very bored at work, to the point where like, we would spend one and a half hours at the gym, at the company gym every day, there'll be like, they had a book budget, so buy a book and just read it at work. It was just, it's fantastic for learning, you know, but not very good for practical experience. So I decided, you know, and my manager was not very good at react. Even though we were we were a front end team. So, yeah, I decided to make my own experience by starting to, especially speak and write in public. So I started to blog, I started to join the New York City meetup scene, where we were I would essentially, like, you know, I wasn't learning anything at work. So I forced myself to learn outside of work. And that's essentially the goal. And I did that for about six months. And I realized that I was learning a lot more than the people around me. And they were constantly like, very appreciative of the stuff that I shared with them. And I realized that that was also helping me to build a network, that would last me longer than any job. So the day that I essentially decided to leave to sigma, was the day that two people, two founders, DM me on twitter on the same day, asking me if I wanted to interview with them, so so that that was like, Okay, I build up enough of a network where people are like, I don't need this job. Like, even as long as it pays, I can just walk out there and get any other job. And one of the two founders was met billman, who he just had on the podcast. And I don't know why he saw me, but it was definitely an early bet for him. But hopefully, worthwhile bet, because he got he got me at a very early, early age, early stage, what I would say, so I was writing a speech for my for my boot camp, you know, to speech, advice and stuff like that. So when I look back at like, the first job, and like, what worked and what didn't work, I realized that every, all the stuff that was in public worked, and all the stuff that was in private, was not that useful, mainly because I didn't have a supportive team for for my professional development. But the stuff that was public, I could take with me forever. And I could build upon that as a personal brand. as a, as a developer, I was learning, you know, stuff that was useful to bring back into the company. These are all true things that that was just a real insight, which I wish I had learned earlier. So I wrote that up as a small little speech. And then I've just posted it online, and he got really viral. And that was necessarily the start, I became the learning public guy, just just from that one. One post, and then I think there's a, there's a certain amount of like, you just have to believe that it's true. And as long as as long as it's beneficial for people to hear this message, then I'm happy to be the guy to repeat it. It's, it's a bit repetitive. And I want and I am interested in more things than that. And I worry a bit that like the people who are my friends are like, Oh, there he goes, again, preaching about this. But like, people really need to hear it. So I I am not sorry, that I that I spread spread this message because it is it is very, it has helped change my life. So I'll give you one more one more anecdote, which is in finance, the default is very private, right, everything is confidential. I have written investment memos and

Shawn Wang 28:45
build some really cool financial models. And I will never see that again, ever. Because everything is private by default in finance, right? Your your investment ideas are confidential, or just like secret. So you don't want to share because it's a very zero sum view of the world. I think tech is fundamentally more open. And, you know, everything that I did in finance from like, 2010 to 2016, I never see again, like I that part of my life is gone. I don't have anything to show for it. Now, you know, there's no public output. And whereas in tech, like you have your, you know, your open source repos, you can look back in time and see what you did back then you can blog about it. And people are encouraged like sharing your code and going on a conference and like saying, like, this is how we solve this problem at our company. And that's something that you brag about. And that's not something that is common in other industries. So we should very, we should be very appreciative of the fact that tech is very open to being public, and then take advantage of it.

Tim Bourguignon 29:41
Indeed, it is, indeed, one aspect that is always or often also mentioned when talking about learning in public is the accountability with air quotes. So by by promoting your ideas, you're kind of encouraged to continue Did you need that? Or did it help you?

Shawn Wang 30:02
Oh, yeah, no, no, definitely, definitely needed that. Yeah, learning in private is a very lonely journey. So having feedback, and having accountability is very important. Like you can say, I think one of the most successful examples of this is the 100 days of code movement, right? You can publicly committed that, hey, I'm going to do 100 days of learning, whatever. And then people will hold you to it, right? You know, they're, you're like, Oh, hey, you missed a day. What happened? You know, and that's a very good motivator, I think it depends on the person. So there are four types of motivation, you know, intrinsic extrinsic, and then whether you try to satisfy internal versus external expectations of yourself. And most people are obligers. So this is the this is called the four tendencies framework by Gretchen Rubin, and obligers basically, are happy to disappoint themselves. But try not to let try not to disappoint other people about things that you know, they expect of them. So, if you, if you promise things to yourself, if I promise things to myself, I'm very likely to make excuses and say, like, okay, I don't have to do it today, like, you know, today, it was, it was a hard day, I'm just gonna go skip it. But if I promise things to other people in a heavier on the calendar, and I said that I will get something done, I will feel the urge to make them to fulfill my promise, because that's when I make a promise. And that's, that's what it means. So, so I think a lot of people are like that. So if you're obliger, then it then it really helps to make to make public commitments to things. I think the other thing as well that people don't understand. So accountability is one of the ways in which learning public works. But there are a long list of reasons why learning public works. The other reason that I like a lot is public feedback, right? So most people, when they're when they're countered with this idea of like blogging, or like speaking, they're, they're scared, like, they'll they'll say two things, either. Nobody will read my stuff. So why bother? Or people read my stuff and realize that I'm an idiot. And I think people should understand that both of these things cannot be true, either somebody will reach you. Or nobody will read you. And most likely, most likely, nobody will read you, but some will, overtime. And that will grow over time as you develop your voice and your expertise, and your network. So the ability for learning through feedback is very important. Because once you've been publicly wrong about something, you will never forget it right. And that's, that's also very important that this idea that you can essentially build a second brain, which is this idea from Tiago forte, I'm actually mentoring for his class, which is starting next month, you can essentially build a second brain where you have a public store of all your information that you've accumulated, the organized for yourself, that people can review and correct you on. That's amazing. And I've been very lucky to to do that. And have benefited from people teaching me the stuff that I didn't know that I was wrong on. Right, so so that's, that's a really good effort. And then there's this idea of like a third brain, right, like, having friends that you can rely on for knowledge. So you don't really own this knowledge. But you can tap on them anytime you need. So like, I don't need to know Webpack if I'm friends with Ron Larkin, who was one of the main tenets of Webpack. That's just one example. I always use it all the time, because, which is pretty ironic, because I've never asked him for, for helping WebEx stuff. But I just think it's, I just think it's pretty cool. Like, I'm friends with a lot of maintainers of the software that I use and obviously respect their time. But if I really need to, I can rely on them to help me out because I've provided them some sort of value in the past

Tim Bourguignon 33:38
that that's very important networks are very underestimated. I think it's, it's one of the things that is, is really make a break off of a career or not necessarily career in going up with Caray now in broadening your knowledge that's that's very important things thing on the learning public, when you wrote your book, only interested in the book itself, but also the Did you write the book in public? Did you get this feedback early on? And then try to how did you do that?

Shawn Wang 34:07
I basically decided to do the book. When I was waiting between between my netlify in AWS, Java has two months off. I was like, Okay, let's try that for a project. Right. And essentially, it started writing a book, I announced it on day one, and sold an empty PDF for $4,000, which is pretty, pretty, pretty awesome. And that's just this is a result of having many years of blogging behind me and people trusting me enough that like, okay, like, even based on the stuff that you've already written, maybe pay you some money, you know, just say you finish the book. And then you update them, you know, as you go along. So this is why I'm a fan of pre selling because essentially, the hardest thing to sell a book is word of mouth. And what what better way to get word of mouth than pre selling something, and having people pay you for the privilege of seeing you of getting updates from you, and then seeing like how much effort you put in To the book, and so that when you launch, you have a bunch of already happy customers vouching for you. I think that's a, that's a fantastic way of doing this stuff. So yeah, I built a, I built a lot of the book in public. So one quarter of the book is the best of my blog posts that I've gone through and revised and edited and updated for, you know, book quality writing. And then the three quarters is this new stuff. And then what I did was essentially livestream some parts of the writing. So I had one chapter on how to market yourself, and I just live stream five hours of it. And so people could see my writing process, and could see the contents, he may plan for it. And that's one way to market the book, which is like, Okay, this is the amount of effort and quality that I can expect from one chapter. So hopefully, I will like it enough, they'll want to see the rest of the chapters. So I did that twice. And it got it did really well, because I knew the marketing thing. People are very interested in, like, developers want to know how to how to market themselves, but don't really see themselves as marketers. So there's, there's a, there's a gap there. Yeah, I mean, actually, by the end, I took down the live stream, because I already launched the book, I took down the live stream, and then saw that as part of a premium package. So if you wanted to see it, he had to he had to pay a bit more money. And that's, that's one way of reusing the stuff that you you produce, right? You see, you can see more prolific if you can figure out creative ways of reusing things that you already do. Like I was already going to spend some time writing the book, but being able to livestream it, record it and then sell it as a premium access video. That was very valuable to some people as well.

Tim Bourguignon 36:40
Yeah, mixing mediums is always interesting. I'm a very young lover of audiobooks and getting books were more from you and your feed and podcasts and stuff. So yeah, everybody takes off. What like? Yeah, absolutely. Absolutely. This is cool. So I like to steer the discussion one more time. You're doing developer experience. Now? First of all, I'd be interested in what's your definition of off of dope returns is, and then I see some kind of earned laying pattern when you started doing tools for yourself as as developer, when you say, Well, I want to have a UI to create tools again, and developer experience in my world isn't tool. So how did that connect all those together?

Shawn Wang 37:25
Oh, interesting. Okay, so those are not that connected, in my opinion. So the way I got into this was essentially, when Matt billman DM me to interview for netlify, he actually wanted me to do a sales, like a solutions engineer position. And I failed that interview. But they give me a second shot and ended up becoming a developer relations. For them their second operations hire. But they actually called it developer experience engineer. And that's just a way of rebranding the developer relations job to have a bit more of an engineering focus, for example, building open source tools and demos and stuff like that. And that has really become a focus of my career, I guess, because that's what I went on to do it. I did that. And then netlify nullify now is very well known for developer experience. And then went on to do that same thing at AWS. And now I'm head of developer experience at 10. portal, which is still very weird thing to say, because I'm head of the department that just has me. We, we did hire hire first developer relations person. But it's still still feels very early to close up have anything. Anyway, hopefully, hopefully, that will grow over time. But yeah, so So on one part developer experience is just a Silicon Valley tech industry, rebranding of Developer Relations, trying to catch up, build in more of an engineering expertise and saying like, okay, we're not just about going out and traveling the world and doing talks. We're also about building integrations. And like, I worked on a VS code extension for nella phi, and building prototypes. So I helped to do to have to build nullify Dev, which is, which was one of our biggest launch effort at notify, where I just worked on ci for like three months straight. So that's not what a typical Developer Advocate does. And that's just a bit more engineering focused with regards to building tools for yourself. So I do encourage people to build tools as side projects, right. Like, I have my own custom Twitter search tool, because the default Twitter search is not good enough for me. I have my own Google proxy, where I can Google stuff and it sends me raw, raw page with not with like, very little JavaScript, like, I think three kilobytes of JavaScript, and it loads a lot faster. Why? It's because I'm international and I'm on a roll me data plan, so that my internet, my mobile internet is very slow. And the default Google page sends you hundreds of kilobytes of JavaScript that I don't need. So essentially a proxy server side and it just an HTML. So stuffing, small tools like that, I think are very helpful. And you can, you can come up with hundreds of these ideas where you can customize the CSS for GitHub, which a lot of people do right before GitHub had official dark mode, people had browser extensions for GitHub. And I've done that as well. I've done I've done little tools for, for nullify for AWS, I think it's just a powerful experience for yourself that you can try tools in, in small enough capacity that would improve at least your life, even if nobody else uses it, you will still win, you know, and I really like playing games that I still been where even if nobody else plays with me. But there's a chance, right, there's a chance that I can share it with the world and maybe become very famous or something. Nothing like that has happened for me. But, but I still, I still think that people should move to throw themselves because it's a really good way to experience the full cycle of like, planning something, designing something, shipping it, maintaining it, all that stuff. And I also think that you should try to make things for money, right? So the book is essentially, I mean, it's, you know, 90 99% of non technical projects, but there are some technical elements to it, like building the landing page and integrating with stripe. And these are all new things for me, because I had never handled stripe stuff before. And and yeah, I mean, I think when you take money for something, you start to appreciate on the non technical sides of your companies that you work at, right? The marketing department, the the PR departments, whatever else it is design, design, oh my god. Design is so important. And you don't think about this as the developer, and maybe you should.

Tim Bourguignon 41:53
Very, very good enter about building your stuff. And that links back to the indie hacker scene we talked about. And definitely about the fine, I'll do it myself team, scratching your own each and it's empowering, the empowering to be able to have an idea and just roll it out and do it yourself and being able to really solve your own problems. That's something I really personally love as well, being able to do that and really not not be sad and not having a solution I need and just do it. That's really boring. Yeah,

Shawn Wang 42:29
there's a there's a question. This is actually one of the chapters in the book, there's a question of like, how much should you specialize versus how much do you generalize? Right? When you whenever you say, I'll do it myself, that's a form of generalizing generalizing yourself, right? Like, you are saying, Okay, I'm going to stop going deeper in my current field, and I'm going to go patch up the holes that I have in all the other fields that I have, which there are there are infinite number holes. And so the the advice I think that makes no more sense to me is when in doubt, you should specialize. And then when you're when, when necessary, you should generalize, because you're always going to be pushed towards generalizing, when you least expect it right? Like, hey, someone left on my team, can you take over this for me? Oh, but then you're like, Oh, no, I don't have training for it. They're like, I don't care. Just figure it out. And then that's, that's you, that's them forcing you to generalize. So that's a very similar thing to like shipping your, your site projects for money, you're forced to learn about conversion, and SEO and design and maybe hiring contractors, I hired two contractors. And that was a very interesting experience as well. And that's nothing to do with being a developer. So so those are very useful things if you want to be self sufficient, but a lot of people specialize and don't bother being self self sufficient. Right? If you're like the the Google sorry, who knows how to run like, you know, large scale data center, with with fail overs and replication and stuff like that, that only makes sense for a company in the size of Google, like, every other company does not have that kind of problem. But if because you specialize so much in it, then you're the world's expert in in, you know this stuff. And therefore, because the impact that you have, can can can be very valuable for a company, they'll they'll pay you very well for that. So I think I think it's worth specializing rather than than generalizing when in doubt, because eventually you'll be forced to generalize.

Tim Bourguignon 44:21
That's an interesting thing. I've never did verbalize this way. I'm going to ponder this a little bit more. Thank you very much.

Shawn Wang 44:28
Because the other thing that argument for doing this as well as because there's a lot of common advice on how to generalize they how to get know, blogging one on one, like design one on one. It takes a lot of commitment and effort to become an expert to learn how to learn to learn how to get past the hump of like, Okay, everyone stops here usually, and then and then push past that and and go become one of the real experts in that. And so, there's there's sort of the Dreyfus model skill acquisition, which is like Five stage model, once you get to that stage, that is a way of learning as well. So once you specialize in something enough that you've become an expert, you realize how how what it's like to go so deep into something that you are world's foremost authority on that. And you, you're much better able to appreciate that, in other people, you're much able to be much better able to appreciate, like, when you learn something, and you and you learn what everyone else knows, you realize that that's not the end of it, probably half of what you learned is wrong. And the real experts know which half is wrong, and which how the rules are changing. While you learn the rules. It's very, it's very interesting thing. And then the final piece of why you should specialize is that once you're a specialist in something, that becomes a valuable skill that you can trade with other specialists, right? So you no longer need to do everything yourself, you can say like, I'm the expert in SEO or whatever. And, you know, I can trade that against someone who's an expert in design. And that's a valuable trait versus being like 30%, or 50%, in everything, and just being a jack of all trades.

Tim Bourguignon 46:04
So last question was one eye on the clock? When you're not forced to generalize? Where do you personally specialize?

Shawn Wang 46:12
Oh, that's very interesting. Right now, it's, it's pretty interesting, because like, I'm essentially being forced to split, I'm essentially specializing in this idea of learning in public. And being an independent, like, part time creators is what I call it. This idea that, when you do a job, you should try to not go not end the week, with, with everything in done for the company, and nothing done for yourself. Because the one thing that you know, will stay with you forever is the stuff that you do publicly, right. So I do want to encourage people to do that, essentially, you know, I run a community for the book for for people who bought the book, and I'm in there everyday and maintaining that, and just trying to develop this specialization and like know, everything there is to know about what it's like and what what it's like to encourage people to learn in public and to help them solve their problems, because I think it's helped me change change my life, and I can see you changing other people's lives as well. So it's the one thing that like, I think I just like, randomly got lucky into it, and I'll be stupid to not keep going.

Tim Bourguignon 47:23
You have to thumbs up for me. Very cool vehicle. It's been an avalanche of advisors. But that's that's the usual end of the show. Do you have any advice for maybe getting into this learning public? Oh, yeah.

Shawn Wang 47:36
Yeah. So this is a this is a blog post that I've also written called pick up what they put down, which is what I call the learning public hack for how to solve the cold start problem, right? Essentially, everyone has this cold start problem of like, okay, I don't have any readers, but I need readers to improve. So how do we get how do I solve that, right? And the answer, the way to guarantee feedback on your stuff is to write about something that someone else is actively doing, right? to literally to guarantee feedback, give feedback, that's this, essentially the long and short of it. So if someone put out a new blog posts, or new demo, or new library, a new book, actually go and read it and give feedback on or build upon it, which is very similar to like, the culture of improv where instead of letting someone you know, put their stuff out there, and then you're like, Okay, very nice. And then you move on, you actually take what they said, and then you improvise on that. You say yes, and, and you go like, okay, so So based on what you just did, here's another thing that triggered my memory. It makes it a very good conversation. But also you can have a conversation through your writing your code, your whatever you do. And being an active conversation with these makers. It's typically something that it's just, it's just very rare. like nobody does this. When a lot of people are lurkers, right, like when I when someone announces their new demo a new library, a lot of people will just passively see it. But if you actively comment and go through, and if you like, find a bug, then they will really appreciate you, right. And that's a way to sort of permission, the apprentice yourself to some of the greatest figures in the industry, right. The example I always use is Andre Karpati, who's the head of machine learning at Tesla. He put out a Machine Learning Library recently that got a lot of likes and retweets and people talking about it, but not that not that many people will try it out because everyone's busy. Everyone thinks that Andre Carpathia is like a some Rockstar programmer. But no, he wants feedback just like everyone else. And if you can give good quality feedback, and if you can help him translate it to, in your own words to maybe people who don't get it as well as you do. Then you can become a really good collaborator with him. And and you can bootstrap your network and your expertise off of someone that's already an expert in your industry. So long story short, I think when you do this pick up what they put Down idea. You're just focusing in on people that you want to learn from and work with end to end and grow that network organically rather than trying to grow a generic audience, right, like, generic audience would be something like, here's, like, intro to JavaScript one on one. And then you like, right, the same article that 1000s of people have already been. That's not a conversation with anyone, right? Something that's live that that is a conversation that the people have just put out, and they're almost obligated to read what you wrote, because you're writing about them. So I really like that.

Tim Bourguignon 50:37
Fantastic. I'm looking forward to reading the blog posts and getting more into the details of it. Thank you very much. Very, very cool. Um, Shawn, where would be the best place to find you online and maybe continue the discussion with you?

Shawn Wang 50:51
Yeah, my site [email protected]. I also have a newsletter, which I send out a week, every week on like this, the best stuff that I find and read. And I also have a personal mixtape, which is a, which is like an almost daily podcast of like things where I listened to a lot of podcasts, and I slipped like five minute audio clips, which I think are interesting. And then I just play them in my own mixtape library. This is a new project. For me, I don't know how long I can last it, because it does take some effort. But I really like games where I cannot win. Because then I can just get creative and weird and it's fine.

Tim Bourguignon 51:29
Awesome. People, all the links will be in the show notes. And go get there and give us some feedback. We've heard it. It's important. JOHN, thank you very, very much. It's been really fantastic and privileged to hear your story. Thank you very much.

Shawn Wang 51:42
Thanks. Thanks for having me. And thanks, everyone. Oh, I should probably also say that if you want to get the book, I would like to leave a coupon for people who are interested in getting the book. So if you go to learn in public thought, org slash questions, C equals def 230. That will give you 30% of the book. In everything else on the site. I think I'll just drop your links to make it easier, because I don't think I need that. very intuitive.

Tim Bourguignon 52:13
Yeah, exactly. No worries. No worries. Thank you very much. And this has been another episode of devjourney and we'll see each other next week. Bye. Bye.

Tim Bourguignon 52:24
Wow. That's definitely the first time I've heard of someone quitting such highly paying job as a trader to become a developer. But I love Shawn's energy. I love his pragmatism and depth of his knowledge. It was amazing to hear, hear him talk even briefly about the tendencies of motivation and the psychological effects of working in public. That was really, really cool. What do you take out of this story, please reach out and tell me your messages, all the fuel to keep this podcasting engine running. You can reach me on Twitter, I'm @timothep or per email, at [email protected], or use the comments on our website, that devjourney.info. I found Shawn's idea of picking up what others put down really inspiring. But the one quote that has been in my mind, since the recording

is the following:
"When in doubt, you should specialize. You should generalize only when necessary". I have started analyzing my whole career in this light, and it's been an amazing journey. When did you last specialize and in which ways and how's the devjourney podcast, helping you there? I'd love to know!