Yegor Bugayenko's Blog, page 14

October 8, 2018

You Think You Can Control Us?

I was explaining how Zerocracy works to one of our prospective clients yesterday. He texted me today: ���[At Zerocracy] there is no commitment and anybody is free to leave any time, so the risk of entrusting a highly important project to such a platform and failing to deliver it on time is very high. We will develop it on our own with hired developers who will have salaries, and I���ll be architect and project manager, that way it will be under our entire control.��� I think this word ���cont...

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

September 29, 2018

Software Quality Award, 2019

[image error]

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

Fill out THIS FORM to submit your project.

Rules:

One person can submit only one project.

Submissions are accepted until September 1, 2019.

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

I reserve the right to reject any submission without explanation.

All subm...

 •  0 comments  •  flag
Share on Twitter
Published on September 29, 2018 17:00

September 17, 2018

Fear of Decoupling

Objects talk to each other via their methods. In mainstream programming languages, like Java or C#, an object may have a unique set of methods together with some methods it is forced to have because it implements certain types, also known as interfaces. My experience of speaking with many programmers tells me that most of us are pretty scared of objects that implement too many interface methods. We don���t want to deal with them since they are polymorphic and, because of that, unreliable. It�...

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

September 11, 2018

Code Must Be Clean. And Clear.

There is a famous book by Robert Martin called Clean Code. The title is an obvious call to all of us: the code must be clean. Clean, like a kitchen, I suppose---there are no dirty dishes, no garbage on the floor, no smelly towels. Dirt to be cleaned in a code base, according to Martin, includes large methods, non-descriptive variable names, tight coupling, lack of SOLID and SRP compliance, and many other things. Read the book, it's worth it. However, there is yet another aspect of source...

 •  0 comments  •  flag
Share on Twitter
Published on September 11, 2018 17:00

September 4, 2018

Monolithic Repos Are Evil

We all keep our code in Git version control repositories. The question is whether we should create a new repository for each new module or try to keep as much as possible in a single so called "monolithic" repo. Market leaders, like Facebook and Google, advocate the second approach. I believe they are wrong.

[image error]Funny Games (2007) by Michael Haneke

Let's use the following JavaScript function as an example. It downloads a JSON document from a Zold node (using jQuery) and places part...

 •  0 comments  •  flag
Share on Twitter
Published on September 04, 2018 17:00

August 28, 2018

Soft Skills Demystified

There are tech skills and there are soft skills. Every programmer knows that. Tech skills are about algorithms, operators, classes, objects, and everything else they teach us in tech schools. Soft skills are about something else. What exactly? Difficult to say. Let's try clear the air.

[image error]Glengarry Glen Ross (1992) by James Foley

Here is a non-exhaustive list of soft skills I managed to find on the Net1, 2, 3, 4, 5, 6: empathy, open-mindedness, a willingness to learn, effective communicatio...

 •  0 comments  •  flag
Share on Twitter
Published on August 28, 2018 17:00

August 21, 2018

Builders and Manipulators

Here is a simple principle for naming methods in OOP, which I'm trying to follow in my code: it's a verb if it manipulates, it's a noun if it builds. That's it. Nothing in between. Methods like saveFile() or getTitle() don't fit and must be renamed and refactored. Moreover, methods that "manipulate" must always return void, for example print() or save(). Let me explain.

[image error]The Night Of (2016) by Richard Price et al.

First, I have to say that this idea is very simil...

 •  0 comments  •  flag
Share on Twitter
Published on August 21, 2018 17:00

August 13, 2018

70/70

A few days ago, a friend of mine asked me to join him in a new startup. He said that he needed a partner, to help him partially finance the project, promote it, bring in new ideas, and push the business forward. I liked the business idea and wanted to participate. I started to ask questions about our future partnership and attempted to draw a simple partnership agreement. He quickly got offended. He said that he was looking for a real partner, who would share his goals and would never require...

 •  0 comments  •  flag
Share on Twitter
Published on August 13, 2018 17:00

July 23, 2018

Either Bugs or Pull Requests ��� or You Are Out

Here is how it goes, over and over again. I find a new developer for one of my projects managed by Zerocracy. He claims to be an expert with 10 years of hands-on coding experience, $60 hourly rate (we don't hire US guys), and fluent English. Then he joins the project and attempts to close a few tickets. But he hardly can. For many reasons. Then he comes back and explains why our microtasking methodology doesn't work, trying to convince me that I have to pay him per hour, instead of pe...

 •  0 comments  •  flag
Share on Twitter
Published on July 23, 2018 17:00

Either Bugs or Pull Requests

Here is how it goes, over and over again. I find a new developer for one of my projects managed by Zerocracy. He claims to be an expert with 10 years of hands-on coding experience, $60 hourly rate (we don't hire US guys), and fluent English. Then he joins the project and attempts to close a few tickets. But he hardly can. For many reasons. Then he comes back and explains why our microtasking methodology doesn't work, trying to convince me that I have to pay him per hour, instead of pe...

 •  0 comments  •  flag
Share on Twitter
Published on July 23, 2018 17:00