đ„ Effective communication for developers
Hey there!
A few weeks ago I made a LinkedIn post on the most important skills for front-end developers. One of those points was about mastering effective communication (which I think is a hugely underrated topic for developers in any area really), and I got an excellent question on what that actually means in practice.
So I decided to dive deep on why communication is so important for developers, including how you can improve your own communication skills quite easily - and how big of a difference that will make over the course of your entire career.
So sit back and letâs get into it:
Why effective communication is so important for developers (and how to improve yours)
Most issues that arise when working with software isnât because of technical complexity, the lack of skill among developers or anything really related to computers.
Think about it. Most software engineering issues usually fall in one of 3 categories:
Changing or unrealistic requirements.
Deadlines or budgets going overboard.
Projects dragging out and information getting lost.
And what is the common denominator between all of these? Hint: itâs related to the title of this article đ
All of these problems essentially boil down to a lack of clear and effective communication - between clients, stakeholders, project managers and developers.
I would argue that most developers can take a reasonably well-described problem/ticket and solve that within a fair amount of time. Thatâs obviously a big part of the job when working as a developer, and itâs what most developers love to do in the first place.
Where I think the biggest gap between a subpar developer and a great software engineer lies is how well they can communicate with their peers. How they go about flagging issues, uncovering hidden requirements, keeping stakeholders in the loop and making sure the project is moving in the right direction.
These arenât easy to do, especially if youâre new to coding - but theyâre insanely important to work on if you want to have a successful coding career. And even if it takes time to become a good communicator, there are some quick tips you can apply immediately:
If youâre stuck on an issue, let your team know right away. Thereâs no shame in admitting that something you thought would take 3 hours ends up taking 2 days - as long as you communicate that within the first few hours, and not AFTER spending those 2 days. The real problem arises when nobody else knows that something is dragging out so they canât plan their own work around it. If it keeps happening that tasks take longer than you expect, refer to point 2.
Ask as many questions as you need to do your job. Iâve seen wayyy too many people read a ticket / problem description, assume they know what it means, and then spend X amount of hours implementing a solution to what ends up being the wrong problem. Thatâs a terrible use of time, and something that can easily be avoided. Much better to spend some extra time properly understanding the task, asking questions on anything up for interpretation, and then diving in once all that has been settled. Youâll save countless hours (and headaches!) this way.
Provide brief and accurate status updates. I think most working developers have been part of standups that drag out to 1+ hour because people are going into too much detail of what theyâre working on. Thatâs not the point either. Make sure to keep your project managers and other devs in the loop on what youâre doing, but donât include your entire life story or they wonât remember the important bits.
Raise flags early and often. If you notice something early on in the project that can be a potential pitfall and timesuck later, itâs your responsibility to raise those concerns. You canât play it off as âwell, thatâs not my jobâ because part of your job is making sure the project is successful - and that includes flagging issues as soon as you notice them.
These are some of the most practical tips I can think of to easily improve your communication skills 10x. But thereâs of course other stuff too, like being a good writer and having a great understanding of other peopleâs worldview that take much longer to build, but also make a big difference in the long run.
Either way, Iâve hopefully helped you discover the importance of effective communication and why itâs an extremely important skill for all developers to learn and practice (even if itâs not directly code related) â
Links worth checking out
I also gathered a few links for you this week with some resources and updates to popular tools I think youâll like:
Mindset of Successful Programmers. A great YouTube video covering the most important mindset changes to help you learn coding and become a better software engineer - including the importance of practice, getting used to the idea of lifelong learning, and what companies generally expect of a junior developer. Watch the full video here (5 minutes)
Vite 5.0. In case you donât know, Vite is a highly optimized development server and collection of various front-end tools to help you build great webapps much faster. It comes with out-of-the-box support for stuff like TypeScript, JSX, instant Hot Module Replacement and much more. Vite also powers almost all the frameworks you know and love like Astro, Nuxt, SvelteKit etc. Vite 5.0 was just released, with updates to the underlying Rollup 4 to improve build performance and streamlining of the overall API. Read the announcement blog post here.
30 lessons I wish I could go back and tell my junior self. The final pick for this week is an article from the Level up software engineering newsletter by Caleb Mellas. In this article Caleb goes into great detail of all the things he wished heâd know when starting out his career. I definitely recognize most of these in my own journey too, and the article is a great resource to fast-track your software engineering career. Highly recommend giving it a read: Read the full article here.