PHPNews

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 …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday November 5, 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 …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Sunday November 3, 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 …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday October 29, 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 …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Friday September 27, 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 …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday September 17, 2019


How to Motivate Kids to Code

I got an email a few days ago. “I’m not a programmer. I’m a mom of two kids: 9 and 14. They both seem to be interested in computers, but they mostly play games. What would you recommend I do to help them make a career in tech?” I’m not an expert in parenting, but I’m getting similar requests rather often. It’s great …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday September 10, 2019


Daily Stand-up Injection of Guilt

A few years ago I wrote a blog post about the daily stand-up meetings many software teams are doing regularly. Since then, the article has been getting comments from both sides. Readers either 1) strongly agree with me or 2) accuse me of having no idea what morning stand-ups are for. My point was: only weak …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday September 3, 2019


The Joy of Programming

Yesterday I was working with a slide deck for one of my future talks about Java and object-oriented programming and got stuck at finding convincing arguments for the transparency of logic . I was going to say that it is important for programmers to be able to understand how everything they do works, even if they …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday July 30, 2019


Inversive Management

If you are a manager in a software team, your job is to make your people get things done. This is obvious. The question though is how exactly you make it happen. How do you make them do what you want, according to your plans, achieving your objectives, to your quality standards, and within the borders of …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Wednesday July 10, 2019


TDD Misbeliefs

While I was working with a previous article about Test-Driven Development (TDD) I read many blog posts and a few books on the subject and found out that I disagree with a few of them; even some that are pretty important. It seems that most software experts simply misunderstand how software development works. Maybe …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday July 2, 2019


SyncEm: Thread-Safe Decorators in Ruby

I wrote some time ago about thread-safety in OOP and how it can be achieved with decorators . It was also said that it’s very important to make sure objects are thread-safe ( in Ruby and in Java ), especially in web apps, which are multi-threaded (well, in most cases anyway). Well, here is SyncEm , a primitive …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Wednesday June 26, 2019


How Much Do They Suffer?

Remember the famous article Who’s Got the Monkey? The gist of it is simple: good managers always make their subordinates responsible for their own results. When they attempt to send the monkey back to the manager’s shoulders by making excuses, the manager has to be on the alert and not accept the monkey, always …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Wednesday June 19, 2019


Where Do You Seek Help First?

Just a few days ago a friend of mine, who is not a developer but a co-founder of a software startup, asked me to help his programmers with a technical problem they got stuck with. I said “Why not?” and asked them what was going on. They told me that their PostgreSQL server was running slow because it was doing this …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday June 11, 2019


Trust Them to Get the Job Done, Not!

There are twelve principles in the Agile Manifesto . The fifth one says: “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.” I disagree. Strongly. This formula suggests treating people in a binary way: they are either motivated and …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday May 28, 2019


Please, Don’t Improvise

We all know what happens when a programmer decides how a web site or a mobile app should look. It ends up looking ugly. And why is that? I don’t know exactly, but my best bet is on the left-brained nature of programmers, who mostly are rigid and logical mathematicians. UI design, to the contrary, requires creativity …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday May 21, 2019


0rsk.com: Cause + Risk + Effect

“A project manager’s work should not focus on dealing with problems; it should focus on preventing them,”—this is how Rita Mulcahy started a chapter about Risk Management in her great book PMP Exam Prep . Sounds smart, but how does a project manager know about the problems which are supposed to be prevented? This …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday May 14, 2019


Sibit Demonstrates How Bitcoin Works

Bitcoin was a big technical mystery for me. All the articles I’d read about it sounded extremely complex and absolutely indigestible. Until I got stuck with a task: I had to integrate Zold , our experimental non-Blockchain cryptocurrency, with Bitcoin. I had to study the architecture of Bitcoin and I found this …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday May 7, 2019


Elegant READMEs

Some time ago I wrote a blog post An Open Code Base Is Not Yet an Open Source Project where I suggested a few important qualities of a good open source repository/project. One of them was the well-written README file. Here I will try to give a few hints on how to create a good README file and what mistakes to …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday April 23, 2019


Stop Pitching, Beg Them!

You want your startup to be visible on TechCrunch, right? But you don’t have $15-20K per month to bribe a reputable PR firm to get you there? No worries. This blog post will give you a set of simple instructions on how you can get the attention of those tech journalists who are currently busy writing about Musk’s and …

Continue reading »

Written by Yegor Bugayenko - - Aggregated on Tuesday April 9, 2019