Skip to main content

· 4 min read
Kyrylo Bulat

Technical debt

Everyone has heard of this almost a buzz phrase - technical debt. But what does it really mean? Is it good or bad? Do you need to "pay it down"? The article from Stack Overflow gives a good overview of this topic with a checklist for tackling the technical debt in your company or project.

Technical debt (also known as tech debt or code debt) describes what results when development teams take actions to expedite the delivery of a piece of functionality or a project which later needs to be refactored. In other words, it’s the result of prioritizing speedy delivery over perfect code.

ProductPlan - Technical Debt

In my personal view, technical debt is an issue in the code. You are aware of it, but keep avoiding finding a permanent fix; instead, you patch it with workarounds or temporary fixes.

Is it good or bad?

As I said earlier, technical debt is an issue, so I would rather put it in the category of things we would rather not have in our code.

But why is it bad? Because eventually, the technical debt will catch up to you when you least expect it. It often happens when you're close to completing a long-awaited feature but are unable to do so until you address the technical debt. If you haven't experienced this, ask your colleagues if they've ever been in similar situations. Perhaps technical debt is lurking just around the corner for you.

10 tips from Stack Overflow

Here is the checklist that is also available at Google Docs:

  • Prioritize and triage critical areas of tech debt
  • Refactor regularly
  • Allocate time for tech debt repayment in sprints and regular workflows
  • Automate (identify, track, fix) when possible
  • Educate and share with your team
  • Write clear documentation
  • Adopt a “pay it forward” mentality
  • Implement and participate in code reviews
  • Test early and often
  • Align with business objectives

Not all of the points above, e.g., "Test early and often", are specific for reducing and preventing technical debt but rather a best practices for any software engineer.

I cannot over-emphasize the importance of the following tips:

  • Prioritize and triage critical areas of tech debt
  • Refactor regularly
  • Educate and share with your team

Prioritize and triage critical areas of tech debt

Yes, you heard it correctly, "triage" is the word used for technical debt. Not only do the bugs need to be triaged, but technical debt must also be addressed. Ultimately, the consequences of the untriaged technical debt might be much worse than the untriaged bug.

Refactor regularly

I'll repeat that clichéd "Boy Scout rule": "Always leave the campground cleaner than you found it." It is that simple. Every time you change the code, spend this extra time, which can be 5 minutes or a couple of hours, depending on your capacity, to improve something. If you don't know how to improve, check SonarQube to find smell codes, write unit tests, upgrade dependencies, or simplify the code. Anything would do. And believe me, there is always something to improve because "all code is technical debt" :D

Educate and share with your team

Many people like to be an army of one and want to change the world. Let's be realistic, though; the teamwork is essential. You can keep fixing and refactoring the code after yourself and your team. Still, the team would generate more than you can fix. It is critical to share the importance of addressing the technical debt and best practices for reducing it or at least preventing it from creating a new one. "Educate and share with your team" is my number one when discussing technical debt.

My story with technical debt

As for me, technical debt keeps chasing me everywhere I go, and that is completely fine. It is enjoyable to see code metrics improve when fixing it. Whenever I feel like having a challenge or fixing something in a more relaxed atmosphere, I have plenty of technical debt to choose from :D

· 9 min read
Kyrylo Bulat

My view on reading books

I want to start this post with a confession I'm not a big fan of reading books, I never was, and I'm not sure I'll ever become one. In school, I preferred playing video games over reading books. In university, I watched many movies and TV shows, but I couldn't name more than 5-10 works I have read a year.

At the same time, it is hard to overestimate the importance of reading books and how great I feel whenever I finish one. The endless source of wisdom, great stories, and histories are hidden in the bookshelves.

At the end of 2022, I decided to make reading books my habit. I composed a list of books I want to read in 2023, thought about how I will review them, and watched inspirational videos to remind myself about the benefits of reading books. This list for 2023 consists of classics, biographies, software engineering, and management books. I'll prepare a separate post where I share more details about the list. #blog-promises

How to read books?

Reading is actually only one part of the book universe. Apart from it, I would also love to remember what the book is about and what new I have learned from it. Writing a review for a book or outlining core ideas from it would help me to quickly refresh it in my memory.

And let's make it even more fun apart from reading and making notes, I would also share it on my web page. So here we are, with the first short form of a book.

The Psychology of Money: Timeless lessons on wealth, greed, and happiness

This book is not part of the list I've created, but it caught my attention when browsing through the library I have in the office at work.

The section after the three lines below contains my notes from book chapters.

Facts

  • Full name: The Psychology of Money: Timeless lessons on wealth, greed, and happiness
  • Author: Morgan Housel
  • Published: Harriman House (September 8, 2020)
  • ISBN-13: 978-0857197689

In The Psychology of Money, Morgan Housel shares stories exploring how people think about money and teaches you how to make better sense of it.




No one’s crazy

Ideas


Luck and Risk

Nothing is as good or as bad as it seems

Ideas


Never enough

When rich people do crazy things

Ideas

Never risk what you have and need for what we don’t have and don’t need.

Warren Buffet

Few things to remember

  1. The hardest financial skill is getting the goalpost to stop moving
  2. Social comparison is the problem here
  3. “Enough” is not too little
  4. There are many things never worth risking, no matter the potential gain

Confounding compounding

Ideas

$81.5 billion of Warren Buffett's $84.5 billion net worth came after his 65th birthday. Our minds are not built to handle such absurdities. But good investing isn't necessarily about earning the highest returns because the highest returns tend to be one-off hits that can't be repeated. It's about making pretty good returns that you can stick with and which can be repeated for the longest period of time. That's when compounding runs wild.


Getting Wealthy vs. Staying Wealthy

Good investing is not necessarily about making good decisions. It's about consistently not screwing up.

Ideas

A mindset that can be paranoid and optimistic at the same time is hard to maintain because seeing things as black or white takes less effort than accepting nuance. But you need short-term paranoia to keep you alive long enough to exploit long-term optimism.

Morgan Housel


Tails, you win

You can be wrong half the time and still make a fortune

Ideas

I’ve been banging away at this thing for 30 years. I think the simple math is, some projects work and some don’t. There’s no reason to belabor either one. Just get on to the next and keep telling stories.

Brad Pitt

Become ok with a lot of things going wrong. You can be wrong half the time and still make a fortune. you should be ok with a lot of stuff not working . That is just how the world is.


Freedom

Controlling your time is the highest dividend money pays

Ideas

Being able to do what you want, when you want, where you want and with whom you want is priceless. Use your money to get control over your time.


Man in the car paradox

No one is impressed with you possessions as much as you are

Ideas

The paradox of the man in the car is that you believe that if you were the man in the car people would notice and admire you, but you believe this while ignoring the man in the car.

Remember the “Man in the Car Paradox” When You’re About to Make an Expensive Mistake | by Matthew Kent | Medium

Admiration and respect are not owned with the possessions I have, but they should be owned through kindness and humanity.


Wealth is what you don’t see

Spending money to show people how much money you have is the fastest way to have less money

Ideas

We assume that a person with an expensive car, house, and clothes is wealthy. Still, it only means that the person spent all this money on these things or maybe even has a loan to purchase them.

Side note: it is hard to learn how to build wealth because "Wealth is what you don't see," and it is hard to learn from what you don't see.


Save money

The only factor you can control generates one of the only things that matters. How wonderful.

Ideas

The first idea simple but easy to overlook is that building wealth has little to do with your income or investment returns and lots to do with your savings rate.

More importantly, the value of wealth is relative to what you need.

Morgan Housel

Savings can be defined as a gap between my ego and my income. People need a pretty low amount of money to cover their basic needs. Everything else is ego approaching the income, spending money to show other people that you have money.

You don’t need a specific reason to save.


Reasonable > Rational

Aiming to be mostly reasonable works better than trying to be coldly rational

Ideas

Do not aim to be coldly rational when managing money, aim to just be pretty reasonable. We can’t always do rational things, it is not in the people nature. It is enough to be just reasonable when doing decisions.


Surprise

Ideas

“historians as prophets” fallacy: an overreliance on past data as a signal to future conditions in a field where innovation and change are the lifeblood of progress.

Morgan Housel

We can’t rely purely on the history when thinking about future investments, because history is mostly study of the surprising events.


Room for error

The most important part of every plan is planning on your plan not going according to the plan

Ideas

Margin of safety - introduced by Benjamin Graham - is the only effective way to safely navigate a world governed by odds, not by certainties.
Instead of taking the world as black or white, we should take it as a range of possible outcomes.


You’ll change

Long-term planning is harder that it seems because people change and their goals and desires also change

Ideas

We should avoid the extreme ends of financial planning.

Morgan Housel

When we avoid it, we will have less regret in the future. For example, we should not plan for working hard all life, because in the end we might end up regretting spending our whole life on work. At the same time, we can't live our entire life for a minimal salary because we could end up regretting not having money for retirement.


Nothing is free

Everything has a price, but not all prices appear on labels

Ideas

Every job looks easy when you are not the one doing it because you don’t see the challenges of this job. In investments, it seems easy to just invest in a good index fund and wait for returns, but most of the time, the price - is accepting volatility (holding without selling in hard times). Market returns are never free and never will be. The volatility/uncertainty fee - the price of returns - …


You and me

Beware of taking financial cues from people playing a different game than you

Ideas

It is important to understand what game you are playing because everyone has different goals, timelines, paths, and styles.

When investing/spending money, you should not be influenced by other people, your heroes, or people you admire.

When you understand the game you play, events occurring worldwide will not affect you in the same way as when you are unclear about your game.


The Seduction of Pessimism

Optimism sounds like a sales pitch. Pessimism sounds like someone trying to help you.

Ideas

Expecting things to be great means a best-case scenario that feels flat. Pessimism reduces expectations, narrowing the gap between possible outcomes and outcomes you feel great about.

My expectations were reduced to zero when I was 21. Everything since then has been a bonus.

Stephen Hawking


When you’ll believe anything

Appealing fictions and why stories are more powerful than statistics

Ideas

The more you want something to be true, the more likely you are to believe a story that overestimates the odds of it being true.

· 2 min read
Kyrylo Bulat

The history

I bought the kbulat.com domain on the 28th of January, 2022, on the namecheap.com website. This day I decided to have my personal website, which I will use for ... Actually, I had yet to set a clear goal when I registered this domain name.

No goal

I thought about having a website to show my friends or link to my CV so the next time I apply for a job, it looks more advanced. So I ended up with a couple of simple pages created with the help of ReactJS, which mostly showed static content.

Old page

Since then, I have neither shown the website to my friends nor applied for a new job. I added the "Vocabulary" page, which showed a couple of words and their definition in English - nothing serious, though.

Vocabulary page

Nowadays

Almost a year later, I came back with the idea to renovate it, primarily because of discovering the Docusaurus tool and having some free time before Christmas. BTW, Merry Christmas and Happy New Year!

2023 New Year Image by Rochak Shukla on Freepik

Setting up the blog with the help of Docusaurus didn't take much time, thanks to the official documentation and great examples provided. But the most time-consuming part is ahead - creating the content.

So what's next?

What is "KB Life" about? Hopefully, it is all about life from all its perspectives.

I want to document the following:

  • events from life,
  • findings from the software engineering field,
  • pictures,
  • videos,
  • sport activities,
  • book and movie reviews,
  • food receipts,
  • my thoughts,
  • and whatever happens to be on my way.

What will it really be? Only the time will show. I will be happy if I do posts regularly, no matter what it is about.