Unit-testing: best practices

I have unit-tested my code for many years.

While building a GIS-system, we really cared about our product quality. Our users’ needs demanded the app to work properly. I had all critical and/or complex parts of code 100% test-covered, with multiple paths and corner cases. It was such a pleasure to find a bug, fix it, write a couple of tests for this surprise scenario, and be sure it won’t break again. Ah, good times.

Continue reading “Unit-testing: best practices”

How to answer the question “What’s the most challenging task you have ever implemented?”

Many developers tell what they have done. They used Kafka, RabbitMQ and Kubernetes. They sharded, scaled and clustered. They moved the logic from monoliths to microservices. They built castles and teared down mountains.
What they often don’t say is why they did it.

I often ask this question on interviews:

“What is the most interesting or challenging task you have ever done?”

The answer tells me a lot.

Continue reading “How to answer the question “What’s the most challenging task you have ever implemented?””

What’s Common Between Opera Houses And Software Projects, or 10 Reasons Software Developers Go Overtime

What’s common between software and opera houses? Building of both often goes overtime. Read on to know why and what should you do about it, as a client or as a developer.

Many software projects go overtime. Software developers get blamed for that, laughed at, scorned at.

But guess what: it’s not only software developers.

Many building projects also go overtime, and most noticeably of all, perhaps, opera houses and concert halls.

Continue reading “What’s Common Between Opera Houses And Software Projects, or 10 Reasons Software Developers Go Overtime”

Prioritization for Perfectionists, or: How I Learned to Stop Worrying and Love the Non-Perfection

Are you a perfectionist? That kind of a person that can never say “I’m done”, “it’s ready” or “let’s ship it”? The one who can’t release the new feature unless it’s polished and perfect?

Continue reading “Prioritization for Perfectionists, or: How I Learned to Stop Worrying and Love the Non-Perfection”

The most interesting thing is “why”, not “what”

When I read an article or a book about architecture, framework, approach, or tool – I focus on “why” it was built or applied one way or another. Not “what” they did, not “how exactly” they applied it – but “why”. Read here to know “why” I think it’s important.

What interests you when you read an article or a book about an architecture of some big system, or about new frameworks, or design patterns, or some new fancy tools?

To me, the most interesting thing is why they did it like they describe.

Continue reading “The most interesting thing is “why”, not “what””