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”

Geo Information System: Architecture

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

This article is about our GIS-system architecture. Read on to learn how we dealt with all requirements!

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

In the first article I described the requirements we gathered. Now it’s time to talk about the implementation.

Continue reading “Geo Information System: Architecture”

Geo Information System: Requirements

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

This is the first article in series about building a Geo Information System. Here I’m going to tell you about user requirements we gathered before we rushed into development.

I’m starting a series of articles about building a geographic information system, or GIS-system. With a great team of smart and very dedicated developers, we created a robust scalable solution that our users were happy with. Or, almost happy. You can never make users completely happy. Sigh.

Continue reading “Geo Information System: Requirements”

Design your code for readability

So, how do you usually code?

You have a task: add this thing to that place. First thing you do – you find where “that place” is and how to get “this thing”. To do it, you read the code.
Reading happens every time you need to do something, doesn’t it? If something doesn’t work, or you need to optimize it, or add one more tiny thing, you search for the place in the code and read it again. And again.