The Swyx Mixtape

This is the cleaned up audio of the Q&A I did this week at React Summit related to The Coding Career Handbook!

Show Notes

This Clubhouse-style Q&A was held as part of my support for React Summit 2021 (https://remote.reactsummit.com/). Moderated by Robert Haritonov, CEO of GitNation.

Timestamps
  • 2:30 How do you keep up with the changing landscape?
  • 5:00 Balancing Learning Time with a Job
  • 7:15 What are the top technical and soft skills to transition from junior to senior?
  • 12:30 The Importance of Communication and How to Do it Well
  • 17:30 Prioritization, Batching and Pair Programming
  • 19:20 What can Seniors Do to Help Foster Juniors? Apprenticeships, Mentoring, Sponsorship and Allyship
  • 23:15 How to convince older devs to try new tech? Address their concerns, do proofs of concept, know when to fold.
  • 28:45 Nontraditional background. How to convince people to let you through the door? Networking and Personal Content Marketing.
  • 34:00 How do you make technical decisions as a senior and avoid getting stuck? Innovation Tokens, Action Produces Information, Pay for Advice
  • 40:30 Fall in Love with the Problem, Not the Solution
  • 42:00 Can you still be a fullstack engineer?
If you enjoyed this chat, you're welcome to check out our career community for 30% off!

Mentioned Links

Transcript


Robert Haritonov: [00:00:00] So yeah, I'll let you get to your Shawn just, go ahead as you please? 

swyx: [00:00:03] Hey everyone. Hey, I'm Shawn,  also known as Swyx on the internet.
I'm a React fan and but also a Svelte fan and one of my talks, that I speaking later on in an hour or so is seven Lessons to Outlive React. But this discussion room is a different topic. It's a non-technical topic. It's related to the book I published last year.

Basically talking about how people can go from junior to senior, how the non-technical elements of the software engineering job is very relevant for our career progression and something that we don't really talk about enough. And yeah, I'm very interested in sharing my experience, the experiences of the people that I learned from.

If you wanna check out the, the amount of research I did you can check out the site at LearnInPublic.org.

I'm going to just explain a little bit of what I wrote on the junior and senior chapter. So essentially   part of what I was trying to do here was define what a senior engineer is.

And  it's one of those things where everyone has a different opinion and  it's more of a pay scale than it is a well accepted metric. To some people you have to have at least three years at a high growth startup. Others can take up to eight years to become a senior engineer.

 Or there's, let's just say they don't care about the number of years, right? It's  more about what you can do. And ultimately I think for me is what I really care about is for everyone to have the prerequisite skills enough of the prerequisite skills, and accomplishments that you can make a strong case for a senior developer, but then also market yourself as meeting enough so that people notice you and hire you whether, internal promotion or externally when you do a lateral transfer to another company.

 And I think a lot of times it involves acting like a senior engineer before you officially become one. So it's a bit of a chicken and egg, right? And I think that's something that we have to recognize more and study more. . Because I don't think we have  enough of a conversation about how to convert juniors to seniors and It's the biggest gap in the industry, everyone wants to hire seniors,  but there are so many juniors trying to try to upskill themselves.

2:30 How do you keep up with the changing landscape?

I've just invited avocado Mayo. Are you able to speak hi, can you hear me?  Hey, how's it going? Shawn? The eye. Good. Thank you. I'm a developer based in Canada. I am, I have a question for you a general career advice.

So I, I feel that the front end landscape is constantly changing and the web is constantly evolving. A question that I have for you is what are some ways that you kept up with the cutting edge so that your call I'll still the learning and what are some ways that you kept up with the changing landscape in development?

Great question. It's something I get a lot, but honestly I don't, I haven't really slowed down to like document a process. I just do whatever comes to mind. So this is a bit off the cuff. So something I care a lot about I think it would not be an exaggeration to say that I do get a lot of my tech news off of Twitter and the things that, so I tend to do this strategy, which I call following the graph, which is like figuring out what the smart people that have effect they have built, the things that you use, like the reacts and the babbles and the WebEx, figuring out what they, how they got where they are and what they're working on today, because they're also excited about other things they didn't stop just because they were done working on, on, on the tool.

So I follow the graph, like I follow who they follow, and then I figured out who their influences are and try to understand the historical context of where these technologies fit in. And that's all an attempt to try to figure out like what themes I should focus on for the future. So every now and then I try to step back and go okay what am I interested in?

Because I think honestly the reality is that there's too much to keep up on. And I think if you try to keep up on everything, it's a full-time job and you'll never go deep on any particular topic. And that's also really bad. It's not enough to just know the names of every project.

You actually have to have tried it out to know the philosophy. You have an opinion when you're, in your company, you're asked for it. So that's why I try to do I tried to have a thesis. I tried to inform it by following people who I think are doing interesting things in the ecosystem. I think attending conferences actually really helps a lot because the people who are excited enough to give a talk about something, it's probably something I should at least be aware of, like what it's about.

And I have this four-step framework that I borrow from thought bot I think, or thought works. Where it's it's like assess adopt, avoid. And I forget what the fourth category is, but basically just have an idea of what you are choosing to focus on what you're monitoring and not really getting into right now, but could be, and what you've just decided.

Okay. Hey, there's just too much going on. I need to filter something out. And I think that's a very healthy way to stay on top of things.

5:00 Balancing Learning Time with a Job

Thank you so much, Shawn. I have one follow-up question before I I go back to the audience. So as you mentioned, it's I feel like when I, whenever I get on Twitter, there's an overwhelming amount of information. And I find it also really hard with all these emerging technologies to balance. I like the, my actual job and learning these new things.

Do you have any advice for how you manage your time for learning new things and actually, getting your job done? Wow. That's a, that's an awesome question. I think it will be it's very nice. A lot of companies have this idea of some learning time.

For some companies that's half a day, every week. So I'm going to be just like one day, every two weeks, whatever it is. If your company can budget in some learning time on the side, I think that really is very helpful.  For me, I do a lot of side projects. I will dive into to things outside of company time.
That's something that's not necessarily something that everyone can do because they have a life for her family outside of outside of work. But I don't know that there's, you can find ways to. I guess keep tabs. And if something's not working out for you, be okay with letting it go and try something else.
So if you're doing X, if you're doing, if you're working out, there's plenty of podcasts, I can recommend to you. Just go on my blog and look for a podcast. I have list of like 250 podcasts. And and you can keep up that way, right? Like you, you could be doing something active and still learning.

You could be, just experiment with different forms of learning, in, in different people learn in different ways. So I definitely think that I learned best by, by keeping my focus small on like the number of topics and themes I get excited about and just ignoring the rest and then actually trying stuff out because.
You really only go get so much just like looking at tweets and reading, readme's. It's once you actually have tried the thing out, then you have a strong opinion. And you pretty soon find yourself like recommending it at work. And it's pretty cool when like the stuff you learn on the side comes in and actually has a positive impact on something you do at work.

And that's where I think people start to really see the value of you learning during work as well. So you can make a case for that.

Robert Haritonov: [00:06:56]  So Shawn,  I've been doing some discord management, created the channel. People can ask a question there as well. It's right. The whole discussion around what's called discussion. I'm going from junior to senior. There was one questionnaire, but we also have two people joining here with voice, so Kwan and dome.

swyx: [00:07:12] I think Dom raised his hand first. I'll go first.



7:15 What are the top technical and soft skills to transition from junior to senior?

Robert Haritonov: [00:07:16] So I have two questions. The first question would be what are like your top evaluation of skills for technical and soft skills for that transition from junior to senior.
And second, my question is my second question is regarding how do you know you're in that same like level of senior after, when you start off as a junior without having that 

swyx: [00:07:39] imposter syndrome? The second one is it's closer to home. The first one, let me try and rephrase the first question. Cause I don't think I really got it.
What level of technical skills are required? You said 

Robert Haritonov: [00:07:48] What do you think differentiates a junior dev on a technical level from a senior dev both texts like technical level 

swyx: [00:07:56] and soft skills. Yeah. It's it, obviously we're at a front end focus conference, but I try to keep my answers agnostic or front end or back end, and it's going to depend on, whatever team you work on.

But here's the bottom line, right? I think that seniors should be able to independently ship something from beginning to end, like the buck stops with you. And for most things I can just give you an assignment and you can basically ship. That feature or that issue or that Epic basically on your own, without much guidance, whereas a junior obviously would be expected to to be given as much resources as possible.

So that independence is a very, very key part of the senior definition. The non-technical elements there, there are a lot of other definitions as well. Mentorship is a key one. Once you get to a point where people start coming to you for advice that's a strong sign of a senior developer and being able to be a force multiplier for the rest of your team.

So, you're not just concerned with your own performance. You're also concerned about your team's performance and working on. Either processes or even dev tools or infrastructure tools to make them all more productive. These are all qualities that people shout out as as positive aspects of a senior developer.

I have this essay called junior engineers, senior engineer, and I have a list of like little quotes that distinguish things between junior and senior, which I could read out (see the PDF linked above). I don't know if that would be helpful. But then I can also talk about, I guess I'll squeeze in one more thing before I, I give I talk about the.

The katas which is career letters, right? Study your company's career ladder. If your company doesn't have one, try to get involved in in creating, defining one, because if you get a hand in defining your own career ladder, then you get to, nudge things in a way that you like, which is very nice.

But if you need help if a company doesn't have one, there are a lot of public career letters out there. So I have a blog posts. That's literally just Google every engineering career ladder. And it's, I've just compiled like 30 different career letters from the financial times Kickstarter rent, the runway medium all sorts of career letters that is done in public.

And you can just study them Circle CI has a really, really good career ladder, by the way. And just study, like what they define to be the qualities of a software engineer, one versus two, versus a senior versus principal versus staff. You get to see the difference. There's more and more industry impact.

There's more and more emphasis on communication. In fact, the more senior you go, it's the less technical elements are still a big part of it. But then you're also expected to be able to contribute on non technical elements, which I really. I want people to wake up to essentially even if you look at circle CII, which is one of the most technically rigorous companies out there something like 75% of their promotion criteria are essentially non-technical which people don't really realize.

Like it's not something that you learn in bootcamp or in, your CS degree that, Hey, you should be good at communication or understanding how your technology fits into the broader business strategy. But that's something that people put on the career letter. And therefore you are incentivized to learn about that as you want to progress in your junior and senior path.

 Does that, I want to pause cause I've gone on for a bit does that help it? Yeah. Yeah, 

Robert Haritonov: [00:10:58] for sure. I'll have to. Search your your resources, 

swyx: [00:11:01] but I'll definitely check that out. By the way, talking with me is like this I always go I have a blog post of that, and that's a strategy to, you like straight up, like I'm someone making fun of myself, but think about what if you had that at work, right?

What if you you had a conversation, but then you had a really well thought through written thing to back it up so you can send it to whoever you're talking to. Like people will just like you, you're not only sound smarter. I don't sound super smart right now because I haven't really been thinking about this topic recently but.

You just sound more prepared like you've covered all your bases and like... the bit rate of trends of information transfer right now from me to you is not very high, right? Like it's just whatever I can think of. And I'm not very good on the wall, but while I'm writing, I can structure things, organize things, make links and follow up references and stuff like that.

That's just really, really smart. Write things down and I think it's a really good skill of a senior developer. Yeah. Shawn, sorry, I'll 

Robert Haritonov: [00:11:53] stop you here. We've been 

swyx: [00:11:54] Hiked out. We have 

Robert Haritonov: [00:11:55] so many listeners here. There is all the questions and the ex chat as well. People do have some issues when they try to get on stage.
So I suggest people also to ask the question in check, 

swyx: [00:12:07] And Shawn, the kitchen since there all the 

Robert Haritonov: [00:12:09] questions. Maybe let's live with one 

swyx: [00:12:11] question for the first time, 

Robert Haritonov: [00:12:12] Just to try covering water base as, yeah. There's just a 

swyx: [00:12:15] lot of Devin chatter here. People might have been with Q as first, 

Robert Haritonov: [00:12:19] like you.

And 
swyx: [00:12:20] then there are questions. Yeah. And feel free to just ask stuff in and I can answer asynchronously on the text chat.

12:30 The Importance of Communication and How to Do it Well

Questioner: [00:12:34] Your previous answer really helps the transition  to this question.
As far as I know, something super important to become a senior, our communication skills. Do you agree with this? I guess you do. If you do, what resources do you recommend and what tips do you have? The things that you wished you knew during the transition process, when you might've felt lost.

swyx: [00:12:50] Oh, that's an interesting question. So of course I believe that communication skills are very important. In fact, it's probably one of the most common things that are in the career ladder. If you study them  so very important and I will also volunteer that. I don't think I'm very good at it.
I'm decent. I, I don't fail my own evaluation, but I've seen people who are way better than me about it. So I think resources wise there's a lot about communication across cultures, which is something I think about a lot. One thing I can point you to is I think the lady bug podcast, I think a lady bug FM or something like that, they did a whole episode on communication skills, which I quite recommend the D they have some tips about just.

Understanding how it comes across how you come across. And really having empathy for what the other person is thinking and feeling. A lot of the times we have to understand that we're not just, let's say you're doing a code review you and you're pointing out flaws in somebody's code.

It doesn't reach them that you're trying to help. Unless you break down that barrier, that kid and remind them like, Hey, I'm on your side. You have to break, go past like the emotional  barrier of Hey, does this is this person a threat? Are they making fun of me? There's all sorts of things going on the other person's head.

And you have to reassure them like, no, I'm really, I'm your partner. I'm here to help. And that's something that is, it is a skill as well. And particularly in some some cultures where. Sometimes the respect for authority is, can be very different. The the expectation of like your, the message that, that has received.

If it, if you say something once, do they, is the responsibility on the recipient or on the deliverer to make sure that the message went through. These are all things where communication has led to real disasters before like planes crashing, because People thought that, the message was delivered and it wasn't.

So I don't know. I don't like, this is a huge topic. I don't know if I've fully answered your question, but I think when in doubt, just write more whether it's like writing up your decision on, like, why you make a technical choice, they just write it in a comment, I think or just like your PR.

One of my most popular interview blog posts when I was at Netlify was how we do feedback ladders.

So I think if you do, if you look, if you Google, like Netlify code review or Netlify feedback ladders, you'll get this post where we actually have a system for encoding what we're trying to say, because it's when it, when you're in a, when you're in a cold, medium there's a difference between cold and hot mediums.
When you're in a cold, medium, like a GitHub PR review, people can read a lot into, like, where do you put it? A period at the end of your sentence are you being passive aggressive right now or are you just, making a joke or are you, is there a sarcasm? Is there do you think this is a big deal and I should handle it right now? Or is this just a comment? Take it or leave it. There are all these little subtle nuances that you can skip. If you have a clear code that you communicate with your coworkers with. 

And I think the last point I'll make is for feedback reviews which I really like is preemptively review your own code. So that you save one round trip. So when you make a PR you just think about okay, what is this person going to say? I've worked with them enough. Let's like emulate them in my head and go like, all right, what are the typical comments that they would make and just anticipate them and then write your response.

And just by the sheer act of doing that, people would really appreciate it. And they understand that you've addressed their concerns and now they can move on to you with the more important stuff that they sell them, get the chance to get to. So I there's a lot here, communication is a really deep topic.
And I'm not the authority on that. Like I just think that people should practice it more and realize that it is as important to them as their coding skills.

Questioner: No. Yeah. That makes a lot of sense. Thank you for your answer. Do you have any resources that you're looking at? I don't want it to be like a one way street.  Not me specifically. I'm trying to ask around as well, just to learn as much as possible. It has a communication resources. Just pop it in a discord channel. That's next to this room. That's a crowdsource. This thing. That sounds amazing, actually. Yes. Yes. On the same note you already answered this as well. How do you describe a senior? What should developers aim for mostly, if there's anything else you want to add and regarding the resources, how can we get your senior to junior coach?

swyx: [00:16:37]  Oh yeah. So that's a chapter in the book. I can I will look at releasing I'll look at printing it out so that I can just release it for free in the channel.
 But essentially, yeah I, I wrote this, I wrote the, I wrote my book Linden, public.org. I wrote the whole thing just to address this answer of the principles, strategies, and tactics that I use to get to where I am, and also the behaviors that I observed in the people that I really admire.
So I have about 1400 links for people that go down a lot of rabbit holes. Yeah, hopefully that helps. But I can read out, do I don't, do we have a lot of time left? I feel like we're, we might be a bit out of time. Cause we have, we can create, we can do 

Robert Haritonov: [00:17:18] like a microphone, 34 hours myself, but let's first go through the majority of general questions as an exit face. Yeah. So based on gone, sorry, I'll remove you from the audience so that people can ask questions. Thanks, CRS. Joining us for awhile. CRS, whatnot. And three eight, go ahead and ask your question.

17:30 Prioritization, Batching and Pair Programming
 
swyx: [00:17:36]   I guess they think that and answering questions for all your junior developers. How do you go about that? Yeah, it's a fair question. I think the vast majority of senior developers should be writing their own code still. There are more senior positions especially management as well as architects positions, where you might be writing a lot less code.

But a lot of times you'll will be balancing between reviewing and mentoring others versus writing your own code and being an individual contributor. And that's a little bit challenging. But I think you should be able to find time like obviously mentoring and working with the team is very important.

And then you should be able to figure it out. How to fit in your your individual work separately, on your own something I picked up from my ex boss, Sarah Drasner is that she actually batches her work. So if you look at her blog posts, CSS tricks, prioritization, just Google that she laid down this philosophy of basically batching this work, like individual work goes on Thursdays and maybe a bit of Fridays and then meetings are Mondays and Tuesdays, and she is coming at it from a management point of view.
But I really think that it also applies to an individual contributor as senior dev, right? If you have a lot of sort of review work batch those meetings together and also try to upgrade your bandwidth again make it very, it's very easy to pair program. People don't do it. And th the every time you do it, both sides learn something about either the way you work, or learn a new trick in the editor.
It's a very high bandwidth communication skill. I would recommend that batching and then pair programming.


Robert Haritonov: [00:19:06] So have a role SKUs that I joined and then a super Shawn quick. Now it's there, there's some voice of community that's me as with you. So there's no big on nice push check, push. You brought up because it's constant sound from your diagnostics and they're all discussed definitely to not having to ask your question.

19:20 What can Seniors Do to Help Foster Juniors? Apprenticeships, Mentoring, Sponsorship and Allyship

Questioner: [00:19:23] Okay. So my question is more coming from the other end. I'm a senior kind of more experienced developer and I'm wondering. Kind of what I can do to help people, or what are things senior does or not doing to help foster junior devs? Cause I don't, I want to know what I can do to make more people more diversity, like the industry, a better place to work in.
Wow. Okay. This, so I thought there was this was a question about people already on your team, but you're still saying the industry as a whole. That's great. 

Questioner: [00:19:53] Yeah. I know. Like I can start with my team, but obviously one good safe, it's going to be a ripple effect.

swyx: [00:20:01] So my direct answer is someone who changed.
I changed careers at age 30, right? The right answer is more internships and apprenticeships for people with non-traditional backgrounds. We at tech companies have a lot of re entry routes for people for traditional degrees, like CS degrees. But then if you just went a different way and then came in to, to the tech industry later in life, you don't have those opportunities.

And I think a lot of people, especially of, diverse backgrounds would benefit from that. So that's my immediate shout out. And my wishlist is if I could wave a wand and have every single company take in, two more. Interns or apprentices. I think that we do a lot better just because the main thing is to get people to experience, and after, six months, a year of apprenticing and interning under someone else, they will have a lot better of a resume to, to go job hunt. And that then they're off, they're they're off to the races.  I think the other thing I think is also opening up opportunities for people.

So as someone who's a very plugged in and very capable. People will throw a lot of opportunities to you and you need to be aware of what you don't necessarily you, you could do in your sleep, but you don't necessarily have to do, and it doesn't have to be done right this second that you can actually hold off and just go - Hey and open up this opportunity for someone more junior on your team to let them do it and you can start supervising.

So I hope that's not like too, I don't know. It's not like delegation. Yeah. More, so much as like mentoring, right? Because ultimately your success is you make another one of yourself.

I always say the best way to be a 10 X developer is to teach everything, to 10 people around you.

Rather than the individually 10 X and do everything yourself. So I hope that those are the immediate things that come to mind. Obviously, I think donating actually helps a lot, like your money goes a long way with free code camp. 

And and also getting your company to sponsor those those diverse organizations and hire make sure make sure you like the hiring pipeline is equally diverse.

That I feel like  I feel like I'm saying obvious things, but how does that resonate when you think about your question?

Questioner: No, that, that makes sense. Especially yeah, the letting go, the things like I know, as a know, sometimes it is hard to let go something where you're like, this would take me, very quickly this time, but the mentorship which takes, a little bit longer is way more beneficial to everyone in the long run.

swyx: Yeah. Yeah, exactly, exactly. So I w I would call out, so some I actually forget who came up with this idea, I think was Lara Hogan. She defined a difference between sponsorship and mentorship and, or I think sponsorship in allyship as well. It's I feel like it's so weird for me to tell a woman this cause I'm not the expert on that myself.

So I would recommend those resources as well. And I'm going to paste the list of diversity and tech organizations, which I've been really following and has been helping me learn a lot about this as well. Veni Kunche has a newsletter, which I encourage everybody here to sign up because she really has a balanced view, which I love which is okay, like we're not doing well.
But she doesn't damn you for it. She just says, gives you a stern look and goes like you can do better in any way. Yeah. Yeah. We know. Vinnie crunchy of diversified tech. She has a great newsletter and if you want to, hire people of diverse backgrounds definitely go sponsor her.
Awesome. Thank you so much. Thank you.

23:15 How to convince older devs to try new tech?


Robert Haritonov: [00:23:16] know, let me try it on a museum. Supertramp can you 

Questioner: [00:23:21] ask your question? Yeah.  Okay, great. Hey Shawn. I had a question where essentially I don't enjoy working where I am right now.
Mostly due to the lack of kind of the learning opportunities. Primarily my team, they really enjoy a very old version of PHP and I'm trying to convince them that there is some proof in the success of modern react or JavaScript or modern frameworks. I just wanted to ask if, did you have any tips to convince old PHP data's or old kind of web developers that it's okay to give some jobs could 

swyx: [00:23:57] Wow. Hmm. Why are they? I T I have to dig into that further. Why are they opposed to adding new frameworks and stuff? What is their stated reason.

 Questioner: [00:24:07] A lot of our products are very public facing. So they fear that if we make any kind of change that might affect like client facing products, they worry that it might break. So they just say, all right, we see what you're trying to do here. We want to, we understand that you want to improve our code, but it's currently working. So why do we need to fix it? 

swyx: [00:24:28] I have a lot of sympathy with the don't fix one in Brooklyn thing. I think that's actually something that people get to after a lot of pain.

They're not necessarily wrong. But obviously what you're trying to do is also improve the user experience. And that's something that they should be prioritizing as well. Are they optimizing for their own comfort or are they really,  making a technical trade off.

Here. So it's not clear to me, obviously I'm not in your situation. And I can't really speak for them. But ultimately I think there's only so much you can do as an engineer. That's probably junior to them. You make your case and you make a S a strong, where you can do is for example, like a proof of concept.
I'll give you one example, the a friend of mine, Zach Argyle  he actually worked at Pinterest where he was trying to advocate really strongly for a progressive web app. And everyone at Pinterest was just like, no, like it's a waste of time, whatever. And he was ignored for two years. And the way he got through was he did a hackathon where he just built a basic Pinterest PWA and shown the really high.
And, metrics that you can get in performance as a PWA, directly to the CEO and that impressed them so much that they converted themselves to a PWA. So sometimes you have to do a stunt like that to get through to people. But ultimately you cannot convince someone who doesn't want to be convinced.
It just doesn't have an open mind. And I was already decided that their answer is right. And in that sense, you got to look out for yourself, right? So there are plenty of other developer companies will love to hire someone like you who's passionate about modern technology and no judgment on them.
Right? Like they're B they probably, they think they know what's best. But you should also figure out what's best for you.


Questioner: [00:26:05] Thank you. I like I totally. Yeah I'm totally happy to hear that. There are potential solutions for like more and water like solutions for  the problems that I'm facing at my convenience facing. But if he has, like, whenever I try to present them, they Shut me off because of the fact that I'm like more of a junior developer


swyx: [00:26:23] You have to earn it, right? There's a given get here. Like they have to make room for you. And if they're not the they're making a mistake but then also you shouldn't come in and just have them listen, like demand that they listen to you have to earn it as well. Maybe also look for small projects, too side projects that that they could split off to let you experiment. That don't matter as much to them. Sometimes you can do a lot of this through internal tooling, right? What do your sales or marketing or product managers need, build that for them and see that, see the benefits internally before rolling it out externally, right? These are all things that I've actually done because people weren't letting me do it. People don't let you through the front door, go to the side, go on the back figure it out. That's cool. Yeah, 


Questioner: [00:27:02] I'm actually only point of that topic. I did design like a next JS version of a, so what we did here is generate like what forms for people to put their data.

And then we we do lead generation based off that data. And I did take that initiative and create a kind of like a front end, like next JS project. But then they looked at it and they thought that this was cool, but then they didn't think it was scalable.

And they, I tried to have like more of a conversation with them about that, but then they were well, yeah, we've been doing like HP or he needs it. He's older, like pretty much for a longer time. So it just felt like. At that point in, in the one that I was presenting the project I should also say that they were they're currently sponsoring me.

I'm from Canada, I'm trying to like, I'm currently working in the UK. So at that point in time, I was thinking like, this is I think the third or fourth time, they disregarded my kind of my attempt, to improve the, let's just say the initial code base. 


swyx: [00:28:02] I appreciate your Tufts situation supertramp and happy to chat with you. Async as well on the discord. Yeah, of course. Thank you. 

Robert Haritonov: [00:28:09] All right. So if anyone else wants to ask a question, raise your hand. We'll set the stage. Meanwhile, Shawn, you can just cram maybe 

swyx: [00:28:16] through your questions 
Robert Haritonov: [00:28:17] in the  light. Maybe you get a big 

swyx: [00:28:21] face on that.
If people were trying to hire a super Supertramp and
It's a good idea to, yeah. Honestly, I find a lot of people changing jobs at conferences. It's a really nice thing to see and good for labor mobility, but maybe not so good for employers sending people to conferences. I don't know, but if you're confident in your employer brand, then you should be a net hire from conferences.
And if you're not, then it should not be so good for you.

28:45 Nontraditional background. How to convince people to let you through the door? Networking and Personal Content Marketing.

questioner: Hey Lucy. Lucia. Yeah, Lucy was here. I don't know. So I'm actually a developer who came from a very non-traditional background. And they did a bootcamp to get into our changed careers about two years ago now. So I did a four-month bootcamp and I managed to secure my first job, which was amazing. When I was transitioning from my first job to my second job, the issue I was encountering was I wasn't even really being given the chance to get through the door for the interview.
The few interviews I did get, I found that if I got to that stage, I was able to convince them that I was a good candidate. I got a couple of offers, which was amazing. So my question was like, how do you convince people to let you through the door? Just from your CV, if you're forming a more non-traditional background.

Wow. Yeah, that's a challenging one and there are a number of ways, essentially networking is the one that comes to mind, it's my friend Gergely Orosz wrote a... Little, I think it's a free book called the tech resume inside out maybe. I'm not exactly sure. What his book is.

I want it, someone, let me look it up. But he actually had this, he had he'd look at the numbers, and a lot of people don't get through the first screen, which is the resume review screen. Cause people take a look at your resume for 30 seconds. And it's a very inefficient  transmission format.

Cause you're supposed to serialize your experience and your potential down to a single piece of paper. And you hope that they have the correct deserialization algorithm to, to do that and figure out that Hey, you're someone that they should be talking to. So I really liked the other way of networking within the company and getting a warm introduction so that they not only skip you to like the next step where you actually do a proper interview, a phone screen. They also give you a few hints as to what the company values and what you could be doing there because ultimately you want to have a good answer for like, why are you interested in working with us?

And that's something that you really get from like understanding the company really well and talking to people internally within the company. 

So that's one thing, I it's, I think it's a very common thing to say Hey if I buy your coffee we we let me pick your brain. Don't use those exact words because picking your brain is extremely overrated in 2021, but you could go I'm interested in applying I, and I'd love to learn more about your day to day stuff like that. It's just a very genuine people know what you're trying to do.

And we've all been in your shoes. That'd be not all, but we appreciate that. You're trying to get somewhere and I think people really appreciate the effort that you put in to even like a cold email, right? To say Hey, we've never met, but like you work at this company, I really interested in it.
Do you have 15 minutes to chat? Most people will say yes. And I think that's a good way to get going. If we're doing this in person, I would actually not recommend coffee. I'd recommend a walk in the park which is something I used to do in New York. Okay. 

The other thing I really like is the permissionless application, right? You're applying through a CV and, you may have a portfolio if you're a more design and front end oriented person. But you can also do Like a breakdown. So some, a story I really liked was this woman who was very interested in working on marketing for Airbnb and realize that, she was wanting to show some in the middle East.
And she realized that the Airbnb didn't really have an middle Eastern presence. So she mocked up a fake site. That just looked like Airbnb and just demonstrated her potential as someone who could do that. She worked in marketing, but you could equally work, do that for engineering, right?
Like just do a simple CLO and talk about a specific algorithm that that you could work on. A friend of mine from my bootcamp actually broke down the collaborative filtering algorithm of Spotify and she got an interview there. Because it, it went viral.

So like people were Spotify would definitely noticed. But it just shows a level of commitment and interest that most people don't have because you're not praying. It's the industry term is called spraying and praying, like anything that you think that you can do to show that you genuinely have interest, and you're not just like throwing your resume every which way.

I think that actually just puts you in front of the line. So that's my quick take. Yeah. Ultimately, so ultimately you won't start this way, but ultimately what you want to get to is you want to be, you want to have your domain and your sort of expertise. So well-marketed that people come to you, right?
Whatever you're particularly interested in winter where there's animation or accessibility, or responsive design, whatever it is, you want to be such an authority on that. And people come to you for things that you're interested in. And then the hiring conversation becomes very different.

It's more about whether they're a fit for your interests whether as compared to, can you contort yourself to something that they need right now, which is at the end of the day, like if you apply to the company in the end, they're just not hiring. You're not getting in the middle of what so it's really dependent on those things, but hopefully I've given you some ideas here.

Yeah. That actually has been really helpful because it actually talks with. My experience in that, one of the offers that I got was specifically because I've been to around them meetup talk and messaged someone who'd been talking and was basically saying saying things like I'm struggling to, to get people to listen to me, but I feel like I'm a really good candidate.
Yeah. And then I just struck up a conversation with him online reading 10 and from that I then got an interview which then led to an offer which was awesome. But yeah, I actually hadn't really thought about it in that way, but actually yet it really does make sense. What we're really doing here for those interested is we're doing personal content marketing is the same thing that companies are doing for their brands and their products.
And we can do it on a personal level.
 Cool. Lucy, thanks, sir. That's a great question.  Go ahead and answer your question.
Just remember to push book.

34:00 How do you make technical decisions as a senior and avoid getting stuck? Innovation Tokens, Action Produces Information, Pay for Advice

Questioner: [00:34:07] Hi I'm a big fan of your writing in your blog, Shawn, thank you. What I wanted to ask is related to in a situation where you're given a bit more responsibility as a senior, and you have to start making decisions, especially technical ones regarding the stack regarding specific things you need to accomplish for a client or a project.
And how do you maybe are how do you not get stuck in that, in the, over analyzing the specific decision, not just to not make a mistake for your client or for your product, but also not bother your, or add overhead to your teammates as well and your colleagues in. To not to create issues later on, on a project, sometimes you get stuck in the decisions so much that you feel like you can move on. I dunno if there's something that all the time 

swyx: [00:34:57] Are you familiar with the concept of innovation tokens? And no, actually kind of her. Yeah. I think this camp I'm not sure where this idea came from, but people who'd go Google the source, but essentially the idea is to minimize risks but to allow some innovation, right?
The tech stack that you work on work with for a client it should be something that you're mostly familiar with and you're confident that you can ship in time and on budget. But you allow yourself, to innovate or try new things in one or two areas of your tech stack, and that's your sort of innovation credit or innovation budget.
And yeah, so to me, that's where you want to get to that may not necessarily be where you are right now. First job is to have a set of technologies, which are. Which the whole team is confident in, right? To me, I call this like a minimum spanning set of technologies that like, you can pretty much string together to accomplish any tasks.
They may not be the best tool for the job. They might, wanna be the trendiest tool, but they do the job. And then you allow yourself in every project to try a new piece of technology that you want to include in your tech stack and try it out on a real project.
So that's what comes to mind for now, I think obviously where I don't really understand why you're paralyzed. I think that there's something deeper there. Can you tell me more about the analysis paralysis or I forget what you call it, like the stalled decision.


Questioner: Yeah, I guess it was not a, it's not just a specific  situation I'm talking about. Maybe,  Maybe does happen when you you were given more responsibility. I do not, you don't know how to approach it. It's not necessarily choosing a JavaScript framework, but making also bigger decision on on different elements of how the team is supposed to work together either technically or not. And sometimes it does happen. I don't have I don't want to go into very specific because there's multiple cases where it does happen. Maybe it's personal to me and just wanted to hear about maybe similar situation and how other people dealt with it. And you were, I mean, perfect example.


swyx: [00:36:43] Yeah. If anyone has ideas let's cross source this as well. Cause I, I feel like I don't really it's so broad this question and it can go so many different ways.  To me, it's something that you have to agree on it as a team. If you have a.
I guess if you're in the position of leadership, then obviously you're in charge of proposing and helping, having to serve as a tie breaker. If you have a client, sometimes they have a very strong opinion and you can present them, twice HSB and then let them choose. These are all really nice ways to basically offload the decision.
Ultimately I think a lot of things are a lot of decisions are reversible, right? If you think about type one and type two decisions which is a Jeff Bezos type of framework, I'm trying to understand if your decision is reversible or not. And if it is then just doesn't matter which one you try it out, just try it, try something out for a few weeks.
And then if you don't, if it's not going the way you think it is, then you can go try the other thing. Ultimately the way I approach any sort of analysis paralysis now is this idea which I got from the sun newsletter called common cog. It's called action produces information, right? If you've done any, if you've done all your research, you've asked everyone and you're still stuck between two options or three options.
Then no amount of further studying and worrying and hand-wringing is going to help you. You need to take action, whether it is commitment to one thing. And then you realize that no, actually everyone did the other thing. Or it is taking ticket for this step of running a small proof of concept or asking for more mentorship somewhere within your organization or just your, an external mentors.
These are all like, you can even go as far as like paying someone for their advice, right? These are, this is a super, highly underrated thing in the company environments. Like people are available for hire, like max Storybird is available for hire. If you want any react to architecture advice, he's not cheap.
But he's available. And so what other people so yeah, that's  as much as I get, I can go I don't have much to work with on the question. 
Robert Haritonov: [00:38:35] That was very, very helpful actually. 


swyx: [00:38:37] From my perspective. So, thanks. Yeah. Thank you. It's given me something to think about as well, and hopefully I can write a better answer in the future.
 All right. We have a couple other questions and I have a few more minutes, so let's get this going. Pokey juice from Poland. I'm guessing.  I'm inviting them. I'm going to drop by the way for those still in the room, I'm going to drop the chapter for junior engineer versus CD engineer.
And we can have a better discussion there because I feel like I didn't really do enough prep for that. Hey pokey.  Hello. So I would like to address the previous in person or in, at talk question, and because I had a very similar situation that I'm like slowly progressing to higher roles.
And it sounds so overly stressful to decide yeah. And good to make the decisions. And the thing that helped me that, which I have recently found out is that unless you are in a company, which has two people and you are the most experienced one in that company, then there's always slept the bigger fish in the company, more experienced.

And you can ask them for for help or you can ask older people who maybe are not to give them the seminar. But to have more expertise in certain fields, or they haven't been working with certain technology and you can ask them how we do work for them. Yeah. So I have no question.

This one. No. That's great. Thank you for chiming in yeah, it's a challenging position to be in and that's why you've made more money. Hopefully they're paying you for all this stress that you're taking.  Great. All right.  I am, by the way, I'm extracting my junior to senior chapter so we can invite more questions.
I see a lot of questions also piling up in the text chat and I will drop my PDF in there so people can talk more stuff.  

Okay. All right. So yeah, I've just posted that in the room. What else can I say about this?

40:30 Fall in Love with the Problem, Not the Solution

Something I really want to emphasize, and I've been really trying to find the best words for this which is essentially that we should. Fall in love with the problem rather than the solution.

And I think that's juniors may be defined, maybe falling over themselves to define themselves by the solution, right? Like I'm a react developer. Whereas seniors have probably been through a few of these cycles where like they've had, they've been super into something else before, and then they had to change frameworks and get changed frameworks again.

And by the time you get to your second or third framework, you're just like, all right, this is another tool to solve the same problem. And ultimately the thing that lasts longer than the solution itself is the problem, because that will never go away. It will. It w it will just have different solutions that come along and with, and solve it with different trade-offs.

So I hope that's a message that I want to get across that seniors. Basically collect patterns and problems and juniors collect solutions. And I want to guide people towards understanding problems deeply. And that's a lot of the way that, that the way that I structured my thinking and learning and speaking as well.

So the talk that I'm going to give later in about 30 minutes is focused on what problems does react solve, and what can we learn that will outlast react?  I think that's, that's one way to go from junior to senior. Okay. I don't see any other questions I do have okay. 

Robert Haritonov: [00:41:55] All right.I just want more,
even the act of discussion I'll be full if there's a topic. Thank you so much for everyone. Who's come by. Thanks. Yep. Hey Darren. Hello.


42:00 Can you still be a fullstack engineer?

Questioner:  Hey, how are you doing? I just asked the question in the discussion, but I thought maybe you could ask her near him suggested that. So myself, I'm a full stack engineer, but.
And the more I look at these big companies. Now you see all the postings are from our backend or our front end and not really CFO's stacks. I was just wondering your opinion on maybe focusing on one of those things that you're more well versed in, or is it still that it's supposed to engineer still an achievable thing to work towards these days?

swyx: Wow. Ah, great question. There are definitely people hiring full stack developers. You just got to find them. I don't know where you're getting this impression that people aren't hiring full stack. I feel like they're, it's actually a lot, it's a meme in the U S where they, once someone to do everything.

I would say, yeah, I'd say it's definitely achievable. I just think it's not as realistic at some level of scale because ultimately there's, this is meme where it's like this. Horse where either your joint you're during the front end really well. And then the back end is like a really crappy children's drawing or are you drawing the back really well in the front is just like this really  really childish imitation version.

There's some trade-off to be made. And ideally there's some level of specialization that you have where you can actually, market your skills in in, in a good way to and it probably involves specialization as well is what I'm trying to say. So full-stack is great for people who want generalists.

And if you want to, for example, be a startup founder or an indie hacker yourself that's definitely something to pursue and to be well rounded. But if you want to be a specialist, a consultant an industry authority, you probably should specialize. And those two are not at odds, but you probably want to market yourself in some, in based on what you're trying to tell to your clients and your employers right now.

Great. Thank you very much. Yeah, I've heard the thoughts on like specialization versus generalization. There's a separate chapter of mine but essentially the TLDR is that everyone is a generalist in some way. And when in doubt, you should be specializing because that's where you learn how to be an expert and learning to be an expert and crossing that sort of learning gap in itself is a skill.
And then also marketing it's way easier to market yourself. So I have a friend who's called, who is Cory house. He's a reacts consultant. He specializes in transitioning big companies mostly from angular to react. But that's not his only interest. He's got a lot of other interests and he actually is a pretty full stack developer just based on a history, but he chooses to market himself as a reactive Oliver.

And he, and when he did that, his consulting practice 15  in one year, And in terms of inbound inquiries, you can go look up his his tweet channel he'll he'll back that up.  And that's just because marketing a response to niches, it's like a specialization. If you see any expert in something people believe in more rather than I can do anything.

Forget. Thanks very much for that. Yeah. Great questions everyone. I see a lot more in in the chat and I have to go through and answer them. But hopefully this is useful and this is fine. I had no idea what to expect a new media. Thanks all Shawn for drink. Hopefully we'll be able to replace it 
Robert Haritonov: [00:45:11] again.
Yeah, the topic is really, really in demand. You had a really solid conference level audience and just this small room for joining these for all your insights. 
swyx: [00:45:20] So yeah, 
Robert Haritonov: [00:45:21] hopefully you'll be able to reply there. Any questions and shout whenever you have time. 
swyx: [00:45:27] 30 minutes. I'm excited.
It's is yeah, I love the sock. All right. Thanks for having me, Robert. And thanks everyone for coming. Bye. See you soon. 
Robert Haritonov: [00:45:34] Cheers. 
swyx: [00:45:35] Bye.

What is The Swyx Mixtape?

swyx's personal picks pod.

Weekdays: the best audio clips from podcasts I listen to, in 10 minutes or less!
Fridays: Music picks!
Weekends: long form talks and conversations!

This is a passion project; never any ads, 100% just recs from me to people who like the stuff I like.
Share and give feedback: tag @swyx on Twitter or email audio questions to swyx @ swyx.io