yegor256 podcast
Yegor Bugayenko
Software developer at Huawei, founder of Zerocracy, author of Elegant Objects, creator of Zold
Episodes
Mentioned books

Jun 20, 2019 • 6min
M95: Only lazy and immature programmers are afraid of penalties and punishment
Very often I hear managers saying that if you even try to punish programmers for their mistakes they will quit and you will have no team. This may only happen to junior or lazy programmers. Professional software engineers are interested in being challenged and rewards+punishment is what constitutes a challenge. And the challenge is what motivates us, technical people, to work.
The video is here: https://youtu.be/PlvoXBgwooY

Jun 20, 2019 • 7min
M94: It is impossible to make a full-timer deliver results, unless they want it
Our bosses what us to be productive, effective, and deliver results. However, the question is whether they can make us do it or not. When they hire us as full-timers and pay us for a full month of our time in the office, they can't do anything to force us to work. They can only rely on our desire to be "good soldiers." For some people, this may work, but true professionals are always smarter than their bosses and know how to look busy while doing something else. This will never be the case with people who are paid by the result.
Want to try to hire a team of freelancers in Zerocracy? Fill this form out: https://www.zerocracy.com/rfp
The full video is here: https://youtu.be/salVaSqJwb8

Jun 17, 2019 • 5min
M93: To become a good programmer you have to find a project that rejects your mistakes
Junior programmers usually don't know where to start in order to practice, learn how to code, and work with professionals. They can't find the right project to contribute to. I'm suggesting you find a project, which is ready to reject your mistakes, no matter what. We have such projects, which are owned and managed by our best programmers, in Zerocracy. Join our Telegram chat and ask, there will be plenty of offers.
The chat is here: https://t.me/zerocracy
The video is here: https://youtu.be/dCn53X1I2R0

Jun 12, 2019 • 6min
M92: We in Zerocracy use Boost Factor to help architect motivate programmers
Sometimes we have tasks in our projects, which nobody wants to complete. They are difficult or impossible to decompose, or simply too complex. What do we do in order to motivate our programmers to work with those tasks? We use Boost Factor, which is a multiplier of a micro budget. In other words, we use money in order to motivate programmers. We believe that professional programmers are motivated by money and know how to demand more when more work is required.
The video is here: https://youtu.be/nvXu_Yl5Y_w

Jun 11, 2019 • 4min
M91: Full-timers want to look smart, freelancers want to deliver results
Most full-timers are afraid of showing their bosses that they find help at StackOverflow, because their managers expect them to be smart and know everything about the technologies they work with. Who would want to pay a full monthly salary to someone who constantly seeks help at StackOverflow, right? This is not the case with freelancers, on the other hand. Those who are paid by result are not required to be smart. They need to be productive and effective contributors. Who do you want to be?
The video is here: https://youtu.be/_4pk5GNUySg

May 31, 2019 • 6min
M89: Deliver your trust continuously, not discrete
Most companies and managers believe that they have to check people before they let them get into the team, through a number of very complex interviews. After that, they trust their programmers and hope they will be motivated and committed enough to deliver the best results. Agile also suggests the same. I strongly disagree. We must not deliver our trust only once when we hire someone. We must continuously inform programmers about their performance and trust them as much as they deliver, every day.
The video is here: https://youtu.be/KPbKqTXfZwA

May 31, 2019 • 8min
M90: RUP is a framework, Agile is a philosophy; just like Zerocracy and XDSD
I often hear a question: what is better, Agile or RUP? This question doesn't make a lot of sense since Rational Unified Process (RUP) is a framework with a large set of artifacts, processes, roles, and procedures; while Agile is a short list of philosophical points. I would actually strongly recommend you study RUP to understand software development (or even get certified). XDSD is our philosophy and Zerocracy is a framework.

May 28, 2019 • 5min
M88: If you are working on a prototype for longer than two weeks, you are doing it wrong
Technical debt is a huge problem, when it is, well ... huge. What usually happens is this: we start a project, we work on its "prototype," we wait until it is fully ready, and then we start thinking about unit tests, continuous integration, and build automation. But it is too late because the product already is too big. The problem is that we hold the product in the prototype mode for too long. I believe that two weeks is the maximum a prototype should take. After that, it's a normal product, not a proof-of-concept anymore.
The video is here: https://youtu.be/4MP3xXGrpCY

May 27, 2019 • 6min
M87: If you are afraid of being replaced, you are not a good programmer
Most programmers feel uncomfortable realizing that their employer may replace them one day. To make this event less likely to happen they do many things in order to make themselves unreplaceable. One of those things is unmaintainable source code, which nobody else will be able to understand if its author is fired. I think that this mindset is not only toxic but also very typical for unprofessional engineers. If you are professional enough, the market always has something to offer you and you always know what is the next step for you, after this team gets rid of you or you decide to quit. If you feel scared, just look into the future and start checking opportunities.
The video is here: https://youtu.be/yRm97umW4vE

May 22, 2019 • 4min
M86: The README file must be the only provider of product specification
I think that any repository, be it open source or proprietary, must have a single README file, which must include everything a new contributor needs to know about it: the product statement, the vision, the list of features and non-functional requirements, the list of technical decisions, which are important to know. Unfortunately, this file is very often forgotten, especially in non-OSS products. If you don't have it now, it's never too late to create it, and make it right.
The video is here: https://youtu.be/1zCH0xBiCP4


