|
When I really like the work that I am doing and there are some real challenges, I can get up to 6 hours of work done before I have to take a break for a few hours. Not every day, but 2-3 days out of 5. It means that there is no point in making an appearance before 10 am or working past 4 pm. But when I am really smoking I can put in another 2-4 productive hours in the evening after 7 pm or so. Of course, few employers understand this kind of work pattern, and most of them prefer having a developer spend more time in the office, even though it results in less productive work getting done. This is often enforced by people who are unable to correctly assess technical skills or the outcomes of technical work. Since they have no clue who is competent and whether any of the work output is usable, they compensate by forcing people to spend more time doing useless activities that they can assess. Like sitting at a desk, having meetings, raising an issue and setting up a meeting of stakeholders to discuss how to solve that issue. Many of us have to work in environments where these enforcers create a lot of churn to make it seem like the enforcer is a valuable member of the team. I suspect that there are more such useless people in the workforce nowadays because companies no longer try to hire good competent people who will work for one company their entire career. As a result, there is nobody in the company long enough to identify and get rid of incompetents while at the same time, the truly skilled people give up and find a new opportunity every 2 to 3 years. By the way, the incompetents that I talk about are not skilled developers who make a mistake or two, or who get stuck in ratholes solving the wrong problem. I am referring to the people that are weeded out with fizzbuzz. Unfortunately there is no fizzbuzz for project managers, business analysts and a whole range of other support roles, including managers. So my take on how to get developers to work at a high level of productivity is to make the environment excellent. Get rid of the people who waste other people's time. Cut way back on meetings and replace them with a good ticket system and some people who make sure that tickets are properly sized with clear requirements including context and acceptance criteria. This pretty much means a mature Agile shop. Focus on all the stuff around the developers and make sure that the retrospectives are as brutally honest as possible, and follow through on fixing problems that are brought up in the retrospectives. |
Most of upper management and management involves strategic plays. Exploring a jungle, trying to find treasure, and doing so while other tribes are out there to kill you. Allies can become enemies and vice versa. Reality is cruel.
Triabl power is amassed through followers, and one of the best perks you can provide for followers is meaning. A cultivated environment where they can do what they want to do and is often what they do best. The messiness of dealing with what makes them feel like fools is hidden away.
The end result is that strong tribes (also known as insitutions or movements) can deploy "happy" specialists defeating other tribes, be it seige mechanics, hackers, or priests. The specialization is possible because they are shielded.
This specialization defines the middle class. Comfort within a bubble. A bubble that depends onthe existence of the institution or tribe they subscribe to. The overspecialization that is a strength ONLY as along as the rules don't change. The disruptor unwittingly becoming the disruptee. Twitter giving rise to Trump.