The Hunch: 4 Times I Felt It And 1 When I Didn’t, And What Were The Consequences

I sometimes have this feeling: The Hunch. It’s when I sense there is something wrong with the project, with the requirement, or with the feature, even when everyone else is sure all is well.

When I sense this, I feel like a dog who picked up the scent. I follow the scent by asking questions, until I get my answer.

Here’s how it happens.

Continue reading “The Hunch: 4 Times I Felt It And 1 When I Didn’t, And What Were The Consequences”

11 Mistakes To Avoid On A Technical Interview

You’re in for a technical interview. They ask you a question, and you have to build a system or to write some code, either on a whiteboard (brr!), on a piece of paper, or on a laptop at home. And then you discuss it with the interviewer.

Some enjoy it, and some dread it. But if you are going through it, it means the end of the process is near! And you really want to show the best side of yourself.

I led more than 120 interviews. Here are some common mistakes I noticed the candidates make.

Continue reading “11 Mistakes To Avoid On A Technical Interview”

Seeing The Big Picture: One Important Aspect Of Being A Senior Developer

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 “Seeing The Big Picture: One Important Aspect Of Being A Senior Developer”

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”

Modularization and dependency management: three steps to better code

If you ask me, what’s a single most important thing in writing good code, I’d reply: “Modularization and Dependency Management”.

Well, actually, that’s two things. Sorry about that! But they are two sides of the same coin, and you can’t have one without the other, if you want to your code to be nice and clean.

Continue reading “Modularization and dependency management: three steps to better code”

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””