Program yourself! Final part
Photo: Josef Duschl

Program yourself! Final part

This is the final part of a three part series. If you missed it, part one is here and part two here.

How to team up properly

Not being alone is the key to success. It is another reason, why Firefox passed the experiment, while Excel didn't. As to why Excel fails the “200 empty files challenge” and hangs, I can just guess. Excel is utilizing neither 100% of all CPU cores and neither 100% of one specific core, so it does not overburden the processor. It is still able to open new windows, but not able to draw the UI in them. Based on that, I'd say it is due to a near dead-lock. Perhaps due to requiring exclusive access to a central resource for each file opened. Most likely, something like the list of recently used files, or the options maybe. The real benefit of teaming up, is being able to do things in parallel. Parallelization speeds things up tremendously, so that big endeavors can be accomplished at all sometimes. However, when your organization contains a bottle-neck, like Excel does, things get stuck pretty quickly.

When a company is organized based on required knowledge, bottlenecks are bound to occur. Typically, you would find specialists for one subject grouped up one organizational unit. One such expert is handling many projects, the more projects they are able to handle, the better. And even better, if the company only has the minimum number of experts, required for the active projects. Well, no. What you see here is a form of local optimization, which only creates a bottleneck. The more projects each expert handles, the more likely they are to be inundated by interactions. Imagine what would happen, if an additional project came up unexpectedly, due to market demand? Or, what if in one, or worse even, in more projects something goes wrong and needs more attention? Or what if one of your experts goes on vacation or falls ill? You wouldn't be able to act upon that, because all experts would immediately be overburdened. You would either have to drop, or slow down existing projects, or refuse fixing the problem, or tackling the new project. You would get stuck, much like Excel in my experiment. If your company starts failing like that, things could get dangerous quite quickly. Projects could get delayed, you could miss important opportunities in the market and fall behind the competition, or worse.

As far as I can see, your best bet is to distribute expert knowledge throughout the organization and avoid creating bottlenecks. Start by making sure, that everybody has at least one deputy who can step in, in case of vacation, illness or overburden. Better yet, if you can, establish a culture based on generosity. Generosity being the willingness, to help out and team up, when colleagues are in need of support. Of course, any need for support would have to be communicated openly. For that, taking the time to broadcast that need is crucial. And so is taking time to receive it, as well. Again: A case, where interactions are vital. By the way: A good way to increase your chances of being heard, when you need help, is broadcasting to more colleagues. Establishing and using a company internal social network or forum, where you can post about your work and problems, you encounter helps here. If you want to learn and train collaborating like that, I suggest participating in Working Out Loud. You can imagine WOL as a self-driven training course to help you learn to make contributions where they count, establish visibility and practice reaching out.

A company with a culture, based on helping out, will behave much like Firefox. It robust against the load of 200 files to open, keeps its UI task clear from long work. Every tab in Firefox has its own task to open the content and render it. It also creates separate tasks to play back videos and other dynamic content. This way it can fully utilize the Operation system’s scheduling algorithms and the Processors multiple cores to have its UI task constantly updating in parallel to opening the files. In a company that has many people focused on interactions, a request for help will never go unanswered. And more likely than not, you will be able to find somebody who had the same problem as you before and benefit from their experience.

Another interesting effect in the experiment is that Firefox is able to smoothly play back a video, while under load. This is archived by way of hardware acceleration, or in other words specialized hardware for video playback. What you can learn from that is, that when teaming up make, sure to include people with the required knowledge and skill to tackle likely tasks start to finish. Diversity is the key here. You need to look for people with the skills and strengths you lack, if you want to team up. In such a team everybody is supposed to make a meaningful contribution towards avoiding individual overburden. With Firefox, instead of decoding and rendering the video on the CPU, executing a software algorithm, that is left to the graphics card. Additionally, and here is something your computer can’t do: you should be able to teach each other the required skills and knowledge to accomplish your goals, thus absorbing the diversity, which everybody brought in. Further down the line, you should turn your focus outward, to update and acquire new skills and knowledge. This does not necessarily mean that you should acquire new team members, or interchange them, but that every team member should try to venture outside the team to further specialize and diversify themselves.

Another interesting fact, that shows the importance of diversity is that Firefox is largely developed by the general public. Its open source nature enables more people to contribute their knowledge and skill. Communities of practice offer a great approach incorporate this principle into an organization. One such community should be dedicated to, what in the metaphor, would be your source code, namely your way of working, your way of interacting and your way of teaming up. And everybody in your company needs to be invited to participate!

Summarized

So, to team up successfully, you should:

  • Get out of knowledge-based organizations to avoid bottlenecks by distributing expert knowledge.
  • Establish a culture of generously helping out, by practicing Working out loud.
  • Focus on the important tasks and reach out, if you get overburdened.
  • Maximize your reach, to benefit the most from help by way of parallelization and usage of past experience.
  • Diversity is key: Diversity, when initially composing teams, the ability to absorb diversity and to continually specialize and diversify yourself.
  • Make your way of working within your company open source.

Together with the guidelines to solving the interaction conundrum and avoiding overburden, you should be able to create a better work environment for yourself

  • Value interaction over long work.
  • Keep Interactions short and sweet.
  • Store larger information and schedule appropriate time to digest them.
  • Treat every discussion as ongoing. Forever, if need be.
  • Practice Deep Work after Interactions.
  • Take regular breaks from Deep Work
  • Listen to your body and your feelings, when to take a break.
  • Every interaction is a good excuse for a break in itself.
  • You need to see, that you are overburdened, when you run out of time for interaction.

You should also have gained a little bit of insight into what your computer does and what effects proper or improper programming can have. More abstractly, I hope I could also show you that you can not only be inspired nature, but by computers and algorithms.

要查看或添加评论,请登录

Josef Duschl的更多文章

  • Wie das letzte halbe Jahr mein Arbeiten auf den Kopf gestellt hat.

    Wie das letzte halbe Jahr mein Arbeiten auf den Kopf gestellt hat.

    Im letzten halben Jahr habe ich sehr viel gelernt und mich dabei oder dadurch sehr stark selbst ver?ndert. Was mich…

    2 条评论
  • The solution for loneliness is you!

    The solution for loneliness is you!

    Digital age loneliness is a topic that I thought was but a funny new buzz-word, when I heard about it. Until it hit me.

  • Program yourself! Part 2

    Program yourself! Part 2

    This is part two of a three part series. If you missed it, part one is here.

  • Program yourself!

    Program yourself!

    Debug the way you work to enjoy it. If this idea sounds crazy to you, it’s because it is actually.

  • How to conquer autonomous mobility.

    How to conquer autonomous mobility.

    Despite being a complete car nut and driving enthusiast, I actually look forward to the day, that I can get into my…

社区洞察

其他会员也浏览了