Shawn Wang chats about learning in public, being a specialist vs a generalist, and mentorship.
Getting a job as a web developer right out of the gate isn't easy. People often face rejection after rejection. But, you don't have to take the "front-door" to get a developer position. You can also take the "back-door" by taking a developer-adjacent role like a support engineer and then work to become a developer in the company.
There are many disciplines and technologies for you to choose to learn. There is always the question of do you become really good in one area, or do you become more of a generalist? You can be successful as a generalist or a specialist. Founders often have to be generalists since they have to figure out how to manage the trade-offs of choices in multiple disciplines. At the same time, specialists can be successful since people will seek you out for your expertise.
It doesn't matter if you choose to generalize or specialize. You have to build a reputation in order to fully realize your potential success. Programming is a special industry when it comes to making a name for yourself. You can build your own reputation and network much more freely than in any other industry that Shawn knows about, which is good for you long-term.
Once you've established a reputation, it's not uncommon for people to ask you to mentor them. An ongoing one-on-one mentor/mentee relationship isn't often the most efficient use of your time. You could be broadcasting what you know to a wider audience—Shawn advocates for a "project-based" mentorship style where the mentorship is not uncapped. You engage with them on their thing. You meet together, let your minds meld together for a while, and then you part ways
Joel Hooks:
Hey Shawn.
Shawn Wang:
Hey, what's up, Joel?
Joel Hooks:
Well, I want to ask you some questions. I think it's interesting because this is something that I feel you've done for the last few years of your life, and I want to get into becoming a web developer. I'm really interested in it from the perspective of somebody that maybe even hasn't opened the terminal at any point in their life up till now, and where do they start? I was wondering, just because of the way you learn in public, and you're very vocal about learning in public and showing your work as you learn, what do you say to somebody when they ask you, "How do I become a web developer?
Shawn Wang:
Wow. Try it out. The way that I did it, and the path is going to be different for everyone, because it's such a huge field. I'm a career changer, right? I had a previous job. I was not feeling that interested in it anymore, and I was looking at this dev thing and I was wondering ... I was 30 years old at the time. Fortunately, no family that I had to manage in my free time, so I had some free time and I just started doing things on nights and weekends. I went to Free Code Camp and did the whole syllabus in six months, just slogging away at it every day. Then at the end of it, not really feeling like I had anything worth applying to jobs with, because Free Code Camp is very self directed, and nobody checks your projects.
Shawn Wang:
You just affirm that you've done stuff and then you go on to the next thing, basically doing the bare minimum. There's a lot of stuff that you can't learn alone. For example, when you work in a team environment, you want to use get and you want to do code reviews, and you want to just collaborate with people, right? It's just very hard to do that on Free Code Camp. I'm sure people do it. It was just like I wanted to have someone who knows what they're doing look over my stuff and I was happy to pay them. I eventually quit my job. This was six months of having a job and just nights and weekends doing this thing. I quit my job and went into a boot camp.
Shawn Wang:
I don't think that everyone needs to go through boot camp, but it helps you accelerate, if you have the cash for it and I did. I went for it. It was worthwhile in the sense that, I came out of it, not only with a much stronger sense of my fundamentals, but also a job. They help you with the hiring, and I was one of the lucky 50% that get the jobs out of the employer day at the end of the bootcamp. That's my path. I recommend people basically do that, because it worked out for me. But obviously there are a lot of different ways of doing that. I also recommend ... For example, a lot of people who go through self teaching and boot camps or just don't have formal qualifications, they can struggle a lot to get in that first job.
Shawn Wang:
It's that chicken and egg thing that is prevalent in every industry, where you need experience to get the job, but then you can't get experience without the job. The way that you do it, this is the hack, which is you go in through the backdoor by for example ... This is only if you're facing a ton of rejections, because some people just somehow it works for them. But if you're facing a ton of rejections, rather than getting rejected year after year, and then having, for whole year and having your self esteem go down and wasting time.
Joel Hooks:
Crushed.
Shawn Wang:
It's crushing, right?
Joel Hooks:
Oh, it is.
Shawn Wang:
To have ... I don't think it could take 10 rejections in a row. I think that'd be like ... I respect people who can take a few hundred. Anyway, so going through the backdoor, there are people who they're adjacent to dev roles, where you can take it up and then you can see your way into development and no one will complain. The standard for crossing over into dev through the front door, which is directly applying is a lot higher than internal transfers. One good way I've seen a lot of people do is, be a support engineer. People want motivated, technical, technically savvy support people.
Shawn Wang:
They'd understand that the deal is not that you're choosing a whole life in support, which if you do, that's fine, it's still a good job. But once you're in as a support engineer, if you decide to code, to solve your own problems or to help fix bugs that you see, no one's going to say no to that, if you can commit code that is up to snuff and pretty soon you act like the job that you want and pleased when you have it.
Joel Hooks:
It's like the old saying where you dress for the job that you want. You're in there and you're not getting the big bucks as a developer yet, but it can be an upgrade. It's like a direct path to and if you get that job, it doesn't mean now, this is where you're stuck forever. Though I know a lot of people that get into QA and testing and support and really, really thrive and enjoy that job. I think there's a pretty good career trajectory even on that path. But automation, that stuff requires automation a lot of times I think in modern development shops too.
Shawn Wang:
Yeah, software eats everything. I think that's pretty much the best way that I've seen. Obviously, you can work for yourself as well and a lot of people get their, they make their uncle who's a lawyer a website, and then the uncle refers his friends and you make sites for them, and pretty soon you have your agency or just by yourself. I've seen that happen as well.
Joel Hooks:
Yeah, that was what I did.
Shawn Wang:
There's no one definition of what a career is.
Joel Hooks:
I did more of a freelancing approach, because I still had to keep it nights and weekends. I think that would be the difference, like a test engineer job would be like a 9:00 to 5:00. It was like I've learned how to code, I could do it. But how do I get professional experience and freelancing? Well, that adds a whole new set of complications and skills to, because you have to start thinking about business and accounting and you're self employed at that point. It can be weird and complicated as well.
Shawn Wang:
I'd say actually ... If people can afford it, take more time to pick that first job, because that really buckets you. People want to put you in a box, right? If you do freelancing and you do sites for lawyers, then people will just hire you for more sites for lawyers. If you have the luxury of time, which a lot of people don't, then pick a role which you think that you would invest in as a long-term career, because you're very likely going to be.
Joel Hooks:
I think something interesting that you said was, you spent this time and you got into Free Code Camp and worked on it for six months. I'm wondering, where during that process do you decide this is a career that you're even interested in at all, it's something that you want to do long-term? Was that while you were doing Free Code Camp, or did you know that before you started doing that?
Shawn Wang:
Yeah, that's a fair question. I worked with developers before. I saw that our biggest bottleneck was not having enough good developers. It was more of a question of like, I see that this is a valuable skill to have. My previous company, we couldn't hire for it. It was just, we had 60 developers and maybe two were actually reliably consistently shipping quality stuff, and the whole company just relied on these two people. You can't just throw money at the problem and throw people at the problem. I was just thinking I could do this. I could just learn to do this and it just be valuable for that. That's how I went into it. I didn't really think about ...
Shawn Wang:
When people think about learning to code, they don't really think about the nuances of like, "Do I want to do mobile? Do I want to do websites or web apps or social media posts? Do I be a game dev?" There's all these sub disciplines, which you don't think about until you're in there. Then by the time you're in there, it's too late. I pretty much Free Code Camp. Actually, I think this is very valid. I think Free Code Camp is giving this pipeline for a lot of web devs, but a lot of us just ... I'm one of the examples, we end up in front end development, because that's just what they teach.
Shawn Wang:
It teaches it really well and there are jobs, and we pick it up. But correspondingly the pipelines to the other parts of coding like back-end and DevOps or security or whatever, those are a little bit harder I think to get to. Not impossible, you've had some people on a previous podcast that you did, just went in straight into security and it's awesome. Because there is no path for me there, I just ... Go on to Google, type learn to code you see Free Code Camp. You go through it and suddenly you're web dev which is just one of many types of devs.
Joel Hooks:
To me just, 10 years down the road looking back, I'm like, "Well, it's all the same." That's how I feel, but that's me and my, maybe it's my survivor bias, I don't know. I've got through it. I look at code and I look at programming and systems and I'm like, "Wow, it's all the same stuff in different piles." Do you think that even if you learn front end and that's your entry point, is that still valid and could you change that? Or is it tough to pivot when you're first learning and do something totally different, and you should buckle down and be a specialist to start before you think about the generalist path?
Shawn Wang:
I think you'll find the examples of it working for both, for all different kinds of people.
Joel Hooks:
It depends.
Shawn Wang:
Very hard to answer that. The best answer for everything right, is it just depends. It is true that some things just require a lot of time to pick up. I still don't know my Linux commands. I still don't know some nuances in security, which is why I have Mike Sherov's EggHead course queued up to learn about that. I don't know. At some point you're in a phase where you're ready to eat ... I don't know if I can swear, but eat crap and learn hard things. Then you get good at one thing, and then being paid to do that is a lot better than continuing to eat crap for a whole bunch of other different domains in which you have no expertise.
Shawn Wang:
That said, I think front end devs are always interested in becoming more full stack. That's definitely a focus of mine right now. There's some algorithms always generalize in a lot of different domains, and there's some disciplines and there's some basic principles, but you just have to know a lot of tools and history and meta language around the core domain that you're trying to get into. I wouldn't say ... For me, it doesn't feel that interchangeable. I could not pick up and be effective in DevOps in a year. I don't think I could do that. There's just so much to learn. Yeah, we'll see.
Joel Hooks:
Do you think there's advantages to being a generalist over a specialist?
Shawn Wang:
This is a topic that's very hot right now, because someone published a book called Range and everyone was like, "Look at that, there's a New York Times bestseller called Range and everyone should have Range." Then there's another school of thought where everyone tries to have their cake and eat it too, by inventing what they call the T-shaped person, which is be a generalist and a specialist in one thing which is like, "All right, dude, you haven't really picked anything." I don't know what to say about that.
Shawn Wang:
Okay, I think at some point, if you want to be a founder or be some sort of manager of people, you're going to eventually trend towards being a generalist anyway, which means that you have to be able to figure out how to manage or make trade-offs in things that you don't really know the full details off. But you can ask the good questions and hire the right people to make that appropriate decisions on your team. That's good. But of course, if you're the world's expert in one thing, of course, people come to you for that and hire you for that. You can be successful both ways. But I feel like there are a lot more jobs for a generalists than there are for specialists.
Joel Hooks:
Have you read Antifragile, have you read that book?
Shawn Wang:
I have not read it [crosstalk 00:12:44].
Joel Hooks:
You can probably read it. It would make a good, good article when you can get the gist of it. To me, it's this idea of fragility in your career. I suffered from it before where I was too specialized. The platform died and now I'm stuck and just long-term thinking about my career, and what can I do and keeping options open, right? It's this idea that I want to learn broadly for myself more than anything, so if something comes up, I might not be a DevOps expert, but I'm going to understand enough of it so that if I needed to, I could jump over here and do that for this thing. I feel you have a strong passion for learning and exploring and trying to understand a wide range of things that are going on in this career, and I think there's advantages to that.
Joel Hooks:
But when you start, there's so much to learn that being a specialist and picking something, so you can get that first rung on the ladder is definitely the most difficult. They put it right above your reach, and so you got to jump for that. Specializing helps upfront.
Shawn Wang:
Yeah, I hate to say it, but maybe you picked the wrong platform. There are other people who specialize in the web and they're still doing fine, you know what I mean? Sometimes it's hard to say that specializing doesn't work, but it's true that just over time things fade, and then you're just forced to be generalist. Maybe specializing in the meta skill, which is learning how to learn, learning in public systems, being able to communicate, yeah systems over goals. I definitely function like that, even though it's not conscious in my direction. I just have internalized it from reading a lot of stuff.
Joel Hooks:
You mentioned in your previous career that there was, there's a bunch of developers and there was just this lack of a good developer and that makes me wonder, what are the traits that you identify as being traits that a good developer would have?
Shawn Wang:
Problem solving is how I phrase it. That's so broad, but really when it comes down to it, when you have something, are you the person who just gives up and like post on Stack Overflow and expect someone to magically appear and solves it for you? Or are you willing to do the hard work of diving in and breaking apart the layers and figuring out what's the issue, and then figuring out the fix and being a better developer for that? I think that's the core skill. Whatever you're trying to achieve, how do you break down the barriers, learn what you need just in time? EggHead is very good for that, to problem solve, to get stuff done.
Shawn Wang:
I think, then also you need ... Then there's also the business skills around being a developer. Can you estimate your work well, or just work in within the boundaries of what the business requirements are? There's a school of thought where, estimation is completely bunked and we shouldn't bother with estimation. But there's some business value that you're trying to deliver, and can you make the tradeoffs that reach that business value? I see a lot of developers ... There's some people that are obviously great developers, like Richie [inaudible 00:16:16] comes to mind. He's an idol of so many, but [inaudible 00:16:22] isn't used by anyone, because you can get too introspective.
Shawn Wang:
I'm not the developer that gets really hung up about mechanical keyboards and the intricacies of VIM, because to me, these are all just tools to do the job. If I can do it another way, I'll use that. I'm not really super married to the tools. I think a good developer should do that as well. They should not get too inward facing. It's like navel gazing about their tools, which are great. Don't get me wrong, I love people who build tools because I think they're very unappreciated. But at the end of the day, you're trying to get stuff done and if you spend too much time talking about, I don't know, the merits of functional programming and strong types, your business doesn't care, your customer doesn't care.
Joel Hooks:
At the end of the day, its part of the UX. It matters, but it only matters to a certain extent. You need good tools. It's like you said, maybe I picked the wrong platform. You are taking a risk. There is a risk in choosing tools, but you can choose something mainstream. I get it too, why people choose esoteric tools that they love. You see it across professions. You can see that in a wood shop where you'll have a specialty saw that cost $300, but you could probably get by with a $20 Home Depot saw and you could make the same chair at the end of the day. People love their tools, so like more power to them and please keep making tools, because I generally appreciate the evolution of it overtime. It's fun to watch.
Shawn Wang:
Yeah, totally.
Joel Hooks:
I have a question going back to just getting started, and I was wondering you, what do you see as good reasons to get into this field and maybe become a web developer, get into software development more generally?
Shawn Wang:
Okay. Okay. Oh, I have a hot take for it.
Joel Hooks:
Oh, nice.
Shawn Wang:
For jobs that regularly pay six figures ... I'll say what I get paid. I'm two years out from my boot camp, and I get paid 150K for a remote job for Netlify. For jobs that do that, this is the career that has the shortest training period. It's absurd to look at national salary charts and look at lawyer, whatever four to six year degree, like doctor and then web developer is somewhere in there and it's like, "What? I could do this in three months." A lot of people don't hit six figures straight out of boot camp, but you get there and it's well paid, it's very highly in demand. It's such an immature field that kids who are 15 years old can make a splash in this field.
Shawn Wang:
That doesn't happen in any other engineering field because it's so immature. It's a really great time to get into it. It's also the one field ... I came from finance, where super smart people, the best, super highly credentialed, maybe not credentialed, whatever, but it's very zero sum, it's very private. My best work in the hedge fund that I worked at is swallowed up in some email server somewhere and I'll never see it. Maybe I was right, maybe I was wrong, maybe I made money, maybe I lost money, but it doesn't really help humanity. Look web development may not be helping humanity either, but it doesn't ... You can't share it just by default.
Shawn Wang:
It's the company. It's the property of the funds and you're not sharing it with the industry and trying to improve the industry, which is a stark contrast to web development where you're encouraged to go onto a stage and tell people your secrets, because they're not going to copy it because it's so complex, or it's open source so they're absolutely welcome to copy it. It's that thing of close by default and open by default, which means that you as someone who is a unit of labor in this industry are not just a property of the firm. You have a name for yourself if you want it, and you can build your own reputation and network much more freely than in any other industry that I know about, which means that that's good for you long-term. Obviously it's benefited me.
Joel Hooks:
When do you suggest that people start doing that, building their name and reputation and not only when, but how do they start doing that? Even if they're just getting started, are there opportunities to start building that reputation?
Shawn Wang:
It's obviously harder when you're getting started because you're not confident in what you know and all that. But yeah, you can get started right away. I was basically in my first job after boot camp and then I was bored, so I started attending meet-ups and then the meet-ups people said they needed speakers, so I started doing meet-up talks. I started doing blog posts and stuff like that. I always say that you should learn in public, because even though you may not have ... As a beginner, you may not be that much ahead of everyone else, but you're at least ahead of the person like you yesterday, do you know what I mean? You're the best person, you're the most recent expert, you're the most qualified person to speak to recent beginners, because the one thing that experts don't have is the beginner's mind.
Shawn Wang:
They've lost the ability to empathize because they've just been in it too long or too deep, and you're the one who can do that. Obviously, it does take some communication skill and I don't think ... I think a lot of people think that the learn in public movement is all about blogging more and speaking more and to some extent, overnight experts, like you just study on a thing and write some basic stuff, which done poorly is true. But there's a lot more opportunity for example, in compiling a cheat sheet which I did, drawing sketch notes which Julia Evans now does, which is amazing. If you look at her cartoons, I think she calls it Zine.
Joel Hooks:
Wizard Zine.
Shawn Wang:
It's not super complex. Yeah, it's not super complex. Yeah, wizardzine.com. But it just presents a technical subject that's unapproachable but important, and it makes it more approachable and friendly. She has amazing technical discussions just based off of these simple drawings and it's fantastic. You don't have to ... and then you can pick the rawness of what you show. If you feel like ... Especially for women and minorities, they may feel like they're judged a lot more on their output. You don't have to show everything. You can show more polished stuff. That's something I've seen for example, Amelia Wettenberger, when she's doing her react hooks D3 visualization, which is amazing, by the way, right?
Joel Hooks:
Yeah.
Shawn Wang:
But that's the final output. You don't see all the swimming beneath the surface. You just see the final output and that's fine too. I think there's a lot of stages and ways in which to do this. There's no one right way but whatever makes you consistently put out stuff, I think that's the best way because a lot of people they'll start a blog, they'll write the first post, "Hello world," the second post, "How I set up this blog," third post, "Sorry, it's been a while," and then you never hear from them again. It's like the diet like thing. The best plan is the one you stick to-
Joel Hooks:
Yeah, for sure.
Shawn Wang:
... so whatever works for you is the way you do it. But the most important thing and obviously is that, you're not even trying to make a name for yourself. If it happens, it will happen as a result of you doing this, right? It's a side effect. It's not a main goal.
Joel Hooks:
Oh, it's like when [inaudible 00:24:21] and people are like, "How are you going to monetize that idea?" It's like you're really thinking about that the wrong way. It's not about how we're going to monetize it. Let's create quality. Let's create value. Let's share that and help people and then see what happens. Because the advantage on the flip side of that, if that's your attitude, if you go in this like, "Hey, I'm going to build a personal brand." It's like, ew. If you go in and think, "Well, I'm going to take notes. I want to share what I learn and I'm going to try to help other people and save them time and energy and learn to do what I just did," that is going like have the same effect.
Joel Hooks:
You're going to monetize that in the air quotes and build your personal brand, but you're going to do it in a way that feels good and is genuinely useful.
Shawn Wang:
I put it this way to people. People always, I don't have an audience yet if I put stuff out no one will read it. A: that's probably not true. Your mom will read it.
Joel Hooks:
True.
Shawn Wang:
You should call your mom more and then B, it's not about the getting the view counts, it's about making notes for yourself and providing value. Then if your work starts to deserve an audience, you will get the audience because people ... There's so many passive consumers out there and the content ... This is really like the content creators economy, you know what I mean? It's yours for the taking. No one puts out stuff. I help to moderate a subreddit of 170,000 people and less than a percent of people contribute, and a lot of people are just happy to lay back and read and consume and that's fine. That's totally great but they are your audience and they're waiting for you to put out good stuff.
Shawn Wang:
When you do, they'll find you. Google's really good at that, forwarding people to you and Twitter's really good at that. But yeah, it's definitely not the goal to be an influencer. I think that's the problem with why people ... Like setting the goal of being an influencer. Influence is what happens when you do that stuff, it's not supposed to be the outcome.
Joel Hooks:
I don't know, there's probably some marginal benefit to that. But I just, I think long-term and sustainability and across from development to any other field, you might want to get into this, I think this idea holds true right? If you just try to be ... teach everything and provide value and help other people and raise them up like that. It just works in my experience and observation. If that's the goal and that's what you do, people notice that and that's what they're interested in. It's not gaming a system. It's participating in a community.
Shawn Wang:
I've been trying to put a little bit more ... I've noticed in myself, there's hot and cold phases.
Joel Hooks:
For sure.
Shawn Wang:
You can't try to make yourself be on or hot all the time. There's times where you just run out of steam and maybe you teach everything you know, but maybe well if you're done teaching everything you know, sometimes you just need time to gather steam. I've been trying to articulate this idea as learning gears. It's like a bicycle gear, which means one gear is not necessarily better than the other, they just have different tradeoffs.
Joel Hooks:
True.
Shawn Wang:
The low gear is like the explorer gear, where you don't know what you don't know, so you're exploring the field and you're mapping it out and you're throwing stuff out and it's just notes to self, and you're not really trying to build a brand for yourself. You're just trying to be helpful and learn in public. But you're looking for the thing, you're not really like diving in. Then the next gear is like the connector gear. That's where the slope is slightly higher and here's where you know things that others don't, and now you're actually making artifacts to teach them. This can be a talk. This can be a book. This can be a blog post that's a little more a little bit more involved like what Amelia Wettenberger did.
Shawn Wang:
But basically something that is a project that helps to teach people not everything that you know, but something valuable that connects, that helps them up to where you are from where you were. I think that's very valuable. Then the final bit is what I call mining, which is you've struck gold and now you're just going deep. Here you're building infrastructure, where it's like you're building an open source library that's going to be maintained multiple years and you found a problem that's just important, and also it's just way too hard and you're working really hard to solve that. I think that that's the gear in which you see Evan You the creator of VueJS, people like that are just ...
Shawn Wang:
Everyone wants them to succeed, because it's very positive some because no one else is working on this. They'll just happily fork over I don't know 10K a month on Patreon to help you solve that problem. But I think you can't force ... The whole lesson ... in that final phase, the mode that you should be in is that you know what you don't know, and you're actively working to fix that or you know what the world doesn't know well enough, or is something that's important, but way too hard and it needs to be easier. I put a lot of PhD research in that category as well. You're actively trying to expand the field of human knowledge.
Shawn Wang:
All that exercise is just trying to make it okay for you to not be mining all the time. You can do a bit of exploring if you feel like you just want to expand your reach. If you're connecting all the time, you understand that you're not exactly advancing the state of human knowledge, but your goal there is to help other beginners up to where you are.
Joel Hooks:
When you're going through your changes and you're shifting gears, how do you stay motivated throughout your learning process?
Shawn Wang:
Oh, that's interesting. I don't really have that problem so I can't relate.
Joel Hooks:
You just stay on ... Is there motivation troughs, do you just feel like the time to switch a gear down and coast for a while or what's the approach there?
Shawn Wang:
Even when I'm exploring ... I'm currently exploring. I'm just putting out a post every day. There's no particular rhyme or theme to it, whereas another gear there is a theme that you want to be known for. But it's not really coasting in the sense that I'm just taking it easy. I'm literally just searching out the available field for things that really resonate with me and with my audience. I have an interest, because I think people are just fundamentally doing cool shit everywhere.
Joel Hooks:
True.
Shawn Wang:
There's something that I don't get yet. It's not their fault, it's mine and if I just look at it the right way, it suddenly all lines up and it makes sense, and that's fantastic. Then I can communicate that point of view to other people and they get it too. I don't know. For me at this point, I do have people who like my work and who will read what I do. That external validation as much as it should not help but it does help. I like that as well. Ultimately I think I'm building ... For example, for me, I'm building up towards a goal where I understand anything, how to do anything I want done as a future potential founder of a bootstrap startup, for example.
Shawn Wang:
Anything that's relevant to that or gets in the way of that, that's my motivation to go knock it down or go conquer it or master it and that's enough for me. I don't know.
Joel Hooks:
I think there's mindsets involved with what you're talking about. You can talk about the fixed versus growth mindset, or however you want to frame thinking about these problems. I'm wondering, have you noticed that there's any particular mindset shifts that people need to make to push their career forward, whether it's web development or otherwise? What's a change that you see people maybe making to push their minds in a different direction?
Shawn Wang:
Wow. Obviously, growth mindset is good. You should try to understand that a lot of things are not as zero sum as they may seem. You can't figure out the hack, the positive sum win-win thing. I actually think it's more about being able to open up to differing points of view, because I see a lot of this in people who argue. Nassim Taleb, who wrote Antifragile and some of his other books like Black Swan and all the other [inaudible 00:33:38], so he calls this steel manning. This is the opposite of straw manning, in which a lot of people do on Twitter and online debate is, they'll take the opposing ... They have a point of view, they have an opponent that has a different point of view. They'll take the weakest part of the opponent's argument and just attack that.
Shawn Wang:
No surprise, it doesn't really convince them and it doesn't really convince any observers and it's just people yelling at each other. The harder thing to do is to steel man the argument, take the strongest version of that argument, your opponent's argument and this is very much in line with I think, Stephen Covey's Seven Habits of Highly Effective People, which is seek first to understand then to be understood. You should be able to state back to that person, their point of view in such a way that they would agree with it, which shows that you've really listened, that you really understand this is the crux of their argument and then you take it down.
Shawn Wang:
Then you reply to that, which really ... I think that's a mindset shift that really helps you understand that there are valid points on both sides of a lot of debates, not every debate, but a lot of debates. If you'd made that mental switch to listen to the other side and what they value, you can find how you can improve your point of view as well.
Joel Hooks:
Yeah, and you can learn too. You're improving your point of view, you're learning and you're progressing the conversation, versus just flailing your arms and shouting into the void of the internet.
Shawn Wang:
It's also a way to really ... I've turned people who are trying to pick fights with me into friends.
Joel Hooks:
Yeah, that's the greatest feeling, isn't it? I'll get an email and I do support and I'll get one. It's just somebody that's just angry and really, you can just tell they're feeling it and it's like, "Well, I'm going to understand what's going on here." You understand that and you end up with mutual understanding and respect at the end versus like a lingering sense of yuck.
Shawn Wang:
Yuck is a great word. Another thing I think especially in online participation, but also in person is that people ... We have these two brains that are going on, system one and system two thinking from thinking fast and slow. We like to think that logic is in control most of the time, but actually it's mostly emotion and gut feel. If I already don't like you, I'm not going to listen to you. If I'm being spoken down to or mansplaining or whatever, I'm not going to listen to you. It really just is ineffective, if you try to just yell at someone so I try not to do that. I have done it, but I try not to.
Joel Hooks:
Are there any unexpected outcomes that you've noticed? Since you learned to program computers you gained this wizard like control over these machines we all stare at all day. Have you noticed any ... What is an unexpected outcome that you've noticed from that process?
Shawn Wang:
In terms of interacting with non techy people, they're just very impressed by anyone who can code which. It's always sweet. It's like, "Ah, you think I can code, you should see how bad I am and you should see the people I look up to."
Joel Hooks:
It's all relative.
Shawn Wang:
It's all relative. Because you're in this every day, you don't know how far you come until you caught up a little thing for like ... I always do this. I could have a dashboard for my salespeople and they love me, because now they can access their data in a way that isn't actively hostile to users like Salesforce. Apart from that, and it's stuff that they can't do and it's always nice to have a reminder that the reason ... The reason I got into this right and a lot of it ... When I was in finance, I was running spreadsheets in Python scripts to calculate risk and pricing of different stocks and currencies and stuff like that. But I had to be the one to do it.
Shawn Wang:
I had to be, like when my portfolio manager goes like, "Hey, what if you give this different scenario, what would the result of that be?" I had to be the script monkey to go in there punching in the numbers and then I'll run the code and it spit it out and then interpret it for my PM. The whole point of web development is getting stuff out in people's hands with a UI that they can manipulate, and ask questions and answer them for themselves. It's just magical for them. Then they don't need you. They still need you to maintain the thing, but they don't need you to answer every little thing. They're empowered to interact with data and interact with other people on the web, interact with and lookup information and all that good stuff without you, and it's very empowering for people.
Shawn Wang:
I think if you ask about what's the magical thing that you gain? I think that's always ... Your users are ... Empowering your users, is the magic.
Joel Hooks:
You mentioned this idea that you're trying to learn the requisite skills necessary to run a startup or something of that nature. I was wondering, is there a difference between what you learn and the skill set that you acquire, if your goal is to work for a company, versus building something of your own?
Shawn Wang:
Yeah. I think this may be, people may disagree, but I think there is a difference. Because if your goal is to work for Google ... I was just on this Hacker News thread recently, where Robin Hood, they went down for two days.
Joel Hooks:
Yeah, bad timing too.
Shawn Wang:
It's a very critical ... [inaudible 00:39:41]. Of course-
Joel Hooks:
Any time is bad.
Shawn Wang:
... it happens at the worst possible time. But no, it was a load issue. Of course, when's the most heavy load? That's the worst time and that's when it goes down. Then people were arguing in Hacker News ... It actually was a very civil discussion, but people were just sharing like, "Okay to engineer for highly available systems, you got to do XYZ. Trust me, I worked at Google for five years. We had 200 million node clusters and we had to run them with five nights of uptime, with this availability, then Gmail had 4,000 and we have to parcel it out to all the services, yada, yada, yada." This is all this like language and knowledge that only applies to Google, or something on the scale of Robin Hood.
Shawn Wang:
Hey, it's fantastic. People use this service. Of course, they need highly available systems and they need specialized knowledge to do it. But if you're going to run a startup that is going to struggle to get it's first hundred users, you just don't have those same issues and you can get paid well in both scenarios I think. I don't really think ... That's the base difference, the problems that you solve, that are immediately pressing to solve for you are just different. That's a back end type framing of these things. For [inaudible 00:41:02] and I can't even talk about like, what's the point of a design system? That's only for a company that has enough sites and properties and apps that making a design system makes sense. But again, if you're a small, scrappy startup, you don't need that.
Joel Hooks:
Yeah, it's a [crosstalk 00:41:18] big investment in a design system like [crosstalk 00:41:21] the true design system is a millions of dollars level investment. That's a fact. You could probably make something like a scrappy design system, but you don't need it. It's like a [inaudible 00:41:32], you're not going to need it type of situation.
Shawn Wang:
Yeah, yeah, exactly. I think I'll make one exception, which is that a lot of ... I see a lot of startups that are like this. They'll work for five years at Google, and Google has advanced technology that no one else has. They'll come out and they'll spin out and then they'll replicate that technology. They won't steal the IP because they'll steal the idea. I'm just saying it's a lot of class to the masses type of thing, because the problems that these companies face are just the boiling point, where you're just really forced to come up with these solutions. It turns out a lot of the times that these solutions actually work for slightly smaller scale as well.
Shawn Wang:
They'll spin out startups that make these companies like Gremlin's a good one. I've been keeping an eye out for that. Those are the people who started Chaos engineering at Netflix and it was fantastic for Netflix. But now this Chaos idea, they spun it out and built it as a service and now other smaller companies can use it without the level of investment that Netflix has put into it, which is a good ... If you can get it, it's a sweet job because you're guaranteed that there's a very good founding story and customers will trust you and they will pay you big bucks. I don't necessarily think specializing for big companies is a bad idea, because you get to do stuff like that.
Joel Hooks:
Yeah, and it doesn't necessarily have to be forever. It's like you go specialist and then you spread general afterwards is definitely, it's a way you can approach it and optimizing and targeting specific landing spots in one of these larger companies with some prestige and just opportunities to learn and work at scale.
Shawn Wang:
Yeah.
Joel Hooks:
There's always a lot of talk, I think about mentorship and finding mentors and what that means. I'm wondering what is your observation about mentorship and finding a mentor on the internet?
Shawn Wang:
Yeah, I have opinions about this.
Joel Hooks:
Nice.
Shawn Wang:
This is a good topic. You probably knew that. About once a month I get someone pinging me asking me to be their mentor. It's a job I don't want to sign up for that's unpaid and most people don't.
Joel Hooks:
Can I tell you something before you continue about this?
Shawn Wang:
Yeah.
Joel Hooks:
I already consider you a mentor. Anyway, go ahead.
Shawn Wang:
That's a high honor I consider you a [crosstalk 00:43:50].
Joel Hooks:
You put a bunch of work out there. You're constantly teaching. I pay attention. I've never asked you, "Hey, Shawn, will you be my mentor?" But I'm inspired by you and I pay attention to what you do and I think your work is interesting. In that respect to me, you are a mentor.
Shawn Wang:
Oh, thanks. You are too.
Joel Hooks:
It's mutual, right?
Shawn Wang:
I look up to you a lot in terms of how you run a business that makes happy customers, happy employees and happy instructors. That's a valuable business. I don't care what the size is, it doesn't have to be the most world conquering startup in the world, but it makes a very, very ... It serves a real need in the community and it makes people financially independent, which is fantastic. Anyway, but on the coding mentorship side I think ... Yeah, open ended mentorship, it's just not really helpful, because you don't really know ... The mentee doesn't really know what to ask. They just expect super relevant advice coming from someone who isn't them.
Shawn Wang:
Then the mentor isn't really scaling themselves very well. They're giving advice to this one person, but then they could be broadcasting it to a much wider audience, for whom that advice is really right for. I view it as like .... It should be project based. This is my tip for people who are getting started learning in public is basically pick up what your mentors, your prospective mentors put down. Every single person that you look up to, all of them have stuff that they want to do that they don't have time for. Or they have, they're launching stuff. They're trying to get feedback on it and guess what; people don't get feedback because people don't get feedback.
Joel Hooks:
Yeah, it's tough.
Shawn Wang:
You can be the one to try stuff out. You can be the one that like ... like Dan` Abramoff is like putting out this Just JavaScript thing, and I guarantee you he's reading all those responses.
Joel Hooks:
I know for [crosstalk 00:45:51] a stone cold fact he is because I see it in action.
Shawn Wang:
I guarantee you the response rate is not very high. People just don't. For him, it's probably quite high. But I'm just like in general it's not 100% for sure.
Joel Hooks:
No, no. It's down in like the 1%, a single digit, if you're doing-
Shawn Wang:
For Dan, really?
Joel Hooks:
Just generally speaking, like conversion rates or anything, if you ask people for feedback on anything, you're talking about a 0.5 to, if you really, really great, you can get upwards of the 3% feedback. If you think about audience size and how many people you're asking, it's usually nobody.
Shawn Wang:
Yeah. That's the idea, pick up what they put down and then they become your mentors, because you're engaging with them on the thing that they care about the most. They're looking for feedback and then eventually they end up teaching you just because they can't help it, because they're forced to work with you because you're the only one responding.
Joel Hooks:
There's also a lot of people on the other side that are in the advice business and are actually paid as mentors. There's a whole group of people that are already doing that. I think there's a difference like you, I've never seen you advertise anywhere, "Hey, if you would like coaching, mentoring sessions, here's my monthly rate." If that was something you wanted to do out of Zoom, you would put that out there. But there are people I think that are more open to that sort of thing and is interesting too. But even if they're not, I fully agree with you, there's these opportunities to learn and just pay attention to folks that you want to, how do you get on their radar? How do you build that relationship over time and earn your spot at the table versus a cold email, "Hey, will you be my mentor?
Joel Hooks:
Hey, will you start my GitHub repository?" I'm just like, "Well, that's just not, that's not how you do it." I'll take the time to try to explain to people my theory. I think I might even have articles. That's a good time to write a blog. Here's what I think about mentorship and how to find them, and then you can send a link right?
Shawn Wang:
Yeah.
Joel Hooks:
I always do that. If I'm getting the same kind of question over and over again or there's something I feel and I want to be able to link to ... One of the most amazing experiences and this circles all the way back to the idea of learning in public, is people started asking questions and you see patterns and now you have a blog post and you can just like, "Well, here's the link where I put my thoughts about that. Do you want to have an extended conversation? Here's square one, I guess."
Shawn Wang:
Yeah, yeah. Yeah, you're really engaging with the content which is fantastic. I'll tell you ... Sometimes at some point I want to put out this post which is basically three years of learning in public, how my life looks and give people a sense of how different ... The benefits are ... A lot of people are in year one of it and are holding it out. It's definitely the grind. Where I am, I can put out a post on observability and get stuff totally wrong, not intentionally of course. But then the person on observability [inaudible 00:49:01] Majors, jumps in, dumps a 20 thread thing, 20 thread tweet thread explaining why I'm wrong, and then she'll get on a call with me for two hours to mentor me even more, because I've engaged with her thing.
Joel Hooks:
Not only that, but you engaged with her but that she-
Shawn Wang:
I never asked her.
Joel Hooks:
She can look at your entire body of work and your attitude and read a few of your tweets and look at your website and see, this is something that's actually genuinely curious. They're not just out here trolling me or writing bad stuff. She can help and it helps her to, because now you probably updated your post and they're running a business and the whole thing, it's mutually beneficial to everybody involved and it's like a compound interest scenario almost.
Shawn Wang:
Totally. She wants to reach the people that I can reach that she can't because she's an expert and I'm the beginner. I'll happily play the idiot. That's a bit too harsh. But what was I going to say? I like this project based thing, where the mentorship is not uncapped. It's just that, you engage with them on their thing. You meet together, like your mind meld together for a while and then you part ways, and that's a very natural thing and I like that. I like that a lot. I also have this thing about ... Tim Ferriss is one of these very controversial figures, but he has this quote, which I really like, which is like the world rewards a specific ask. If you have a general asked, this general desire to be better, no one knows how to help you.
Shawn Wang:
But if you have a specific ask like, "Hey, I want to get better in web pack," people can actually send you stuff. It's like wanting to get someone, get your a relative a present for Christmas. If they had a wish list, then you can just go pick off their wish list and they'll be happy. If you had that wish list, it's a lot easier for people to help you if you have a specific ask.
Joel Hooks:
What's your top tip? What's your number one tip you would give somebody that just is starting and wants to be a software developer.
Shawn Wang:
From zero from not being [crosstalk 00:51:14]?
Joel Hooks:
They've heard about it. They hear you can get paid well, but don't know much else. What's the top tip? Where do they look?
Shawn Wang:
Yeah, Free Code Camp. I would absolutely endorse them. A lot of the problems comes with feedback loops, when people try to learn to code and then for example, if they're trying to learn Xcode, they have to install ... Sorry, if they're learning trying to learn how to write iOS apps, they have to install Xcode and then figure out the interface and then figure out the build system, and then maybe eventually, it'll publish on the app store. That's very, very long of a feedback cycle. The reason why web development and front end web development in particular is so easy and so engaging is because you can make a change in the browser and it immediately reflects what you just did. We've optimized things extremely for that, to the point of putting build systems in a browser.
Shawn Wang:
We just got really good at that. Obviously, that is a sub discipline of coding. If you want to be a mobile engineer, if you want to be a back-end, security type person, there are other challenges for that. For example, I just learned about Hack101. If you wanted to be a security professional, you should go to these resources and it's basically the Free Code Camp equivalent. But all these resources are free, because people are very invested in growing their population, especially for people without the means to get that for themselves, which are usually underprivileged groups. This is a way to help yourself bootstrap by using these resources.
Joel Hooks:
Free Code Camp is interesting, because it's one free and then you also get to explore this. You don't have to invest a bunch of money or even time to go in there and start poking at it and see, does my brain even stomach this? Honestly, my tip would be even though your brain can't, keep trying a little bit. Push past that initial discomfort. It's a lot like listening to complicated music. Your brain rejects it, because it's very difficult. If you give up, that's to me the only reason you can fail in this career is if you just stop. If you keep going, if you keep pushing, if you have some stubborn resolve, you will get to some finish line and advance and have a career, if it's what you want.
Shawn Wang:
Yeah. When I was doing it, I was absolutely prepared to conclude that this is not for me. I should go do something else. But free is a good entry point for trying stuff out. I should also mention, if you're into machine learning, there's fast.ai and the Udacity machine learning courses which are also really great.
Joel Hooks:
Cool. Thanks, Shawn. I really appreciate you taking the time out to chat with me today.