In the past, I have been in discussion with people - where we tried to answer following questions
These questions are good to ponder. I asked myself as to what keeps me going?
One answer came through, solving complex problems keeps me awake, true! But there is more to that.
I wondered what makes people passionate about something? What makes them do things for their organisation as employees, as if they are owners? What makes them empathetic towards problem statements and their solutions? I looked back at my career path. I saw culture as the most important factor, culture of doing right things. And making culture a habit, and then converting it into sort of “Muscle memory”, is just like learning to drive, and then driving. Once you are used to driving on the road, you don’t put attention to basic controls but the car just keeps cruising. ThoughtWorks is one of those places and I was able to recreate that in my stint at Gojek as well . These places excel when it comes to keeping sharp, opionated, and talented people together with a low attrition rate.
We did many things to keep culture going, but at the start we had few beliefs, and we put those in action. When one’s belief gets into action, it does something dramatic. Belief self-proclaims itself as a rule. Good beliefs, become good rules. So here to those beliefs convertes as rules for creating a culture of nurturing passionate culture and bring passionate people together.
Many time when you are trying to hire people, always take a note who is interviewing them? who are you trying to bring in? A smart person will not fear on hiring a Smarter person into group, because they know that they will benefit from new hire’s view point.
So let your existing employees talk to the potential new employee, does not matter who they are, let a grad interact/interview a senior engineer, it shows maturity not at the grad level but at the senior engineer level that how did they take it.
side note - while hiring - years or experience and salary don’t have ANY correlation, if you found an expensive person, hire them, tell them what you can offer. Being authentic and transparent is more valuable than having more salary. This works many times. They will join you on lower salar. And if you find a right person, but if their previous organization haven’t being paying well, and if we offer them fair salary. They will be happy to know that you treated them fair and did not take advantage of their existing lower salary. But a word of caution, we should always know what was their earlier pay, not to judge them, but know figure out market landscape.
Trusting employees for what they can do is the best. Monitoring bandwidth, installing proxies, putting restrictions - (unless required), having policies that police employee activity, is just bad. This shows that we don’t have trust, we think that everyone got bad intent and they are there to take advantage.
Pointing out things and managing at micro level is just becomes irritant and will irritate the hell out of them, if you believe that they don’t have sense of urgency then most probably you have not communicated with them well enough, may be you did not give them sense of ownership as well? extreme case you don’t trust them to deliver or they don’t trust you. Empowering colleagues to do the right thing is super difficult but very important. Trust them from the day 1, and stay at Day 1.
One of the best way to innovate on projects/products is give space so that people can think of solution, right solution, exciting solution, its not easy, for example - years ago when whole basic compiler could fit into less than 200KB to today where a nice language distribution takes like greater than four-hundred megabytes. Software complexity has gone multifold as well, software is not as easy as writing “hello world” any more.. while languages, frameworks and web apps have taken away the many headaches. Software has evolved into complex assembly and configuration management piece - where 100s of services fit together to produce one of them. So if you want some one to innovate in complex software world, you need to give them space, in short, create a slack!
We should out what needs to be done, but not how to do it? We need to create a slack right there. The difference lies in what and how. If you tell them how to do it as well, in addition to what needs to be done, then you not only limited the view point, you also limited the possibility of better solution.
Giving them space also means trust on estimates they provide, if they over estimate, it will get better with iterations. We can always get better with repitition and more expsore to the domain.
Poeple can come up with many more rules related to being the best pay master, strategic vs tactical, long shot vs short shot, work hard, party hard.
Creating right team with right minded people with logical thinking is just a starter to create an environment where people flourish.
And when people see themselves flourish, that’s when they get up everyday, come to work, and work passionately.