About

I’m more used to writing code and specifications than biographies, but nevertheless this page should contain some information about me. Dry facts can be found in the CV and profiles on Toptal and Linked. On the latter you can find all recommendations I received from people I worked with.

Here I would like to focus more on the way I work and not that much on technicalities.

Why

Why to include this kind of information in the first place? Well, I believe it is important to have it for at least one reason: in the end there is always a human being behind titles and skill-sets. And that human being interacts not with a company or a department, but with another human being. Thus attitudes of people do matter and the quality of delivered work and the experience of working together are reflections of the values people have.

Values

I value a lot honesty and authenticity. In fact those qualities ranked in VIA Survey of Character Strengths (from University of Pennsylvania) I took some time ago. I believe that honest, open communication and handling are absolutely vital in any relationship, be it private or professional.

Another important value is integrity. Maybe this is a bit far-fetched conclusion, but it seems to me that from the quality of honesty and integrity I derive my inclination towards reliable computer systems. I can’t stand when computers behave unreliable. "It stopped working? You need to restart it" or "The window did not refresh? Close it and open it again" - that is a sheer turnoff for me. Probably that is the reason why when I started using UNIX systems I never looked back. Especially the part of the UNIX philosophy: "Do One Thing and Do It Well" strongly resonates with me.

Work

And all that has a direct reflection in my work. Saying that I value precision, robust design, maintainability and efficiency of software is not an empty slogan for me. I do care about those things, because creating well designed computer programs simply brings me joy, satisfaction and sense of pride. It is not just a job.

That also means that when working within a group of people I always support solutions which are best for the project (in my opinion) and not necessary which are my own (the project has always higher priority than my ego). Even when it goes a bit against my own interest. For example saying to a potential client that in his case doing software in C++ makes no sense since the rest of the codebase is written in a completely different language and his developers don’t use C++ at all. But it would be against my values persuading (or rather: tricking) someone to do it my way just for the money and letting him into maintance hell later. I believe my approach helps establishing an honest relationship and a win-win situation: he gets a superior solution and I'm satisfied delivering what I think is the best. And a happy customer increases chances of future cooperation too.

Communication

Working remotely it is extremely imporatant to communicate well. It is not possible just to drop by and ask how things are going. That is why doing projects remotely I do my best to communicate openly and clearly with people I work with, so that everybody involved knows what needs to be done, what I'm doing, what are potential risks and problems ahead and what is the plan. Open communication simply allows a better control over the development process in case of unforeseen events, which like death and taxes, are unavoidable.


I hope this short description shed some light on what person I am and how I work. Maybe even you would like me to help you with some new exciting software project. If so then just...

let me know