paint-brush
🚀 Boost Your Productivity as a Software Engineer 🚀by@maximchenko
36,004 reads
36,004 reads

🚀 Boost Your Productivity as a Software Engineer 🚀

by Andrew MaksimchenkoApril 19th, 2023
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

Exclusive Productivity techniques that helped me to get on the list of TOP IT Industry Experts during my 10 years of unique and versatile Software Development & Engineering Management experience. And I truly hope it'll help you too! Learn from my expertise! I'll be elated to contact and assist you with any productivity issues in your IT career!
featured image - 🚀 Boost Your Productivity as a Software Engineer 🚀
Andrew Maksimchenko HackerNoon profile picture


Productivity has always been a ground criterion for success. And it’s extremely crucial for software engineers in such a rapidly growing informational world to be consistently focused, dedicated, and persevering. Nonetheless, we all know that being highly efficient during the whole day can be a challenge, especially when we ought to meet tight deadlines, tackle complex tasks, and reduce numerous distractions.


I have over 10 years of professional experience in software development and engineering management and I suffered a multitude of productivity problems throughout my entire career. I had to swing for the fences just like you and “adapt, improvise, overcome” a number of tasks continuously expanding on my plate.


So I made a decision to share my TOP 5 productivity Tips & Tricks I use on a daily basis to get ahead in life and elevate my productivity. These practices successfully helped me, my mentees, and my clients a lot to get all ducks in a row. I will give you a series of examples so that you can recognize the pattern and adapt it to your own life. I truly hope that you will reap the benefits of it too!

1. ONE Thing

A game-changer methodology developed by Gary Keller and Jay Papasan - "The ONE Thing: The Surprisingly Simple Truth Behind Extraordinary Results". The idea is the following: Focus on only ONE thing at a time - and you can achieve more significant results with less effort.


The ONE Thing Domino Effect


When you wake up in the morning, prior to starting off your working routine ask yourself - "What is my ONE Thing for today such that by doing it, everything else will be easier or unnecessary?". Not 2, 3, 4 - pick up ONLY ONE. And as soon as you identify the one most important thing, make it your TOP priority.


When your manager at work assigns plenty of tasks on your plate, ask yourself or your manager: “What’s the ONE Thing (task) for today that will make the biggest impact?”. This could be fixing a critical bug, implementing a new feature, or optimizing performance, whatever it could be. By focusing on the most important task first and eliminating distractions, you can attain the greatest progress in the shortest amount of time.


In the beginning, it’s going to be complicated to define your ONE Thing. You may erroneously consider that the lion’s share of your tasks deserves the same amount of salience, but let’s be honest, it’s unreal to manage them all at once, so you will have to prioritize against all odds. Trust me, down the road not only you, but even your coworkers will start noticing that you’re getting more organized, your productivity grows and you become a more valuable employee in the company.


TWO MORE THINGS I want you to learn here:


1) NO DISTRACTIONS. Ensure to eliminate any possible distractions while working on your task:

  • Turn off notifications on your phone;
  • Mute unimportant chats;
  • Close unnecessary tabs in your browser;
  • Hold off background conversations;
  • Find a quiet workspace.


Remember! The more you stay focused, the more effective you are during the day. Ever wondered how interrupted workflow may cause your schedule? Check out this diagram:


The ONE Thing: Interrupted vs Focused Work


2) TAKE BREAKS. Yeah, yeah - don’t miss breaks! Sitting for hours on a single task can be mentally and physically draining. I even occasionally combine my ONE Thing with the Pomodoro technique: 25 mins of focused work followed by a 10 mins break to drink a coffee, take a walk, read emails and chats, answer missed calls, etc. Short breaks will help you stay refreshed and energized.

2. Consequences over Priorities

Consequences and priorities are both important factors to make proper decisions and set goals. Priorities help us determine what is paramount and what we should focus on, however, if we don't consider the potential outcomes of our actions, we may unintentionally trigger many problems for ourselves and others.


Consequences over Priorities


Let’s take a look at an example. When you have two or more tasks with the same priority on your plate, don’t rush in a hurry, just ask yourself for each of these tasks:

  • “What bad may happen if I don’t complete this task now?” or
  • “What will the outcomes be if I don’t tackle this task first?”


And ensure that you approach these questions from various angles, including the impact on yourself, your team, your customers, your boss, and your organization as a whole. Will you be fired or lose the customer if you don’t complete this task by tomorrow? How will the task negatively affect the product overall? Will it make the code less clean, readable, structured, or maintainable? And act based on the answers. I’ve noticed that even some TOP managers forget about this straightforward principle when making decisions.


If you take your time to determine the potential outcomes of your actions, you will make more informed decisions that consider the potential risks and benefits. This will ultimately help you evaluate the effectiveness of your choices, ensure that your priorities are aligned and determine whether you’re on the right way.


One of the books that may help you delve into it is “Master your time” by Brian Tracy.

3. GTD: Getting Things Done

If you want to be at the TOP of Industry Experts, you can not resist it - GTD: The Art of Stree-free Productivity. This methodology is undoubtedly one of the most effective productivity systems I’ve ever seen. It was created by David Allen and introduces a unique way to manage tasks and priorities in a more efficient and organized way. It’s already helped a ton of famous people worldwide like Barack Obama, Elon Musk, Oprah Winfrey, Will Smith, Tom Cruise, Tony Robbins, etc


I’ve read this book personally around 5 times during the last 5 years and my life has changed entirely since I got accustomed to adapting it to my daily routine while working as a Software Developer, Engineering Manager, Mentor, Solutions Architect, and CTO. And I truly hope it will change your life of yours!


Let’s cut to the case and see how it works. In simple terms, it’s a 5-steps workflow:


GTD Methodology Workflow

  1. 📥 CAPTURE

Let’s say your boss asks you to put together a daily report, send an email, or help your team member, but you’re already on your ONE Thing. Make sure you right away put these tasks in your INBOX as soon as you have a break. Whatever comes to your head as a task - COLLECT EVERYTHING!


  1. ✏️ CLARIFY & PRIORITIZE

Nothing is possible without Next Actions (NA). The task is considered accomplished only if there are NO next steps to be done**.** Here you determine which tasks are on the back burner and which require imminent attention. Clarify them, decompose them, and set the next steps.


Example: Let’s say you have a task to help your teammate on project ABC. It sounds way too abstract, so I’d decompose it and transform it into somewhat like this:

  • NA #1: ABC // Me // Learn task requirements;
  • NA #2: ABC // Me // Call with my teammate to brainstorm and advice;
  • NA #3: ABC // Me // Send the call summary & make agreements;
  • NA #4: ABC // Teammate // Write me back on the progress. (Note: I delegate it and ask my teammate to ping me when he moves forward to ensure he’s on the right track)


  1. 📆 ORGANIZE

Every task must have a due date and assignee.


Ask yourself: “Am I sure that I have to work on this task myself? Can I delegate it? When should it be delivered? What outcomes are expected from me?”


If you don’t set specific due dates and assignees, sooner or later you will stumble into continuously missing deadlines and be wondering how come your boss, your team lead or your client is disappointed about your work. Their expectations may not just match yours. Ensure you're the right person for the task and affirm the deadlines with your boss, lead, or client (ideally on paper, not in words).


Let’s see an example of when you need to help your teammate:

  • ABC // Me //  (20 mins) Learn my teammate’s task requirements // today 5 pm
  • ABC // Me // (30 mins) Call with my teammate to brainstorm & advice // tmrw 2 pm
  • ABC // Me // (15 mins) Send the call summary & make agreements // tmrw 6 pm
  • ABC // Teammate // Write me back on the progress // in two days 4 pm


Send it over to your manager to confirm and start working on it without stress 🤝. It will let you ensure that everyone is on the same page and there are no misunderstandings between you and your leaders.


  1. 🔎 REVIEW

As you work on your tasks, things may change, priorities may shift, or new tasks may come up. So get used to frequently reviewing and revising your tasks. Do smaller daily reviews and bigger weekly ones. It will guarantee that everything is still relevant and up-to-speed. Here you also ensure that your ONE Thing is correctly set for the next day, upcoming week, month, etc.


This is how I do it (same as monthly/yearly tasks):

  • Daily: When I go to bed, I review all my tasks for the next day and ensure that they are still relevant and organize them in proper order, polish deadlines, rearrange some to other days, add new assignees, and set the next steps. At last, I define my ONE Thing for the day.
  • Weekly: On Sunday I allocate around one hour to review my tasks for the upcoming week and do the same as I’ve done on the daily review.


  1. 🚀 ENGAGE

That’s it! Start doing your work!


🛠️ TOOLS

What tools can help you adapt this GTD methodology?


Here are TOP-3 of my favorite ones:

  1. 🏆 Todoist
  2. 🥈 OmniFocus
  3. 🥉 Things


After using tens of productivity apps I’ve finally settled on Todoist because of its most flexible features, intuitive user interface, cross-platform support, and ability to completely align with the GTD methodology. LMK if you want me to create a separate article for you to learn more about how to effectively use it in your day-to-day life. I’ll be elated to share my own 4 years of practice with the Todoist app


4. Important vs Urgent

Probably many of you heard of the **Eisenhower Matrix **that lets you avoid the urgency trap. I beg to differ you’ve come across a situation where you receive an email in your inbox that starts with the words - URGENT, NOW, or ASAP – and you drop all your other tasks to handle that email right away since it looks extremely urgent, right? If you do so, you’ve fallen into the urgency trap! STOP 🛑 for a moment, switch your focus to something else, drink a glass of water to bypass the emotions, peruse the email again, and ask yourself: “Is it really that urgent and important?” and react based on the steps below.


Create a 2x2 grid and label the quadrants as follows:

  • URGENT and IMPORTANT - DO IT! Your ONE Thing and your first focus.
  • NOT Urgent, but Important - No clear deadlines? Schedule and push back.
  • Urgent, but NOT Important - Urgent, but goes against your ONE Thing? Delegate!
  • NOT Urgent and NOT Important - Any distractions or unnecessary tasks? It’s your back burner!


The Eisenhower Matrix


If you always focus on what's urgent but not important, you're more likely to feel stressed, overwhelmed, and burnt out. Categorizing tasks according to their level of urgency and importance will allow you to focus on the tasks that have the highest priority and will have the most significant impact on your productivity. You will notice how you set about investing your time and energy wisely.


5. S.M.A.R.T.

A S.M.A.R.T. methodology is a prevalent life hack for setting your goals and completing your tasks on time. As a software developer, setting your daily, weekly, or even longer tasks based on this methodology can help you achieve your goals more effectively. Let’s see how it works!


S.M.A.R.T. Goals

Specific

Your task has to be specific and clearly define what you need to do.


❌ Bad Example: I want to learn React (way too abstract)

✅ Good Example:

  • I will enroll in and pass an online course on React on Udemy.com by this month;
  • I will learn deeply official React docs by the next month;
  • I will create a pet project to hone in on my React skills by the summer.

Measurable

The task should allow you to track your progress


❌ Bad Example: I want to increase my KPI at work.

✅ Good Example: I will inculcate the GTD and perform my tasks at work twice faster (or by 30%) by the next quarter.

Attainable

Your task needs to be realistic and easily achievable


❌ Bad Example: I want to learn AWS.

✅ Good Example: I will dedicate 1.5 hours each day to passing AWS online course and practicing it in my pet project so that I can be certified as an AWS Associate Developer by the end of this year.

Relevant

Your task needs to corelate with your priorities, values, dreams, and ambitions.


❌ Bad Example: I want to enroll in an online course on Python, so I will practice Java first to learn the ropes of backend development.

✅ Good Example: I want to enroll in an online course on Python, so I will find a relevant Python online course on Udemy.com for beginners and find a Senior Python Developer as a Mentor to track my progress.

Time-Bound

Your task needs to have a due date. Do NOT ever start a task without a deadline on it.


❌ Bad Example: I need to fix the bug ASAP

✅ Good Example: I will fix the bug by Wednesday, validate by Friday, and deploy the fix by Monday.

Conclusion

By setting clear goals, minimizing distractions, taking breaks, using the right tools, and collaborating effectively, you can stay on top of your work and be more efficient to deliver high-quality software projects. Don’t wait for the right time to start - it’s a losing strategy. If you feel like it’s hard to kick off something - try to set about small steps and gradually ramp up.


It’s essential to note that every individual is unique and what works for me may not ideally work for you. Therefore, in order to elevate your productivity as a Software Engineer you need to experiment with various techniques including the ones listed in this article, and find those that best suit your personality and abilities.


Don’t forget that productivity is not about working harder, but about working smarter. I hope my expertise will help you be at least more focused, organized, and motivated. Don’t hesitate to drop me a line by email - [email protected] and I will pull out all the stops to help you identify suitable practices and tools for boosting your productivity so you can be proud of your own achievements!