Yegor Bugayenko's Blog
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 ...
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:
...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 InstantlyFirst, fail fast.Give up quickly.If it doesn���t go through smoothly, close it.If the reviewers��� complaints are more than stylistic issu...
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...
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 ...
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...
June 21, 2025
remove(42) vs. find(42).remove()
We have a list of books in the books object.How do we remove a single book from it, given that we know its ID?We can do books.removeById(42).Alternatively, we can find it with books.findById(42) and then call b.remove().Which option should we prefer, and why?The second choice is the better one.Not only because it���s more object-oriented, but also due to several practical advantages.
[image error]8 Femmes (2002) by Fran��ois OzonExtending the Deletion BehaviorWhat if we want to extend the deleti...
June 7, 2025
Write Unit Tests, Don���t Waste Our Money!
Automated tests help us write code faster.Unit tests immediately tell us when we break something.Integration tests calm us down, reducing the fear of shipping a failure to a user.But who are ���us���?Programmers.What about our employers?How do automated tests help them?Automated tests protect their investments.
[image error]La Femme Nikita (1990) by Luc BessonEvery change we make to a codebase costs our employer money.Whether they pay us monthly or per line of code, the bottom line is the same:...
May 30, 2025
Good Title ��� Good Bug Report
A few weeks ago, @horw released a new GitHub plugin that fixes GitHub issue titles: issue-title-ai.Once an issue is created, the plugin asks ChatGPT���or DeepSeek, or Claude���to improve its title.We���ve already integrated the plugin into objectionary/eo and a few other repositories.Works like a charm.What���s wrong with the titles the way they are, you may ask?Why do we need to ask ChatGPT to make them ���better���?Because we want every issue���either a bug report, a feature request, or ...
May 24, 2025
Stop Asking and Suggesting ��� Just Complain
Wikipedia says that Bug Driven Development (BDD) is an anti-pattern.Raja Shankar Kolluru perfectly explains why.However, Florian Rappl argues that it���s not.Ben Winding believes that it���s better than TDD.In simple words, BDD is kind of like trying to build a plane while it���s flying, based on passenger complaints.Nobody builds planes like that (well, maybe Boeing and Airbus).However, a software team that practices BDD might demonstrate higher productivity.
[image error]Ghost Dog (1999) by Jim Ja...

