Yegor Bugayenko's Blog, page 9
January 6, 2020
Embrace the Chaos!
Being just yet another software developer in a large enterprise is a pain. You are surrounded by legacy code, inconsistent architecture, low quality standards (assuming they even exist), lack of coding discipline, broken or dirty unit tests, mediocre programmers, and so on. On top of that, the management is very chaotic: no strict plans, no task management, no objective metrics, no quality control, and no light at the end of the tunnel. You feel like a cog in the machine: arrive at nine,...
December 30, 2019
Talented Programmers, Who Are They?
Im not talking about those who are famous, well-paid, or the authors of big and popular products. They are not necessarily talented, even though their results are outstanding. Talent is something some of us have as Gods gift. Very few of us otherwise it would not be called a talent. We all know what talent looks like in music, sport, poetry, or the art of acting. We can tell right off the bat whos got it and who is faking it, no matter how hard they try. Can we do the same after a short...
December 23, 2019
Altruism Kills!
Altruism means selflessly giving others more than you take back, while egoism means selfishly taking more than you return. Modern theories of management and social life tell us that altruism means prosperity for the society and success to the project. In my book Code Ahead I claim the opposite: altruism hurts the society and kills projects. I truly believe that any group activity eventually collapses if it encourages altruistic behavior among its members, be it a project, a company, or a...
December 2, 2019
Does Code Review Involve Testing?
When you review a pull/merge request from someone, do you check out the branch and run the build? I usually dont, but some people do. Their obvious reason is: running a build, or even testing the product manually, helps find more important errors. Just looking at the source code may not reveal all visual defects recently introduced to the HTML/CSS, for example. Its better to check out the branch, start Apache, open the site in Chrome, and see whats broken. Then, make a screenshot, attach it...
November 18, 2019
How Much Cohesion Is Enough?
Which one is better: books.del(42) or books.book(42).del()? I do both and I rarely can tell which one is better. The first option is shorter, while the second one is more object-oriented. The first option is more difficult to extend, while the second one is more verbose and requires more lines of code, which means a higher chance of making mistakes. Which one do you prefer?
[image error]Irr��versible (2002) by Gaspar No��Either one will work, of course, but the question is which design is more object-oriented? It seems to depend on the size of the...
November 4, 2019
Revolutionary Evolution
Here is the question I keep hearing almost every time I speak at a conference about object-oriented programming and my non-traditional understanding of it: ���How do I convince the whole team to start doing everything so differently?��� (asked here just recently). Indeed, it���s easy to change your coding habits and your software design if you are alone. What do you do if you are a member of a larger team where everybody is very happy with the Spring Framework and procedural programming? How do you change their coding ha...
November 2, 2019
Software Quality Award, 2020
This is the sixth 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.
Here is the form to fill out.
Important! Starting this years rewards are given as donations to a Zerocracy project. This means, that you will have to have a project in Zerocracy, where you will get the money. You will then be able to get that money for yourself via micro-tasks.
Rules:
One person can submit only one project.
Submissions are accepted until September 1, 2020.
I will c...
same���.October 28, 2019
SQL as a Service
I���ve been thinking about this since 2007, somewhere around the time S3 was launched by Amazon. I even tried to implement it a few times, but failed right after the design phase. I���ve heard about a startup, which tried to do it too, but also failed. I���m still not sure whether it���s possible to do, but it could definitely become a best seller in the market of cloud data management. Wait, you may say, what about Google Cloud SQL, AWS RDS, Microsoft Azure, Heroku PostgreSQL, and many others? They are not even clo...
September 26, 2019
Date/Time Printing Can Be Elegant Too
I owe my pretty high StackOverflow reputation to this question in particular, which I asked a few years ago: How do you print an ISO 8601 date in Java? It managed to collect a lot of upvotes since then and 20+ answers, including my own one. Seriously, why didn���t Java, such a rich ecosystem, have a built-in out-of-the-box simple solution for this primitive task? I believe this is because the designers of the Java SDK were 1) smart enough not to create a print() method right in the class Date...
September 16, 2019
Be Unhappy to Be Happy
At the very end of one of my recent meetups I was asked a question: ���Are you a happy person?��� I mumbled something about being happy from time to time, but later gave this question more thought. Am I happy? Not really. Well, sometimes. What makes me happy? And why are so many of us unhappy so often? It seems that there is an answer, and a recipe for happiness.
[image error]Yip Man (2008) by Wilson Yip���A well-paid job, house, car, family are the ultimate possessions of anyone���s life. But despite h...