Anton•New York•I'm an aspiring believer in "actions over words" maxim.
As Alfred Korzybski once said "A map is not the territory it represents." In the same vein, words are not actions. As we still need maps to start navigating where we want to go. So we do need words to try to describe what we want to accomplish and in what manner.
That is why before starting Montaigne I decided to write down some core beliefs that I have about software and how it should be. My hope is to come back to this list in a year or few and see what was achieved and what was not. But I also to explore how my beliefs changed over that time. Life is a learning journey, after all.
So in the spirit of openness and for the purpose of education and self-reflection later here is my list.
Users of the software should always be able to not only put data in, but take data out. The effort and experience of those operations should match. It shouldn't be appropriate to optimize flows for data import and make it incredibly hard to get data out.
In 1980 Steve jobs said that "the computer is the most remarkable tool that we've ever come up with. It's the equivalent of a bicycle for our minds." Software should be a bit magical and enable some new ways and modes of thinking.
Optimize software to handle 80% of most common cases, optimize UI flows for 80% of users, and so on. E.g. if you know the most common case - just apply it automatically and tell the user what you did. Also allow user to revert the change, so she stays in control.
Data can be viewed in a lot of different ways. Tools we use to see something influence what we see. John Berger once talked about it applied to the works of art. Same principles can be extended to the software.
The goal here is to achieve a plurality of view possibilities over a single source of data. This can be done through building different options ourselves or by providing proper tools to do 3rd party implementations.
Software/product/company. Eg companies are not physical real world entities (in a way that Yuval Noah Harari talks about them). This is why this blog is written in first-person of view. I write about what I believe in. It's my playbook to stick to. I can try to make my team mates like and follow some of them, but ultimately everyone is their own person. And a company or a team as a single unified entity is an illusion.
Those are all aspirations at this point. Whenever I'll make a decision to implement or not implement something, ideally it should connect to one of those principles.