The techniques I'm proposing here are my personal ones, based on consultations with professional therapists. You can try them, but I'm 100% sure they won't automatically fit your personal case. However, it's always good to broaden your horizons, and I recommend using others' experiences as inspiration to invent something tailored to your needs.
How To Be Productive As A Software Engineer
I asked AI about types of people related to their work style, and this is what I got back:
- Ticket monkeys.
- Those who reflect on every piece of work they do.
This difference is critical because true productivity comes from self-awareness (by understanding your work style). By analyzing how you work daily, you step outside your comfort zone and confront your current "self" with reality.
It’s like trying to fix a performance issue in an application without running benchmarks first—good luck, bruh or sister.
I’ve wasted a lot of time in the past (if I added it all up, it would easily total a year). A few years ago, I tried to balance a full-time FTE job with daily activities like crafting posts, writing articles, building apps, learning, and handling personal responsibilities. My entire day revolved around "self-improvement."
Yeah, and now you can say, "such a clown." That’s 100% true! Pushing yourself to those limits is not something I’d recommend after experiencing depression, being diagnosed with ADHD, and enduring burnout. But please read this article if you're in a similar situation. There's always a green light and a chance to step back, reevaluate your life, and fix these issues.
Before IT, I worked in a restaurant (10 years ago). In restaurants, everyone has a single duty to ensure smooth service. No client wants to wait an hour for pizza! Working "smart" instead of "hard" should be your goal—trust me. You can accomplish everything you need in 8 hours, not 14, and still achieve the same result: the work gets done.
I used to think hard work alone led to success. Sure, it can, but there’s a cost—every extra hour you spend working beyond what’s necessary impacts your health.
I consider myself a pretty good developer now (I hope), but if you ask me, "Do you want to go back in time and change your life?" the answer would be yes! I’d work in a completely different way—the one focused on getting things done, proper planning, and stable self-development instead of pure chaos.
Thus, in this article, I’ll share the approach I’ve developed through years of experience, consultations with therapists, and mistakes. My goal is to help you avoid the same pitfalls and make smarter investments in your future. Simply put, this article is designed to save you money on psychologists and give you a highlight of how my daily habits look—the ones that give me a huge productivity and quality boost.
What you'll learn?
- Methods for tracking your progress—the Awakened Day method.
- The difference between tactical and strategic planning.
- Techniques that foster continuous self-improvement.
- The power of feedback and improvement loops.
- Tools and techniques to automate your tasks.
- Why no universal method exists—and how to develop your own.
- Insights into the Eisenhower Matrix method.
- Real-world results I've achieved in just one year.
- A comprehensive view of productivity, including short and long-term goal organization.
- Practical application of these concepts through a real example at the end of the article.
Just Follow The Damn Yourself, CJ
We're learning mostly from observations. Imagine you had a chance to call a static method on yourself: You.clone()
. Now there are two of you. You ask your sibling to observe your daily behavior, take notes, and create data with timestamps marking the moments where you performed best, along with the feelings you experienced at different times of the day. Additional stats about you will be gathered—like blood sugar levels, energy, distractions, and more. The sky is the limit.
After some time, you've realized that you could represent this data with charts (I’ve selected random metrics). You can pick more that interest you.
The tricky part occurs now—how the hell can I clone myself? It’s rather impossible unless you’re a humanoid Robocop-style android. But there are other simple options to consider: a notepad, a camera, or your phone.
After a burnout episode, I was desperately searching for a way to get back to my previous performance level—before it all happened. It was a huge problem for me. I felt insanely exhausted. My psychologist proposed something I’ve called "The iterative approach to becoming a better version of yourself on a daily basis"—I know the name sucks, but you’ll see in a second that it makes sense.
So, I tried to work normally—8 hours on the client’s project. I gave the camera technique a shot, but it didn’t work for me, so I stuck with the notepad. Every time something distracted me, I wrote down a note with the exact time. On the right side, I added details about the emotions associated with that and rated my stress/energy level on a scale from 1 to 10.
Cloned Myself Is Stalking The Current Me From Behind
I mentioned the camera part to highlight that universal rules don’t exist—LOL. You need to adapt everything to your own brain.
It was really enjoyable. After a whole day of work, I had a unique history of what happened during the day. I took my notes to bed, browsed through them sometimes just for fun, and then tried to remember what happened during each time period.
The weeks passed, and I had a lot of notes to analyze. I stopped doing this daily, but it became more casual. Still, every time I wrote a comment on the paper, I automatically regained my focus.
I skipped taking into account breaks—it’s obvious, at least to me, that they should happen, especially if you're using your brain and sitting a lot. Consider taking breaks like 30 minutes of work followed by a 5-minute break.
The Awakened Day Method
The thing I’ve described above is the first part of the Awakened Day method: understanding your day structure and visualizing it. The really important part here is having faith that, in the long term, it will work.
So, let’s say we’ve gathered a lot of data and tracked information about ourselves. Now, we have some data to analyze. To keep it simple, let's refer to the previous chart again, but this time, let’s display it as a graph for the whole week.
With a red marker, I tracked accidents—because you can't predict life, and sometimes even something small, like a dispute with your spouse, can completely derail your day. The solution? Divorce :X. Of course, I’m kidding.
Now, with a list of situations that happened, emotions, and all the data gathered, we can pinpoint which metric has the biggest impact on productivity. For me, it was energy.
Then, the next step was about addressing low energy. We need to understand what’s causing that energy dip and how we can either prevent it or keep it stable throughout the workday. In my case, it was poor sleep habits, drinking too much coffee late in the day, and eating sugar before going to sleep (pretty healthy :D).
When changes in life are applied, you still need to measure, note, and track them. After implementing changes, such as improving sleep habits, look at the graph—now you can see real progress, and it becomes a self-motivation machine.
Every time progress appears, you see your improvement, and this encourages you to repeat the process. This is called a self-motivation feedback loop, something similar to what has been described in the Atomic Habits book by James Clear, which I can fully recommend—it’s a life changer.
You see the idea, right? Now it's time to reduce other metrics like stress and distractions, then find ways to address them, measure, and once again—feedback. It's a never-ending cycle. Does it seem robotic? Maybe, but meaningful change requires self-awareness, and without tracking your behavior, the chances of success are quite low.
Before we go further, it’s not just about sticking to the metrics I mentioned—productivity is the most important for me, but you can add many more and tackle several in a single iteration, or focus on totally different ones. That’s the beauty of it—it’s universal.
I preferred to approach it one by one to see how each change affected me. Rushing through it can blur the clarity of your data and your understanding of behaviors.
Here are more metrics you can track:
- Hunger levels.
- Sugar levels.
- Physical pain.
- ...n others—whatever you come up with or whatever frustrates you.
Just don’t be too strict with it—find a balance, choose metrics that suit your personality, monitor, and improve.
Question
So, do I need to track, monitor, and improve all the time until my life ends? Man! It's ultra time-consuming!
Answer
What’s funny is that I had the same feeling. But I guarantee that the time spent noting it and the time you’ll gain back from reducing procrastination is worth it. Over time, you’ll minimize the metrics that distract you, allowing you to stop tracking until issues arise again. It’s important to understand that becoming good at something requires consistent and steady work.
Difference Between Strategic And Tactical Goals
What is a tactic? Not everyone understands that. It’s a small, actionable plan designed to achieve one specific goal in the best possible way, guiding us toward something bigger—especially in the context of self-improvement.
Many people get lost in their plans: "I will be rich," "I will have kids," "I will land a great job," or "I will create the best SaaS." Damn, those are massive goals! If you don’t break them into smaller chunks, I guarantee 99% of you will lose focus or forget about the desired outcome.
And here is the place where the strategic approach kicks in—the way you plan your bigger goal and split each step into separate chunks that you’ll be able to solve tactically.
A strategic approach requires breaking things down. Fight these smaller problems one by one and close each of them. Then, move on to the next—similar to the Divide and Conquer technique in programming.
For example, if you split your road to becoming a millionaire into 40 smaller chunks and tackle one each week, your chances of reaching that millionaire level are much higher—and that’s a strategy.
Tactical thinking is about creating the best plan to tackle pre-split everyday problems, while strategic thinking is about creating a plan to achieve the overarching big goal, composed of those smaller steps. I know I’m repeating myself, but I’m doing that on purpose—there’s nothing worse than doing things without a plan. A plan gives you awareness, helps mitigate the impact of procrastination, and structures your longer-term goals in a way that enables you to achieve the best possible results.
Thus, strategy is the superset of tactics. With this mindset, we can create something like a roadmap that illustrates our plan to become a professional React developer, for instance:
- Learn the basics: JSX, state, props, mapping, conditional rendering.
- Understand the
key
property. - Master the
Context API
, ...etc.
Strategically, we’ve broken the long-term goal into small chunks. Now, each of them should be approached productively—as we discussed in the self-motivation feedback chapter, fighting through each shouldn’t be a problem.
For example, I set a goal: within 3 months, I want to have 4markdown.com ready for AI support. Then, I put effort into splitting this goal into small, daily tasks. I write down each task to solve per day. Automatically, without much effort or wasted time, I achieve it.
You can compare it to playing a Starcraft 2 game. At the beginning of the game, you have a strategy for how you want to win against your opponent—you’ve researched them and know what kind of strategy will work. Then, you use the best possible tactics to win the first battle, gain an advantage in the economy, and produce the best possible units. By combining strategy and tactic, you become unbeatable.
Don't Begin Until You Are Ready To Finish
The plan is simple: pick tasks for your daily plan that you can realistically finish—only those! If something is too big, like a 12-hour task but your workday is only 8 hours, split it into manageable chunks like 3x 4h blocks. Allocate these blocks to fill your workday completely—and don’t forget to leave room for breaks and meals. This balance is essential and implicitly included in the plan. The remaining 4h chunk can be tackled the next day.
Don’t tell me now—"It’s impossible to split these chunks". That’s a lie! Everything can be split. You just need creativity to achieve that ☜(゚ヮ゚☜). So, if someone says to you, "This Excel must be finished today!", be aware of the workload and respond: "I can do it, but I need help from others."
Of course, there will always be exceptions... But you get my point, right? For tasks that can be split, just do it. Estimate them (and do it right), and aim to always make your day’s task box empty. This gives a huge dopamine boost and motivation—trust me, just try it!
Mastering Eisenhower Matrix
One crucial thing to consider is priority. The worst situation is when you don’t have enough time, feel too tired, or for some reason can’t finish your daily plan. Working overtime in such cases sabotages your next day, potentially creating an endless cycle of unfinished tasks and stress.
To protect yourself, focus on finishing the tasks that truly matter—the ones that help you sleep well at night. These are the most important ones.
The 34th U.S. President, Dwight D. Eisenhower, who was also a general, introduced a method to assign priority to tasks by categorizing them into one of four quadrants. Each quadrant reflects a different level of urgency and importance.
In my daily workflow, I assign a value from 1 to 4 to each task. This simple numbering system is supported by most Todo List Apps for easy sorting. When working on collaborative projects—like 4markdown—I try to delegate tasks marked as a yellow rectangle.
Often, while reviewing my daily to-do list, I identify tasks in the purple quadrant and eliminate them right away—they aren’t needed at all. You can tweak this system to suit your needs, but the key is to focus first on red tasks (urgent and important) and then on green tasks (important but not urgent).
Yellow tasks must be done as well, but you can delegate the work to co-workers. The purple tasks can be considered optional, and there’s nothing wrong if you cannot complete them. Usually, I aim to clear all of these by the end of the day, but there are always exceptions. It’s also fine if tasks from any quadrant carry over to the next day—you can’t predict everything.
Neverending Fight With Context Switching
The amount of time each day is limited—just like our lives. Every minute wasted is frustration and burned time. Let’s say, using the previous approaches, you figured out that you usually complete 3–4 tasks per day. Let’s also assume you’ve mastered the strategic/tactical division. Now comes the first dilemma: "I’m wasting time on tasks I started one day, and the next day I waste tons of time getting back into context."
Yeah, context switching is a massive issue. According to many scientific studies, it can take up to 15 minutes to get back on track. We need to avoid that. Context switching can be caused by ourselves or external factors. While external factors are sometimes out of our control, for self-caused ones, we have a solution: the previously discussed tracking approach combined with a well-structured, split-to-be-done list.
To see how much we context switch, we can add this metric to our weekly performance metrics:
As you can see, every time we switch context, productivity drops straight to the floor.
One notable study by researchers at the University of California, Irvine, found that after an interruption, it takes an average of 23 minutes and 15 seconds to return to the original task.
Think about that—if you switch contexts 4 times a day, you lose almost 1 hour in limbo. Monitoring yourself weekly will reveal how often this happens. For me, this week, it occurred only 2 times per day, but in the past, it was as high as 4–6 times daily, or even more.
The best way to fight this is by using the gathered data to eliminate context switching caused by you and the strategic division approach combined with the Eisenhower Matrix. Here’s an example of my daily plan:
The red category highlights tasks that must be completed by the end of the day, no matter what. For example, the "coding" task related to the "sign-in feature" and writing tests is my primary focus. I’ll tackle this first and dedicate my attention solely to it.
Once done, I’ll move on to "article review," which is still coding-related, keeping my brain in the same context. Finally, I’ll address "sending emails to clients."
During my ride to the gym, I’ll read about "ETF investments." After the gym, I’ll schedule calls using my computer (doing this on mobile is counterproductive). If I only have 40 minutes left, I might decide to move "Writing posts" to the next day.
You get the idea? Do the work, but plan how to do it in a way that saves as much time as possible! I’ve divided it in a way that reduces the amount of context switching. The tasks in the red rectangle are mostly related to programming, so there will be no context switching—except for one case (sending emails to the clients), which still has very high priority.
Apps And Tools
To be honest, none of the apps I’ve tried fully align with the methods I’ve presented. That’s why I’m seriously considering creating my own app tailored to this method :D.
But I know what you’re thinking—what do I use today? I stick to the mobile version of Google Calendar, and here’s why:
- Free
- No cost involved.
- Desktop/mobile integration
- Allows me to plan on my computer, saving time when crafting my next day’s plan or tackling strategic goals (for the next 3 months).
- Circular events/tasks
- Incredibly useful for scheduling recurring tasks and saving brainpower on remembering them.
- Nice UI
- Simple and clean interface.
- Category indicators
- I use letters to represent task categories: "red, green, yellow, purple."
- Time indicators
- Tasks are labeled with the expected time needed.
- Automatic sorting
- I organize tasks the day before, ensuring I can focus on them sequentially without wasting time deciding the order during the day.
I can’t recommend anything better that fits this method. I’ve tried tons of apps, but there’s always something missing. Google Calendar may feel a bit "text-heavy," but it gets the job done.
Hang tight for a few months—I’ll update you on the progress of the app I’m creating to solve this problem :D.
Here is an example of how I’m describing it:
A Textish Way, But It Works
In addition, I have a collection of power prompts crafted for specific tasks across various AI providers. For instance:
- Reviewing articles
- Power prompts help refine sections to improve clarity and structure.
- Designing meta tags for technical SEO
- Crafted prompts ensure better visibility and alignment with best practices.
- Technical reviews
- Prompts help catch mistakes or inconsistencies in technical topics.
- Other areas
- Everything that can be automated.
All of these prompts are tailored to my writing style, based on the countless articles I’ve already crafted. Of course, everything requires manual review, but that’s where delegation comes in—according to the fourth column of the Eisenhower Matrix (Delegate), tasks like these can be handed off to someone else.
Here’s an example of a power prompt:
I'm writing an article about [TOPIC]. Please help me with:
1. Grammar - use light and easy-to-understand, grammatically correct English.
2. Always, and only, return just the content. Do not add any descriptions, hints, or explanations - just return the response.
3. Always use "-" instead of "—".
4. Do not remove the original markdown format that I've pasted.
5. Do not change the letter casing in headings.
6. Technicality - if I describe something unclearly, align it with reality.
7. If there is a huge mistake, then, and only then, throw a warning and let me know I'm wrong.
Is that clear?
The great news is that you can craft as many of these as you want and simply store and paste them before starting a conversation with Chat GPT or other tools.
Struggling Against Distractions
One of the biggest problems I faced was distractions. A mobile phone lying on my desk during work was like a summoning portal—it constantly called me to use it. The same happened whenever I picked up the phone—the flood of colorful, enjoyable app icons successfully pulled me away from my daily work. It sucked.
As mentioned earlier, there’s no universal way to deal with distractions. However, my doctor suggested a method during one visit:
- After 4:30 PM, post-work, put your phone in "black/white" mode and schedule this every day.
- Lock the phone in a drawer with a key and give the key to your wife.
- Spend the rest of the day enjoying time with your family.
This straightforward method works wonders! It’s incredibly frustrating to hear my wife say, "OMG, again??" every time I reach for my phone. But her complaints serve as the perfect nudge to set it aside, helping me focus on quality family time, enjoy a walk, or simply unwind.
Ok, but what about during work hours? How do you avoid using your phone and procrastinating? The method can be similar, but some of you might need to use your phone for work. In that case, I recommend changing your environment (a concept from the Atomic Habits book I mentioned earlier).
Here’s what worked for me:
- Use a small gadget or marker on your desk to signal work mode.
- Keep your phone out of sight.
- During work, I use a 30-minute hourglass. This helps me focus for a full session. When the time’s up, I walk away from my desk, grab food, or do something relaxing during the break.
Repeat, combine, test, and experiment with these methods as much as you like—the goal is to discover what truly works for you. The key is turning it into a routine because every positive habit thrives on consistency, just like negative ones :/. You won’t become addicted to smoking after just one cigarette, but try it several times, and voilà—you’re hooked.
I Use An Hourglass To Divide Working Time
Learning With Passion
Humans can do things much faster and better if they’re passionate about what they’re doing. Try to enjoy what you need to learn. I know it sounds odd—going from zero knowledge in a topic to falling in love with it. But every time I start learning something new, I try to convince myself that I like it, and after some time, it actually happens (¬‿¬). Maybe it’s just me, but here’s how it works:
- I find something new to learn.
- I try to discover the best use cases for it. If it’s programming, I dive into fancy areas and focus on the most interesting parts.
- If something is hard or boring, I use AI to understand it in a "more enjoyable" way. With the AI era, learning new concepts has become extremely easy.
Another thing I do is write an application for what I’ve just learned. This is my unique way of reinforcing new knowledge. For example:
- When I wanted to understand music theory while learning guitar, I crafted jamjambeings.com.
- When I wanted to learn how to write articles, I created greenonsoftware.com.
- When I realized writing in "MarkdownToJSX" format was boring and hard-coded in an IDE, I built 4markdown.com.
App That I Created To Learn Music
You see the pattern? It’s like taking an exam, but it also improves my main skill—programming. This approach might not work for everyone, but it works great for me because it aligns with my long-term (strategic) goals.
Currently, I’m building other applications to deepen my knowledge in different areas:
- Investment.
- Diet and Health.
- Time management and productivity.
I could list even more—I have at least 160 repositories on my GitHub, and many of them aren’t even deployed :D. Yes, I have ADHD, and a lot of them are pure garbage.
Using All That We've Learned
It’s time to put it all together. Let me take you through how it works in real life by stepping into my shoes. Imagine it’s one year ago—the beginning of 2024. I’m sitting at my desk, thinking about the goals I want to achieve in the next 3 months.
Here’s what I crafted:
- Finish the 4markdown.com app.
- Learn advanced Figma tricks/concepts to improve design skills.
- Read 2 books about investments.
- Write 12 articles.
- Post on my LinkedIn profile every day.
- Resolve skin issues (I have problems with atopia).
- Learn the basics of car maintenance (read 1 book).
- Write the first 3 chapters of my personal course.
- Create a monorepo and migrate all personal projects to reduce maintenance.
These are the goals I’ve set to achieve by March 31. On that same day, I’ll outline a plan for the next quarter. With a strategic plan (long-term goals) already in place, I’m prepared to tackle each daily task tactically—using insights from the data I’ve gathered about my work habits and eliminating factors that hinder productivity.
- Day 1: Read 20 pages from a book about investments, add a PR for the comments section widget, ...others.
- Day 2: Write one chapter of an article, answer an email from a lawyer, pay taxes.
- Day 3: Watch a tutorial on advanced Figma tricks, learn the masking technique, learn 1 design pattern.
- ...and so on.
These small steps guide me toward achieving my strategic goals. While working, I constantly measure my focus, attention, emotions, and other metrics mentioned earlier. If something unusual happens, I write it down and analyze what consumed the most time.
The strategic goals aren’t the only things I work on—I also have my job to manage. Every day, I prioritize tasks, ensuring that by the end of the day, I won’t feel guilty for leaving something unfinished.
If there’s something I can’t complete, I move it to the next day and continue the cycle. By repeating this process consistently, I maximize the use of my time while staying productive and focused on long-term objectives.
This approach ensures that my time is optimized and every effort contributes toward meaningful progress. Here is a quick showcase of the algorithm:
My Achievements In 2024
I’ve been using this approach for at least 2 years since the burnout and depression episode I mentioned earlier. Over time, it has evolved, been refined, and adapted so much that it’s now nearly perfect for me—and I rely on it daily. To reflect on what I’ve accomplished over the past year, here’s the list:
- 412 handcrafted, code-related posts on my LinkedIn profile.
- Nearly 3,000,000 post views—a 1000% increase compared to the previous year.
- 49 articles written for 4markdown, GreenOn Software, and guest contributions to other platforms.
- Consistent monday-to-friday, full FTE 8-hour workdays for clients at Billennium.
- Gained 18,000 LinkedIn followers.
- Built a new app—the one you’re enjoying right now to read this delightful article ❤.
- Conducted 61 one-to-one consultations, ranging from 1 to 3+ hours, with an average score of 4.74.
- Helped 5 people successfully land jobs in IT.
- Built a huge web development knowledge base (currently crafting a course from it (☞゚ヮ゚)☞).
- Passed my driving license exam after a 10-year break and 11 attempts XDD.
- Delivered 14 unique presentations and 31 talks in total.
- Met an enormous number of new and amazing people.
- Drastically reduced my work hours from 12+ to 8-10 hours per day, depending on the day. I’ve stopped working weekends, sticking to monday-to-friday only.
- Acquired new skills in Google Cloud, Deno, AWS (additional services), Svelte, NX concepts, and various other smaller technologies.
- Began creating a new site for booking consultations (30% ready).
- Created a Discord community and actively help people there (currently 252 members).
- Started posting on other platforms weekly.
- Started collaborating with others to build something bigger—a new app for diet management to help people lose weight with AI.
Random Stats From LinkedIn
Don’t get me wrong—I’m not claiming to have discovered the holy grail. This is simply a testament to how much we can accomplish when we manage our time effectively. And the best part? When everything is done productively, there’s still plenty of time left for real life, not just boring work ☜(゚ヮ゚☜)!
Summary
Holy moly, that was a ridiculously long article, but I hope you got my point. Don’t be too robotic, but don’t be too relaxed either. Find the balance of pressure that works best for you :X. I’ve reinvented, reconfigured, and completely overhauled my workflow more times than the number of apps I’ve left unfinished. But solid work habits? They make life easier, streamline your tasks, and drastically cut down on wasted time.
When I look back at my old chaotic workflow, the difference is huge. The changes I implemented—task categorization, prioritization, long-term planning, and cutting down on wasted time—have unlocked so many extra hours.
For instance, instead of writing one LinkedIn post each day and losing 5 minutes to context switching, I batch-create them all on Sunday for the entire week. That saves me 5 minutes every morning, adding up to 35 minutes a week. Yes, I know, I might be a bit obsessive :D.
Cya, and good luck!