How to Teach a Customer

  • 455 words
  • two minutes to read
  • comments

In outsourcing, very often a customer is an idiot doesn't really know what he needs—not only in terms of functionality, but also on a technical level. What makes the situation even worse is that the customer very often always thinks he knows and understands enough. The question is how do you teach a customer? How do you train, educate, and help him? You don't!

How Much Do You Love Conflict?

  • 1385 words
  • 6 minutes to read
  • comments

Conflict is what progress is made of. A professional and well-managed team loves conflicts and creates them on a daily basis. A professional project manager provokes conflicts and makes sure none of them end in a consensus. Does that sound strange? It's not sarcasm. Read on.

Can Objects Be Friends?

  • 339 words
  • two minutes to read
  • comments

As discussed before, proper encapsulation leads to a complete absence of "naked data." However, the question remains: How can objects interact if they can't exchange data? Eventually we have to expose some data in order to let other objects use it, right? Yes, that's true. However, I guess I have a solution that keeps encapsulation in place while allowing objects to interact.


  • 421 words
  • two minutes to read
  • comments

Model-View-Controller (MVC) is an architectural pattern we all are well aware of. It's a de-facto standard for almost all UI and Web frameworks. It is convenient and easy to use. It is simple and effective. It is a great concept ... for a procedural programmer. If your software is object-oriented, you should dislike MVC as much as I do. Here is why.

How to Pay Programmers Less

  • 1151 words
  • five minutes to read
  • comments

To create software, you need programmers. Unfortunately. They are expensive, lazy, and almost impossible to control. The software they create either works or doesn't, but you still have to pay them, every month. Of course, it's always better to pay less. However, sometimes they may figure out they are being underpaid and quit. How do you prevent that? Unfortunately, we can't use violence any more, but there are some other mechanisms. Let me share.


  • 190 words
  • a minute to read
  • comments

It's time to do it! We've started work on a new programming language. Its name is EO (as in Elegant Objects or in Esperanto): It's open source and community driven: yegor256/eo GitHub repo. It's still in very early draft form, but the direction is more or less clear: It has to be truly object-oriented, with no compromises. You're welcome to join us.

Encapsulation Covers Up Naked Data

  • 480 words
  • two minutes to read
  • comments

Encapsulation is the core principle of object-oriented programming that makes objects solid, cohesive, trustworthy, etc. But what exactly is encapsulation? Does it only protect against access to private attributes from outside an object? I think it's much more. Encapsulation leads to the absence of naked data on all levels and in all forms.

Why I Don't Publish E-Books

  • 811 words
  • four minutes to read
  • comments

Very often readers of my books ask me why I don't publish them in digital format as e-books for Amazon Kindle, EPUB, FB2, or simply PDF. There are a few reasons. It's time to summarize them all and explain why dead trees are the only way to go if you want to read my content.