This article was inspired by the last book I read. I will conduct an experiment, taken from the book Deep Work by Cal Newport. In this book, the author argues that knowledge workers ( like software developers ) need the ability to focus intensely for long periods of time in order to produce great work.
However, as the author explains, going deep in your work is becoming more and more of a luxury today. We are constantly bombarded with distractions, notifications, mails... It seems almost impossible to sit for a few hours without being disturbed to focus on a single task.
We are craftspeople. Knowledge workers, like classical craftspeople, must create beautiful things, even if those things are mostly in the digital realm today. To create, we use tools. We all do. But, unlike classical craftspeople, we are not very careful about what tools we allow in our toolbox. New and shiny often takes precedence over efficiency, even if the latter is more time or attention consuming.
Time and attention are the most important resources you have in order to go deep in your work and create outstanding things. Tools can help you use those resources more efficiently, but they can also be very detrimental.
There are lots of different kind of tools you can use. In this article, however, I'll focus on one type: network tools. Or, social media. We all use some sort of social media. New tools come to life every year, and they all want your attention and your time. These tools, for the vast majority, are designed to be addictive. How their content is presented to you, which notifications you receive, at what time... Of course, social media also have their benefits, but are they really more advantages than inconvenients when it comes to these tools?
The book defines two approaches in choosing a tool. The any benefit approach and the craftsman approach. Let's define them:
- Any benefit approach
You're justified in using a network tool if you can identify any possible benefit to use it, or anything you might possibly miss if you don't use it.
Because those tools are designed to be addictive, there is always this one thing that will attract you. Checking on former high-school friends or colleagues, see a picture of a cute dog, follow the publications of some famous person...
By following this approach, every tool will become a part of your toolbox. Your time and attention will constantly be monopolized by these tools.
- Craftsman approach
Identify the core factors that determine success and happiness in your professional and personal life. Adopt a tool onyl if its positive impacts on these factors substantially outweight its negative impacts.
Notice the difference between the two approaches. The first identifies any positive impact as a justification to adopt a tool. The second carefully weights the pros and cons of a tool before deciding to adopt it or not.
To succeed with this approach, you need to ask yourself hard questions. Because everyone has different priorities in life, and different circumstances, professional or personal, two persons with the same job may not end up with the same conclusion regarding the adoption of a tool.
So, how would you go about accepting a new tool in your toolbox or not?
You need to identify what your high level goals are, professional and personal. In this article, I will focus on the professional side, but this strategy can be used for personal goals as well. Your goals must be broad. Reach 100 000 subscribers on your blog, Learn 3 new programming languages this year are too specific for our purposes here. For me, my goals could be:
Write efficient software, both for other developers and for the users, that empowers people to work towards their goals.
Learn new programming concepts to become a better developer, while trying to retranscript what I understood by writing informative and comprehensible articles.
Of course, everyone will have different goals. These goals might even change with my circumstances in the future. For now, these are the objectives I'm trying to accomplish. Take your time to draft 2-3 goals, then move on to the next step.
Now, it's time to become a bit more specific. You need to identify key activities that allow you to achieve these goals. These activities need to be replicable and you can picture yourself doing these activities. Work on issue 256 is way too specific. Write cleaner code is too broad. If I try to define some key activities for me, here's what I could come up with:
Take the time to understand the issues assigned to me, by asking questions to clarify everything, writing notes on how the code needs to be changed, and grasping the purposes behind every demand.
Read content that puts me outside of my comfort zone to expand my horizons and challenge my thinking.
Write with care and purpose while trying to keep your content readable by most developers.
With that, I can clearly understand what my objectives are in my professional life, when I am writing code during work, or writing articles to teach myself and others. Again, even if we end up with the same high-end goals, activities allowing someone to achieve them might be completely different. It's up to you to ask yourself questions about what you want to achieve.
Now that we have a clearer picture, let's put some network tools to the test.
Here comes the hard part. Pick a network tool and estimate its impacts on your key activities. If the tool has a substantially positive impact on you succeeding at the task, you can keep it, otherwise, the tool should probably not be part of your toolbox.
I chose to put three tools to the test: Twitter, LinkedIn, dev.to
I joined Twitter some time ago because I wanted to follow some folks in the programming communities. It also provided me with a platform to share the articles I wrote. The thing is, these benefits are drowned in the ocean of notifications and useless retweets and likes. Twitter is an entertainment and doesn't help me achieve the activities I described earlier. I may get some interesting opinions from time to time, or an interesting article, but the cons outweights the pros by a significant margin.
Twitter should not be a part of my toolbox.
This one will be even easier. Whenever I check LinkedIn, some recruiter tries to contact me with an opportunity I didn't ask for. I get exposed to content I am not really interested in. I suppose if I was actively looking for a new job, I would reconsider my position. For now, LinkedIn is a distraction I can't afford.
LinkedIn should not be a part of my toolbox.
Dev.to is a different beast. First, I know the content presented to me will be programming-centric. Even if some articles are not technical, they could still be very useful to my soft skills and my quest to becoming a better developer. I can follow tags to have more control over which type of content I get exposed to. The only notifications I have are when people I follow write a new article, or when people follow me. The platform is also the only place, outside of my blog, where I write articles. The audience on the platform fits what I am targetting, and the feedback is always positive and helpful. For all these reasons, at the present moment, dev.to has a substantially positive impact on my professional life.
Dev.to should remain in my toolbox.
I am not advocating against social media, or any kind of network tools. I only hope that you will understand that your time and attention are limited, and these tools are designed to be addictive. Take the time to estimate if a tool is worth the precious resources they are using.
As for me, it's been 10 days I haven't checked Twitter or LinkedIn, and I do feel like my productivity has rose during that time. At the end of those thirty days, I'll ask yself two questions:
Would the last thirty days have been notably better if I had been able to use this service?
Did people care that I wasn't using this service?
If the answer to both these questions is a no, I don't see why I should keep using them. Or I might limit their use to a couple of hours every week. We'll see :)
I hope this article will make you think about the tools you are allowing in your toolbox.
Thank you for reading!