Building a Learning System

November 18, 2024 Opinion No comments

In the past I wrote a few posts on learning, specifically this one, where I talk about the learning pyramid in which teaching someone has the highest retention rate followed by practicing what was learned, followed by other methods of learning (visual, audio, reading). I also have a quick overview of a book “Learn Better” in which the key premise is that learning is a skill you can teach yourself to be better at.

Not long ago I was also asked if I have a learning system. I don’t. In fact, I clearly remember how inefficient I was at learning in university by trying to memorize some mathematical proofs instead of properly understanding them and recreating when needed.

So what a good “learning system” could look like?

Purpose and Value

I think a key to good learning is genuine interest in the topic you are trying to learn. Interest could be internal curiosity or simply seeing value in learning something specific. To give few specific examples:

  • I rock climb as a hobby. As such, taking outdoor courses, reading books on climbing just comes naturally for me and I don’t have to force myself to.
  • After joining Google I had to refresh my rusty C++ knowledge, so I had somewhat practical motivation to learn/refresh knowledge, but it went well.
  • When I moved to Austria I had to learn some German, but it really was forced on me and I didn’t make much progress, but did minimum for required paperwork.

What to Learn

Now, if you are intentional about learning, say for your career, probably the first question you have to ask yourself is “What should I learn?”. These days the amount of information and resources available is just incomprehensible to our brains. As such, being selective and strategic is important. Think what would make most sense to learn in your specific situation so that there is purpose and value for you.

Deliberate Practice

The highest retention of knowledge is when you teach someone or immediately practice what you have learned. I always like to think about learning as neural pathways in your brain, when you consume new information you stimulate only one direction of storing the information, but when you practice something or try to teach someone you stimulate and reinforce the retrieval direction from the storage. 

If I had to create a learning system, I would prioritize practicing as much as possible. The fastest way to learn might be to learn “on the job”, but if this is not possible, the next best thing might be to set SMART goals (you know the drill).

Consistency

One issue that comes up with learning something is sticking to the plan. Consistency is hard, it really is. For myself, I found that accountability, periodization, and re-inspiration are the best ways to stay on course. This weekly blog post writing is part of accountability I have. I try to re-remind myself why I’m learning something and also trying to get inspired by other folks.

Summary

So what does my learning system look like? 

  • Purpose: Genuine interest or practical need.
  • Focus: Be selective and strategic in what to learn.
  • Practice: Teach or apply knowledge to retain it.
  • Consistency: Use accountability and inspiration to stay on track.

What would your learning system look like?


No comments


What Kind of Plant Are You? Reflecting on Career Growth and Transplanting Yourself

November 11, 2024 Career No comments

Picture of Bamboo I took in a botanical garden in Austria in 2012

Recently I have been asked what career growth means to be? Without hesitation I shared that it’s two things: first, expanding the skill set, and second, advancement in position (at least in the corporate world). In this post, I want to expand my answer and also share a story or two.

In my opinion, skill development is the foundation for other types of growth. Skills make you more capable, adaptable and valuable in your role and industry. Almost all of the soft skills are transferable to new environments. As for technical skills, the majority are also transferable unless they are very specific to the company you work for (*). Something that might not transfer very well could be team- or org-specific knowledge.

Your skills, knowledge, and hard work is something that allows you to increase the scope of responsibility, gain professional recognition, trust, and as a natural consequence you advance in position, make financial progress and hopefully achieve personal fulfillment.

After answering the question, the person I was talking to shared a Chinese Bamboo Tree story (**), where we can compare someone’s growth to how bamboo grows. There is no visible growth for the first 4-5 years, which is because bamboo is expanding its root system and then in one season bamboo grows very rapidly. This is a very strong parable and I have successfully used it at work when a colleague of mine was seeking career advice.

If you stay at the same role, level, or team for quite some time it doesn’t necessarily mean you are not growing, you could be expanding your root system before you get promoted to that next level. As long as you feel you are learning new things, becoming stronger in your skills, expanding your work network, delivering some things you are definitely growing.

To extend on this analogy of plant growth, I was thinking about uprooting: you work for 2-4 years in a company, you made sizable contributions, got your promo, and slowly started to become more and more valuable and then you transplant yourself to another company. What happens to your roots? Do they survive?

I have seen people who were the first “plant” to a field and were able to grow to be the biggest of the plants, I have also seen people who had good roots but stayed in shadows for too long and stagnated, and others who transplanted themselves so often they could not grow enough on each iteration.

I was asking myself, what kind of plant am I? Google is my 5th workplace and I cannot stop wondering what I would have become if I stayed in any of the companies or countries I left behind. Looking back it seems I made the right decisions as I was able to grow to a bigger and well rewarded plant with a very diverse root system, but I have never become a really big one. Maybe I’m yet to see my real growth, who knows.

What kind of plant are you? What are your thoughts?

(*) Some of my fellow Googlers sometimes joke that we become unhirable outside because of the uniqueness of tools we use and the scale of problems we are solving.

(**) Technically bamboo isn’t a tree and belongs to the grass family. Some species of Bamboo might indeed take 5 years to grow underground before emerging above ground but this isn’t universal or common to all species. Additionally I searched for the origins of this story and it doesn’t appear like it exists in Chinese folklore. It appears this parable was popularized by western culture in modern motivational literature. 


No comments


Intimidated to try something new? How discomfort opens doors

November 2, 2024 Opinion, Success No comments

Everything in life happens for the first time (and last time for that matter), but some things don’t happen at all. First kiss, first job, first home, first kid, first gray hair. Success isn’t guaranteed and failure isn’t unavoidable.

There is this martial arts dojo next to where I live. I used to walk past it and see people practice.  I never did any martial arts so it was very intimidating and uncomfortable to sign up there. Everyone appeared many levels above me, and true I would get punched in the face during sparrings. Year and a half past that I have fun and feel super comfortable during our light fights. Outside of the gym this gives a psychological sense of security (it is a false sense to some degree, though, but the effect is there).

Me with Kathy Long in Intention MMA DoJo in Vancouver

I have never been to any sauna until maybe 30 years old. I always thought of saunas as some weird place where completely naked people sweat, so it was very uncomfortable to go to sauna at first. Now I can easily outsit many people there. I love saunas.

On one of my recent work trips there was a junior engineer on our team who would strike up a conversation with everyone, literary. It was amazing for me to observe this person: while buying coffee he would chat with a barista, he would join a random group of colleagues to chat about whatever. I mean, I have seen many extraverted people, but this was another level, so I followed his example and pushed myself to talk to strangers. On the flight back I started talking to a person next to me and had a great pleasurable chat that killed the entire flight’s time. This is because I pushed myself into discomfort, not because it was natural to me.

Being in a senior position at work requires stepping outside of comfort and talking to a lot of people I see for the first time. I have been observing how other leaders are doing this. I found that for myself I need to imitate what they are doing. The behavior appears to have common and fairly simple patterns: being respectful, thanking people for what they do, catching the essence of the message, speaking but also giving others opportunity to talk, etc. Topic for another discussion, but pushing yourself to be more like a leader makes you a leader.

You need to sign-up to give that presentation at work, you need to have that uncomfortable discussion, you need to pick that daunting project, you need to step outside of your comfort zone and embrace the challenge. Growth only happens when you stretch beyond what you already know or what feels safe. Biggest successes in life come from risk taking and discomfort! (yes, there is a chance you will fail, otherwise it won’t be a risk).

This blog post is mainly a short self-reminder about the importance of embracing uncertainty and intentionally stepping into the discomfort territory. Do it – you will emerge stronger on the way out.

I signed up to showcase my rock climbing hobby at work during DEI&B fair next week. This is a bit uncomfortable, let’s see how it goes. More to come…


No comments


Reflections on Productivity, Focus, and Athletic Performance: Key Takeaways from Three Books

October 27, 2024 Book Reviews No comments

This blog post is just my quick notes and takeaways on three books I finished listening to or reading in the last month or two. There is no other reason for these thee books to be bundled into single post other than my convinience and trying to make this relatively short.

Four thousand weeks

The book’s title itself is a reminder: we have roughly 4,000 weeks to live, a limited and precious resource. Some quick notes:

  • We have only 4k weeks to live.
  • Many people try to structure their lives around optimizing time and increasing efficiency, but this often leads to stress and dissatisfaction. Rather than overcommitting to work, obligations, or superficial tasks, we should focus on meaningful experiences and relationships.
  • Focus on the present: Moments! Moments!
  • Since time is limited, aiming for perfection is a waste of energy.

Deep Work

I’m glad I did an exercise of writing about deep work on my blog before finishing the book as it game me an opportunity to compare my thoughts before and after. I always used read/listen to books from beginning till the end; this time around I skipped first half, which explained why deep work is important and intentionally went to second part on how to achieve deep work; this is kind of stepping over myself but also because I’m convinced that deep work is key to performance. I’ve been intentionally applying what I learned from the book – this is often hard, as I need to push myself to wake early, but those 3 hours I get early in the morning are really-really super productive.

Some key learnings, recommendations from the book, not mandatorily applicable to everyone, and not in any particular order:

  • Deep Work is a skill and we can improve it
  • Quit social media or evaluate if it benefits you.
  • Embrace boredom – this one is really funny, basically the author argues that once we have time for rest we should not fill it with distractions like scrolling on phone or watching TV, we should give our brain time to relax properly and not have habits to entertain ourselves.
  • Brain focused work capacity is limited, thus we need to work on most important things early and without distractions.
  • Have big blocks of focused work in the morning and for the rest of day plan each day in 30min intervals, this is not to prescribe what to work on, but to create micro deadlines.

PEAK: The new science of Athletic Performance

This is a book on athletic performance targeting sport coaches I picked from a library. I consider myself a recreational athlete (running, rock climbing, kickboxing, gym) and wanted to learn a bit of theory behing athletic performance. Some the the points below are just things I noted for myself and might be personal takeaways:

  • Sleep is fundamental to both physical and mental well-being. Sleep well and enough.
  • Gut Health: A diverse gut microbiome supports overall health. Strive to each veriety 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 benefitial to consume creatine.
  • Optimization Choices: We can only optimize on one of the three—health, body composition, or performance. A balanced approach might be best for recreational athletes.
  • Saunas: Limited impact on performance improvement. Fine to like sauna, but not really a perfomance booster.
  • Recovery should be periodized to support long-term training. Rest well and enough before next trainign which should be harder (longer & intense).
  • Athletic Health: Athletes fall ill more often than expected due to physical stress, though elite athletes may experience this slightly less. Listen to the body.
  • Heart Rate Variability (HRV): Healthier individuals generally show slightly higher HRV. My HRV currently measures between 40-50, on the lower end for my age, likely impacted by stress. Active individuals of my age often see HRV closer to 70. Watch how this changes over time.
  • Chronic Traumatic Encephalopathy (CTE): A risk associated with repetitive micro-concussions, particularly in contact sports like MMA. Take extra precautions to avoid head injuries in kickboxing.
  • 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”.


No comments


What I don’t like about meetings

October 19, 2024 Opinion, RandomThoughts No comments

I estimate I’ve been to 10k (*) meetings in my career (holy smokes) and I’ve never written a blog post on meetings, so here it is. There are tons of recommendations online on effective meetings, things like having an agenda and setting goals for the meeting, inviting only necessary attendees, etc. In this post I would like to highlight just a few things that I think I might be doing differently and I will bring them in light of what I don’t like about the meetings :)

“What are we discussing?”

Let’s start with this: I really don’t like when people call for a meeting and don’t provide even a line of context or agenda. First of all this doesn’t give me or others means to properly prepare for the meeting. Effectively by not providing context or agenda the organizer is robbing themselves of a chance that some attendees will have more to contribute to the meeting. Additionally there is a good chance the meeting will be hijacked. In my view not having an agenda shows a grain of disrespect because the organizer demonstrates that this isn’t something important to them either.

  • DO: Always, always add a bit of description to the meeting invitations you send. At a minimum say that the agenda is coming if you need more time to prepare but have to book time. But most of the time target creating meeting notes documents and adding context, agenda and any relevant info to the doc.

“So what was the decision?”

Another thing I don’t like about meetings is when there is not a single output artifact. After such a meeting, I’m asking myself “What was I doing here?” Lately I started solving this problem by just starting to take notes in meetings independently of my role in the meeting. If no one is presenting their screen I will just silently start sharing mine with notes being taken. I’ve been thanked on multiple occasions for notes that appeared out of nowhere. I’ve also been complimented for keeping the best track record of 1:1 or other discussions where I play a more active role.

  • DO: Always play a role in the meetings you are attending. If noone is taking notes, take them yourself, if no one prepared an agenda/context but you have context – just create that doc. Maybe request the organizer to add the notes. Just 5 min of your time could make the meeting go in the direction you want it to go. Yeap, this is because by sharing the screen and people reading the context and agenda you put they are likely to follow some of that even if they are 2-3 levels above you (you can influence without authority in such a “weird” way). For big townhall kind of meetings, always attempt to prepare one question, this will keep you engaged in the meeting, otherwise just don’t join.

“That could have been an email!”

Oh, I also don’t like long or “that could have been an email” meetings. You know, those where all the useful information has been shared and discussed in the first 5-10 minutes and then people just chat about related topics and say they need time to think about it and respond, meaning that if it was an email the course of action would have been the same.

  • DO: Well if something can be shared/asked via email just do it. But if you have to have a meeting schedule just enough time for what has to be discussed. You will be pressured to arrive at a conclusion within time you have and if you really need more time just schedule a follow-up. I found that 30 minute meetings are almost always enough.

“I want out of here.”

Oh, how about the “fill the void” where you feel like there is pressure to say something? In these kinds of meetings those who like to speak a lot take pleasure in just speaking and speaking and those who don’t like speaking secretly cannot wait for the meeting to be over.

  • DO: If you are leading the meeting, encourage people to speak so long as new ideas are flowing and value is being added. The moment things become repetitive, same people talk non-stop, or there is disengagement, consider concluding the meeting, no shame in that. If anything people will thank you.

Conclusion

Unquestionably we need to meet at work. The purpose of meetings is to add value, help arrive at decisions and drive progress. The things that frustrate me the most, like a lack of agenda, no clear outcomes, and unnecessarily long discussions, are often avoidable with just a bit of effort and intentionality. By always preparing an agenda, ensuring there are actionable takeaways, and taking control when needed (even as a participant), you can influence the flow and value of a meeting.

(*) 16 years x 52 weeks x [5(early career) – 20(later career)] meetings/week = [4k – 16k]


No comments


Riding the Waves: Can We Predict the Next Big Technology Surge?

October 13, 2024 Investing No comments

Picture of some cold Icelandic waves from my recent trip

“What goes up will go down” is just such a fundamental and universal concept you can apply to anything: physics, emotions, life, financials. In this post I want to have a bit of a technology view on this and also try to understand if we can ever predict and catch the “up” wave. Do you wish you had invested in NVIDIA in early 2023? I definitely wish so.

First of all let’s have a look at some of the promising technologies from the past that rode on hype and then declined in their popularity:

  • Bitcoin
    • UP: Do you remember all the crazy hype surrounding bitcoin and people getting rich out of nowhere? I personally have a very small amount in a Bitcoin ETF (which didn’t grow much), but know a friend who lost keys to a wallet with a dozen bitcoins, and another one who kept telling me that one bitcoin will be worth like 4 apartments in NYC.
    • DOWN: Well, bitcoin as well as the blockchain technology behind it didn’t disappear, but the hype is definitely not there any longer. It is very likely we won’t see a huge rise again (or maybe we will see?). Scalability, regulatory and other reasons made this slow down. Some niche applications of blockchain are thriving though.
  • Windows Phone
    • UP: Ok, you might be asking “what is this?” or “why is it here?”. I included it here because I personally worked for about 1 year on a Windows Phone project back in 2011. The promise was that this will rival iPhone and Android devices.
    • DOWN: the market simply did pick this one up, there wasn’t enough of app development and MS eventually pivoted to something else.
  • Augmented/Virtual Reality
    • UP: Another major hyped technology. Think about Google Glasses or META’s Oculus or Microsoft’s HoloLens, these technologies promised to revolutionize gaming, work, entertainment, and everyday life.
    • DOWN: I didn’t buy this hype myself because it somehow makes me disgusted imagining myself living and interacting with people in a virtual world instead of the real one. Again, some niche applications still exist.
  • Artificial Intelligence (AI)
    • UP: So I’m sure you have read about multiple waves of AI technology, early 50s when it first appeared, 80s when expert systems were promising to change everything and (drumroll…) now when Generative AI is the next big promise.
    • DOWN: I don’t know when the exact time for the downturn will come, but there are obvious problems with it (high compute costs, wrong facts, plagiarism – I make it a point not to copy anything from GenAI into my posts).
  • Many other technologies of different scale (3D printing, 3D TV, BlackBerry, delivery drones, Fire Phone, etc, etc)

Potentially we can generalize abovementioned technology trends into three categories of downfall:

  • Complete disappearance: VHS, CD, BlackBerry, etc.
  • Reduction to niche usages: VR for gaming, 3DPrinting for specific applications, etc.
  • Enduring: Personal Computers, Internet

Now, where am I going with all of this? I’m trying to ask myself a question: is it possible to guess for any new technology if it is going to disappear, get reduced to a niche use, or will endure beyond our lifetime? Additionally is it possible to catch the “up” wave and ride it until the peak?

Let’s take the case of NVIDIA. If AI is a gold rush, NVIDIA is selling shovels. I found an article from 2019 arguing that NVIDIA will supras Apple in market cap, the argument states that the AI market will grow to 15T$ and that the computer is switching to GPU which logically makes sense.

Here are some recommendations for my future self to be on the lookout:

  • People have entire careers dedicated to spotting these trends so it makes sense to be aware (re-subscribed to weekly TechCrunch newsletter).
  • Spot tech industry trends using professional networks.
  • Spend dedicated time once monthly thinking about well positioned companies (scheduled time for myself).
  • Do my own numbers once anything appears interesting (this is a difficult one, but it would set you ahead of others, think of “The Big Short” movie).
  • Risk here and there.

Do you have any thoughts on the topic? What is that big thing you missed, you think you could have caught?


No comments


Reevaluating my social media usage

October 6, 2024 Opinion, RandomThoughts No comments

I am guilty of wasting 2-3 hours daily on social media platforms and at times even more. That stuff is addictive. In this post I want to share my thoughts on the use of social media, how it changed for me (I drastically reduced its usage), and conclude with some key considerations.

Social media platforms I use or used

  • Facebook
    • There were periods in the second half of the 2010s when I enjoyed Facebook and opened the app every day. During COVID times my time on the app started to feel like a total waste of time. When the war in Ukraine started Facebook made me dependent on learning about the latest events inside Ukraine from people directly but oftentimes it was generating depressing thoughts. Other than that, too much of what people post is of little interest to me or is just nonsense, so…
    • I quit using Facebook. I do not have the app and almost never open it from the web, except for rare cases when I would use the marketplace or need to log-in to some other service with Facebook.
  • Twitter
    • I was a heavy twitter user. Here is a blog post from 2010 with a picture of my back with the words “follow me on twitter” painted over it. I think I found twitter to be fairly useful professionally in the 2010s as I could follow professionals I cared about and I was learning from them. These days twitter still appears to be the fastest way to get major news from around the world and a place to quickly share and validate ideas, but..
    • I quit using Twitter. Lately the things I see on twitter are pure garbage. Too many pictures, memes and other nonsense. Potentially if I make an attempt to re-teach the algorithm to adjust my recommendations to some specific professional niche and follow a few key people I can make use of it again. 
  • Instagram
    • So I’m kind of a recent user of Instagram. I had personal account created in 2018 in order to connect with some new people I met, later I figured that it is not really adding any value and after the war in Ukraine started I no longer feel like I want to post anything that is happening in my personal life, so I took my account private, cut the list of people I follow just to few dozens and created small list of ‘close friends’ to occasionally share some stories.
    • Another use of Instagram is for my climbing account. Someone even called me a “climbing influencer” (LOL, and that with my 1K followers). I find this account to be helping me make new climbing connections I would otherwise not have made, so…
    • I limit my use of Instagram to 5-10 minutes a day except for 1-2 days a week when I need to post my climbing story/reel, in which case I might spend 30 min in the app on that day. I’m happy I reduced my usage of the app.
  • LinkedIn
    • Undoubtedly the most useful social network on this list. I have the most connections in this network. I almost never actively posted on the platform, but I gladly extended the network by adding people I interacted with professionally or anyone who requested connection and appeared to work in tech.
    • I limit my use of LinkedIn on my phone mainly because of the latest changes that make it more like Instagram or Facebook with short videos and silly posts, but..
    • I am considering a more active use of LinkedIn since it is the cleanest social network and people generally maintain a professional attitude. The way to use it more actively would be to actively mute/remove connections who post low value posts and occasionally share my own original thoughts on the platform, like this very post. I haven’t decided if this is a good decision yet.
  • Strava
    • There is a chance you haven’t heard about this one. It is a social network for athletes. I synchronize my sport activities collected by my Garmin watch to Strava. I only have a few dozen friends there and consider this network to be mostly harmless as it is very focused. Also giving people “kudos” for their workouts or runs is definitely a more respectful thing than giving a like on other platforms for resharing existing silly cat memes or someone’s pretty butt. Nothing wrong with cats or pretty butts but just not the thing I want to spend my online time on.
    • I don’t limit my use of Strava but there is no need to do so given how little time it takes.
  • Blind
    • Another less known one. Anonymous professional platform. This one can be useful and I personally asked two questions in the past and got really good useful answers back. At the same time this is an extremely toxic place. 
    • I ban myself from Blind. Yeah, I would install the app when I need to ask something specific and after a week or two remove this toxic depression inducing thing. My TC is never good enough.
  • Other platforms
    • Just wanted to mention I use all kinds of messaging platforms for staying connected with people. As for other platforms that make it easy to consume socially generated content I try to be conscious if it is any useful. At times there is quality content, like Kurzgesagt or other quality creators on youtube, or very specific reddit threads.

To summarize: I’ve significantly reduced my time on social media, keeping only those platforms that offer clear value. The rest either distract me or negatively impact my well-being, so I’ve cut them out. Reevaluating one’s own usage of these platforms is a useful exercise to understand where the time goes and what can be done to regain control. 

Key Considerations:

  • Strategic Use: You could benefit from social media if you use it intentionally for specific purposes, like sharing blog posts, learning from others, and expanding your professional network.
  • Content Creation vs. Consumption: If you’re primarily creating content (e.g. in my case blog posts or climbing videos) instead of passively consuming it, you’re more likely to see returns from social media.
  • Time Management: You could limit your social media time to avoid it becoming a distraction. Below are some ideas for reducing the time usage.

How to reduce time?

  • Goals. I consciously worked on reducing my social media time by setting annual goals (e.g. “Near 0 time on passive social (Facebook, Twitter, Instagram, YTShorts, etc)”, “News check max once a day”) and had a few periods of successes and failures, but I learned that cycles of attempts eventually merge to create complete consistency.
  • Uninstall apps. Just making it hard to log-in to certain networks drastically reduces frequency of its usage.
  • Use a time-limiting software. I’m using Android’s Digital Wellbeing to set those 5m/Instagram, 15m/LinkedIn and other daily limits. This can be done for websites opened on the phone as well.


No comments


Level Up Your Work: Why Documenting Everything Matters

September 28, 2024 HowTo, Opinion No comments

If you are in a knowledge job, do yourself a favor and document everything as if your activities and thoughts were relentlessly producing logs similarly to a production server. Make it a habit and develop it so it becomes second nature. Offload cognitive burden to your computer, you don’t need and won’t be able to hold all of that information in your brain.

Let me give some of my personal examples and then follow up with how this was useful to me and others.

My tax documents from when I was a self-employed contractor

1:1 meetings

We all have 1:1 meetings: with our managers, peers, other stakeholders. I have a running doc for each individual person and take notes of every work conversation. For every person I create a go-link (something like go/person-andriy). This helps in 3 different ways:

  1. Adding topics. Every time I think about a topic to discuss with someone it is basically very keystrokes away. never have to go over the mental struggle of “Oh, what was that thing I had to talk to them about?”
  2. Searching for info. This one is probably obvious, but just to emphasize, I think our memories work by association, and it is often easier to look up something if you have a person in mind for a specific topic.

“Talk to X” docs

I extended this practice of storing topics for conversations into my personal life. I’m usually not documenting conversations themselves as they happen over coffee or walk and it would have been super weird to type during those. At the same time those docs work as a quick refresher and I found that in most cases this hugely enriches my conversations.

Cross-referencing everything

Cross-reference! cross-reference! When writing documents we obviously reference the sources of information, but a step further is to also do it in reverse (if possible). This helps connect the information and traverse it in any direction. So, if there was a strategy created based on a dozen of discussions with multiple teams, adding a link to that strategy to each discussion’s document will help each team relate to what that discussion has led to.

Documenting before and after religiously

A new practice I picked at Google is to capture “Landed Impact” in the design document after the actual launch. A design document would normally have effort justification, which often includes expected impact, but then “Landed Impact” would capture what actually happened. And I keep adding to that section. As a very specific example, I finished a project that reduces the monetary impact of outages a couple of years ago, and relatively recently there was an outage that would have cost us a lot more money if that project wasn’t done. I simply went to that old doc and documented this more recent impact. Why spend effort on this? Here we go:

Artifacts pay off

Presence of good artifacts makes a huge and oftentimes decisive difference to the outcomes of performance reviews and promo discussions. Think about the promotion process, you cannot even imagine how the presence of solid artifacts is important. With the artifacts in place people don’t have questions, they are like “here is the impact, here is leadership, this is influence, SOLID case”. Instead if artifacts are sloppy it becomes hard to drive conclusions from them, people are like “scope of work is unclear, impact might not be for the next level”. With good artifacts you are offloading cognitive load not just for yourself but for others, you make their decision process easier and they also feel like their responsibility is taken care of.

Unfinished work

Do you know those dreadful situations when a project is axed? This could be in your control (you didn’t find enough impact in work) or outside of your control (reorgs made this part of thing irrelevant, it is too late to market). Are a few months of your effort all waste? Nope, if you documented the learnings, basically you have your retrospective and learnings document ready. You hand it over to leadership and they can use it as a clear case of work being done. A quick failure is also ok as long as there is learning from it and how do you know if there was learning if there is nothing in the end?

Tooling

Does tooling matter? Well, someone could argue that it doesn’t as long as it does the job, but I’m yet to find any tool that works as well as Google docs: it is accessible everywhere you log in, searchable, shareable, collaborative. Works well at work and works well for personal things. Even this blog post originated in a Google Doc. And, yes, I tried other tools.

Conclusion

Same as the introduction: do yourself a favor and document everything as if your activities and thoughts were relentlessly producing logs. Offload cognitive overhead to docs and make your brain busy with now.


No comments


Favorite Debugging Strategies

September 22, 2024 Debugging, HowTo No comments

This is original content by Andriy Buday.

Yes, even this picture of rubber ducks is orignal picture I took ~10 years ago.

I just wanted to document a few different strategies for debugging and root-causing issues that have worked for me in the past, with examples. Two things about this post: it isn’t an attempt to provide a holistic view on debugging, mainly because there are plenty of articles out there. Also, I recently tried using an LLM with a relatively simple prompt, and it generated quite an impressive summary. Instead, I wanted to share a few examples and just a few approaches I like. I have two or three favorite strategies for debugging:

Time & changes

In my experience, if something worked and then stopped more likely than not a change was introduced recently, this is why there is a concept of “change management”. Simply looking at anything that changed at the same time when the problem appeared helps. Steps:

  1. Identify the time of when the problem first started.
  2. Collect available symptom information, such as error messages.
  3. Lookup relevant codebases, releases, data and config changes by the timestamp. Prioritize search using clues from sympthoms but don’t skip lookup just because it seems less relevant.

Sometimes an error message could give a straightforward path to identifying an issue. Happy scenario could look like this: you find the error message in the codebase, open the file change history and right there you see a problematic change. But things aren’t always as straightforward.

Because a symptom can be at the end of a long chain of events I don’t always focus just on the clues from the symptom, but rather advise to look at anything unusual starting at the same time.

As an example, I was involved in root causing an issue where our server jobs were crashing and could not startup after the crash. After looking through logs it seemed something made them not able to load a piece of configuration data, so we looked at stack traces of the crash but it wasn’t bringing us any closer to solving the issue. Instead, by looking at logs at healthy servers we noticed non-critical warnings and inconsistency in configuration. These two things seemed unrelated but they started appearing around the same time, so by looking at logs at healthy servers we identified the fix.

As another example, a colleague of mine was investigating an issue when an API was crashing at specific type of requests, by looking at the changes to the API he couldn’t see any changes around the time of when this started happening. I suggested we expand our search, and see if other clients of this API had any changes and what we found was that someone updated all of the clients of the API at the timestamp of when we started to see the issue, but they forgot to update our client.

Isolation and Bisection

My next best favorite approach to debugging is reduction in the universe of possibilities. What can be better than halving it every time?

I found this approach to be the best when debugging a bunch of recently written code. If this is the code you have locally, you can simply split it into smaller chunks (like commenting out half of a function). If you pulled recent changes by other engineers, a strategy could be to sync to a version midway between your original base and the most recent changes. I have applied this so many times it feels natural.

As an example, we perform huge number of experimentation at Google, occasionally these experiments cause issues, starting from server crashes or impact on revenue in which case automatic systems normally kick in and disable culprit experiments, but sometimes things are more subtle and a culprit has be found semi-manually in a new batch of experiments, in which case we apply bisection strategy.

Rubber duck debugging

Yeah, you’ve read that right, google it after you finish with this post. Rubber duck debugging is a technique of articulating your problem to someone else, explaining what research has been done so far and what you are solving. Oftentimes, this results in an “aha” moment and a realization where the problem is. Since you don’t need too much involvement from another party other than listening, you can just talk to an actual rubber duck.

As a story, I once told about rubber duck debugging to a manager of a team of consultants with whom I worked, the next day he bought all of us rubber ducks. It was a very nice gesture.

But a bit more seriously, there is a lot of merit to this strategy. I have joined dozens of small calls with other engineers where they tried to debug a problem and when after explaining the issue to me and myself just asking them simple “why?”, “give me more details” questions at some point they realized where the problem was. All of this without me even understanding their code or what they are doing.

Other strategies

As I mentioned, I didn’t attempt to write a holistic overview of debugging strategies. Other things that worked for me were: using debugger (obviously), profilers, other tools, stack tracing top to bottom and bottom to top, logging more things, etc, etc. There simply are so many ways to diagnosing and root causing a problem and not all strategies are equally applicable.

What else worked great for you?


No comments


Finding my Deep Work

September 15, 2024 Opinion No comments

This post is original content by Andriy Buday.

NOTE: I wanted to gather my thoughts on the topic of “deep work” before going through the book “Deep Work” which I just picked and started listening to.

When and where are you the most productive? Does it ever happen to you that in a few hyper-focused hours you can complete as much as in a few days of ordinary pace work? Do you think it is possible to make these hyper-focused hours happen regularly every day?

Shallow Work

In the past I could be really focused on simpler, somewhat repetitive work. I remember I once had to add some extra data to our database and pull it through all layers and get into the frontend. Typically in that project this would take a week or so, but because I did this so many times one evening of hyper-focused work was enough and the PM who requested this was super surprised “you are very quick” with big eyes. Occasionally this looked like I was an overly competitive person. I remember at my first job I got an assignment to create some medical forms. I was maybe 2-3x faster in creating them compared to a more tenured person. I didn’t compete, it was just focused and fun work to me. This type of work is something you can grind through if you have a looming deadline.

Deep Work

But what about the work when more deeper thinking is required? It’s normally harder or next to impossible to bluntly grind through. It’s different in a way that any distraction derails the train of thought. Imagine, you are writing a design document, and you need a bit of extra info, so you search for that info, and a few dozen browser tabs away you realize you no longer remember what you were looking for and what you are doing on this particular page and that now it’s time for your meeting on another topic. I see deep work as periods of intense uninterrupted focus when I can make major progress on something hard to do.

Ideal span of focused time

For me ideal stretches of focused time are always longer than 30min and shorter than 3 hours. I found that getting into the deep work requires “warming up”, pretty much like in sport activities. After that, maintaining intensity is easier but never lasts longer than 4 hours, after which productivity goes down rapidly.

Mental capacity

There is limited mental capacity available on any day for deep work. I imagine it as a capped reservoir. The only way to have it full is to be well rested (proper sleep night before, healthy body and mind). Working in focused mode is like directing the flow to harvest energy on what you need. Distractions are like huge leaks that take time to fix. The reservoir is very hard to expand, but you can train to make use of the flow much faster without the lag time, so instead of requiring 30 min to get into the focus you might train to shorten this time.

Environment

Another aspect of focused work for me is the surrounding environment. I am working on creating routines. Say, to write blog posts I decided to do them in a bubble tea place each time after dropping off my kids for karate classes. I know I have an hour of active work and there will be very little time during the week to get most of it done, and then one more stretch of work early on Saturday or Sunday morning. This post is written in three one hour sittings.

Distractions

Going through social media feeds on mobile phones is an obvious time and attention killer. But even something that is more important and you have to do has detrimental effects. For instance, just 4-5 meetings are normally enough to exhaust mental capacity for any deep work on that day, especially if they are spread throughout the day. Or, say, replying to messages from your boss is something important, but again if it comes in the middle of your deep work on, say, writing an important doc you lose your attention and will have to get into the flow of writing again. Small things often go a long way to reduce distractions, things like putting the phone away, having a clean work desk, using full screen mode, etc, whatever works for you.

Time of the day

A “cheat code” appears to get those 3 hours of work before any meetings. I know it is a cliche to say “wake up at 5AM and get most work done before others wake up”. I found this to be true, except it doesn’t work for me mainly because at 5AM I’m a zombie and not a human (maybe if I was a robot it would have worked ;) ). This works though if I go to bed at 9PM, which is super difficult as even my kids laugh at me when I mention going to bed this early.

Commitments

I mentioned deadlines at the beginning and I think they are a very important motivating aspect for actually getting into the deep work. A caveat that comes with deadlines is that often they are perceived as something far in the future so we tend to procrastinate until its too late. Thus, something that works better are shorter cycles. For me, weekly cadence seems to be the best, both in my personal life and at work. For projects that I drive at work I usually establish a weekly cadence of planning/commitments. I have written about setting up challenges with friends and I’ve been doing this in one or the other form since 2016.

Key contributors to focused work for me:

  • Plenty of sleep the night before
  • Distraction-less surrounding environment
  • Very early hours (or very late hours)
  • Dedicated spaces for specific types of work
  • Having a goal for each session
  • Commitment of some sort (work deadlines, self-goals, promises)


No comments