Pragmatism

The most important value of any engineering discipline is the final result, the product. In our case that result is a software system. It is not a development process that matters, it is the result. We always look at the final result when making decisions, planning and developing the product. We try to put inside only the features that will make it work better, improve usability and stability.

Software engineering is still a relatively new discipline. It is not backed by centuries of experience like other branches of engineering. We value the traditional engineering principles of pragmatism and rational engineering work. We try to build on decades and centuries of work done by engineers in older fields. Software engineering still has a lot to learn from that.

Software developers are often technocrats, looking only how "cool" the system is, not how it behaves in practice. We try to avoid such "coolness" principle. The primary goal for our products is to work well, not to be attractive at the first sight. We try to avoid technological hypes, we try to resist technologies that are popular but does not bring substantial advantage for the product. We try to be less developers and more engineers in this aspect.

Our processes are iterative. We proceed is steps from working software to a working software. Continual improvement and the quality of the final product is our highest priority. However, quality is a tricky thing. It does not only mean features, but also usability, security, performance, ... Adding more features to the system may not necessarily make it better. We try to evaluate what we have created after each development step. We listen carefully to the feedback from customers, partners and the community. That feedback is an essential part of the next development iterations.

We evolve the systems, not re-invent it. Continuity is essential. We try to avoid "big bangs" and re-creating the wheel. We rather improve and evolve than revolutionize and disrupt. Our goal is to revolutionize software business, but software development needs be to a smooth continuous flow.