Yegor Bugayenko's Blog

March 4, 2026

Fast Software: More Programmers, Not Fewer

When I was five years old, I inherited the shoes of my older brother.Not because our family was poor, but because the shoes were good.My grandma told me that when she was a fianc��e her dowry consisted of a few skirts.Not because she was poor.She wasn���t.Because the skirts were good and rather expensive.Now, in 2026, to get a new pair of shoes or a new skirt, I just buy them at a mall down the street.I don���t hesitate to throw away the old ones.The same will happen with the software, t...

 •  0 comments  •  flag
Share on Twitter
Published on March 04, 2026 16:00

January 24, 2026

SPAs Are a Performance Dead End

It seems to be popular to design websites as Single Page Applications (SPA).Instead of showing a new HTML page on every click, an SPA sends a lightweight skeleton with JavaScript.The JS makes HTTP requests, receives JSON, and injects data into the DOM.On each user action, the page doesn���t reload���only the DOM changes.Such an architecture, once a response to slow browsers and unreliable networks, is now a bottleneck.The page is built of fragments, each requiring its own HTTP request.No m...

 •  0 comments  •  flag
Share on Twitter
Published on January 24, 2026 16:00

January 10, 2026

Comments Considered Harmful in the Age of LLMs

Writing code documentation is a pain.Not writing it leads to even bigger pain���we can���t comprehend the code.However, writing it and then forgetting to update it causes the ultimate pain: it lies and confuses us.How about we cure all three pains at once: prohibit all comments!How do we know what the intent of the code is if we don���t have any comments?We ask an LLM to explain it to us.What if the LLM fails to explain and confesses its inability?Then, we automatically fail the build and...

 •  0 comments  •  flag
Share on Twitter
Published on January 10, 2026 16:00

December 27, 2025

The Fall of JavaScript

In 1995, Brendan Eich was hired by Netscape and asked to create a language for their HTML browser.Rumors say, he designed Mocha in 10 days, later renamed to LiveScript, and then to JavaScript.It was planned to make it similar to Scheme, a LISP-syntax language.Instead, to please the crowd of C++/Java coders, it was made syntactically similar to Java.In 2008, Brendan made a tragic mistake: he donated $1,000 in support of Californian anti-gay marriage law.In 2014, he joined Mozilla as a CEO an...

 •  0 comments  •  flag
Share on Twitter
Published on December 27, 2025 16:00

November 29, 2025

You Are the Low-Hanging Fruit

Let���s say, you are a startup founder, like myself.Try to hire a sales guy.Offer him a commission-only payment scheme.Listen to his reaction: he will demand that you pay a fixed salary too, on top of commission.Try to convince him that commission-only is a more reasonable and motivating setup.Goto 1.After a number of iterations you realize that the mission is impossible.Sales people are good at selling and the best thing they sell is the idea that their time must be compensated.Even if ...

 •  0 comments  •  flag
Share on Twitter
Published on November 29, 2025 16:00

November 15, 2025

Small Repo, High Quality

I don���t like monolithic repositories.They keep multiple projects together, often written in different languages, by different teams.Unfortunately, Google, Facebook, and Yandex favor them.Primarily, according to them, monorepos reduce integration overhead.They do, but at the cost of quality.In smaller repositories we can develop better code.

[image error]������������ (2008) by �������������� ������������������

When a repository is smaller you can achieve higher quality, for a number of reasons:

...
 •  0 comments  •  flag
Share on Twitter
Published on November 15, 2025 16:00

November 8, 2025

Can���t Merge? Don���t Despair.

You���ve made a pull request, but it won���t merge.A reviewer says it���s not good or the tests don���t pass.No matter what, you can���t get it into the master branch.You keep fixing the branch, keep convincing the reviewer, keep hating the tests.Stop.Try smarter tactics.

[image error]Amores Perros (2000) by Alejandro Gonz��lez I����rritu1. Give Up Instantly

First, fail fast.Give up quickly.If it doesn���t go through smoothly, close it.If the reviewers��� complaints are more than stylistic issu...

 •  0 comments  •  flag
Share on Twitter
Published on November 08, 2025 16:00

October 4, 2025

Programmers, Don���t Use Windows!

In 2020, in the Junior Objects book I wrote this: ���Windows is not suitable for programmers. If you meet anyone who will tell you otherwise, you must know that you deal with a bad programmer, or a poor one, which are the same things. Your computer has to be MacBook.���Now, five years later, I still hold the same opinion.This blog post is supposed to be less opinionated and, because of this, more convincing.The point is still the same: you either use Windows or you are a professional pr...

 •  0 comments  •  flag
Share on Twitter
Published on October 04, 2025 17:00

September 13, 2025

Red vs. Black

In Soviet Russia, prisoner camps were divided into two categories: red and black.In a red camp, the power belonged to the prisoners who cooperated with the administration and helped it maintain discipline.In a black one, the power was in the hands of criminals who resented the rules, in permanent confrontation with the administration.It seems that in software companies we may also categorize employees into red and black.A red employee enjoys obeying the rules and climbs up the career ladder ...

 •  0 comments  •  flag
Share on Twitter
Published on September 13, 2025 17:00

August 16, 2025

The End of Type Annotations

Type annotations are what make statically typed object-oriented languages like Java run faster and safer.Without annotations, every variable would effectively collapse to Object, forcing runtime casts.The code would work, but slower and with more runtime errors.Some type annotations may be inferred instead of being explicitly specified by a programmer.Not all though.In Java, for example, a number of hard-to-resolve challenges prevent us from inferring types of all objects.This is not a fun...

 •  0 comments  •  flag
Share on Twitter
Published on August 16, 2025 17:00