Category Archives: lifehacker

Work vs Toil: How to Work Smarter, Not Harder

We all know the feeling of being bogged down by toil – those repetitive, time-consuming tasks that require little mental effort but eat away at our productivity. This post will explore ways to reduce toil and work smarter, not harder.

Use Tools Correctly and Efficiently

For most of the audience of this blog, work involves spending much of our day typing and editing text. Mastering our tools – Microsoft Word, Google Docs, vscode, emacs or vim – is essential to our productivity. By learning our tools’ default shortcuts and features, we can save ourselves hours of wasted time. Copying and pasting, multi-line selection, searching and replacing, and moving efficiently between sections. This should be muscle memory and not consume either time or mental space.

Use Better and Modern Tools

Expanding on the section above, using outdated tools is often counterproductive. As more and more people use modern tools, new features are created to address everyday needs. For example, installing software on a Linux server used to be an extremely laborious process. However, modern Linux distributions now have package management systems that trivialize the process. By adopting modern tools, we can save ourselves hours of toil.

Now, I want to drive this point home with some points why you should put the effort to leave your comfort zone and learn new tools:

  1. Increased efficiency: Modern tools are often designed to be more efficient and streamlined than their older counterparts. They may have better user interfaces, more intuitive workflows, and more advanced features to help us work more efficiently and reduce toil. For example, newer text editors may have better search and replace functionality, faster loading times, and better support for various programming languages.
  2. Improved collaboration: Modern tools often have better features like real-time editing and commenting. This can be particularly useful for remote teams or working with clients in different locations. So we can reduce the need for back-and-forth communication and improve the speed and accuracy of work.
  3. Easier integration: Modern tools are often designed to work well with other modern tools. For example, a modern project management tool may integrate well with a modern time-tracking tool, enabling us to streamline our workflow and reduce toil. Using modern tools designed to work together can reduce the need for manual integration and reduce the risk of errors or inconsistencies.
  4. Staying competitive: Employers and clients may expect us to be proficient in the latest tools and technologies, and failing to keep up can lead to missed opportunities or lost business. If we stay up-to-date with modern tools, we can remain relevant and competitive in our field while reducing toil and improving the quality of our work.

Automate Repetitive Tasks

Automating repetitive tasks can save us a significant amount of time. Whether using a tool like autokey to create shortcuts or scripts to automate larger tasks, the benefits of automation are clear. Use the Pareto Principle to find the 20% of things you do that take up 80% of your time and automate those tasks.

Think of it this way: Suppose a software engineer needs to run a suite of automated tests on their codebase before deploying it. Running these tests manually can be time-consuming and error-prone. However, by automating the testing process, the engineer can save time and improve the overall quality of their work. This can be achieved using a continuous integration (CI) tool like Jenkins or Travis CI to run the tests whenever new code is committed automatically. The CI tool can be configured to run the tests on various environments, such as operating systems or browsers, ensuring the code works correctly across different platforms. The engineer can also receive notifications of failed tests, enabling them to identify and fix any issues quickly. By automating the testing process, the engineer can free up time for more critical work, such as developing new features or improving existing ones, while improving the codebase’s overall quality.

Delegate Tasks

Delegating tasks can be a tricky balancing act. One must consider factors like the importance of the task, the trustworthiness of the person or entity we’re delegating to, and the cost of our time versus the cost of having someone else do the task. However, delegating can be a powerful way to reduce toil and free up our time for more critical work.

This is also applicable in our personal lives in addition to our daily work. I still have to read the book Buy Back Your Time: Get Unstuck, Reclaim Your Freedom, and Build Your Empire by Dan Martell. But I listened to a podcast interview with him, and I was inspired.

Plenty of services will allow you to hire people in the gig economy to help you carry tasks, like Fiverr (which I used several times), TaskRabbit and Fancy Hands.

In a professional setting finding someone to delegate tasks can be challenging. Make sure you consider their skill sets and workload. Look for people who are reliable and require little direction. Or people who are self-starters and highly motivated and will only need to be taught once.

Create Checklists and Standard Operating Procedures

Maybe building up on the task delegation point, creating clear documentation and procedures can significantly reduce the toil involved in our work. By creating checklists and standard practices for everyday tasks, we can reduce the chance of mistakes, save time on training new employees, streamline our workflow and make delegation much more effortless.

In conclusion, by adopting these strategies, we can significantly reduce the toil involved in our work and work smarter, not harder. So take the time to streamline your workflow, automate repetitive tasks, and delegate where possible. Your productivity, your health, and your career will thank you.

Deliberate Practice

The saying goes, “practice makes perfect,” but is this true? Many people drive daily for 20 or 30 years and are still terrible drivers, while others claim to have “15 years of experience” but are technically weak. Practicing without a specific intention or focus is unlikely to bring improvement after the initial learning.

In the 1960s, psychologists Paul Fitts and Michael Posner identified three stages of learning: cognitive, associative, and autonomous. The cognitive stage is when you assimilate knowledge and learn the basics of a task. The associative stage involves making fewer mistakes and needing less mental effort to perform the task. The autonomous stage is when your skills become natural, and you can perform the task without much effort. Unfortunately, many people plateau at the autonomous stage while experts keep improving.

As a technology professional, you know that simply practicing your craft without a specific intention or focus won’t necessarily lead to improvement. To get better, you need deliberate practice. Here are some actionable items to help you implement deliberate practice:

Identify the key skills you need to develop

Take a look at your job description and identify the critical skills that are required for your role. Make a list of these skills and prioritize them based on which ones are most important to your job.

Set specific, measurable goals

Once you have identified the key skills you need to develop, set specific, measurable goals for each. For example, if one of your key skills is coding, you might set a goal to solve 5 LeetCode problems per week for the next month. Using coding challenge sites like LeetCode can help you practice your coding skills and track progress through their platform. Set a goal that challenges you but is still achievable, and track your progress over time to see how much you improve.

Seek feedback

Feedback is essential to deliberate practice, and there are many ways to get it. Here are some suggestions:

  • Peer review: Ask your colleagues or peers to review your work and provide feedback. This can be especially helpful if they have more experience in a particular area than you do.
  • Manager feedback: Schedule regular check-ins with your manager to discuss your progress and get feedback on your work. This can help you identify areas where you need to improve and set goals for the future.
  • Mentorship: Seek a mentor in your field who can provide guidance and feedback on your work. This can be a great way to get more personalized feedback and learn from someone with more experience.
  • User testing: If you’re working on a product or application, conduct user testing to get feedback on how people use it. This can help you identify areas where the product can be improved and ensure that it’s meeting the needs of your users.
  • Online communities: Join online communities related to your field, such as forums or Slack channels, where you can ask for feedback from other professionals. This can be a great way to get feedback from a broader range of people and learn from different perspectives.

Practice deliberately

To practice deliberately, focus on specific features of your work and practice them at a higher level than you’re comfortable with. For example:

  • Coding: If you’re a programmer, focus on writing more efficient code, tackling more complex coding challenges, or exploring new programming languages.
  • Design: If you’re a designer, focus on refining your skills in typography, colour theory, or user interface design.
  • Communication: If you’re a project manager, focus on improving your communication skills by practicing active listening, giving and receiving feedback, or presenting to stakeholders.

Deliberate practice should push you out of your comfort zone:

Embrace discomfort

Deliberate practice can be uncomfortable and frustrating, but it’s essential to growth. When you push yourself out of your comfort zone and practice challenging things, you create new neural pathways in your brain. This allows you to develop new skills and become better at the things you’re practicing.

Embracing discomfort also helps you develop resilience and a growth mindset. When you encounter challenges or setbacks, it’s easy to get discouraged and give up. But if you embrace discomfort and see it as an opportunity to learn and grow, you’ll be more likely to persist in facing difficulty and overcoming obstacles.

In conclusion

Deliberate practice is essential to becoming a better technology professional, and it requires identifying essential skills, setting measurable goals, seeking feedback, and practicing deliberately while embracing discomfort. You can develop new skills, improve your work, and achieve your career goals by taking action on these items. So, take the first step today and start implementing deliberate practice in your work. You can become the best version of yourself and achieve success in your field with dedication and effort.