Talent is a rare thing in every profession: we don't tolerate the lack of it in music, but we keep losing it in programming, unfortunately. | Continue reading
If you expect your manager to tell you what to do, you are a bad employee; instead, you should bring your own plans and defend them. | Continue reading
If the system around you is messy and chaotic, it's a great opportunity for you to fix it and earn the rewards for doing this; this is how you build your career up. | Continue reading
Chats, emails, phone calls, mailing lists, issue tracking systems, face-to-face meetings, and other communication instruments for a software project. | Continue reading
Printing and parsing dates in Java is the territory of horror, with dozens of libraries, which don't make life easier; there is an elegant solution, however. | Continue reading
Is it safe for a business person to be nice? Is it possible to do business and be soft-hearted at the same time? I doubt it, but I have a solution. | Continue reading
This tutorial explains how a Java project can be released/deployed to Maven Central in just one click and zero maintenance efforts, using Rultor.com, DevOps assistant | Continue reading
If you want your kids to become tech engineers interested in computers, find the right goals for them and help them achieve them. | Continue reading
A good technical specification is built around a good glossary that plays the role of skeleton for the entire project documentation. | Continue reading
Those software teams that practice daily stand-up meetings demonstrate utter disrespect to their programmers and complete management incompetence. | Continue reading
This article compares two projects and calculates their average costs per one line of code changed. The experiment proves economical advantage of a distributed development. | Continue reading
Programmers are expensive and difficult to control; here are a few tricks to keep them underpaid and happy, for a while. | Continue reading
If I don't understand the logic of my code down to its lowest level, I feel depressed and don't get any joy out of my work; I do want to know what's inside! | Continue reading
Twenty years ago we worried about performance. Now it is time to worry about maintainability, even though it often compromises performance. | Continue reading
It's either you or your employees who worry about the results; a smart and pragmatic manager knows how to make the workers be truly responsible for their results. | Continue reading
When you need your Ruby object to be thread-safe, you may simply decorate it with a SyncEm decorator without re-writing a single line of code. | Continue reading
If members of your team don't win and lose proportionally with you, you don't have a team, you have people who work against you. | Continue reading
Sometimes you realize that you are not competent enough to solve a technical problem. What do you do? Where do you seek for help first? | Continue reading
Treating programmers in a binary way as either trustable or not is a typical mistake of a weak manager, which leads to fear and chaos in a team. | Continue reading
Getting a programmer to create a good looking user interface is an impossible mission; however there are a few simple rules that I, a programmer, follow to make my UIs look good enough. | Continue reading
Risk-driven development means regularly and pro-actively identifying risks and building plans according to their probabilities and possible impacts; 0rsk automates it fully. | Continue reading
When XML documents are consistently formatted it's easier to read and maintain them; xcop is a command line static analyzer that will ensure exactly that. | Continue reading
The README document is the most important piece of documentation your project can have; how to design it right is a big question; here is my cheat-sheet. | Continue reading
Most of us are used to data transfer objects, which are the corner stone of modern web frameworks; however, they are not object-oriented design. | Continue reading
You need press coverage for your startup? I can tell you that it's not that difficult to get, if you are ready to do what I suggest. | Continue reading
Do you use fixed or dynamic versions for your dependencies? I wasn't sure which approach is the right one until I found a formula for myself. | Continue reading
A good programmer has to make $25K+ per month, working remotely and part-time; this utopian idea is achievable if we start paying by result, instead of by the hour. | Continue reading
Being enthusiastic about a software project is not enough to be useful and helpful; in some cases enthusiasm only hurts. | Continue reading
I've spent five years in this Mecca of hi-tech, working, living, and having fun. Did I like it? Let me explain why I didn't. | Continue reading
This is a full list of unit-testing anti-patterns that I managed to find and collect; feel free to add your items to the list, via a pull request. | Continue reading
Do you want to become a better programmer?, A more successful, well-paid, and happier one? Here is a list of recommendations. Hope they help. | Continue reading
If you want to get your text published, you should write something everybody will agree with ... or maybe not; here is my story of success. | Continue reading
My conference talk has been canceled because of my social opinion publicly expresses on my blog and Twitter account; what's next? | Continue reading
Do you test your Ruby classes for thread safety? If you do, you may find this new Ruby gem useful. It helps you start multiple threads, run the code inside, and validate the output. | Continue reading
Most of us are afraid of decoupling objects via interfaces since it makes their aggregates less predictable and therefore less stable; it's a mistake. | Continue reading
I call it verbal terrorism where I'm being asked questions I can't understand, because they are totally out of context or there simply is no context. | Continue reading
Making code anti-pattern-free is very important for its quality, but even more important is to make it easy to modify for total strangers. | Continue reading
Tech skills alone won't make you a good programmer, no matter how fast your algorithms are; you need soft skills, which most of us don't understand. | Continue reading
Giving good names to methods in object-oriented programming is a tough job, which can be done right if you follow this simple principle. | Continue reading
Making a business deal is a complicated and very often offensive process, which requires a lot of uncomfortable questions to be asked; is it how it should be? | Continue reading
There are many reasons why global variables are evil and must be avoided in an object-oriented context; here is yet another one from me. | Continue reading
What makes a good architect? Is it the same as a senior programmer? Not really. Here is the list of traits a software architect must have. | Continue reading
Project management is a routine and boring task, which we usually fail to do right, resorting to good old management by force; Zerocracy offers a solution. | Continue reading
Returning NULL when a method can't calculate the result is widely considered a bad practice; there are a number of alternatives. | Continue reading
Making your code base visible to everyone doesn't make it an open source project yet; there are a number of important things you shouldn't forget to do. | Continue reading