Tiny Things That Throw You Into Chaos: Engineering Leader’s Way Out of Daily Havoc

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

Probably the most noticeable change engineers experience when they become leaders is the increase of day-to-day chaos. The moment you become responsible for the work of a team or a large area, tasks start coming at you. Dozens of them! Sometimes, per day. And also, questions. From everyone and their dog! And finally, meetings. Lots of them, long and short, exciting and boring... Does it sound familiar?


To me, very. And it took me quite some time to figure out what to do with that. I'm going to share my recipe for taming the chaos with you. I'll talk about the components of that chaos, of reasons that they occur, and about solutions for avoiding it.

This talk has been presented at TechLead Conference 2024, check out the latest edition of this Tech Conference.

FAQ

Anton is a father and enjoys mountain skiing and hiking.

Anton is an engineer and director at Canonical, working in the store team. He is responsible for the Snap Store and JamHub backend.

Canonical is known for being the publisher of Ubuntu, a popular operating system.

Yes, Canonical is hiring. You can check out their opportunities on canonical.com.

Anton mentors and coaches other engineering leaders pro bono. He encourages those with questions to reach out to him.

Unstructured information streams can lead to chaos, with tasks recorded everywhere, lack of task prioritization, and overload, resulting in inefficiency and burnout.

The four steps are: Organize, Prioritize, Delegate, and Focus.

By using email folders with auto-sorting rules, establishing messenger notification discipline, creating one list of tasks in a to-do app, and going asynchronous with tasks unless they are very quick to do.

The Eisenhower matrix is a prioritization technique that distinguishes between urgent and important tasks, helping to schedule tasks based on their priority.

Delegation helps in scaling, removes bottlenecks, frees up the leader's agenda, and provides other team members with opportunities for growth and skill development.

Anton Kazakov
Anton Kazakov
25 min
15 Jun, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
This Talk discusses the challenges faced by engineering leaders and provides strategies to overcome them. It emphasizes the importance of organizing, prioritizing, delegating, and maintaining focus. Techniques such as email organization, task prioritization using the Eisenhower matrix, and delegation to scale work are highlighted. The Talk also emphasizes the need to protect and schedule focus time to avoid overload and fragmentation. Overall, the Talk provides practical advice for engineering leaders to navigate the chaos and enhance productivity.

1. Introduction and Personal Background

Short description:

I'm Anton, an engineer and director at Canonical. Today, I'll talk about the tiny things that throw engineering leaders into chaos and how to find a way out. I mentor and coach other engineering leaders and enjoy mountain skiing and hiking.

Hey, everyone. Thank you for having me. I'm delighted to present at TechLeadConf today and in the next 20 something minutes, I'm going to be talking about the tiny things that threw us, engineering leaders, into chaos, and we'll describe a way out of this daily halo.

A little bit about me first. I'm Anton. I work as an engineer and director at Canonical in the store team. We're the publisher of Ubuntu. You may have heard of this operating system, and my team is responsible for the Snap Store and JamHub backend if you've heard these keywords. By the way, we're hiring at Canonical, so do go ahead and check out our opportunities on canonical.com.

As an engineering leader, I mentor and coach other engineering leaders, so, yes, if you have any questions that you'd like my input on, do reach out by all means. I do that strictly pro bono right now, so let's chat if you want. I'm also a father and a fan of mountain skiing and hiking. With that, let's get cracking on the topic, and let's start with a story about a fictional engineering manager, and, as usual, all similarities with real-life characters and events are totally accidental.

2. A Day in the Life of an Engineering Manager

Short description:

Our engineering manager starts the day feeling unwell-rested and rushes to work. They struggle with overflowing emails, a packed calendar, missed urgent issues, and large pull requests. Additionally, they are reminded of a form due a week ago. Despite their efforts, the day continues to be chaotic with angry messages and constant investigations. Finally, after a long day, they can briefly relax before it all starts again.

Our engineering manager wakes up, not really feeling well-rested, because they've slept, but it didn't quite help, as it often happens in their life, unfortunately. They look at the time, and, oh gosh, they're late.

It's time to put together a sloppy sandwich for breakfast, throw it directly into the furnace, so to say, and set off to their workplace, where, first things first, they find the biggest available mug and fill it with coffee to get through the morning, but they just blink and the mug is empty. Oh, God, so they need to make more coffee and be more mindful about drinking it, and all of that to actually not go and check their inbox, because it's dreadful.

They dread checking their inbox. Every time they do that in the morning, there's plus 1,000 unread messages in total chaos, unreadable, but they check it this time, and there's just plus 700 since yesterday's evening, so maybe the day is going to be a little better today, and they check their calendar and realize that, no, it's not going to be better, because their calendar is painful to look at, because their entire day is booked with meetings, so no real time to do real work.

Well, it is what it is. They sigh, and the day begins. Halfway through their first meeting, they get an angry message from their CTO, who says that they missed an urgent issue from sales department. Unfortunately, our engineering manager has no idea what they're talking about, so they do some digging in their K07 inbox, and there it is. Five days ago, there apparently was an email thread with URGENT in caps in the subject, and they didn't quite react to this email thread, unfortunately, so they sigh again and go investigate what the issue might be and receive a notification from the corporate messenger saying, at channel, look at my new pull request, someone.

Well, they are the engineering manager, right? They have to look at the pull requests their team is creating, certainly, so they click on the link and see a 2,000 line monster. Well, they're terrified, of course. They think, first thing, that, like, how many times do they have to tell their team that pull request must not be that big. It should be tops 200 lines or 300 lines or something, but they're the engineering manager. They have to do it, so they go and check the pull request.

Well, halfway through the pull request, an HR person also reaches out to them by a messenger saying that our engineering manager owes them a form about a new starter starting tomorrow, and this form was due a week ago, and guess what? There was an email notification about it. Well, yeah, it's also urgent, so our engineering manager starts working on that form because a new starter starts tomorrow. It needs to be filled.

At this point, someone mentions their name in the meeting that they're in, and they have no idea what the context was and why someone mentioned their name, but luckily, it didn't sound like a question, so they may be able to just sit it out and not need to embarrass themselves saying that they weren't paying attention. So yeah, finally, the meeting is over. The HR form is done. The first achievement of the day. Yay.

Unfortunately, there's an even angrier message from the CTO because the sales issue is still there, and our engineering manager hasn't responded to any of the requests about it. So yeah, they start investigating again, and the day just goes on like that. At last, it is over, about two, two and a half hours after the official end of the working day, but in two and a half hours after that, our engineering manager can finally go home and arrive there just in time for a very quick dinner and to crawl into bed and binge some TV show before they switch off, and then the next Groundhog Day actually begins. So yeah, that's the end of the story.

3. Taming a Fragmented Work Agenda

Short description:

Our fictional engineering manager faced several errors, including unstructured information streams, chaotic inbox, scattered tasks, bad calendar management, lack of focus and task prioritization, overload, and lack of work time discipline. The solution consists of four steps: organize, prioritize, delegate, and focus.

Does any of it look familiar? Because a lot of it looks familiar to me, and I hope a lot of it looks familiar to you as well because you're listening to this talk.

So let's list the errors our fictional engineering manager made. First of all, their information streams are very unstructured. There's a chaos of an inbox they're dealing with. There are notifications breaking context all over the place. The tasks are recorded everywhere. Many of them are in the email. Some of them are probably in the corporate messenger. Some of them are in wherever they do code reviews. There's certainly an issue tracker involved somewhere, I hope, because without an issue tracker it would be even more chaos. So yeah, the tasks are recorded everywhere. It's hard to juggle them.

Now there's bad calendar management involved as well. The entire day booked with meetings is not healthy, right? And it's no surprise that meeting participation is therefore affected. There's lack of focus. There's also lack of task prioritization. So what we've seen was a simple stack processing algorithm, right? Last in first out, whatever comes last gets their attention. So nothing gets discarded. The stack actually doesn't quite get any overflow. So there's clearly overload. The engineer manager is trying to do everything which is too much. And it all leads to lack of work time discipline eventually, right? Working overtime regularly, burning themselves out, not taking enough time to unwind and disconnect and burning themselves out even more via that.

So what to do? My recipe to taming fragmented work agenda and getting such an engineering leader out of their daily havoc consists of four parts or four steps, if you will. Organize, prioritize, delegate and focus. Let's talk about every single one of them. Starting with organize, the main idea is reducing the noise and putting all your tasks into a single pipe. How? First, we need to acknowledge that not all messages are the same. So there can be email notifications that are automatically created, right? Some robots. There can be email notifications from some, I don't know, forms that are submitted to a distribution list. And people submitting this form, their request via this form, actually expect that someone will respond in several days.

4. Organizing the Incoming Stream of Tasks

Short description:

Email folders, auto sorting rules, and separate channels for notifications help in organizing the incoming stream of tasks. It's important to avoid overusing tagging and ensure that all tasks are in one place. Choosing a to-do application to gather tasks from emails, messengers, meetings, and Jira can facilitate prioritization. Going asynchronous by scheduling and recording to-dos helps maintain context. Tasks that take no more than X minutes can be done immediately.

So those can be grouped into some groups. And these groups usually are folders. So email folders help a lot. Email folders plus auto sorting rules for them so that everything that needs to be put away into its own group and not processed immediately gets an email folder. And the no folder folder, so the default inbox folder, should only remain for people who want input from you like soon. And very important things like a notification about production being done.

Now notifications in messengers also need order. So one should be notificated only when tagged and for direct messages. Plus some channels about alerts like production is down. And by the way, these channels should be separate from the channels about other stuff that you don't need to react to immediately. And also about tagging, people mustn't overuse tagging. So that thing like, add channel, look at my new pull request is completely not okay because yeah, that's clearly overusing tagging. That should have been a one person tag or no tag at all. And finally, very importantly, all tasks must be in one place. And my approach to this is choosing a to-do application and piping all to-dos there from emails you get whenever you need to follow up on something from the messenger, whenever someone wants something from you. From meetings, action points created in meetings need to also end up in the to-do application. And even from Jira. Yes, there are tickets in Jira. But if there are tickets in Jira and to-dos in your to-do application, you can't do cross prioritization really. So it very much helps if you create to-dos for Jira tickets as well.

Then you can prioritize them against other things. So once you have all to-dos in one place, go asynchronous with all you can by recording a to-do, scheduling it to a particular date that you choose and getting back to what you were doing before you needed to record a to-do. This way your context actually bends but doesn't break. Or at least doesn't break so much. The only exception to this rule is if a to-do takes no more than X minutes to do, do it right away. Where X varies depending on how fragile your personal context is. So my personal context is usually very fragile. So for me, X equals 1. Some people have less fragile contexts and their brains can sustain more context breakage so they can have X equals 3 or something.

Okay, so we've organized the incoming stream of tasks.

5. Prioritization and Delegation

Short description:

Prioritize tasks using the Eisenhower matrix by distinguishing between urgency and importance. Apply your own understanding of these concepts to schedule tasks with their priority in mind. Delegate tasks to scale your work and avoid becoming a bottleneck. By freeing up your agenda and sharing knowledge and skills, delegation enables others to have more impact and motivation.

Now it's time to prioritize it. There are several prioritization techniques. One of the most popular is the Eisenhower matrix. I've linked down below the description of the fundamentals of the Eisenhower matrix. Coincidentally, that's also the website of my favorite to-do application which I'm endorsing completely for free. Or not really completely for free. I've taken a picture from their website. But Todoist is a really good to-do application I can recommend. This picture describes the idea of the Eisenhower matrix. The idea is one needs to distinguish between the notion of urgency and the notion of importance. So those are two parameters of a task. There can be an urgent but not important task and an important but not urgent task. Depending on the values of these two bits, so to say, a different strategy needs to be chosen. Because the notions of urgency and importance are prone to interpretation, so you need to have your own, or everyone has their own understanding of those, you will need to figure out your own way of applying the concepts of Eisenhower matrix to your work. But it's important to apply them somehow and do the prioritization steps so that you schedule your tasks with their priority in mind.

After we've prioritized our tasks, it's time to delegate. And because delegation is a thing or a step that is very often underused by engineering leaders, I want to specifically talk about why delegating. Usually engineering leaders are promoted to their roles as very efficient engineers with leadership potential. Now they become a focal point of the incoming tasks for the entire team, usually. And they're also very pragmatic, they're engineers, right? And as a focal point, they look at every task and think, okay, who would be the most optimal person to do this? Oh, I guess that's me, because they're a very efficient engineer, right? And they end up doing a lot of this, which is really not scalable. So delegation is about scaling. It enables scaling by freeing up your agenda, removing bottlenecks, creating more redundancy on tasks, and giving others more impact and motivation. Delegation allows others to have a feeling of impact and therefore more motivation. Delegation technique is probably a topic for a different talk, but it doesn't mean that you shouldn't go for freeing up your agenda eventually. This is the right way to free up your agenda and remove yourself as the bottleneck.

6. Delegation and Focus

Short description:

Delegation frees up your agenda and removes bottlenecks by sharing knowledge and skills. It gives others more impact, motivation, and opportunities for growth. Start by delegating urgent and not important tasks, then move on to urgent and important tasks. Delegate not urgent and important tasks as well. Focus is essential for creative work, so prioritize flow time and manage your calendar.

This is the right way to free up your agenda and actually, frankly, sometimes the only way. So it also removes bottlenecks, not only by freeing up your agenda, but also by sharing knowledge and skills required to do the tasks, creating more redundancy on tasks. And guess what, you won't need to work from your vacation anymore, because you've delegated the tasks and someone else who is not on vacation can do them.

So especially it removes you as the bottleneck, because you as the bottleneck is the scope of the current talk. On top of that, delegation gives others more impact and more motivation, more feeling of impact and therefore more motivation, because if the delegation of a task is done well, people will like doing what you've delegated to them. They will feel that they are delivering more impact, that they are taking on more responsibility and that's good for their growth.

What else is good for their growth is the new skills, knowledge and abilities that they get when you delegate tasks to them, right? So yeah, let's just, with this slide, debunk a popular myth that people have about delegation. It is not tossing work onto others, really. It is about scaling, right? It's about scaling as a leader. So, okay, what to delegate then? The answer is very simple and somewhat terrifying, everything. It is important to note that it is unlikely you'll ever get there, but to do enough delegation as an engineering leader, you must try delegating everything. You must think of delegating every single thing you can. And probably end up not delegating everything, really, but having thought about delegating everything.

What to start with? Well, in the Eisenhower matrix terms, start with urgent and not important. That's the default thing that the matrix suggests delegating, because as an engineering leader, you want to work on important issues and not to work on not important issues, especially on the urgent ones that actually break your context as well, right? So go ahead and delegate those. Now, by default, the Eisenhower matrix doesn't suggest anything else to delegate, but I suggest you go ahead and delegate the other part of the most context breaking tasks, like the ones that are urgent and important. You will have to find time to do that, right, and it's not going to be easy to find time to delegate a particular urgent task when you get it. But schedule delegating the whole class of such tasks. Think about it and delegate it as a processing.

And then you can proceed and delegate not urgent and important tasks. The good news is that there's time to delegate these. They're not urgent, so find it. And also think of delegating the whole class of such tasks over just one by one. So you've organized the incoming stream of tasks, you've prioritized it, you've delegated what you could. Now it's time to finally focus. What does focus mean in this context? Well, many of you will have heard of flow, right? What is flow? It's a state of mind when we can very efficiently work on creative tasks. There's a whole book dedicated to it written by Michal Csikszentmihalyi several decades ago I'd totally recommend it. So everyone needs flow time. You need flow time, which is focus time. To get it, tame your calendar.

7. Meetings and Focus

Short description:

Join meetings that bear value and opt for shorter slots to free up time for follow-up tasks. Schedule and protect focus time slots to avoid fragmentation. Communicate with others to schedule meetings around your focus time. Theme focus time slots for specific tasks to ensure dedicated time for important work.

Namely, join all the meetings that bear value for you and focus on them when you're there so that they bear value for you, actually. Opt for shorter slots. So instead of 30 minutes, schedule 25 minutes. Instead of 60 minutes, maybe 50 or even 45 minutes. And these tiny little remainders of these slots give you time to process the notes from the meeting, to do some small follow-up to-do's and schedule bigger ones, to go to the bathroom, which is also important sometimes. And most importantly, they reduce the fragmentation of your subsequent focus time slots on your calendar so that you don't have to fragment them a lot to do these tiny little things.

And by the way, about the focus time slots, schedule them as well in your calendar and then protect them because people will often want to schedule their meetings over those. So you need to talk to these people and suggest that they should schedule meetings when there's a free slot on your calendar. They can be themed, right? Code review time, CV screening time if you're involved in hiring, people performance review writing time if you're involved in that and it's that season again, and even time to work on a ticket because if there's a ticket assigned to you, you need to work on it and you don't have a slot in the calendar scheduled for it, guess what? Someone will put a meeting in it and when are you getting that time to work on that ticket? Well, I guess after hours or never. So yeah, you will end up like that engineering manager working over time.

8. Maintaining Focus and Handling Overload

Short description:

Avoid distractions and procrastination during focus time. Gather information about overload, describe the business impact, and escalate to the manager. Recap: organize, prioritize, delegate, and focus.

And finally, when you're in your focus time, don't get distracted. Avoid procrastination at all costs. To get yourself out of procrastination, many rewards help. Things like, okay, when I'm done with this massive 2009 monster of a pull request, I'm going to go have a snack or take a walk around the block to relax. Snacks, as many rewards are, are a slippery slope. So yeah, use at your own discretion. And then also when in focus time, when you're already not procrastinating but working, it very much helps to avoid distractions when you listen to brown noise or things like that. And even if possible, if you can afford that, toggle on your Do Not Disturb mode on your computer.

So that's how you focus. Let's imagine you've organized your incoming stream of tasks, you've prioritized them, you've delegated what you could, you're focusing properly. What if it's still too much? Well, bad news. Then you're legitimately overloaded. What to do with that? First of all, know your enemy, gather information about your overload. How much time you actually spend on what? How much time would you rather spend on what in your ideal world? And what you've delegated, what you've done about this, what you've delegated and what you cannot delegate and for what reason? Then because you want to maintain a sane working schedule, describe the business impact of current situation. That's okay, you just can't do a certain slice of your incoming stream of tasks. What's the business impact of this? Describe it to yourself because then you need to go to your manager, escalate the situation and describe the business impact to them. And then ask for measures, redistributing tasks to other teams, more people in your team and so on and so forth.

And that's all I have today for you. Let's recap. First of all, four components of an engineering leader's way out of daily hayluck. Organize, inbox folders plus auto-sorting, messenger notification discipline, establishing one list of tasks in one to-do app of your choice and going in sync with everything you have unless it's a very quick to-do. And prioritizing things, Eisenhower matrix, look it up and establish your own way of applying the concepts. Delegate things, delegate everything or at least attempt to. And opt for delegating full classes of tasks over individual tasks. And finally, focus. Turn your calendar, only go to meetings with value for you and focus on them. Use shorter slots, schedule and protect focus blocks and then avoid distractions in your focus blocks using many rewards, brown noise, and don't disturb mode if you can afford it. And if you're still overloaded, track and analyze your overload, describe the impact of it and escalate it to your manager. And with that, thank you very much. I'm available for questions on Discord.

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

Impact: Growing as an Engineer
React Summit 2022React Summit 2022
26 min
Impact: Growing as an Engineer
Top ContentPremium
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.
On Becoming a Tech Lead
TechLead Conference 2023TechLead Conference 2023
24 min
On Becoming a Tech Lead
Top ContentPremium
The role of a Tech Lead involves shaping the roadmap, helping the team be more effective, and working on important projects. Lessons learned include encouraging idea sharing, avoiding taking on all the work, and focusing on delegation. Tech Leads focus on the outcome, involve the team in decision-making, and make plans based on how different pieces will interact. The role of a Tech Lead is to focus on engineering and guide the team in figuring out how the whole system should fit together. Architecting can become problematic when it loses touch with the coding part, resulting in implementation issues.
Emma Bostian: I landed my dream job by sharing my blogs on Twitter
Emma Bostian: I landed my dream job by sharing my blogs on Twitter
Top Content
Featured Article
Emma Bostian
Emma Bostian
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.
Kent C. Dodds: Consume, build, and teach — and level up your career
Kent C. Dodds: Consume, build, and teach — and level up your career
Top Content
Featured Article
Kent C. Dodds
Kent C. Dodds
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.
Effective Communication for Engineers
TechLead Conference 2023TechLead Conference 2023
36 min
Effective Communication for Engineers
Top ContentPremium
Today's Talk covers the four building blocks of communication: people, message, context, and effective listening. It emphasizes the importance of considering the perspective of others and tailoring messages to the recipient. The Talk discusses different types and channels of communication, and the need to align them with the intended message. It also highlights the significance of soft skills in communication and provides techniques for effective communication and assessing soft skills in tech interviews. Cross-cultural communication and the impact of bluntness are explored as well.
A Career As Software Engineer
React Advanced 2022React Advanced 2022
24 min
A Career As Software Engineer
Code will be imperfect and perishable, so testing and debugging are crucial. Building relationships and being generous with code reviews are important for teams. Code ownership should belong to the team, not individuals. Prioritizing functionality over consistency can lead to more efficient development. Growing into a tech lead role requires building relationships and coaching skills.

Workshops on related topic

From Engineer to Leader: A Workshop for First-Time Tech Leaders
TechLead Conference 2024TechLead Conference 2024
144 min
From Engineer to Leader: A Workshop for First-Time Tech Leaders
Workshop
Andrew Murphy
Andrew Murphy
Transitioning from an individual contributor role to a leadership position, especially in the fast-paced tech industry, is hugely challenging. Most new leaders don't receive any training at all in the first 10 years of their new responsibilities.Our comprehensive workshop is designed to assist new and emerging tech leaders in understanding their new roles and gaining the skills to make them confident, happy and effective leaders.
Managers Are From Mars, Devs Are From Venus
TechLead Conference 2024TechLead Conference 2024
111 min
Managers Are From Mars, Devs Are From Venus
Workshop
Mo Khazali
Mo Khazali
A Developer’s Guide to Communicating, Convincing, and Collaborating Effectively With Stakeholders
It’s a tale as old as time - collaboration between developers and business stakeholders has long been a challenge, with a lack of clear communication often leaving both sides frustrated. The best developers can deeply understand their business counterparts’ needs, effectively communicate technical strategy without losing the non-technical crowd, and convince the business to make the right decisions. Working at a consultancy, I’ve both failed and succeeded in architecting and “selling” technical visions, learning many lessons along the way.Whether you work at a product company, are a consultant/freelancer, or want to venture beyond just being a developer, the ability to convince and clearly communicate with stakeholders can set you apart in the tech industry. This becomes even more important with the rise of GenAI and the increasingly competitive developer market, as problem-solving and effective communication are key to positioning yourself.In this workshop, I’ll share real-world examples, both good and bad, and guide you through putting the theory into practice through dojos.
Designing A Sustainable Freelance Career
React Advanced 2021React Advanced 2021
145 min
Designing A Sustainable Freelance Career
Workshop
Alexander Weekes
Rodrigo Donini
2 authors
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
How To Design A Sustainable Freelance/Contracting Career + Speedcoding Challenge
React Summit 2022React Summit 2022
75 min
How To Design A Sustainable Freelance/Contracting Career + Speedcoding Challenge
Workshop
Shane Ketterman
Shane Ketterman
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.
Out of the Frying Pan, Into the Fire: A Manager's Guide to Helping New Developers Thrive
TechLead Conference 2024TechLead Conference 2024
35 min
Out of the Frying Pan, Into the Fire: A Manager's Guide to Helping New Developers Thrive
Workshop
Andrew Coleburn
Andrew Coleburn
Onboarding to a new project can be difficult, no matter your background and experience. But it can be especially challenging for new developers straight out of school or a coding bootcamp. Drawing on personal experience as a bootcamp grad and JavaScript consultant, this talk will discuss tips and strategies for managers to help the new developers on their teams get their bearings in an unfamiliar codebase, so they can make more of an impact, faster!
Landing Your Next Developer Job
React Summit Remote Edition 2021React Summit Remote Edition 2021
121 min
Landing Your Next Developer Job
Workshop
Sadek Drobi
Nouha Chhih
Francois Bohyn
3 authors
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.