Category Archives: lifehacker

Discipline in Disguise: The Unseen Journey Behind Extraordinary Achievements

The year 2023 has unfolded in an extraordinary way for me. In January’s first week, my wife and I embarked on a marathon at Disney, our first since 2015. This time, our Florida vacation was exceptionally splendid. Breaking away from our norm of choosing the most economical accommodations, we indulged in staying at Disney’s Contemporary Resort.

On this trip, I deviated from our usual practice of renting basic cars and chose a Mustang instead. Although we were fortunate to have my friend Silvio host us for a part of our stay, I generally prefer to economize. However, this occasion was an exception.

Further into the year, I participated in a Spartan race. My performance exceeded my expectations, particularly considering my age and historical challenges with many of the race’s obstacles. I was immensely proud of this achievement.

A highlight of the year was our trip to Spain, where we celebrated our twentieth wedding anniversary. The two weeks we spent there have etched into my memory as a treasured experience.

Professionally, the year was marked by significant achievements as well. Following a reorganization at my company, I took on the responsibility of managing a new team in the Cloud Engineering division. This team plays a critical role in our company’s product development and daily operations.

In the realm of personal development, I managed to read 66 books. While this number falls short of the 125 I read last year, it remains a commendable accomplishment.

Some might perceive my recounting of these events as boastful. Perhaps it is, to some extent. However, what I truly intend to convey is that all these remarkable experiences and accomplishments are the fruits of countless hours dedicated to mundane routines, disciplined repetition, and consistent effort.

A monotonous life.

Behind these achievements lies a life of routine, often perceived as monotonous.

As Alex Hormozi aptly puts it, ‘Extraordinary accomplishments come from doing ordinary things for extraordinary periods of time.’ My life since early 2022, and even before that in preparation for our trip to Spain, epitomizes this sentiment. It may seem unexciting to an onlooker.

The journey began in 2021 when I initiated the planning for our twentieth-anniversary trip. Crafting a budget and diligently saving money meant making sacrifices and foregoing certain luxuries. Our lifestyle became more restrained; restaurant visits became rare, travel was minimal, and cinema trips ceased altogether.

Deciding to run the marathon required even greater financial discipline, as we were saving for not one, but two significant trips. Consequently, our social engagements were further reduced, aligning seamlessly with the demands of marathon training.

Training for a marathon is a commitment few are willing to make. It involves countless hours of running, often indoors on a treadmill due to the harsh Canadian winters. But it’s more than just running; it encompasses a rigorous diet, ample rest, and a strict avoidance of unhealthy foods like sweets and alcohol, sustained over several months.

In parallel, I was focused on professional growth. Aiming to enhance my leadership and managerial skills meant investing time in reading, studying, and introspection.

My daily routine for the past two years has been a testament to discipline: waking up at 4:15 AM for a regimen of reading, studying, meditating, training, and working, followed by more reading before retiring around 7:30 PM. This routine, which includes maintaining a single meal a day, is repeated six days a week.

Had I started this post detailing these aspects of my life, it might have deterred many readers. A life of such structured routine and discipline isn’t commonly sought after. However, it’s this very foundation that underpins the desirable outcomes of enjoyable vacations, physical fitness, and career advancements.

A recent tweet resonated with me: ‘There is no easy way. Only hard work, late nights, early mornings, practice, rehearsal, repetition, study, sweat, blood, toil, frustration, and discipline.’ This encapsulates the essence of my journey.

Start practicing today.

Don’t wait for the new year or Monday to begin. Identify an important goal for yourself and devise an action plan.

Set your goals, establish a consistent routine, and focus on the process. Accept that there will be hard days, but don’t give up. The reward will come in time.

Remember, extraordinary comes from the ordinary sustained day after day. Your future achievements will be determined by the choices you make now.

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.