Personal

The Internal Protest: Parenting Your Own Procrastination

January 25, 2026 Personal, Productivity No comments

My 9 year old son has been giving me a bit of a challenge lately, like protesting all the time, not wanting to go out, not listening to anything, saying “no” to everything, well you get it, all kids do this at some point and then again at some other point. So tiresome, but, well, this post is not about parenting.

While he has an adult to protest against, I realized that his external protesting is identical to the internal protesting I feel fairly often, and each one of us feels at times. We just don’t feel like doing something. It is likely a very similar mechanism to what kids experience except we are adults to ourselves. One part of our brain knows we “have to” do something, while the other part resists, looking for a shortcut or a break, like telling yourself that you will do it tomorrow. You know, tomorrow that mysterious place where 99% of human productivity is preserved.

Gemini LLM generated hacking of the Temporal Motivation Formula based on contents of this blog post.

In adults, this resistance usually looks like procrastination. Sometimes it is just watching Netflix or doing literally nothing. This form of procrastination is bad if it is supplemented with feelings of guilt. But often procrastination masks itself as productivity. One of my past coworkers once told me he “procrastinates by doing work.” He would avoid the one terrifying, high-impact task by doing ten smaller, easier tasks.

I do this too. If I have to work on a complex design document that requires untangling a messy legacy system, I might find myself refactoring some code instead or tidying the issue tracker. It feels like work, but it’s actually a form of avoidance. There is a term for this. It’s called structured procrastination.

I’ve often wondered if people who push through the pain actually get further (“no pain – no gain”) or if this is a recipe for burnout and failure. Do the structured procrastinators find their own path to success?

In the past I found some personalized ways of dealing with my own procrastination, such as: self-imposed deadlines, external visibility and accountability. Structuring things and setting very clear goals works best for me. While these mechanisms work fairly well, they have a ceiling pushing beyond which leads to frustration and burnout. So I was thinking what is that key solution that would truly keep you going in a sustained manner and bring internal satisfaction.

By looking at some of the psychological research on this, it appears a few things are key to this:

  • Self-determination theory suggests that human motivation relies heavily on a sense of autonomy. My son does not like it when I tell him to go out for a run or a walk because he has no choice, but he sometimes joins me in the garage to kick the punching bag or “lift weights”. You might not enjoy that your project is basically given to you by your boss without your own input.
    • Lowering activation energy. When dealing with large tasks oftentimes the hardest is just overcoming the initial 2 minutes of starting the work and that’s it. The protest is usually about the start, not going. Once my son starts doing something he usually gets through it. When I start some unthankful task at work I usually bring it to the end.
  • Not feeling guilty. Procrastination is a stress-relief mechanism in a way. If you feel guilty about procrastinating you feel stressed, which makes you want to procrastinate even more. Beating yourself is counterproductive, instead just resetting next time without guilt is so much better. In one of my posts I wrote “starting something and then failing is OK as long as you start the cycle again and again, pushing the time of a failure further and further away in any given cycle” as such connecting periods of higher motivation together creating an upward trend.
  • Temporal motivation theory explains why “tomorrow” is a graveyard for human productivity. Here is the formula:
  • Where:
    • Expectancy: How likely am I to succeed?
    • Value: How big is the reward?
    • Impulsiveness: How easily distracted am I?
    • Delay: How far away is the deadline?

If we don’t see value in something or if we think our chances of succeeding are not high our motivation drops. Likely, my son doesn’t see much value in going out for a run with me and his expectancy of enjoying or succeeding is very low. Similarly, if the deadline is approaching sooner our motivation increases. Having the formula above in mind is helpful, so instead of pushing with “willpower” you can do few tricks:

  • Decrease the denominator by shortening the delay via micro-deadlines (like completing sub-task by end of day).
  • Increase the numerator either by clearly connecting the value of your work to a big goal (like this weightlifting today will make me more attractive) or increasing chances of success (I cannot run 10k, let me run 5k so I can do it).

Conclusion

When my son protests he isn’t trying to be difficult. He is just experiencing a low in his motivation equation, maybe the task feels imposed, too difficult, or low value. As an adult, I have to parent myself with the same empathy. Instead of beating myself up for “being lazy”, which only increases stress and procrastination, I need to move the levers that I know work and have worked for me in the past:

  • Restore autonomy. Remind myself I choose to do this.
  • Lower activation energy. Just start for 2 minutes.
  • Not feeling guilty. Instead, restart with new energy and do better next time.
  • Hack the formula. Create micro-deadlines and easier wins.

Either way, we need to find proper ways to self-parent ourselves. Good luck.

.


No comments


Escaping the Local Maximum: Hill Climbing and Paying Debts

December 27, 2025 Career, Personal, Success 2 comments

I would like to talk about something that might be hard to accept and might trigger the feeling of regret but that’s an important topic we must entertain in our brains. Ask yourself a question: If you are climbing a hill right now, is that the highest hill you are capable of climbing?

In computer science, a Hill Climbing algorithm can get stuck at a Local Maximum, a peak that is higher than everything immediately around it, but significantly lower than the highest possible peak, called the Global Maximum. To reach the Global Maximum, you first had to walk down the hill leaving comfort, taking risks, and crossing the valley of uncertainty to reach the right hill and then climb again.

I have climbed too many local maximum hills in my life. The most prominent was my time at the United Nations (IAEA) in Vienna, Austria. UN is a highly prestigious place to work, offering a tax-free salary, numerous perks, that might include education subsidy, extra long paid vacations, great pension payments, etc. If you get high enough you even get a diplomatic passport and be treated as a VIP anywhere in the world. Life in Austria is very stable, you get an incomparable quality of healthcare, and a great free education for kids. It is just the pinnacle of stability and quality of life you can get in central/western Europe.

One of the interesting aspects of working there as a software engineer was that I had to read some very old code. There were not many people I could consult about that code, as the people who wrote it have either retired, or…  died. I recall my interactions with much older colleagues at work and this made me realize that that place, while very prestigious and comfortable is exactly that – way too comfortable. A place to work towards your retirement, not the place to thrive and grow.

The problem is that you cannot realistically climb any higher. Even if I were to spend a good 10 years to reach a director level (unlikely) I would still be limited by “Noblemaire Principle” and my income and net worth, despite being very high in comparison to other salaries in Austria, will grow very linearly. Just to pull some numbers, a director at UN would probably make just <200K$ net, when a senior engineer with just a handful of years of experience at FAANG in the US would be taking home (after tax) a lot more than that. In a summary: D1 at UN is the peak of that specific hill. Hard to get, hard to maintain, capped upside. When merely L5/L6 at FAANG is still close to the base of a gigantic tech hill that is almost uncapped upside.

Moving to Canada, going through years of uncertainty (another immigration process), was my climbing down of the Local Maximum hill only to climb a bigger hill. In a way that was paying “Immigration Debt” in the valley. I worked for Amazon for a good 2.5 years and after switched to Google, which was a great boost to my income and career trajectory. Unfortunately I was still climbing the wrong hill out there. Yes, a lot bigger than the previous hill, but still not the biggest hill on the horizon. At the same time, gaining more certainly by becoming Canadian was my walk along the valley and staying at the “base camp” for a period of time just to get to the next big hill more comfortably.

The debt is not always just temporary paycheck cuts or discomfort of moving, sometimes the debt comes in the form of relationships. I had my university friends back in Ukraine, and my connection with them slowly and gradually decreased as I moved to Austria. These days we don’t even wish each other happy birthdays. The same happened when I moved to Canada. I still have a base of good friends in Austria, but the timezone difference made it challenging to keep the connection. When I visited Austria two years ago it was great to meet all of them, but unfortunately that’s the high price I am paying for moving around. The same has happened again by moving to the US, some friends are just north across the border. I have friends everywhere but the depth of connection is dissolving.

I am now at Meta in the Seattle Area, looking up at this very big mountain. It is a challenging, rewarding ascent, and I am focused on the path ahead. The “risk” of down-climbing from Vienna paid off with a trajectory I couldn’t have imagined back in Europe. Because I have down-climbed before, I no longer fear the descents. Life is a struggle, I accept it, if in some years spot a higher peak, maybe one with a different terrain or climate, whether it’s an updated career growth or something else, I won’t hesitate to pack my gear, walk down into the valley, and start climbing again, ready to pay the price again.


2 comments


Passion vs. Fear: What Tony Fadell’s BUILD Taught Me About Overthinking

December 14, 2025 Book Reviews, Opinion, Personal No comments

I needed a reminder today that things sometimes get tough. It is important to understand that everybody ‘fights their own demons’ and you are not alone. Everyone around is struggling, sometimes you see this, but most of the time you don’t. 

To be brutally honest, I’m a big overthinker. I go through all possible and impossible scenarios in my head. This often leads to me spending too much time on some problem, almost getting to the state of paralysis, but sometimes this does pay off. I remember years ago, I worked on a migration of a service, I simply could not get to sleep before checking each and every edge case. The thing worked perfectly, but how much mental capacity it had consumed was probably overboard.

Even the most successful founders and people around have similar struggles. I just finished reading “Build: An Unorthodox Guide to Making Things Worth Making” by Tony Fadell, creator of iPod and Nest. I’m bringing it in this context because there are chapters on personal growth, struggles of building something, making mistakes, learning from those mistakes, and rising again after making those mistakes. Fadell doesn’t pretend the anxiety and stress aren’t there. Instead, he offers a framework for navigating the chaos. Here are some takeaways:

Killing Yourself for Work

One of the chapters in the book talks about the difference between ‘working hard’ and ‘killing yourself’, one coming from passion and being driven to build great things, and another coming from fear (being terrified of what happens if you don’t work hard). I found for myself that I do like to work hard, but also need to be honest about the source of that drive. If passion that’s sustainable, if fear then it is not.

Failure is the Data; Fear of being wrong

Fadell talks about his time at General Magic as a spectacular failure that taught him everything. It reminded me that my ‘overthinking’ is really just fear of being wrong. I am often fixated on avoiding mistakes, but the only people who do nothing make no mistakes. Failure is just data for the next iteration.

Data vs. Opinion; Avoiding “analysis-paralysis”

My paralysis usually comes when I’m looking for data that doesn’t exist. The book simply says that sometimes data isn’t there (yet) and it is ok to bet on your intuition and just move (“just do it” as Nike’s slogan says). Overthinking without data or with made up data is just spinning wheels and wasting energy.

The Crisis Point

The author argues that any meaningful project will have a ‘Crisis’ point. I realized that in my career I had so many projects where it really felt that things were about to fall apart only to find a way to still ship things in the end. Stress during those times is normal, it is just part of the process. If you had zero stress, then it is likely you were not pushing yourself or your team outside of the comfort zone.\

Conclusion

There are so many other great chapters in the book, like “Why Storytelling”, “Assholes”, “Heartbeats and Handcuffs”, “How to spot a great idea”, and so many more, but one lesson I’m taking from the book today is that the path of success and growth is always hard, often filled with failures, stress, and hard work. If you are driven by passion and wanting to make a difference, then push for this, but if your hard work is coming purely from fear, it might be a good time to take a break and see what you can learn.


No comments


AI Toolkit Research for Software Engineer 

November 29, 2025 AI, Personal No comments

Disclaimer: I do not promote any of the tooling mentioned in this blog post nor have I used the vast majority of them. All of the text written by me is my personal opinion. All of the text generated by LLM is its creation – I will be explicit where it is LLM and where it is me.

Unlike most posts where I make emphasis on my own experience and writing by myself, this blog post will be assisted with LLM, but in a good way. I want to create a comprehensive AI toolset list to explore for myself. Although it will have some tools very specific to my personal needs (like climbing) I believe you can apply the same approach to get your ideal list. This could have been LinkedIn post “Definite list of AI tools you must use” but I cannot stand those posts. This is just idea on how you can come up with your own list:

Step 1: Refine research plan

Prompt: “Refine this prompt: Perform research on the landscape of currently available LLM products and AI tooling for both professional and personal development for the user profile and wider audience, using referenced examples of already used tooling. User Profile: A Software Engineer at a big tech company in the Seattle area. Family with two kids, sports (climbing, Muay Thai, running), writing blog posts, coding for fun, and wondering about life in general. Researching topics such as: health, finance, 3d printing, writing about tech, coding, taxes, parenting, relationships, career decisions, trip planning, real estate, etc. Reference examples:  ChatGPT, Gemini (deep research, chat, image gen), Claude Sonet for coding, locally running small LLMs, trying out different AI startups for intermittent tasks.”

The above text was me. The below text is the proposed research plan by LLM:

(1) Research the current landscape of major LLM products (such as ChatGPT, Gemini, Claude) and emerging AI startups in late 2025, specifically analyzing their capabilities for professional software engineers (coding agents, debugging, architecture design).
(2) Investigate the ecosystem of open-source and locally executable LLMs (compatible with Ollama) and privacy-focused tools suitable for a tech-savvy user running consumer hardware.
(3) Search for specialized AI tooling and applications tailored to the user's specific hobbies and creative interests:
(a) Sports performance analysis for climbing
(b) Sports performance analysis for Muay Thai
(c) Sports performance analysis for running
(d) 3D printing modeling and slicing optimization
(e) Technical blogging and creative writing assistance
(4) Find AI resources and tools assisting life management, covering:
(a) Parenting, education, and kids' activities in the Seattle/Bellevue area
(b) Real estate market trends and housing analysis in Vancouver, BC
(c) Personal finance, tax preparation, and investment tracking in the Seattle/Bellevue area
(5) Explore AI interfaces designed for broad life topics, such as philosophical conversation, relationship coaching, career development planning, and travel logistics.
(6) Synthesize the findings to categorize tools by professional utility versus personal development, comparing them against the user's current stack (ChatGPT, Gemini, Claude, Ollama) to identify gaps and superior alternatives.

Step 2: Run multiple researches and synthesize takeaways

I’ve run 4 reports with the above prompt or some variations of it. In the end I got four 20 page documents. After skimming through them it is obvious that either: a) some info is outdated, like recommending Claude Sonet 3.5 when I’m already using 4.5; b) recommendations are too generic; c) some sections were too verbose and some too short for my needs; d) some recommendations are contradictory, for instance using Ollama for privacy and then suggesting some startups that suggest uploading private data to small startups.

One idea I had was to feed all documents into another research specifically asking for summary with bullet points. Unfortunately the result was a 5th document of not better quality. Another approach I took was: “Create a maximum 5 pages summary from the four similar documents. Do bullet points. Keep links to websites. Do NOT do research.” This gave much better results.

Step 3: Edit the result

So I’ve got approximately what I need. The next step was to iterate a few times on the list. E.g. I asked LLM to add a list of general health and longevity tooling following the same format. Copy-paste, read through, and add more sections. The appendix text in the end is the list by AI, with minor edits from me.

Step 4: Action Plan

It is obvious that I won’t be trying all of the tooling (that would be crazy) but to do exploration of what’s available and within my area of interest. As an action plan I highlighted some tooling to use and play with below or use more actively:

  • llms.txt – a file to be added to this blog post so AI knows how to read it.
  • Ollama: The CLI standard for running local models. Already using it, but probably use even more. (got M4 apple processor with 32Gb memory so some LLMs run just fine).
  • NotebookLM: Google’s AI-Powered research partner. Have seen demos of this one and should try.
  • Belay AI: analyzing center of mass and hip trajectory when climbing. Didn’t know such a thing existed. Would be curious to try out.
  • Garmy: Python library and MCP server linking Garmin data to Claude Desktop or Cursor for agentic analysis. Sounds like something I would like to play with next.
  • Meshy: Converting prompts to 3D models. Already tried but wan’t too happy with the results. Will give it another try.
  • Layla & Wanderlog: AI travel agents. Used general LLMs for my travel planning before but will be curious to try tailored tool.
  • Orai: Pocket AI coach analyzing recordings for filler words, energy, and clarity.

Conclusion

I believe the AI and LLM tooling landscape is very saturated. There is a tool or a startup for almost anything you can think of. The point is not the specific list but how I arrived at it and how it is tailored to my needs. In this blog post I provided a method at arriving at your own list of AI tooling that is applicable specifically to you.

Alert: wall of text below.


APPENDIX: THE RESULT


Disclaimer: I am not advertising or promoting any of the tooling below, have no affiliation to any of the companies or products mentioned. The text below is generated by LLM. I only reviewed it.

Executive Summary: The Shift to Agentic Workflows

The technological paradigm has shifted from “Chatbots” (passive Q&A) to “Agents” (active execution). The competitive advantage in 2025 belongs to the “Augmented Architect” who orchestrates specialized AI entities to manage full-stack development, complex financial engineering, and physical performance.


1. The Professional Engineering Workbench

The modern workflow bifurcates into Integrated Agents (living in the IDE) and Headless/Terminal Agents (operating autonomously).

The Battle for the IDE: Cursor vs. Windsurf vs. Copilot

  • Cursor: The “Architect’s Instrument”.
    • Best For: Heavy refactoring and legacy codebases.
    • Key Feature: “Composer” and “Shadow Workspace” index the entire codebase to predict multi-line edits and handle global refactors.
    • Model: Uses Claude 3.5 Sonnet for superior code structure nuance.
    • Pricing: $20/month; generally preferred by power users over Copilot.
  • Windsurf: The “Flow State” Facilitator.
    • Best For: Greenfield projects and rapid prototyping.
    • Key Feature:Cascade” flow tracks user actions (terminal commands, clipboard) to infer intent, actively running tests and fixing errors.
    • Differentiation: Focuses on keeping the developer in “flow” rather than granular control.
  • GitHub Copilot: The Enterprise Incumbent.
    • Best For: Corporate environments with strict compliance needs.
    • Status: Now includes “Agent Mode,” but critics note the chat often feels disconnected from the editor compared to AI-native rivals.

Command Line & Autonomous Agents

  • Claude Code (CLI): A terminal-resident agent that replaces the chat interface. It can navigate directories, read files, execute Unix commands, and handle large-scale refactoring.
  • Cline / Roo Code: Open-source VS Code extensions that act as “Headless Developers.” They can execute terminal commands and create files autonomously, allowing for a “Bring Your Own Key” (BYOK) model.
  • Deep Think Models: Google’s Gemini 2.5 Pro utilizes “parallel hypothesis testing,” allocating a “thinking budget” to simulate System 2 thinking for architectural reviews and debugging race conditions.

The Sovereign Stack: Local Inference on Apple Silicon

For IP protection and privacy, running models locally on M3/M4 Max chips (Unified Memory) is the standard.

  • Ollama: The CLI standard for running local models (like Docker for LLMs).
  • LM Studio: A GUI alternative for discovering and testing models.
  • Top Open-Source Models:
    • DeepSeek-Coder-V2: Uses Mixture-of-Experts (MoE) for high reasoning with efficient inference; ideal for logic-heavy tasks.
    • Qwen 2.5 Coder: The premier open-source choice for daily coding, rivaling GPT-4 in benchmarks (88.4% HumanEval) and running on 32GB+ RAM.

Career Engineering & Strategic Presence

Interview Intelligence (The “Copilot” Era)

  • Final Round AI: Real-time “Interview Copilot” offering transcription and live hints.
  • InterviewBee AI: Adaptive mock interviews that dynamically adjust difficulty.

Strategic Networking & Personal Branding

  • Supergrow: LinkedIn growth tool generating tone-matched content from past posts.
  • Taplio: Identifies viral technical topics and drafts high-visibility posts.

Performance Engineering (Automated Brag Docs)

  • Lattice AI: Auto-drafts reviews, translating engineering metrics into business impact narratives.
  • Fellow: Auto-generates “Brag Docs” by tracking wins from 1:1s year-round.

Public Speaking & Leadership Intelligence

Voice Cloning & Auditory Feedback

  • ElevenLabs Voice Cloning: Clones your voice to objectively audit delivery and identify awkward phrasing before speaking.
  • Orai: Pocket AI coach analyzing recordings for filler words, energy, and clarity.

Simulation & Real-Time Coaching

  • Yoodli: Simulation platform providing private analytics on eye contact and pacing during practice speeches.
  • Poised: Real-time meeting assistant offering live, private feedback on speaking speed and confidence.
  • VirtualSpeech: VR-based training for practicing presentations in realistic 3D environments (e.g., boardrooms).

2. Wealth Management

For a Seattle engineer with RSUs and complex taxes, standard budgeting apps are insufficient.

The “Finance as Code” Approach (Privacy-First)

  • Beancount: A Python-based double-entry bookkeeping system that stores financial records in plain text. It treats finance like code (version control, CI/CD).
  • Fava: The web UI for Beancount.
    • Fava Investor Plugin: Calculates IRR and tracks asset allocation across disparate accounts.
    • Automation: Python scripts (e.g., wash-sale-tracker) can parse trade history to track wash sales and automate RSU vesting tracking.

The SaaS Optimization Route

  • Prospect: Specialized for tech employees with ISOs/RSUs. It models tax implications of exercising options and calculates the “AMT crossover point” to prevent surprise tax bills.
  • Compound Planning: Tracks net worth across illiquid assets and models scenarios for RSU vesting and tax cliffs.
  • StockOpter: Specifically addresses equity compensation guidance and AMT modeling.
  • HouseSigma: Essential for the Vancouver, BC market. Uses AI to provide “Sold” history and valuation estimates, unlocking data previously gated by realtors.
  • VanPlex: Analyzes zoning data to identify “under-utilized” lots suitable for multiplex development (Bill 44), aiding in investment arbitrage.

Financial Education & Investment Intelligence

Tools for deep research, interactive learning, and risk-free simulation (Paper Trading).

Deep Research & Earnings Intelligence

  • AlphaSense: Institutional “semantic search” for broker research and earnings calls; highlights off-script management answers.
  • Quartr: Mobile access to live earnings calls/transcripts; “search across audio” finds specific keyword mentions instantly.
  • FinChat.io: “ChatGPT for Finance” providing sourced answers from verified 10-Ks/10-Qs to minimize hallucinations.

Interactive Education & Family Literacy

  • Magnifi: AI investing tutor; explains portfolio balance and stock fit via conversational interface rather than just charts.
  • Zogo: Gamified literacy app for families; breaks complex topics into bite-sized modules with rewards.

Simulation & Practice (Paper Trading)

  • Thinkorswim: Institutional-grade paper trading with “PaperMoney” to test strategies risk-free.
  • Webull: UX-friendly platform for beginners to practice trading mechanics before deploying capital.

3. The Quantified Athlete: Physical Intelligence

AI is transitioning from logging data to providing active biomechanical coaching.

Rock Climbing

  • Belay AI: Uses computer vision (pose estimation) on a smartphone to analyze center of mass and hip trajectory, identifying micro-inefficiencies in movement.
  • KAYA Pro: Digitizes climbing sessions and calculates “Workload” to prevent overtraining. It filters “beta” videos by body morphology (e.g., finding beta for a specific height).
  • Lattice Training: Uses datasets to benchmark finger strength and build periodized training plans.
  • Crimpd: Utilizes analytics to prescribe hangboard workouts and manage training loads.

Muay Thai & Running

  • Sensei AI: A virtual coach for Muay Thai that analyzes shadow boxing via camera. It corrects hip rotation on kicks and guard retraction.
  • RunDot: The data scientist’s choice. Uses “Environment Normalization” to adjust pace targets based on heat/humidity, ensuring constant physiological stimulus.
  • Runna: Focuses on UX and community, gamifying the training process for better adherence.

General Health & Longevity Intelligence

The intersection of “Quantified Self” and AI for preventative health and programmable biology.

Developer-Friendly Health Data

  • Garmy: Python library and MCP server linking Garmin data to Claude Desktop or Cursor for agentic analysis.
  • HealthGPT: Open-source iOS app using on-device LLMs to query Apple Health data privately.

Longevity & Preventative Analytics

  • InsideTracker: “Programmable” biology platform; integrates wearable APIs and uses Terra AI to map blood biomarkers to peer-reviewed optimization protocols.
  • Function Health: Deep clinical baseline with a 100+ biomarker panel for early detection and chronic disease prevention (closed system).
  • Superpower: Accessible longevity diagnostics and biological age tracking at a subscription-friendly price point.

4. Creativity & Fun

Bridging the gap between software and physical artifacts.

3D Printing Stack

  • OrcaSlicer: The “Open Source Victory” for 2025. Offers granular control (jerk/acceleration settings) and “Scarf Joint Seams” for aesthetics.
  • Obico: AI failure detection (spaghetti detective). It monitors the print bed via camera and pauses prints to prevent fire/waste. Can be self-hosted on a Raspberry Pi.
  • Zoo (formerly KittyCAD): “Text-to-CAD” API. Generates editable, parametric CAD models (code-based) rather than simple meshes.
  • Meshy: Generates 3D assets from text prompts, best for rapid prototyping or game assets.

Knowledge & Blogging Pipeline

  • Repo-to-Blog: A workflow using Gitingest or GitHub Actions to convert codebases into token-optimized summaries. These are fed into LLMs to automatically generate technical “DevLogs” from commit history.
  • Obsidian + Smart Connections: A “Second Brain” setup where the plugin uses local embeddings to allow you to “chat” with your notes vault.
  • llms.txt: A new standard for 2025. Adding this file to a personal site makes it indexable by AI agents.

Music Exploration & Vibe Matching

  • Spotify AI Playlist: Generates playlists from creative text prompts (e.g., “songs for a rainy cafe”).
  • PlaylistAI: Creates playlists from text prompts, images, videos, or festival posters.
  • Maroofy: Search engine that matches songs by “audio vibe” rather than just artist similarity.
  • Cyanite: Advanced “Free Text Search” to find songs matching specific moods or descriptors.
  • Music-Map: Visual tool that creates a floating “cloud” of related artists based on fan affinity.
  • NotebookLM: Google’s research tool; upload your concert history/venue calendars to create a custom event finder.
  • HyperWrite: AI agent capable of browsing the web to find specific tickets or venue schedules for you.

5. Life Logistics

Tools acting as “Chief of Staff” for the household.

  • Ohai.ai: Ingests unstructured data (screenshots of flyers, voice memos) to manage family calendars and conflicts.
  • Milo: An SMS-first family assistant (powered by GPT-4) that manages logistics via natural conversation.
  • HomeZada: A digital home management platform that uses AI to predict maintenance costs, schedule seasonal repairs.
  • Familymind: Synthesizes school PDFs and sports schedules into a master calendar.
  • Layla & Wanderlog: AI travel agents. Layla handles discovery/booking; Wanderlog optimizes daily routes and logistics while traveling.
  • Magic School: Generates personalized tutoring content and educational activities.


No comments


Don’t Outsource Your Thinking: Why I Write Instead of Prompt

November 23, 2025 AI, Blog, Opinion, Personal No comments

Original content by Andriy Buday

I’ve been asked multiple times about my writing process, how I keep consistency, and why I write blog posts at all. Who in their right mind spends multiple hours weekly to write when there are LLMs that generate the same quality text within a minute? Let me share my secrets and answer these 4 questions:

  1. Why do I write at all?
  2. Isn’t it all just a waste of time because of LLMs?
  3. What’s my writing process?
  4. How do I stay consistent?

Image credit: Gemini Nano Banana Pro. I admit the image is cheesy, lol, but it’s also fun.

Why do I write at all?

Writing is structured thinking

Over time I confirmed to myself that ‘writing is thinking’ but also unlike speaking or thinking in my head writing is a structured way of thinking. You get the privilege of ‘parking’ some thoughts for further elaboration, you get the privilege to validate your thoughts with external research, you get all the privilege to mold things and shuffle them around, decompose and synthesize again.

Writing is a transferable skill

Undeniably writing is a skill, but, in my opinion, it is a transferable one. By working on improving my process of writing it becomes easier for me to write documents at work and the easier for me it becomes to write my personal documents (financial planning, goal setting, emails, etc). The more I write the easier it is to overcome that initial ‘hurdle’ of starting a new document. I am a doc producing machine at work: meeting notes – I’ve got it; short design doc – I’ve got it; just documenting my work trip – I’ve got it; producing ‘announcement’ document – I’ve got it. None of it seems daunting. I also wrote a post on “Why documenting everything you do at work matters” believing it is beneficial for your career, especially performance reviews and promos.

Isn’t it all just a waste of time because of LLMs?

Producing vs. Consuming

Here is a big secret, my dear readers: I’m writing mostly for myself, and I have a strong argument why it is worth my time instead of just prompting LLMs. For the sake of argument, I just kicked-off Gemini’s ‘Deep Research’ on the topic of tech writing, answering 4 questions from above. I’m confident that in ~3 minutes I will have a PhD level research paper on this topic. What do I gain from that research? What do you gain from that LLM research? Well, we become consumers – I can read that research paper and, for sure, that will have many punchy arguments and external pointers to like 100+ websites to learn from, but this trains our “info => brain” path, this does not train our “brain => info synthesis” path. Very specifically, next time when you need to produce new information, your retrieval/producing ‘paths’ in your brain are not trained for that.

Numbers

Let’s also do some numbers to see the worthiness of this activity:

  • Range of 2-5 hours per week writing blog posts. It is closer to 2h for writing itself like this post and closer to 5h for larger technical/coding posts.
  • 370 blog posts so far.
  • 800 comments with praise/admiration and additional insights I was missing.
  • Only 3k pageviews/month and only 50 mail subscribers.
  • I have no ad income (I made some <200$ in the past as an experiment).
  • In a way, the blog is an ‘Ad’ of myself.
  • Up-scalling my tech writing skills.
  • Hardly measurable influence on my career growth, but it’s definitely there.

What’s my writing process?

Sourcing Topics and Info

To be honest, at times it is very challenging to come up with new blog post ideas and even when I have an idea expanding on it is also quite a tedious process. I have a “blog post ideas” document which just sits there in my Google docs. Whenever something crosses my mind I would add it there. Another source of ideas is just some question I would get from someone either at work or in my personal conversations. For instance, this blog post was inspired by a person asking about my writing process as he was struggling a bit with writing some roadmap/design document at work. I hear you. This blog post is for you.

Writing Process Itself

At very early stages I usually start with just pouring thoughts and ideas in raw, unfiltered, and very unstructured ways. This is just the expansion step of my framework of dealing with ambiguity. At this stage focusing on quality, perfection, structure is counter-productive. If this is a technical design document, then some template for structure is usually already given, so that ‘pouring’ thoughts happens in compartments. Then, once I have lots of unstructured thoughts, I do more of research, I try to find key points and rephrase where needed, this is where trimming also happens. At later stages I would use LLMs to help me out, but I am generally against using LLMs for everything, and definitely not using for my blog writing. At work, generating summary or bullet points or initial structure is definitely easier with LLMs, and it would be a mistake not to use it.

LLMs

Yeah, I do use LLMs – but not for writing or structuring my thoughts but for other purposes. The main one: finding blind spots in my thinking. I have made many profound realizations of missing some key arguments thanks to LLMs, not only that, even in my personal life I came to realize that there are things I perceive simply differently to other people – eye opening. Another use of LLM is to suggest refinements to text, but not so much proof-reading, unless this is obvious typo catches. Honestly, sometimes, I just cannot stand all this ‘sophisticated flowery’ text generated by LLMs. When I see people write ‘significant impact drastically improving leverage of comprehensive coverage of’ – I know it is LLM and it sucks. You can know these are my own words, because LLMs avoids confrontation. Another way I’m using LLM for my writing is coming up with a common theme in my thinking and generating ideas for the best title.

Focusing on Experience and own Opinions

In the light of LLMs I found it to be ever more important to focus on my own experiences, strong opinions, and on building my own personal expertise. That’s the main distinguishing factor. No LLM has my brain or knows my thoughts.

How do I stay consistent?

Connect Inspiration Periods in One Continuous Chain

This is another question I get quite often. The answer: Consistency is Hard. The way it works for me is a multi-year habit building. I failed many times and I had to re-start it over and over again until it actually started working in a connected chained manner. The analogy I give is from rock climbing: to climb a mountain you connect multiple single pitch climbs. We get inspired at times (new year resolution, someone inspires you) and then you do a few iterations and then you fail. I say: get inspired more often, on purpose, and then connect into a continuous chain! Get inspired by books, people you admire, your mentors, your super-smart colleagues, someone you love, and last but most importantly, your future self!

Conclusion

Writing is not always just the output, but also the process. I see writing as “gym for the brain”. For sure, LLMs can lift weights for you, but that won’t make your thinking and writing stronger. It is like watching fit and strong people on Instagram and wishing you will be one like them without doing anything. The world is dominated by consumption and in my opinion being able to structure your thoughts and clearly articulate is something that will make you stand out.



APPENDIX: Additions by Gemini 3 PRO LLM

Below are some interesting extracts from the 17 page ‘Research Paper’ produced by Gemini on my ‘deep research’ request about technical blow writing and from analysis of the above text:

Blind spot: The “Quality” Trap

You mention LLMs generate “flowery” text that sucks. While often true, advanced prompting can mimic style fairly well. Suggestion: Strengthen the argument that the value isn’t the final text, but the struggle to produce it. Even if an LLM wrote a perfect post in your style, it would still be a “waste” because you didn’t do the cognitive lifting to get there. It’s like sending a robot to the gym for you.

Luck Surface Area

Blogging increases an engineer’s “Luck Surface Area.” This concept suggests that the amount of serendipity (job offers, speaking invitations, consulting opportunities, co-founder inquiries) one encounters is directly proportional to the number of people who know what one is doing.

Beyond the internal mechanics of a current employer, blogging functions as a potent “sales aid” for the engineer’s broader career trajectory.2 Recruiters and hiring managers at elite firms increasingly value communication skills as a primary differentiator. According to industry data, a significant majority of recruiters prioritize communication skills, sometimes even above raw technical proficiency, because technical knowledge can be taught, whereas the ability to articulate complex logic is a rarer trait.

Linearization of Thought and Feynman Technique

The process of writing requires the linearization of thought. Code can be non-linear; it jumps between functions, modules, and asynchronous callbacks. Prose, however, must flow logically from premise to conclusion. This forcing function exposes gaps in understanding. As noted in the analysis of engineering blogging benefits, writing a blog post often reveals that the author does not understand the code as well as they thought they did. This aligns with the “Feynman Technique,” which posits that one does not truly understand a concept until one can explain it in simple terms to a layperson.

Transfer of Experience

However, LLMs struggle with context, nuance, and novelty. They cannot hallucinate genuine experience. They can explain what a circular dependency is, but they cannot explain how it felt to debug one at 3 AM during a Black Friday traffic spike, nor can they navigate the specific political and technical constraints that led to that dependency in the first place.

The value of human writing has shifted from Transfer of Information to Transfer of Experience. The “Small Web” movement is a reaction to this; it is a flight to authenticity. Readers are looking for the “red hot branding iron” of human personality—the idiosyncrasies, the opinions, and even the biases that signal a real person is behind the text.15 As AI content proliferates, the premium on “human-verified” knowledge increases.

Case Study: Gergely Orosz (The Pragmatic Engineer)

Gergely Orosz serves as the gold standard for the modern technical writer. His transition from engineering manager at Uber to full-time writer was built on a specific process 39:

  • Crowdsourcing via Surveys: Orosz often gathers data before writing. For an article on “Developer Productivity,” he surveyed 75+ engineers and managers across the industry.39 This provides proprietary data that no LLM can access.
  • Structured Workflow: He treats writing with the discipline of coding, using outlines and working with editors/publishers to force progress.41
  • Mimicry: He openly advises starting by mimicking role models.42 If you admire a specific engineering blog, analyze its structure and replicate it until you find your own voice.


No comments


The Athlete-Engineer: A Framework for Peak Performance

October 25, 2025 Personal, Sports 2 comments

Me training my climbing on a MoonBoard

I consider myself a bit of a recreational athlete, meaning I do sports for fun and health: rock climbing, Muay Thai, running, and occasionally visiting conventional gyms. In 2021 I worked out 365 days straight and as of now have 2.3K logged activities on Strava with a 140 weeks long streak. I haven’t been like this 9 years ago or earlier, barely doing any activities back then, but over time I realized that health and time are the most valuable assets I have. This post is a few things: self reminder to stay on track, potentially some inspiration for you, and an attempt to drive analogies between athletic performance training and software engineering careers.

LEVEL 0: Non-Compromisable Fundamentals

There are only three fundamentals in my opinion. Compromising these is the worst thing you can do to your health, not just physical, but also mental performance, yes including your software engineering career.

Sleep

  • I cannot stress enough how important sleep is: lack of sleep is a slow form of self-euthanasia. The shorter your sleep, the shorter your life.
  • Reducing your sleep time to do more work is counterproductive and all the way detrimental to your health and creativity. It may work short term only or if you have some special super-human abilities. I don’t.
  • For a software engineer, sleep deprivation doesn’t just hurt your health. It destroys creativity and makes complex problem-solving nearly impossible. My productivity is extremely low if I haven’t had enough sleep two days in a row.

Nutrition

  • You become what you eat.
  • I don’t want to expand too much here. We all know the basics: not skipping meals, proper balance of macro and micro, no junk food, less sugar, little or no alcohol. It’s all common knowledge. Consistency is hard.

Physical activity

  • The basic amount of physical movement is a MUST unless you want to die earlier.
  • To cite AHA: “at least 150 minutes per week of moderate-intensity aerobic activity or 75 minutes per week of vigorous aerobic activity, or a combination of both, preferably spread throughout the week”.
  • For those of us sitting all day, this is non-negotiable. Even a 10-minute walk can be that ‘garbage collection’ our brain needs to consolidate thoughts.

LEVEL 1: Improving and Growing

Improving Sleep

I am going over sleep again but this time with more practical recommendations if you are targeting greater benefits.

  • Adjust your sleep duration to your needs. For example, my baseline sleep need is 7h50min, but after very intense kickboxing class >600kcal my need increases by about 50 minutes or if I had an easy day it may reduce a bit. I get this info from my Garmin’s “sleep coach”, the way I address this is by going to sleep earlier or later, not by changing my morning alarm.
  • Improve quality of sleep. Tracking sleep phases helps, and general recommendations also help (darkness, cooler temperature, regular timing), but what I found helped me a lot was to reduce my coffee consumption to single coffee very early in the morning. What might help you might be different.
  • Here is my old post reviewing the “Why We Sleep” book. Practical tips for posterity:
    • Stick to a sleep schedule
    • Don’t exercise too late in the day
    • Avoid caffeine & nicotine
    • Avoid alcoholic drinks before bed
    • Avoid large meals and beverages late at night
    • Avoid medicines that delay or disrupt your sleep (where possible)
    • Don’t nap after 3pm
    • Make sure to leave time to relax before bed
    • Take a hot bath before bed
    • Have a dark, cool (in temperature), gadget free bedroom
    • Get the right sunlight exposure
    • Don’t stay in bed if you (really) can’t sleep

Getting more out of your nutrition

Besides all of the regular recommendations I would like to mention few additional ones:

  • Gut Health: a diverse gut microbiome supports overall health. Strive for a variety of foods.
  • Blood Sugar and Mood: High blood sugar correlates with mood fluctuations, so stable blood sugar levels are ideal. Watch sugar consumption.
  • Creatine is a safe, extensively studied supplement shown to benefit both power and endurance performance. Ok and beneficial to consume creatine. I do. And yes, after a few months of consistent consumption I noticed a small increase in my strength when climbing.
  • Protein. If you are building muscle, it is ok to add some extra protein if you are not getting enough with regular food. I do, though I’m not building muscle actively.
  • A sugar crash is the enemy of deep work. I sometimes take an energy drink – but that’s a horrible idea as it’s like taking on high-interest tech debt. A cheap ‘boost’ now that you’ll pay for all afternoon.

Physical activity

  • My personal weekly target is minimum 300 active minutes (or 150 vigorous), though this is challenging with intense software engineering jobs. I hit my 300 active minutes with 2 Muay Thai classes, 1-2 climbing, 1-2 runs, 1-2 weights exercise or some other activity.
  • Studies show that maximum health benefit is reached up to 600 active minutes after which you are really optimizing for performance and not health. I just changed my target to 400.

Recovery

  • Once you are doing a lot of activities recovery becomes a “thing”. Not only this is needed for physical activities but also mental. We need to take vacations from time to time. We need to take rest at weekends to avoid burnout.
  • Recovery should be periodized to support long-term training. Rest well and enough before next training which should be harder (longer & intense) than previous one(s).
  • For us, software engineers, it is also crucial to have mental recoveries. Also just as muscles grow during rest, our best ideas often surface when our brain is in ‘recovery’ mode.
  • I personally prefer to work extra hard during the week but then keep my weekend completely to myself and avoid logging-in to work on weekends (unless I’m oncall).

LEVEL 2: Optimization 

Optimization comes last. Once you have all of the key ingredients and are consistent only then you can start thinking about all of the niche nitty-gritty optimizations, not before.

Choices

  • We can only optimize on one of the three — health, body composition, or performance. A balanced approach might be best for recreational athletes, but you cannot reach maximum in all three. At the moment I seem to be doing a bit of all of them, with the intention to optimize for health rather than the other two. It is tempting to build muscle or push for that next climbing grade or a new personal record on a 10k run.
  • I think in our careers we might be also facing some choices – do we optimize our hard technical skills or do we develop soft skills, do we build breadth of knowledge or go very deep. It’s a choice and we can only optimize one of them and others could still improve but you won’t reach peak in them.

Deliberate Training

  • When you go running, you can just run regular 5k at whatever pace you find manageable, or you can do a variety of specific training – you can do interval training, long easy runs, tempo runs, etc. Combination of these different dedicated runs help with your race time.
  • When you go climbing, you can just climb whatever for fun, or you can dedicate a session to endurance, do bouldering 4×4, do handboarding, do dedicated climbing specific stretching, etc. This pushes your max grade.
  • Same with all other sports…
  • This can be extrapolated to software engineering as well. You can just be doing your work from day to day or you can be deliberately spending some time to advance. This can come in the form of taking courses, reading books, working with your mentor, trying new technologies out, etc.

Mental resilience

  • Elite athletes frequently employ self-talk such as “You will move up” and “You are #1” to boost performance. Experiment with positive self-talk. Maybe read book “Unf*ck youself”. I know this sounds odd and so on – but if top elite athletes are doing this there must be merit to it.
  • At work we should try to fight imposter syndrome. Too often than not we think that we don’t know enough and are not good enough, while the correct way is to think otherwise and if you are in a leadership position you should assure people you lead with their skills.

Metrics

  • I love measuring and tracking my health and sports progress. I’ve been doing so since 2016. Buying a Garmin sports watch was one of my best purchases of my entire life. My latest one is Garmin’s Fenix 7X Pro Sapphire. The reason this is one of the best purchases is because it is motivating to know how you are progressing (at least for me) and unlike regular apple/google watches this one is sport oriented and battery lasts 28 days (yup ‘days’).
  • I’m creating this health/sports snapshot for myself and will be able to compare it a year from now. Around birthday seems to be a good cadence:
    • Age: 37
    • Weight: 150lbs (68kg)
    • Sleep: avg 7h17m vs. avg sleep need: 8h02m
    • Vo2Max: 56 mL/kg/min
    • Heart: HRV: 47ms, rest: 53bpm, max: 166bpm(avg/year)
    • Run PRs: 5k 22m53s, 10k 48m17s, Half: 1h58m
    • Weekly minutes: 348m (avg weekly over year 10/2024-10/2025).
    • Calisthenics: Max pullups: 21 Max pushups: 102, max pushups in session: 600
    • Max climbing grade: V7 (boulder) and 5.11+ (rope)
    • Max barbell: deadlift: 255lbs, bench: 150lbs, squat: 140lbs (yeah, I know, bench more than squat 😂)
    • Swim: barely making it across the pool, but something I want to improve
    • Bike: 10mi – 35:30, 30k – 1:09, though I never tried to push for anything here
  • This is a direct parallel to our work in engineering. We are judged by metrics as well, like how many pull requests we do, the impact of projects, operational metrics, code quality metrics. I do personally pay attention to these as well and rigorously track them. I will share my weekly work methodology one day on this blog.

Risks

Pushing for anything in performance can have negative effects as well. Here are some personal notes (not universally applicable):

  • Chronic Traumatic Encephalopathy (CTE). A risk associated with repetitive micro-concussions, particularly in contact sports like MMA. Since I’m sparring with people who actively take part in competitions occasionally I get hit fairly hard (even though we try to be careful).
  • Injuries. I’ve had periods where I climbed 3-4 days a week resulting in shoulder injury which needed at least 3 weeks to recover. The key here is to listen to your body and to alternate activities and load.
  • Supplementing. Taking any supplements other than creatine, protein and, maybe, some generic vitamins is very questionable. I recommend against it, but you do you.
  • Burnout. Applying a “max-effort” training mindset to work 52 weeks a year can lead directly to burnout.
  • Metric Fixation. Over-focusing on a new running PR can lead to a physical injury, obsessing over proxy metrics (number of code changes or lines of code) can lead to a career injury which is optimizing for the wrong thing, and missing the actual business impact.

Consistency

Probably the most challenging part of the any of the above levels is consistency. It’s just hard. It’s hard to go on a run when you just don’t enjoy it or when the weather sucks, it is hard to go climbing when the mood isn’t striking, it is hard to find time when you have an intense work schedule. So how do you solve these? I found a few ways that helped me, maybe something would work for you.

  • Cut off low value activities from your life. I do not watch any TV whatsoever. My social media usage is very low. I don’t play video games. I try to recognize time wasters, but may have blind spots. AI seems to be good at helping me unblind things.
  • Curve out time were you have opportunity. My company provides breakfast, lunch, dinner in the office so I leverage these for time saving. I specifically looked for place close to work so I don’t spend time commuting. Cut off nonsense and optimize time – time is the only thing you will never ever get more of.
  • Work on establishing habits. Books like ‘Atomic Habits’ and ‘the power of habit’ give great recommendations, but basically you need to build a clue to kick-off something automatically over time.
  • Find joy in your activities. I didn’t really like running at the beginning – it felt boring, but now I enjoy it and it definitely helps with anxious or depressing thoughts. I’m just going for a run when I need to clear your head. Climbing often is a social activity – solving problems with other guys and gals in a gym is fun.
  • Pair up. If you’ve got friends sharing similar sport interests it is always great to be done socially. I definitely miss those weekly 10k with friends back in Vancouver.
  • Find an accountability partner. Another thing I do in addition to everything above is having someone I am accountable to. It could be either through challenges I’ve been running or by simply promising someone. I hate breaking promises.

Conclusion

Our cognitive performance is inseparable from our physical health. The same principles that build a 10k PR or a V7 climbing grade are the exact same ones that build a high-impact, sustainable engineering career: you need fundamentals, deliberate training, and recovery.

You can’t sprint a marathon, and you can’t sprint a career without burning out. By investing in your physical platform, you are directly investing in your mental output. The return on that investment is a career and a life that is more performant, resilient, and sustainable.

Let me know what you think!

P.S. This post was in part inspired by my personal trainer from Vancouver. Thank you for your recommendations! And now I promise to incorporate compound barbell training once a week back into my routine and will report back after some time! 🫡


2 comments


My Framework for Dealing with Ambiguity

September 7, 2025 Opinion, Personal No comments

Dealing with ambiguity is one of the key skills sought after in software engineers. The more senior you are the more you are expected to know how to handle it. But even outside of work we have to make decisions in uncertain situations. In this post I would like to share some thoughts on this go over existing frameworks, and synthesize a new framework.

Before we dive in, so that you know, I don’t like uncertainty and ambiguity that much and would like to briefly revisit a point from a previous post, that a person has to be a psychopath not to worry about uncertainties at all, but at the same time uncertainty is a core part of our lives and we should learn to embrace it.

Baselining

Let’s first expand a bit, mainly because “dealing with ambiguity” has some ambiguity to it. The word itself could mean uncertainty but it can also mean something bearing multiple meanings. Multiple meanings to the same definition is a more strict meaning of the word, but:

  • If you interpret it as purely ambiguity (multiple interpretations), you might miss the fact that your company also expects you to handle incomplete, uncertain futures.
  • If you interpret it as just uncertainty, you might miss the expectation that you actively clarify, simplify, and drive alignment when things are already vaguely defined.

So for the sake of this post it is both: uncertainty and multiple interpretations.

Expanding

What are some existing frameworks and approaches  for dealing with ambiguity?

  1. Cone of Uncertainty
    1. What: Early estimates are highly uncertain but converge as more information is discovered.
    2. Personal take: I really like to point to this one whenever someone isn’t too sure about a project. I don’t only frame it as estimates but overall uncertainty and ambiguity reduces as the time passes. This also helps me put any project into perspective and 
  2. Double Diamond
    1. What: The Double Diamond is a structured approach to tackle design or creative challenges in four phases:
      1. Discover/Research → insight into the problem (diverging)
      2. Define/Synthesis → the area to focus upon (converging)
      3. Develop/Ideation → potential solutions (diverging)
      4. Deliver/Implementation → solutions that work (converging)
    2. Personal take: Honestly, the double-diamond framework isn’t something I knew about before writing this post, but I could see how it is similar to what I’m used to doing anyways whenever designing a system at work or even approaching something creating, like writing a blog post.
  3. OODA: Observe–Orient–Decide–Act
    1. What: Borrowed from the military framework for fast-moving, changing situations and decision making. This is particularly useful for competitive environments.
    2. Personal take: while software engineering isn’t so dynamic and competitive, some elements of this framework are useful, especially quick re-orientation based on observations.
  4. Cynefin framework
    1. What: Cynefin offers four decision-making contexts or “domains”:
      1. Obvious (Clear): Cause–effect obvious → apply best practices.
      2. Complicated: Cause–effect requires expertise → apply good practices.
      3. Complex: Cause–effect only clear in hindsight → probe, sense, respond.
      4. Chaotic: No cause–effect → act to stabilize, then respond.
      5. Confusion (Disorder): Domain unclear → break down into parts.
  5. First Principles Thinking
    1. What: When ambiguity comes from assumptions, noise, or convention, break down a problem to its fundamental truths, then build reasoning from the ground up.
    2. Personal take: this seems to be the best approach when you observe that people talk about the same thing but in different ways or they use same words but mean different things.
  6. Lean / Agile
    1. What: Build → Measure → Learn loop to reduce uncertainty with fast experiments.
    2. Personal take: In a way agile was specifically created to deal with ambiguity by prioritizing adaptability over too much upfront planning (waterfall). I personally was a big proponent of agile methodologies. Sometimes there are too many rituals associated with these methodologies, but otherwise it’s great.
  7. Others…

Map -> Reduce by Priority

Can we synthetize these approaches into something that works specifically for us, software engineers? Maybe, yes, maybe not. What I mean is that sometimes one particular tool works best in one situation but doesn’t work too well in another. But regardless, I think there are enough similarities and here is my attempt, based on my experience:

  1. Step 1: Baseline: quickly document known knowns, known unknowns, and range for unknown unknowns. Potentially something like Cynefin categorization can be used here, but I normally just go with a format that best works for a given situation. 
  2. Step 2: Expand: Go on a quest to discover and collect even more of the unknown. Yeah, this step is actually hard to do, because instead of formulating some hypothesis or making assumptions this asks to seek more uncertainty. Practically, most of the time, this boils down to talking to more people and asking them to give more points of contact to talk to. Obviously, the more people you talk to the more perspectives you get. I think this overlaps with “Discover/Research” from the double-diamond or “observe” from OODA.
  3. Step 3: Map -> Reduce by Priority: Analyze information collected in the “Expand” step, identify key similarities, and group where possible, thus reducing the number of possible interpretations and meanings. One important thing could be to see which of the collected artifacts might have the outsized end result on the project. For example, an increase in latency of a service is uncertain, but it simply could be a complete blocker for the project, so this uncertainty should be prioritized. No point in reducing uncertainty elsewhere if this one shows the entire idea is no-go. There might be multiple tracks to reduce uncertainty here and this can be parallelized (similarly to map-reduce). This roughly maps to “decide->act” from OODA or “Define”/”Deliver” phases from double-diamond, or “measure” phase from Agile / Lean.
  4. Step 4: Synthesize and Iterate: Some of the most critical uncertainties and ambiguity was reduced in the previous step, so now it is a good time to converge on a new revised state of the things and suggest a course of action based on gained knowledge. Practically this means answering all of the questions about most critical unknowns, and how remaining unknowns will be mitigated.

Synthesize and Iterate

The Framework:

  1. Baseline: List what’s known and unknown (use Cynefin or a simple format).
  2. Expand: Actively seek more perspectives and data to surface hidden unknowns.
  3. Map and Prioritize: Group findings, reduce interpretations, and tackle the highest-impact uncertainties first.
  4. Synthesize and Iterate: Converge on a clearer picture, decide actions, and repeat as needed.

Conclusion

In fact, I used this same framework while writing this blog post. Baselining what I knew, expanding with research, mapping frameworks, and finally synthesizing a new approach. Ambiguity is unavoidable in code, projects, and life. I’d love to hear how you personally deal with ambiguity, are you using any structure or framework for it?


No comments


How I Finally Made Early Mornings Work for Me (After 20 Years of Failing)

August 31, 2025 Opinion, Personal 2 comments

I found a “cheat code” for my productivity, which is getting about 3 hours of deeply focused work before any meetings.

Sunrise from the top of a volcano (credit: me). Waking up early feels like catching this view: hard to get to, but worth it.

Yes, it does sound like a cliche to say “wake up at 5AM and get most work done before others wake up”. But for most of my life this was pure fantasy. In the past during early AM I used to be a brainless zombie. More often than not I would snooze all of my alarms (like seven times, not joking). Whenever I tried to go to bed early I would get laughed at and it didn’t actually work.

Sometimes I would get these 3 hours of focused work in the very late afternoon once meetings are over or at night. This worked, but the consistency was missing. The problem with evenings is that life has its own plans and oftentimes you get some commitments in the evenings. Super early mornings, on the other hand, are different. There are no meetings, no interruptions, no notifications, no nothing. You are in full control of your time.

Here is what finally worked for me (and no, I’m not selling anything):

  • Enough sleep. The single most important factor was to get enough sleep the night before. My needs for sleep change depending on the amount of physical activity and the quality of sleep the previous night. I had to learn to adjust. I’m using Garmin “sleep coach” and if it says to sleep +40min this is what I target to go to bed earlier. I found that, for instance, a super-intensive kickboxing class increases my needs by about 50 minutes. Not getting enough sleep wrecks the next day.
  • Autopilot morning. I removed all of the friction from early morning routines. I prepare all my clothes, work stuff, keys, everything the night before. Everything is in the exact same spot every morning. When I wake I don’t have to think. I just go on fast autopilot and 25 minutes from wake-up (no joke) I’m in the office sipping my reward: espresso coffee freshly made by myself in the office. By now it is a bit of a ritual for me.
  • Commitments. I keep running accountability growth challenges with friends. That additional accountability layer keeps me honest.

The results?

The biggest change isn’t just productivity but it’s how I feel.

When I used to start my day around 10AM I felt agitated. I’d go through early meetings half-asleep while knowing there was real work piling up in the background.

Instead now, as a huge contrast, I enter the day having already accomplished something of substance. The other day, before the first 10AM meeting, I published 3 code changes and wrote 2 documents. I don’t always do this much early on but this shows the scale of the difference those few early hours make. I enter meetings calmer, more confident, and less reactive. 

Conclusion

I failed for 20 years before I was able to do this. I didn’t want to write this blog post until I had at least half a year of consistent early mornings, because that’s the hard part. For me, waking up early stopped being a punishment and became a secret weapon. I’m actually looking forward to working hard and focused early when no one can distract me. If you are struggling with something, don’t give up, try again. It might take time, but eventually it can work out for you too.

I’m curious what’s your cheat code for creating time for deep work?


2 comments


From Google to Meta: A Mid-Career Leap

July 20, 2025 Career, Personal, Success No comments

Disclaimer: opinions in this post are my own and do not represent opinions of my current employer or any of my past employers or any of my or their clients.

I’ve been so busy I forgot to mention some important career changes. In fact, I’ve been so busy it has already been half a year since I started working for META. Not only that – I’ve moved countries again and now live in the Seattle area.

Google

I’ve spent 4.5 years at Google working on the experimentation platform within Ads. It is flattering to think that traffic for billions of people has been supported by the code I touched, however limited my contribution might have been.

Google is an incredible company, great culture, great and bright people. I worked for Google remotely as I joined during the pandemic and then switched to permanent remote when the offices started to open. I wish there was an office in Vancouver, Canada, in which case I might have decided to stay at the company. It did feel that being remote long term is disadvantageous to my career and at times it felt unfair that south of the border the pay is much more for the same job at the same company.

My ride at Google was great- I joined as Sr. Eng, but then got to Staff quickly for someone new. It could have been due to cross-org visibility of the project I worked on, and some luck as well, or, maybe, I’ve done a good job. Whatever it was getting that next level didn’t feel as gruelling as the promo I worked for at Amazon. Good ride and I definitely see Google as a place I might want to come back to.

Meta

Meta is a company with a strong culture, great ambitious vision, and isn’t afraid to make big risky bets. It is quite intense from inside but also very rewarding at the same time and this matches my expectations of what I thought I will get into. Paycheck is also nice, my FIRE goals are closer now. 

I joined Meta, because I wanted to further expand my toolset, learn new ways of building things fast (and sometimes breaking them), as well as be back to closer interactions with people (but that was mostly because of my remote situation). If I were to compare: at Google, I found stability and polish; at Meta, I find speed and higher ambiguity. Both cultures are fostering innovation and are great places for engineers.

My first half of the year at work passed blazingly quickly. I wasn’t even able to blink from Jan to Jul. There is so much to work on every day, that there is no way around it other than finding ways to prioritize, be productive and focused, always making sure there is impact in the end. I’ve come up with new and stable work routines that keep me effective, like starting very early with few hours of deep work, and staying productive throughout the day, but also so that my work-life balance isn’t hurt and so that I can continue my kickboxing classes, rock climbing, running, and having proper weekends with my kids.

What’s next?

In an odd way, having a more intense workload also stimulates me to explore more ways to learn and grow outside. I think we’re more adaptable than we give ourselves credit for. When life asks more of us, we often rise to meet it—and that includes finding new ways to learn, improve, and move toward what really matters.

Personally I am approaching a point where it makes sense to think about life more holistically – not just the next promotion or goal. What do I still want to experience? What kind of life am I building? A meaningful career is part of it, and a big foundational support, but it’s only one piece of a much larger puzzle.


No comments


On Mentorship

October 4, 2023 Leadership, Opinion, Personal 2 comments

Ever watched a martial arts movie? There is always a Sensei behind the main character – usually a much more experienced, older, and wiser person willing to share their knowledge. Career, life, or software engineering isn’t exactly the same (maybe metaphorically?), but in the very same way, it is always a great idea to be inspired by and learn things from someone who has already been through the journey you are embarking on.

I don’t think I can give justice to the topic of mentorship holistically (go search the internet for that or ask Bard to generate bullet points for you), though I can share my own experiences. In part this is what mentorship is all about, see if there is anything for you below:

In my early career back in Ukraine I was lucky to get direct exposure to our clients from the USA as this helped with my English but I was also lucky to work with talented and highly energetic technical leader and a Microsoft MVP (most-valuable-professional). He was a lot of inspiration for me and probably was the reason for starting this blog and effectively jump-starting my career (tech blogging was very popular back in ~2010). Moving through my career I met many engineers who were highly skilled, had diverse technical backgrounds (think software for Ferrary F1, or for British military, or high frequency trading, or nuclear energy, etc). So I tried to challenge myself to learn from them. Very specifically, one of the annual goals I had in 2016 was “Learn 12 simple skills from other people. To achieve this goal I will first identify 12 people from the community and those surrounding me and chose some characteristic I admire.” I might not have been exceptionally successful in achieving that particular goal but at least I learned to appreciate that others know cool things I don’t. Once I moved to work for big tech (Amazon & now Google) I normally tried to maintain “official” mentorship relationship(s) via internal mentorship programs/platforms.

My experience with “official” mentors so far has been mixed. As always, it all depends on the person and how two of us connect, but in all of the cases mentors have always provided something of a value to me. It was never-ever time wasted. At the very least, a mentor will help you get an outsider perspective on you situation and answer your questions from different perspective other than your manager might. There is no guarantee that you will agree to what they say or that their recommendations will be ideally applicable to you but it is your job to work through those and figure out the best you can get out additional point of view.

I worked with few of my mentors on my promotions. It is always great to get a mentor one or two levels higher as they have a lot more understanding of what it takes to get promoted to the next level and they might actually be part of promo review process for that level. In fact, I feel like I got a lot of information from one of my mentors I otherwise wouldn’t be able to get from my manager.

Other than promotions, the other area I worked on with my mentors was understanding of my next career moves. For instance, one good advise I got was to always get most out of any situation before making any radical decisions. At the same time, I also got “never moving fish is a dead fish” and other types of advise, all of which have had their impact on me.

Third area of engagmeent with my mentors was in building vision/strategy and presenting it to leadership. A very specific advise (and, maybe, a bit weird) was to actually visualize that I’m that leader I’m going to present the strategy to and try to understand what would that leader pay attention to when listening to the presentation. I was actually asked to role play during mentorship discussion, which felt really weird, but I wouldn’t have tried this if I didn’t have this “weird” mentor.

I know that I’ve been a bit of an inspiration for some engineers in the past and this realization was a great source of energy for myself as well as a motivation to self-improve further. Regretfully I’ve lost a lot of drive to be an example or an inspiration to others. I’ve also find it more difficult to be inspired by someone. Don’t take me wrong, not that there are not enough great people around (if anything, my collegues are one of the best and truly remarkable people), it is probably just me getting older and grumpy. In a way I miss those times but on a higher note writing this blog post helped me recall good times I had and motivate myself to be a more active individual in this regard. I currently have a mentee and keep in touch with few former collegues which whom I exchange career advise.

Looking back at my past mentorship relationships I can confidently say that they helped me. Go ahead and get yourself a mentor and if you have the opportunity, don’t hesitate and take a moment to teach someone something you know, chances are you might benefit in the process as well.


2 comments