Impact: Growing as an Engineer

Rate this content
Bookmark

Becoming a web engineer is not easy, but there are tons of resources out there to help you on your journey. But where do you go from there? What do you do to keep growing, and to keep expanding the value you bring to your company? In this talk we’ll look at the different kinds of impact you can have as a web engineer. We’ll walk through what it means to take on bigger, more complex projects, and how to scale yourself, and grow the community around you. By driving our own development we can all grow our impact, and in this talk, we’ll discuss how to go about this.

27 min
17 Jun, 2022

Comments

Sign in or register to post your comment.

AI Generated Video Summary

This Talk explores the concepts of impact and growth in software engineering. It emphasizes the importance of finding ways to make the impossible possible and the role of mastery in expanding one's sphere of impact. The Talk also highlights the significance of understanding business problems and fostering a culture of collaboration and innovation. Effective communication, accountability, and decision-making are essential skills for engineers, and setting goals and finding sponsors can help drive career growth. Feedback, goal setting, and stepping outside of comfort zones are crucial for personal development and growth. Taking responsibility for one's own growth and finding opportunities for impact are key themes discussed in the Talk.

1. Introduction to Impact and Growth

Short description:

Hello, everybody. Can you hear me? Good conference so far? This is actually my second time here. Good engineers can tell you what's possible and what isn't. Great engineers find out how to make the impossible possible. If you just try and work on it, you can probably make it. I've grown so much and learned so much over that time. I couldn't have done it alone. I wanted to validate, you know, is it just me? Do other people feel the same way? So I actually interviewed a couple of people. This talk is kind of structured into two parts. First we'll talk about what is Impact. What kind of impact does a company care about? And then we'll look into how to grow.

Hello, everybody. Can you hear me? Awesome. How excited are we all to be here? Good conference so far? There we go. And hello also to everybody who's joining remotely. Super, super awesome to have you all. And like you already were told, this is actually my second time here because that is just how excited I am to be sharing this with you. Do you think we can make it even better than yesterday? There we go. Nice.

Yesterday, I received a really interesting question, and it was what's the difference between a good engineer and a great engineer? And I didn't really have an answer, but I reflected a little bit, and I came to this conclusion. Good engineers can tell you what's possible and what isn't. But great engineers find out how to make the impossible possible. And what I mean by that is there's this mindset of nothing cannot be achieved. If you just try and work on it, you can probably make it. I did not have that mindset when I joined Spotify four years ago. And I've grown so much and learned so much over that time. And that is why I'm talking to you today. That is my experience bundled up that I want to share with you. And I couldn't have done it alone either. It was really, really important to have the relentless support of my managers, the people around me, the rituals and tools that we have in place at Spotify. So if anything in this talk catches your attention, that's why you can have in case you want to get a job, we are on a hiring spree this year. And for this specific talk, I also have to thank a couple of people. It is based on my experience. But I wanted also to validate, you know, is it just me? Do other people feel the same way? So I actually interviewed a couple of people. I interviewed two managers, Linda and Nafisa and a staff engineer called Aaron, as well as Tejas, who's on the other stage speaking right now. So thank you all for coming here and missing out on his amazing talk. Sorry.

Yeah. So this talk is kind of structured into two parts. First we'll talk about what is Impact. What kind of impact does a company care about? And then we'll look into how to grow.

2. Career Growth and Impact

Short description:

To continue growing as an engineer, you don't need to go into management. Many companies, including Spotify, have dual career tracks where senior engineers and senior engineering managers are equivalent. The difference between engineer levels lies in their sphere of impact. Junior developers focus on self-improvement and gradually expand their impact to entire departments or designing interfaces between systems. Mastery is a key pillar of impact, which includes tech excellence and goes beyond writing code. Underrepresented groups may need to prove themselves more, but it's important to ignore negative perceptions and seek inspiration from talks like Tanya Riley's on being blue.

The very first thing I need to do is clean up this myth. To continue growing as an engineer, you need to go into management. Not true. A lot of companies, including Spotify, actually have dual career tracks. That means if you are a senior engineer or a senior engineering manager, those are equivalent. Oftentimes also in terms of salary. And you don't have to stay on one track. You can change between them. It's going to help you, but you don't have to.

But now what's the difference between an engineer two and, say, a staff engineer? I think it's their sphere of impact. So as a more junior developer, maybe you're actually just focusing on making yourself better so that in the future, you can provide more value. Maybe you're only working on a couple of files or that one little application. But over time, that sphere will grow and grow until you're maybe, you know, having impact on an entire department or you're designing interfaces between different domains or different systems, right? And how do you grow this? As engineers, I think we have several impact levers that I'm going to talk about as well as core skills that play into this. And the levers or these pillars of impact, I've looked at a couple of different frameworks that I found online, career frameworks. They call them different things, but in essence, it's usually a combination of these three. The first one I want to talk about is mastery. You can call this tech excellence instead or, you know, our craft. And the reason why I'm mentioning it first is because this is the very first thing we usually assess in, say, an interview process. This is kind of what enables you to deliver impact, right? And we'll talk about that in a bit. This does not only mean writing code. And that's really important. The more senior you get, the less code you'll likely be writing day to day, but you're still doing incredibly important engineering work because you'll be, for example, designing the interfaces between different systems, but you can't do that directly in code. You first have to plan it in a different way.

The next one is, oh, sorry. This is a pillar where underrepresented groups usually have to do a little bit more work to prove that they got what they what it needs. So while if you're a white dude and you say I'm an awesome engineer, people likely believe that that's true. I had to prove that a little bit more. What I heard was I'm not technical enough. If that happens to you, don't listen to me. Head over there and watch Tanya Riley's talk on being blue.

3. Business Impact and Culture

Short description:

Mastery can only get you so far. If you're using your tech knowhow to rebuild the same application over and over again, you're not providing any value. To be really good at this, you need to understand your business problems, the product vision, and the business vision. Knowing what problems a company is actually facing can help you decide. Culture is hard to quantify, but collaboration and innovation are key. Helping engineers foster an environment of safety and innovation can lead to success. Core skills, often referred to as soft skills, enable you to work on these pillars.

It's changed my life. The next one to talk about is business impact. I already mentioned that mastery is kind of an enabler. Mastery can only get you so far. If you're using your tech knowhow to rebuild the same application over and over again, you're not providing any value. That's what your company is paying you to do. So instead, if you use that to say, I don't know, improve the conversion flow, improve conversion by 3%, or maybe you're, I don't know, removing this repetitive task and by that saving $10,000. That is business impact.

To be really good at this, you need to understand your business problems. You need to understand what problems your business is facing over time. You need to understand the product vision and the business vision. And if you can do that, the great thing is that we oftentimes have these really hard decisions to make between a little quick hack and the super scalable system that will live for years and years to come. How do you know which one you should go for? Knowing what problems a company is actually facing can help you decide.

And the last one is culture. And this is really hard to quantify. But if you have a good culture at a company, you'll probably feel safe. You'll feel good there. You'll want to stay there for longer time. Right? And there's so much that goes into culture. I'm only going to focus on two things for now. Collaboration and innovation. Why collaboration? Well, I'm just one engineer, right? Even if I was the best engineer on the planet, I could still achieve more if I could level up other people to my level. And then innovation. Why innovation? We all work for companies that depend on creativity and innovation to stay ahead of their competition. So if we can, for example, help as engineers to foster an environment where people feel safe to be their true selves, come up with that stupid idea, try it, fail, learn from it, try again, until you succeed, you can actually foster innovation. And this might look different at your company. So it's really important that if you want to make a career at that specific company, you talk to the people you have to talk to figure out what matters to them. And we said it's not only these levers of impact that are important, there's also core skills. What are those? I don't like the word soft skills, although that's what you've usually heard them referred to as before. This is basically what enables you to do that work, right, to work on those pillars.

4. Communication, Accountability, and Decision-making

Short description:

You need good communication skills, accountability, and decision-making abilities to work effectively with others. Communication, both written and verbal, is crucial for collaboration and consensus-building. Being accountable means taking responsibility for your actions and learning from mistakes. Decision-making becomes more important as your scope and impact grow. It requires technical skills, effective communication, and the ability to make tough choices. As engineers, problem-solving is at the core of our work.

You need that to work with other people, basically. That's what it's going to enable. And in my interviews with the people at work – sorry, do you want to take the photo? There we go. The people I talked to at work, they kept pointing out these three. So that's why, you know, I figured I'd trust them rather than coming up with something myself.

The first one is communication. By communication, I mean both written and verbal communication. This is your most important tool if you're working across teams especially. But even within a team, it's going to help you a lot. You will use it to negotiate, to persuade, to build consensus. And the one thing I see go wrong here most often is that we don't target our message to the person on the other end, especially if they're not technical.

The next one is accountability. This one is even trickier because a lot of languages don't have a word for this concept. So what does it mean? If you're accountable, it means you take responsibility for your actions and your inactions and rather than say blame somebody else or sweep your mistake under the rug, you'll actually stand up and say, look, I messed up, but here's how I'm going to make sure it never happens again or this is how I'm going to fix it. That is being accountable. And that will help you in whatever you try to achieve because if you actually feel accountable, you will make it happen. Right? And you can't only hold yourself accountable. You can also do that with other people, for example, through feedback.

The last one I want to mention is decision-making. And this is going to bring everything in a little nice circle. The bigger your scope, the bigger your sphere of impact, the bigger decisions that you will be making. That will require, you know, all of your tech skills, working on the right problem and all of that. It will require communication between teams, building that alignment that this is actually the right solution. But in many cases, you have several options and there's no clear winner and you'll just have to call the shots. But if you are accountable, people will trust you with that decision. Now let's look at how we can grow.

The first thing I want to mention is we're all engineers, right? Yes? Yes. There we go. We literally solve problems for a living. That is our job.

5. Setting Goals and Finding Sponsors

Short description:

We need to figure out where we want to be and where we are today. Long-term goals require tapping into inner purpose and finding inspiration from others. Communicate your goals to sponsors who can help you achieve them, even if your company lacks formal processes. Look for mentors and advocates to expand your network and increase opportunities.

It's no different with growth. We have somewhere that we want to be. We have somewhere where we are today. We need to figure out where those are, but then it's kind of easy to build the steps to get there.

Let's start with where even does this be? Where do we want to go? You might be thinking, I know my goals. I want that raise. I want that promotion. Unfortunately, science tells us that's a really poor motivator over a long period of time. For longterm goals, you need to tap into that motivation, into that inner purpose. How do you find that? I'm really bad at this. Straight out, I don't have these lofty goals. I'm not like I want to be an astronaut. I don't have that. Instead, what I did was I looked around myself and I looked up to all of these amazing people that I work with, and I asked myself, what is it that inspires me about them? Why is this project not that project that I'm drawn to? Through that, I've built this vision for myself of where I want to be in a couple years. It's not changed that much over the last three or four years. I do change it up a little bit, of course.

The next thing, once you know where to go, and I can't stress this enough, I just did. I couldn't help it, sorry. Find your sponsors. You need to communicate your goals to the people that can help you achieve them. That might be your manager, that might be your manager's manager, that might be that project manager over there who can put you on that project that you need to work on. It's really important that we do that even if your company doesn't have the rituals in place. At Spotify, luckily, we do have development talks twice a year where we talk about these things. If you don't have it in place, you need to do more of the work yourself. But the beautiful thing is, most people really like helping others. So don't only look for people who can mentor you, who can help you create those skills that you need. Also look for people who can advocate for you, get you in that room that you need to get that next project. And the bigger your network, the easier that will be, right? And a pro tip I learned from Aaron is, don't just approach somebody and be like, can you help me with X? Go to them and be like, I know you're an expert in X. You, yeah. Exactly.

6. Feedback, Goal Setting, and Growth Opportunities

Short description:

Feedback is crucial for understanding our progress and areas of improvement. Setting goals with clear reasons, metrics, actions, and support is essential. Learning primarily happens on the job and in social settings, rather than at formal educational events. Aligning personal development goals with company needs can lead to valuable opportunities for growth. Examples include taking on communication tasks, embedding with teams, and pairing up with colleagues to practice new skills. Stepping outside of our comfort zones is where real growth occurs.

Is there anything I can do to take something off your plate and help you? The next thing, obviously, if I don't understand where I am today, feedback can really help you with that. And that's super, super terrifying, right? The first time I heard that Spotify has two development cycles a year and you have to gather feedback from all of your peers, anonymous, I was like, shit. Like, what am I going to do, right? But the three things that happened were, number one, my imposter syndrome disappeared because all of a sudden, all of these people telling me I was doing much better than I thought myself. Number two, I actually understood that I had made progress because that feedback that I received six months ago didn't show up anymore. And the third thing that happened is, I actually did get those pointers of other areas that I might want to improve. And on top of all of that, having those really honest but personal and good conversations with each other actually builds a mutual trust between you and your colleagues.

Cool. We now understand where we are, we understand where we want to go, now it's about figuring out that way there. And obviously you can't all do it in one go, right? You'll have to slice this into several milestones or smaller goals. I usually try to look for goals that are maybe three, maybe six months out, something like that. And this is kind of my formula for those. So the most important thing here is that I have the reason of why I wanted to do this on there. That means if, for some reason, this goal didn't work out, I still know what I actually wanted to achieve and I can do something else instead. I then also have a metric. How do I know if I succeeded or not? Actions. Concrete, smaller steps that I can take in my day to day. And super important, support. Do I need to find a project where I can practice that skill? Or do I need to be sent to a conference for this? Can I expense another book, right?

And speaking of expensing books, I'm sure you're all thinking we're all at a conference here, right? So you're like I'm here to learn. Unfortunately, bad news. 70% of learning happens on the job, 20% in social settings, and only 10% at these formal educational events such as this conference. That doesn't mean that this conference is not super, super valuable. It just means if we really want to grow, we have to do it in our day to day. And how do we go about that? Well, we can marry up our personal development goals with something that the company actually needs to do to succeed. At Spotify, this is usually fairly easy because I go to my manager and say I want to go into back-end, and they probably tell me, well, actually, you know, there's this project that you could be working on, you could embed with this team, just a lot of stuff that they already do for you. I also brought a couple of examples of what you can do to pair these things up. One co-worker of mine wanted to improve his communication skills, so what he did was he offered to run sprint demos and write stakeholder updates. The most boring thing in the world. My manager was like yes, please take it away, right! But it helped him, and that's the important part. Another example is a friend of mine wanted to get into this new platform, and he knew that his team was going to use that platform fairly soon, so it was an easy sell to go and embed with that team for three months to figure out how it works inside out. And yet another friend of mine wanted to get into back-end development, so his engineering manager suggested how about you pair up with this other engineer from a different team for four hours every week and get that skill going, so you can practice what you've learned in theory and courses? The other thing that I need to say about these actions that you can take is, although it's super nice to stay inside of our comfort zone, outside is where the real magic happens.

7. Overcoming Fear and Taking Responsibility

Short description:

I was terrified when asked to lead a huge initiative, but I did it and grew so much. Pairing up with a staff engineer helped alleviate my fear. It's important to check in on goals regularly, reflect on progress, and prioritize focus time. Help others grow by sharing knowledge and offering support. Taking responsibility for our own growth can lead to incredible achievements.

And that's scary, that's really, really scary. I was absolutely terrified when my manager asked, hey Iris, do you want to lead this huge, company-wide, back-end-heavy initiative? I'm like, I'm a web engineer, do I really have to? But I did it anyways, and it worked out, and I've never grown as much in such a short period of time as in those three months. And now I'm hooked, now I'm like, is this initiative uncomfortable enough? Can I find something that's even worse? And it really helps. But also, pro tip, my manager paired me up with somebody else, with a staff engineer, to make it less scary for me. Somebody who would not directly be responsible for it, but who has my back in case anything happens, who can mentor me a bit, and that just took my fear.

All right, we now kind of know where we are, we know how to get to our goal, now it's just doing it, right? That's easy. Or is it? This has happened to me so many times, I just forget about my goals until two weeks before the DevTalk. Shit. Well, we've learned from it, though. So my manager and I now check in on our goals once a month, in our weekly one-on-ones. And on top of that, I for myself have created this little ritual of, in the beginning of in on my goals, understanding how can I make progress towards them this week in my day-to-day, and what other priorities do I have this week? The other part is that at the end of the week, I reflect on how it went, I think about, do I need any support, are there any small wins that I can bite down, any learnings, anything that I can share with other people to make them grow.

And another thing that took me way, way, way too long to realize is this. Does anybody else's calendar look something like this? A couple of hands? I feel you. My manager is now based in New York, so this is what happened to my calendar. All of our team events moved to the afternoon, and I moved all of my other recurring meetings to the afternoon as well. I just don't accept meetings in the mornings anymore, and, all of a sudden, I have like a good four to five hours of focus time every single day to work on whatever needs doing.

All right, we've now kind of wrapped this thing up, right, like we understand what kind of impact we want to have, what core skills to grow, and we know how to plan our goals. There's one more really, really important thing I need to say. This was all about helping yourself grow, but there are almost definitely also things that you can do to help others. Share what you've learned at this conference with your colleagues, right? Reach out to them to offer them help. If you're in a position to sponsor somebody else, do that. Growth compounds. It always takes longer than we think it does. It's not a thing you do once. It's ongoing, and it's constant, but like any investment, a small change today can make a huge difference tomorrow, and I firmly believe that if we just get in the driver's seats and take responsibility for our own growth, there really isn't much that we can't achieve. Thank you. Thank you. Well, actually, just before he goes back there. Well, if I hear the reaction from the audience, people are really enthusiastic about this topic, and I always really like that in a conference that we don't only have technical topics but also things like how to grow as an engineer besides hard skills. Do you like that term? No, like, why is coding a hard skill? Like, it doesn't make sense to me.

QnA

Coding Skills and Career Growth

Short description:

If you prefer coding more than a senior position, it doesn't have to be a career ceiling. There are still opportunities for growth and impact as an engineer. While the type of code you write may change, you can still contribute by writing proof of concepts, load tests, and tools to support teams. Growth may not always be reflected in job titles, but it can lead to increased responsibilities and learning. Holding others accountable through feedback requires delivering it in a caring way, asking if they are ready to receive it, and providing specific examples of how their actions made you feel.

Just coding skills, then. Exactly. All right. Enough from me. Let's go to the audience questions.

A question from anonymous. Does it mean that if you prefer to code more than senior position, is a career ceiling? I don't think so. If you like engineering, then there won't be a problem. If you think code is your way of getting there, maybe that could restrict you in some ways. But it's not like I don't code. It's just very different code that I write. I, for example, would make sure that I investigate how to, you know, if this plan that I had, I'd write a proof of concept to make sure that it actually works in reality. I would write a load test or something. There's small tools that I can write to help a lot of teams achieve whatever they want to achieve, right? So there is still a lot of coding. It's just slightly different. It changes, yeah.

You can also still grow as an engineer, I think. Even if it's maybe not in title, but you grow in responsibilities or just learn new things, take on different responsibilities, and you can still grow. And that also will translate to a different paycheck.

You mentioned, a question from Anonymous, you mentioned you can hold other people accountable through feedback. Can you give an example of that? How do you do that? So, in general, giving constructive feedback is really tough, right? It takes a lot of, you have to get over yourself and really deliver that in a caring way. It's good to have an exact example. It's good to ask people firstly, are you ready to receive feedback? Can I tell you something? Are you in the right mindset, in the right spot? That's really important. If they say no, step away from it. It's not your fault. You don't have to make other people grow. Make them into consideration as well. And then just be very careful and tell them how it made you feel when they did something rather than being like blanket statement, you always do X. That's not going to help anybody.

Receiving Feedback and Improving Impact Skills

Short description:

If you're good at receiving feedback, then you'll be like, actually, can I ask you a little bit more about that? Can we dig into that? What was it that I did? Focus on your tech skills if you're not already. Just find what you're good at and make the mileage at the start of your career. Oh, I'm not sure I have enough context to answer that one, so I'd love to talk about that at the Q and A as well. What are good resources for developers to improve at impact skills? Honestly, I've read a lot of management books, and they've really made me realize, like, there's so much more than just code that we write, right? Every second that we spend at work, we make a decision to either work on something that has impact or something that doesn't. But I don't have concrete resources other than a lot of management books, a lot of books about start-ups, design sprints, that kind of thing. Like, developing products as a whole, I think, can make you a better engineer.

That's not going to help anybody. But if you're really good at feedback, I think also, if I come over to you and I'm like, what the fuck was that today? That's my average day. Right! If you're good at receiving feedback, then you'll be like, actually, can I ask you a little bit more about that? Can we dig into that? What was it that I did? So that's also, it takes a lot of courage to do that. Already, you know, you're already feeling beaten, but it really helps.

All right, thanks. Question from another anonymous. What advice would you give a developer who is just starting out to grow their career? Focus on your tech skills if you're not already. I think I've probably seen two different kinds of engineers, the ones who are super good technically and the ones who are super good on the core skills. And depending on where you are, you need to develop the other part as well, right? And what I did too early was I started focusing on how can I be that glue in the team? How can I help others? How can I, like I see that blocker. Can I remove that blocker? If you're good at that stuff already, maybe make it a conscious decision to step back from it. Let somebody else grow in that area for half a year and focus only on the coding or whatever other tech you need to develop. Yeah. I guess it depends. Just find what you're good at and make the mileage at the start of your career, right?

Question from Sundaar, how would you suggest to deal with organizational conflict and biased decision making? Important topic. Oh, I'm not sure I have enough context to answer that one, so I'd love to talk about that at the Q and A as well. This is the Q and A, the speaker room, right? Okay. Let's go to the speaker room with that question. So what are good resources for developers to improve at impact skills? That's a very good question as well. Resources. Honestly, I've read a lot of management books, and they've really made me realize, like, there's so much more than just code that we write, right? Every second that we spend at work, we make a decision to either work on something that has impact or something that doesn't. And I'm not saying you have to be productive at all times. There's no point in that. Like, work-life balance would be horrible. You have to do what you enjoy doing, but you can combine that with something that can actually bring a lot of value to the company. I think it's really just making that a conscious choice, realizing you have that choice, that you can ask why are we doing that, understanding the reasons behind, understanding the product and business roadmap. I think that really helps. But I don't have concrete resources other than a lot of management books, a lot of books about start-ups, design sprints, that kind of thing. Like, developing products as a whole, I think, can make you a better engineer. Okay, thanks. We have time.

Feedback and Improvement

Short description:

There haven't been any negative aspects after introducing the Feedback, your colleague initiative. It may be scary at first, but it has always helped everyone. Asking specific questions in a feedback form and giving constructive criticism is crucial for personal improvement. People can help you grow by providing guidance and support. The Q&A session has come to an end, but you can continue the conversation with Iris on Spatial Chat and in the speaker booth. Let's give a big round of applause for Iris.

Question from Nico. Were there any negative aspects that the company did face after introducing the Feedback, your colleague initiative? I'm not sure when they introduced that. That was definitely before my time, and I've been there for four years. I don't think there's been anything negative. It's scary the first time, but it's always helped everybody I've ever spoken to, despite it being so scary the first time. I write a feedback form, and I ask very specific questions. I know I'm bad at this, or I used to be bad at this. Have you seen any improvement? Yeah. It's only helped me. Even though personal feedback and knowing that the person knows that you gave that feedback and then giving negative feedback might be scary, I think that's the only way for you to improve. If I give you negative feedback, then you can come to me, hopefully, that you'll feel and see hey, Mattin, you said I need to grow on this, how can you help me? That's the next thing, of course. People can help you. I always try to tell the people who are less experienced, where I see a clear gap, I can tell them concrete things they can do to improve as well, even if it's like helping them, like offering my time, whatever it is. Yeah. Valuable resource.

All right. That's all the time we have for our little Q&A session. If you want to continue the conversation, Iris will be on Spatial Chat and on the speaker booth and now, of course, a big round of applause for Iris.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

TechLead Conference 2023TechLead Conference 2023
25 min
On Becoming a Tech Lead
Tech lead sounds like a lot of work. And not the fun coding kind either. Why would you ever want that? What does it feel like when you get it?In this talk Swizec explains why he took the step towards technical leadership, how his priorities changed, and why it means he’s doing more engineering than ever. A whole new world where writing code is the easy part.
10 min
Emma Bostian: I landed my dream job by sharing my blogs on Twitter
Featured Article
Software engineer, lecturer, podcast host, author — is there something Emma Bostian hasn't done? She moved from America to Sweden, started working at Spotify, and took up a few challenges along the way. And now she has some career tips to share.

What led you to software engineering? 
I was raised in the ecosphere of tech because my dad is a software engineer at IBM, and my mom was a designer there, too. My dad always encouraged me to join STEM and take a look at computer science — however, I was convinced I wanted to be a medical doctor. In my first year of college, I declared a biology major and quickly realized I was not too fond of it. In my second semester, I switched to an actuarial science major where I took Introduction to Computer Science, and the rest is history. In my second year of college, I declared a computer science major and began my journey from there.
What is the most impactful thing you ever did to boost your career?
Writing blog posts and documenting my learning journey on Twitter has far been the best career boost. I wrote purely for myself to reference the things I learned over time, and I even utilized my design skills in Figma to create custom graphics depicting difficult concepts like CSS specificity. By sharing my blogs on Twitter and engaging with the people reading them, I was able to grow an audience extremely quickly. I began receiving conference speaking opportunities, podcast requests, and course invitations to teach with LinkedIn Learning and Frontend Masters.
Ultimately, I landed my job at Spotify through Twitter, too, when a friend and follower of mine asked if I would be interested in interviewing. Now I live in Stockholm working my dream job. It still blows my mind how tweeting about my blog led me to some of the most amazing career opportunities.
What would be your three tips for engineers to level up their career? 
First, be patient. I often see posts on Twitter or LinkedIn about developers who were promoted to a senior position after a year. And while this is wonderful, I think we forget that each company has a different standard for what constitutes a senior developer, and everyone's journey will be different.
Second, don't be afraid to ask questions. If you try your best to solve a problem or answer a question you have, but you can't figure it out after a reasonable amount of time, ask a team member or mentor for help.
And lastly, invest in the right resources for learning. When I started my journey, I didn't know which platforms worked for me to learn. Now, I have a few trusted platforms such as Frontend Masters, Free Code Camp, or Level Up Tutorials that I go to when I need to learn a new skill.
You're currently working as a software engineer at Spotify. What does a typical day of yours look like there?
I begin my day answering emails. Then we have a team breakfast and a standup remotely as we're all still remote at Spotify. After that, we might have a web tech sync with the other squads in our business unit. The day usually includes some form of pair or mob programming, depending on the work stream. 
My team always has Fika, a traditional Swedish coffee break, scheduled every afternoon. Every couple of Fridays, we have team games planned to release some stress. 
Also, I tend to have a lot of free time to focus, which is nice but makes for a boring answer to this question!
Do you have some rituals or tools that keep you focused and goal-oriented?
I'll admit that I've been struggling with staying motivated in the time of remote work. I've been remote with Spotify since onboarding a year ago, but my team is wonderful, and they help me when I'm down.
Apart from that, I use Todoist to keep track of my tasks, and, naturally, I listen to Spotify while working. But other than that, not really. Maybe I should adopt some new tools to keep me on track!
My current favorite Spotify playlist is Brand New Chill: https://open.spotify.com/playlist/37i9dQZF1DX6uQnoHESB3u?si=380263b3c853442e
I also love Chillout Daily: https://open.spotify.com/playlist/7ozIozDp260fjNOZy1yzRG?si=66d6c839ec9b458a
You wrote a book called De-coding the Technical Interview. What was the impulse to do it?
I wanted to give the community a manual of the essentials of computer science knowledge to ace the technical interviews. The book covers data structures like stacks, queues, or linked lists, tackles algorithms, and deals with systems design. You'll also learn about the interview process from start to finish, get tips on how to submit an amazing take-home project, or understand how to problem solve. You'll also gain knowledge on the frontend coding skills needed to excel at a frontend interview.

If you could stress one piece of advice on surviving a technical interview, which would it be?
Do not lie your way through an interview. If you don't know the answer to something, just admit it. There's no shame in admitting you don't know the answer to something. There is shame in faking it and pretending like you do know the answer.
What's the single best practice everyone who writes code should follow?
Remember that while you are technically writing code for computers, you're also writing it for humans. Your code should be readable and have as little complexity as possible without sacrificing accessibility or performance.
In addition to the book, you co-host the Ladybug Podcast. What inspired you to enter this field, and what are the podcast's main topics?
We talk about everything tech and career on the podcast, from Java and GraphQL to how to start a business and cross-cultural communication. The podcast is a way for me and my co-hosts to share our experiences in tech, having taken different paths. And I'm really glad for doing it — it has allowed me to meet so many incredible people, learn many new things, and support my dream of teaching.
What pieces of your work are you most proud of?
My technical interview book was a huge feat for me as well as my courses with LinkedIn Learning on building a tech resume. I enjoy creating things that help other people advance their careers, so I'm also proud of my courses with Frontend Masters on design systems and CSS.
***
Follow Emma on Twitter
14 min
Kent C. Dodds: Consume, build, and teach — and level up your career
Featured Article
Even though his bio offers quite a hefty reading, he only applied for one job in his career. The rest came along as he was building his name as a renowned speaker, teacher, and a prolific figure of the open-source community. How did Kent do it? “Commit to creating high-quality content,” he says.


What led you to programming?
I had a friend when I was a teenager who was really into it, and he tried to teach me. But I just couldn't get it — it didn't make any sense to me. So I never really thought I'd get into programming, but I liked computers a lot, and I ended up going to school for electrical engineering. 
Well, that didn't work because I'm not good at math. But right when I started the program, I got a job at a company uploading videos to YouTube and that sort of thing. The work was tedious, so I decided to write a computer program to automate lots of the work I was doing with the knowledge I had about programming. And that was the first spark of things for me to use programming to solve real-world problems. 
What is the most impactful thing you ever did to boost your career? 
Committing to creating high-quality content. That might sound obvious because I'm a full-time educator now, but I would not have gotten my job at PayPal if I hadn't been so active with my blog. In fact, lots of my jobs came out of me being involved in the community around meetups, conferences, or open-source projects. 
How do you choose topics for the content you create, be it for your blog or podcast?
I don't think too much about the content other people are creating. And I don't often consume it. My ideas come from the things that I'm working on, things that I'm learning myself, or — when I was working with a team of developers — the things that I had to remind people of in code reviews regularly. Anytime that I would have a code review comment that was pretty long to describe my position, that was an excellent opportunity for a blog post. Also, if people ask me about a topic regularly, I'll make a blog post rather than answer that question multiple times.


What would be your three tips for engineers to level up their career? 
The number one thing I tell people is to be a nice person. I know that sounds fluffy or silly, but it cannot be overstated. You will get so much further in your career and just in life in general if you're a nice person. That doesn't mean that you take people being jerks lying down, but how you interact with others is out of kindness. You could be the best engineer in the entire world, but if you're not a nice person, you will not reach your full potential or accomplish your goals, whatever they may be.
Second, it's just as important to decide what you are not going to learn as it is to decide what you are going to learn. You could jump into countless things — and there are successful people who are polyglot programmers, but I can't speak to that a whole lot. All I can tell you is that in my experience, focusing on specific things that I want to be truly good at has worked out great for my career. That doesn't mean that I closed myself off to other things. With my website rewrite, I have been doing a lot of dev ops-related work and a lot of back-end stuff that I've typically not been involved in. You want to keep your head up on what's going on outside of what you're doing so that you know what direction to go in when you come across problems you need to solve. However, finding a focus on what you want to be good at has helped me a lot. That way, you feel a little less stressed.
And the third one? 
Learn how to learn effectively. It's a three-step process: you consume, build, and teach. The consumption of newsletters and Twitter and whatever inspires you, but you don't want to spend too much time doing that — implementing it into actually building something matters. This happens naturally if you work at a company, but maybe you're not making the things you want to learn, so you may want to start a side project. The building phase is where you get experience, but you also want to solidify that experience. How? You start teaching. You don't necessarily have to teach it to people, it could be stuffed animals. The goal of the teaching is to retain in your mind what you've learned through the building process.
What are you working on right now? 
The big thing I'm working on right now is a rewrite of my website. It'll be much more than just a developer portfolio — I'll have user accounts, and there'll be fun things that you can do with it. And because it's more than just a website, I'm using Remix, a new cool framework in the React ecosystem. I'm also working on updating my material on TestingJavaScript.com and a TypeScript course as well. 
So, whatever I'm working on, it ends up resulting in lots of opportunities for content.


Do you have some rituals that keep you focused and goal-oriented? 
I have a notepad where I keep all of my notes of what I'm going to do for the day so that when I'm checking things off, I'm not distracted notifications. I've tried apps for that, and that does not work well for me. 
I also am a firm believer in inbox zero. I have my work inbox and my personal inbox, and I keep them both at zero. And I kind of use that as a to-do list. 
And if I'm not feeling excited about working for some reason, I will often hop on my Onewheel, which is an electric skateboard that only has one giant wheel in the middle. It's just a total blast, and I'll hop on that with my backpack and a charger, and I'll go to a Starbucks or a park just to declutter my mind.
What things in the React universe are you excited about right now?
React version 18 is coming out soon. The experimental version is out there, and it's fun to play with. I'm just really thrilled that it's no longer a concurrent mode but concurrent features that you can opt into. Cool things like that will enable React server components in the future. 
But the biggest thing I'm excited about is Remix. That's huge. It eliminates a lot of problems that are solved well other tools, but when I'm using Remix, I don't have those problems, so I don't need those clusters.
You already said that teaching is an integral part of the learning process, and you stand your word since you're also a full-time educator. What inspired you to enter this field?
I have been a teacher for as long as I can remember. I grew up in a church where you talk in front of your peers from a very young age, and my mom was an elementary school teacher, so teaching has just always been a part of me. 
I really just enjoy sharing what I'm learning with others. As far as teaching technical topics, I gave my first workshop when I was still a student at Brigham Young University. With my fellow, we taught how to use AngularJS, and I got Firebase to sponsor pizza so they would show up, and that was pretty fun.
Then I started teaching on the side at egghead.io right after I'd graduated. That was when I first got a paycheck for teaching. And I realized that teaching could be quite lucrative and support my family and me as a full-time endeavor. So I did it — I quit my job. I'm a very risk-averse person, so I'd done teaching as a side hustle for four years just to verify that I could make this work.
When TestingJavaScript was released, and I got that paycheck, I realized that I didn't need my PayPal salary anymore. I could just focus my daytime on teaching and give my evenings back to my family, which was a nice trait.


Apart from that, how has teaching impacted your career? 
Earlier I mentioned that pretty much all of my jobs came because I was perceived as an expert. After the first job, where I was an intern and then converted into full-time, I never applied to another. I worked for four different companies, and they wouldn't have recruited me if they didn't know who I was and what I was doing. My content is how they knew who I was — I just made it easy for them to find me. Teaching made that impact. It made my career. 
We talked about React and Remix. Are there any other open-source projects that you'd recommend keeping an eye on or contributing to?
I have some myself. React Testing Library is probably the biggest one that people are familiar with. And if React isn't your jam, then other framework versions of the testing library. 
React Query is also really popular. If you're using Remix, you don't need it, but if you're not, I strongly advise using React Query cause it's a stellar, fantastic library, and Tanner Linsley, the creator, is a stellar and fantastic person. 
What pieces of your work are you most proud of? 
Probably the biggest thing I've ever done is EpicReact.Dev. It has helped tens of thousands of people get really good at React, improve their careers and make the world a better place with the skills that they develop. My whole mission is to make the world a better place through quality software, and I feel like I've done that best with Epic React. 
There are things that I've built at other companies that are still in use, and I'm proud of those cause they've stood the test of time, at least these last few years. But of everything, I think Epic React has made the biggest impact.
***
Follow Kent on Twitter and listen to his favorite Spotify playlist
React Day Berlin 2022React Day Berlin 2022
29 min
Fighting Technical Debt With Continuous Refactoring
Let’s face it: technical debt is inevitable and rewriting your code every 6 months is not an option. Refactoring is a complex topic that doesn't have a one-size-fits-all solution. Frontend applications are particularly sensitive because of frequent requirements and user flows changes. New abstractions, updated patterns and cleaning up those old functions - it all sounds great on paper, but it often fails in practice: todos accumulate, tickets end up rotting in the backlog and legacy code crops up in every corner of your codebase. So a process of continuous refactoring is the only weapon you have against tech debt. In the past three years, I’ve been exploring different strategies and processes for refactoring code. In this talk I will describe the key components of a framework for tackling refactoring and I will share some of the learnings accumulated along the way. Hopefully, this will help you in your quest of improving the code quality of your codebases.
TechLead Conference 2023TechLead Conference 2023
36 min
Effective Communication for Engineers
Your communication skills affect your career prospects, the value you bring to your company, and the likelihood of your promotion. This session helps you communicate better in a variety of professional situations, including meetings, email messages, pitches, and presentations.
TechLead Conference 2023TechLead Conference 2023
31 min
Imposter Syndrome-Driven Development
“Maybe I’m fooling everyone… I’m not good enough for this, and at this point, it is a question of time until everyone figures it out” these might be the words that cross your mind as your coworker compliments you for doing another fantastic job at delivering a new feature. As you grow in your career, so does your uncertainty. You put in the extra hours, learn all the new technologies, and join all the initiatives you can, but at the end of the day, it never feels enough. At this point, that feeling is leading your actions and decisions. It is the thing that is driving your career. Only one question persists: Are you really an imposter?

Workshops on related topic

Node Congress 2022Node Congress 2022
39 min
How To Design A Sustainable Freelance/Contracting Career
WorkshopFree
Ready to kickstart your freelance career or just getting started on your freelance journey? You’re in the right spot. Learn the tricks of the trade from the industry’s most experienced freelancers.
The independent talent movement is the future of work. If you’re considering leaving full-time employment for a career as a freelancer, now is the time to find your successful space in the independent talent workforce. More people are working freelance today than ever before, with the freelance marketplace now contributing $1.2 trillion to the US economy. Some of the most in-demand roles for freelancers right now are senior developers with professional experience in React, Python, Blockchain, QA, and Node.js.
This workshop will help you design a sustainable and profitable full-time (or part-time) freelancing/contracting career. We will give you tools, tips, best practices, and help you avoid common pitfalls.
React Summit 2022React Summit 2022
75 min
How To Design A Sustainable Freelance/Contracting Career + Speedcoding Challenge
WorkshopFree
Ready to kickstart your freelance career or just getting started on your freelance journey? You’re in the right spot. Learn from the world’s largest fully distributed workforce in the world.
The independent talent movement is the future of work. If you’re considering leaving full-time employment for a career as a freelancer, now is the time to find your successful space in the independent talent workforce. More people are working freelance today than ever before, with the freelance marketplace now contributing $1.2 trillion to the US economy. Some of the most in-demand roles for freelancers right now are senior developers with professional experience in React, Python, Blockchain, QA, and Node.js.
This workshop will help you design a sustainable and profitable full-time (or part-time) freelancing/contracting career. We will give you tools, tips, best practices, and help you avoid common pitfalls.
At the end of the workshop there will be a Q&A session with a Freelance Developer who can answer your questions and provide insights and tips into their own success.
During the Workshop break, we will be running a speed-coding challenge! At the end of the workshop, we will award a prize for the winner and display the leaderboard.
We will have you login to our portal and complete the challenge as fast as you can to earn points. Points are assigned based on difficulty and the speed at which you solve the tasks. In case you complete all tasks, you get extra points for the remaining time. You’ll see your score, ranking, and the leaderboard once you complete the challenge.
We will be giving away three Amazon Gift Cards ($200, $100, $75) for the top three winners.
React Advanced Conference 2021React Advanced Conference 2021
145 min
Designing A Sustainable Freelance Career
WorkshopFree
Would you like to pursue your passions and have more control over your career? Would you like schedule and location flexibility and project variety? Would you like the stability of working full-time and getting paid consistently? Thousands of companies have embraced remote work and realize that they have access to a global talent pool. This is advantageous for anyone who has considered or is currently considering freelance work.>> Submit your interest on becoming a freelance engineer with Toptal and get a call with Talent Acquisition specialist <<

Freelancing is no longer an unstable career choice.

This workshop will help you design a sustainable and profitable full-time (or part-time) freelancing career. We will give you tools, tips, best practices, and help you avoid common pitfalls.
Table of contents

Module 1: Dispelling common myths about freelancing
Module 2: What does freelancing look like in 2021 and beyond
Module 3: Freelancing choices and what to look for (and what to avoid)
Module 4: Benefits of freelancing from a freelancer + case study
BREAK
Module 6: How to get started freelancing (experience, resume, preparation)
Module 7: Common paths to full-time freelancing
Module 8: Essentials: setting your rate and getting work
Module 9: Next steps: networking with peers, upskilling, changing the world
Module 10: Freelancer AMA
React Summit Remote Edition 2021React Summit Remote Edition 2021
121 min
Landing Your Next Developer Job
WorkshopFree
Renaud Bressant (Head of Product), Nathanael Lamellière (Head of Customer Success and Solution Engineer), Nouha Chhih (Developer Experience Manager) will be looking at the different developer jobs that you can accounter when looking for your next developer role. We'll be explaining the specifics of each role, to help you identify which one could be your next move. We'll also be sharing tips to help you navigate the recruitment process, based on the different roles we interviewed for as recruiters, but also as candidates. This will be more of an Ask Us Anything session, so don't hesitate to share your thoughts and questions during the session.