Do I Want To Work In This Company, or What Questions To Ask On An Interview

How to understand if this company is a good fit for you? Why, ask them questions, of course!

I’ve been on both sides of interviewing for a while now. As a candidate – for 9 years, and as an interviewer – for 90 interviews. (What a beautiful round number!)

So I decided to write down questions which I usually ask the company when considering their position.

Continue reading “Do I Want To Work In This Company, or What Questions To Ask On An Interview”

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”

How I Hired Freelancers Who Went Way Over The Deadline

You know how the software developers are always mocked because they don’t comply with the time limits? Read this article about my experience of hiring a team of freelancers who went way over the deadline.

Not so long ago I hired a team of freelancers to work on a project of mine.

Everything started as it usually starts. I found several teams, some through friends and some – through a website. I met with team leaders, we discussed my requirements, we agreed on time and on a budget. I picked the team that looked the most reliable to me, they rolled up their sleeves and started to work.

Continue reading “How I Hired Freelancers Who Went Way Over The Deadline”

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”

Word Cloud: 300 000 users and their reviews

Since the first time when I managed to get users for my WordCloud app, some time has passed. Now it has 300 000 users – three hundred thousand users in three months.

The number amazes me. It seems almost unbelievable! I honestly never imagined having more than 10 000 users. It’s incredible.

Daily downloads graph - currently the average is 4000 downloads per day.
Daily downloads graph – currently the average is 4000 downloads per day.

And users are not just using the app silently. Oh, no! They leave reviews, they have problems, and they complain about everything. But sometimes – more often than not – they make compliments, and share their work, and they are grateful. And this is the most interesting and rewarding part of working on something!

Here I want to share some nice and interesting things users asked me or shared with me.

Continue reading “Word Cloud: 300 000 users and their reviews”

How we checked road graph correctness

How to make the roads better?
What about roads on a map?
Read to learn what graph (and non-graph) algorithms we implemented to make the roads good.

One particularly nasty and cold day, in the middle of February, our users, cartographers, came to visit us, developers. And they looked worried.

We offered them hot tea and chocolate candy. By gentle nudging and careful questioning we managed to understand what was bothering them.

They wanted the roads to be good.

Continue reading “How we checked road graph correctness”

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

Someone Asked Me To Send Them My Source Code

Some time ago I started a pet project: a small Android app for placing the words cutely.

I first published it in October, and yesterday it reached 50,000 installs. I still can’t believe this number! In the beginning I wasn’t getting any downloads, and now!.. I’m very happy with how it goes.

But today, something happened. Someone emailed me and asked me to send them the source code. They wanted it so badly, they emailed me several times, and even called me on Hangouts. It seemed urgent! They needed this code! Now! This instant!

But, wait… why would someone need someone else’s source code?

I asked that person and found out: they wanted to present it as their graduate work in the university.

Continue reading “Someone Asked Me To Send Them My Source Code”

Geo Information System: Map Navigation

Bad-ass development of scalable systems with lots of user requirements, tight schedules and limited resources? Ask me how!

This is the series of articles about building a professional enterprise Geo Information System. Here I’m going to tell you how we dealt with the most intensive and visible part – the map navigation.

I’m continuing the series of articles about developing a Geo Information System for 2GIS company.

In the first part of the series I described the user requirements for the Geo Information System we were developing, and in the next part – an overview of the architecture. Here I’m describing in more details how we dealt with map navigation.

Continue reading “Geo Information System: Map Navigation”