Yegor Bugayenko's Blog, page 7

February 1, 2021

Greed-Based Planning

You have an objective, a budget, and a team. You area manager and you want the project to be done. You get your team togetherin a meeting roomto discuss the plan. You tell them what needs tobe done and ask them how fast they can do it. Then, you do the motivational danceand beg ask them to commit. They nod and go backto their cubicles. Of course, after a fewmonths of ���hard work��� all the milestones are missed and you get back to the planningmeeting. And, yes, you pay their salariesan...

 •  0 comments  •  flag
Share on Twitter
Published on February 01, 2021 16:00

December 28, 2020

Put a Number on Your Boss���s Emotions

You got into a company that believes in
democratic
values, doesn���t measure
performance, doesn���t judge, doesn���t
control, doesn���t force, and
doesn���t blame; however, at the end of the year they tell you that
your performance was not as high as expected. Why?
���Just work better, my friend, we count on you!���
Bad luck, you are in a teal self-managing organization. They���ve already
killed the management, but still didn���t dare to kill the managers.
They don���t know how to measure, but s...

 •  0 comments  •  flag
Share on Twitter
Published on December 28, 2020 16:00

December 21, 2020

Self-Managing vs. Manager-Free Organizations

We are in trouble. On the one hand, most managers are weak and incompetent.
Their mistakes destroy our motivation,
decrease productivity, and lead to business failures.
As a result, many of us believe that managers are evil.
On the other hand, there is a new idea that self-managing organizations are
the future. Its proponents are trying to convince us that chaos is
better than management mistakes. They want us to believe that subordination,
hierarchy, control,
and order are new bad words to be p...

 •  0 comments  •  flag
Share on Twitter
Published on December 21, 2020 16:00

November 30, 2020

Abstract Objects

How do you create objects in your object-oriented language?
Let���s take something classic, like C , Java, or C#. First you define
a class, and then you make an instance of it. The first step is known
as abstraction,
and the second one as
instantiation.
A similar pair of operations
exist in functional programming: declaring a function is
abstraction,
while calling it with specific arguments is
application.
The question is:
why does OOP need classes and objects,
while FP survives with just funct...

 •  0 comments  •  flag
Share on Twitter
Published on November 30, 2020 16:00

November 23, 2020

Objects Without Methods

What do you think an object is in OOP? No matter what language you are
programming with, you will most probably agree with Bruce Eckel,
the author of Thinking in Java, who said that ���each object has a state
and operations that you can ask it to perform,��� or
Benjamin Evans, the author of Java in a Nutshell, who claimed that it is
���a collection of data fields that hold values and methods that operate on those values.���
However, hold on��� What if I told you that an object may have no ���ope...

 •  0 comments  •  flag
Share on Twitter
Published on November 23, 2020 16:00

November 14, 2020

Software Quality Award, 2021

[image error]

This is the seventh year of the
Software Quality Award. The maximum prize
is still the same���$4,096.
The rules are still the same. Read on.
Previous years are here:
2015,
2016,
2017,
2018,
2019,
2019.





Here is the form
to fill out.



Rules:





One person can submit only one project.




Submissions are accepted until September 1, 2021.




I will check the commit history to make sure you���re the main contributor to the project.




I reserve the right to reject any s...

 •  0 comments  •  flag
Share on Twitter
Published on November 14, 2020 16:00

November 9, 2020

Strong Typing without Types

In 1974, Liskov and Zilles defined
a strongly-typed
language as one in which ���whenever an object is passed from
a calling function to a called function, its type must be
compatible with the type declared in the called function.���
Strong type checking,
without doubt, decreases the amount of
type errors,
which leads to higher quality. However, the question is:
do we really need types in order to strongly enforce typing?





[image error]Redirected (2014) by Emilis Velyvis

For example, this is a place where ...

 •  0 comments  •  flag
Share on Twitter
Published on November 09, 2020 16:00

November 2, 2020

The Pain of Daily Reports

A few days ago I asked

followers to vote in a
simple poll.
They did, screaming in comments that only a stupid
incompetent manager would ask programmers to send daily reports,
while everything they do can easily be tracked in tickets, Git history, and so on.
Indeed, why on earth would a sane manager ask software engineers, already very busy with coding,
to spend time on writing these ridiculous reporting emails?
Let me try to give you a good reason.





[image error]Norsemen (2017) by Jon Iver Helga...
 •  0 comments  •  flag
Share on Twitter
Published on November 02, 2020 16:00

October 26, 2020

New Metric: the Distance of Coupling

Encapsulation,
as you know, is one of the
four key principles
in object-oriented programming.
Encapsulation, according to Grady Booch et al.,
is ���the process of hiding all the secrets of an object
that do not contribute to its essential characteristics.���
Practically speaking, it���s about those private
attributes that we use in Java and C++: they are not visible to the users of
our objects, that���s why they can���t be modified or even read.
Booch et al. believe that the purpose of encapsula...

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on October 26, 2020 17:00

October 12, 2020

Lack of Problem Is the Problem

Do you know the most typical mistake startup founders make
when they pitch their ideas to investors? According to
Jake Mendel
from Silicon Valley Bank, they often focus on the solution they propose
instead of the problem they are trying to solve. Inability to identify
the problem is the common cause of startup failures. However, it���s not only them.
Look at your project and try to answer
���What���s wrong with the world now?��� and then ���How is this product fixing it?���





[image error]Le retour du h��ro...
1 like ·   •  0 comments  •  flag
Share on Twitter
Published on October 12, 2020 17:00