The Order and chaos spectrum in software development
以下为 快照 页面，建议前往来源网站查看，会有更好的阅读体验。
In my daily experience I have come to notice programmers that have very different ideas on programming.
In practice I’d usually recognize two hostile groups among programmers.
One group would always be refactoring the code, to make it more legible . Trying to reach that 100% unit test coverage . Get the architecture just right . When asked to add a new feature they would take their time. When pushed on timing they’d get pretty frustrated. As long as the code is clean and they have the time for it, they’ll be fine. They’ll work long hours just to get that code perfect.
The other group however would be the complete opposite. They’d jump on any new feature or technology they get their hands on. They don’t care too much about the edge cases. Move fast, break things . Fearlessly moving on to the next thing while the previous feature is still half baked (at least in the viewpoint of the first group). They’ll work long hours to get the happy path out there for that new prototype. It will work in record time, but only if you follow the happy path. Then they get bored with it and move on the next hip and trendy thing.
I found that these groups have a certain disrespect for one another. One group is continuously breaking stuff and the other group can spend hours on agreeing on the name of a class. Can someone be any slower? But truth is, they need one another. But where is this coming from? Why is there such a difference between programmers? And is it really binary?
I got my Aha-Erlebnis when I was reading ‘ 12 rules for life ‘ by Jordan Peterson (a Canadian clinical psychologist). In the second chapter/rule the concept of order and chaos is introduced. And one specific paragraph caught my eye:
The Taoist believe that the world is always an interplay between chaos and order. And, that if you live your life properly, you stand with one foot in order and one foot in chaos–because if you’re only in order, nothing that’s interesting ever happens to you.
Where in this case “ order ” would be writing unit tests , refactoring code . Have safe, but sometimes ideological discussions about class names without the risk of breaking stuff.
Choas, on the other hand, is jumping into the unknown. Create new exciting prototypes, which happen to be hanging by a thread. Ignore the rules . There’s no time for rules.
My realization is that some like chaos more than others. I believe that each individual has its own spectrum of chaos and order they prefer. This idea helps me understand why a team works or why it doesn’t. A order/chaos mismatch between employee and company is, I believe, why a lot of people hate their jobs and leave. Either it is too boring (usually big companies), or it is just not stable enough (usually startups) .
If you have someone who is into chaos, put them in charge of building new prototypes . Don’t let this person too close to your production code. Have the ‘order’ minded person take this one up.
And most importantly, have people understand their needs on ‘order versus chaos’. Because as noted by the Taoist, everyone needs some bit of chaos and order. The spectrum is just different from person to person.
Hopefully this may help you or your team.
glava - GLava - OpenGL audio spectrum visualizer
Google's approach to Android has slowly but surely been shifting over the years — and an equal but opposite force has been pushing back at the same time.
README.md Simple, powerful online communities. This is...
In the Part 11 of the FreeBSD Desktop series I would like to describe key components of self made custom desktop environment such as: Window Manager Status Bar Task Bar
RISC-V makes it easier for companies to design and build specialized chips for graphics and the Internet of Things
本文主要介绍在Linux环境下Spectrum链开发的基础环境安装，包括Ubuntu和CentOS环境。同时，也提供了打造Docker镜像的方法。推荐使用docker环境安装，能够避免因环境的差异造成安装不成功，也可快速部署。 安装 系统...
本文介绍在Mac OS X环境下如何搭建Spectrum开发环境。 环境配置 安装golang brew install go 配置golang环境变量 vim ~/.bash_profile 在~/.bash_profile下添加GOPA...
系统环境 win10 注：不同windows发布版本安装过程可能略有不同 环境依赖: Go, GCC Go下载地址： https://golang.org/dl/ 笔者下载的是1.10.2. 64位版本: 完整下载地址: https://...
:wave: I am Max, the technical co-founder of Spectrum . Spectrum is an open source chat app for large online communities an...