Interest Driven Development
I’ve been thinking about organization, the culture, and its impact on individual performance. You can also think that in every organization, there’s always the political power of your lead, especially when your organization is getting fatter. This political fight of the hierarchy above you sometimes causes you trouble who’s not interested in that. I actually think that you have to follow the rules inside that organization no matter what. or you will just be an irregular that causes trouble inside the organization.
Actually, The existence of the organization is so important so we can bring things together to be better and more advance. We, as humans take a lot of time and put it to work, you may say that the work is actually life itself. I mean 8 hours a day if you’re not overtime, and your sleep is also around 8 hours a day. This makes me think that why the working system became so boring to individual-level just because other people’s will to bring their organization to their visions. And I understand organizations are nothing without rules. My point is how to make your teams are having their interest without breaking any rules and bring the organization to be better.
Especially to something like software development that has been focusing on ruling people and focuses only on externals or users. The one who’s creating the hard and boring parts is ourselves. We limit the seeking and curiosity power of human nature. Of course, there are always people who don’t like to think something and like to do things easily or in the other name easy life. But in history, competition is the only way to get around better. We’ve been made so many hard competitions and cold competition in history. And the one who’s destroying the organization itself is the people inside.
In Software Engineering alone, I can only specify 2 people based on their interest which are the one who accepts and doesn’t accept the current situation. People who accept usually have the same opinion which the current situation going on their organization, but it is also specified the person who’s giving up and the one that doesn’t like change. If I may borrow Jordan Peterson’s word, these people are the ones who are administrative. and the other one who doesn’t accept the situation is the creative person because they don’t like to stay still and being bored. They will do whatever they can to do things that they think we should do better. And if they can’t, they will try another way, to speak up to higher hierarchy, creating a movement, or even to leave to the organization.
Then, I came to a place that seems to be more stable than any organization I knew. The Open-Source Community where many amazing projects are being born. Then, I’ve been thinking what’s behind their success, is it because of no actual hierarchy there? Actually not, the biggest thing there is the freedom of interest. And the great minds can be born when they’re really into something, can see the real problem and needs. They don’t force to mix someone who’s not interested in a specific thing.
As you can see, interest or seeking power is way bigger than you may think as you can see more into humanity. but, when you chain someone into a responsibility that they don’t like, they will do it with your expectation as minimum as possible. Because they want to take back their time from life/work as satisfied as possible. It is better if they do something better, like creating their own project. But what if they spend their time entertaining themselves just because of the boring day of their life.
In this theory, there are only 3 levels existing within the organization.
1. Mastermind
The mastermind is the root of everything related to the project. it can be anyone even the programmer itself. The mastermind is the one who kick-started the project, and it holds the grand design and the future of its product. Even tho they hold the grand design, they are responsible to listen to the feedback from anyone to bring better quality to its product.
2. Contributors
This level is all about the programmers, the designer, etc. who’s working on the project based on their interest and are not chained to the project itself. These people may bring a better idea and become the mastermind and implement what they’ve designed. Openness is the key to everyone in this competition.
3. Community
This level is the foundation of everything above. Because this includes the users, the programmers who use a part of the product, or basically the external people who use the project, exclude everyone above. This level is so important that may the one who can decide the success of your project, excluding the biases.
These are the main focus of this Theory
1. Focus and respect on a great mind that brings the idea to be a real product, and openness to any idea from any member inside the organization publicly.
2. Freedom to people/team to take a part based on their own interest and not being chained by any rule to the product, project, or person. Only the individual decision who’s able to be chained to something.
3. Judgment based on contributions not by political or power position.
4. Focus on quality based on research and feedback.
There are 2 things I want to focus on this theory, first is the individual development that seems to be freer than before. So when you see the project is no longer exciting to you, the other may be. But for those individuals, you must remember that in this theory, the competition is not only by the organization but by your contribution too. Meaning the competition is low-leveled one but you can do better on something you’re interested in. I still believe that the point of Agile Development that teams are responsible is true even tho it’s hard. And by this competition, you will be more responsible.
Then the point of research, I have been wondering why we got tested on the algorithm and things that suck your brain just to get a job to write something repeatedly. Where you can learn something from this life/work. Then someone said, you need to create something or do something outside of work. Yes, you can if you’re kind of person who accepted the current condition of the organization and let it die just because you can get another job. As Jordan Peterson said that you need to balance the people between administrative and creative one and because if administrative/managerial people poor in, it will kill the organization/company. As I said earlier, The existence of the organization is so important so we can bring things together to be better and more advance.
So, if you see the open-source community, their project really puts things great, based on research, algorithm, and any logical thinking that can drive the project to be better. So, you can put real knowledge rather than just store it to your brain and being forgotten. Don’t stay with I follow the tradition of using this library or this flow, etc. Do research, be enlightened to create something amazing like Elon Must and their teams have been doing. Your work is your life, do something amazing in your life.
And user feedback is so important even in small companies, they tend to interact with users face to face to know and understand better what can be improved. Never underestimate your community/users because they understand your project/product better than you. So, bring the real feedback and remove biases from the data and see the truth of your project/product. Because they hold the trust of your organization, and it’s not easy to maintain trust rather than getting trust.
Just to give you an example, see the Development Linux kernel masterminded by Linus Torvalds. This example also gives you a view that many people in the open-source community will eventually be attached by something by their interest, and they are responsible. But, the biggest question is, can you bring this kind of culture to the closed-source company/organization. Who knows, but let me know if you’re able to.
What it needs practically:
- Quest Board
If you have ever played an MMORPG game, you will found the quest board in the public area where everyone can see and take the quest whatever they want. In your organization, you need a public board for the project and your idea to be seen. And people will join your board or project to be participating in the development by working on the tasks that are available to their level. Right, the level is important to limit people to take the new employee portion. You may say it seems like a game, definitely yes. The more time you’re in the organization, you are expected to do more amazing jobs. - Leveling System based on Contributions
As I described before that level is an important aspect, we will take back to the game example. In MMORPG, You will likely do more hard quests as your level gets higher and your character becomes stronger. This is important because the meaning of loyal itself is not about you stay for a long time in the organization. I see the loyal as part of human interest that themselves create a strong relationship to something inside their mindset or in Japanese 結び (Musubi). The more you interest in something, the more spirit you have to work on that, whatever you do to achieve the goal.
You may ask what about self-confident people that don’t want to take any task or tasks are not enough, This where your management skill is needed. This theory rewards people with high individual aspects to them to work, and it is unreasonable if they say they are not interested to work this and that. And the reward is always with punishment. Anyway, what kind of organization wants to take care of their teams that don’t want to contribute to the vision of the organization. It may seem harsh, but you decide what to do with them.
In a big company, the tasks are not enough reason means your organization is not innovating and working to become more powerful in the market. And you understand better why it is so. And it is not healthy for any organization to have stagnation or even decline growth. With this leveling system based on contribution, you will found your organization moving at a fast pace towards the vision/goal. - Development Flow
This is more into the project itself, which you must have a clear flow of development on the project. I want to make it clear that, project issues and PR reviews are the same positions. Meaning if you found any issue, put it on the GitHub issue, and discuss it there. It is the same as your work on GitHub PR Review. the difference is that the GitHub issue discussion can be from anyone or the internal community (still employee, not user). But the PR Review is done only by contributors and mastermind.
The other important part of Development Flow is the Documentation. Stop the mindset of “I already code, why should I write more about my code”. Everyone is not a dukun(Bahasa Indonesia for shaman), knowledge distribution is important and healthy for stability in the long run. So, there is no longer a term from someone in the team that saying “I don’t know, someone who’s resigned who made this”. With good documentation and knowledge distribution, the company/organization won’t be scared to develop its own tools or library based on their needs when you found no good decision after research from other sources.
Development Flow is important but, it really depends on the culture and communication inside the organization. So structure your own Development Flow. For example, you can see my article here:
note:
I see this theory is like Elon Musk described how the political system will be on Mars in the future. He said that direct vote will be the political system there in the future. Meaning the individual aspect is more important rather than putting it to someone to get power and betray you.
During the 2020 Pandemic, I’ve been thinking about the importance of the multiple physical building of offices. I am also questioning myself about the importance of expanding urban areas and big cities. And, working from home is new normal now, then what’s the importance of having strict organization structure when you don’t feel the actual benefit of it during WFH. I see this moment as a fast solution if a company/organization wants to help the country to achieve the 2050 zero-emission. And you also help to distribute the money to the small state/region to bring equality.