The Happy Code Monkey
The Code Monkey You Were Never Meant To Be
As a Professional Software Developer, your job is to create great Software Products. Big emphasis on create. Your ability to create is the single most important factor in practicing your Software Development Profession. If we talk about Developer Performance it all comes down to how well a developer taps into their creative ability. Taking your performance as a Software Developer to the next level means taking your creativity to the next level. Software Development is a Creative Process. The more creative you are in that process, the better Software Products you will create. The problem is that most often than not, you can’t afford to be creative, even if you want to. Most of the time, your creativity as a Software Developer is literally stuck in the grunt work required to just make things work. Being a Creative Developer sounds nice and all but the truth is that you feel more like a Code Monkey.
Chunky is an intelligent Virtual Tech Assistant that helps you stop feeling like a Code Monkey by taking care of the tedious work required to build great Software Products and gives you back your time to become the Creative Developer you were always meant to be.
Developing Software Is All About Managing Your Creative Thoughts
When creating something from (almost) nothing, the way we organize our creative thoughts is crucial. The entire process of creating is predicated on the creator's thought management ability. You can’t really see or touch software itself. You can use and experience a Software Product once it’s usable, but as it’s being put together, most of it is largely invisible. The lines of code sitting dormant in an online repository are not the product. They might become the product one day but as the process unfolds, the lines are simply expressions of something deeper and harder to manage - the developer’s thought processes. The entire creative process of building a software product is a journey of piecing together those hidden, unexpressed creative thoughts lying around in the mind of one or more developers.
Much like writing a story. The author sees more and more of the picture of what the story might look like when finished but as it’s being written, the developing story is nothing but an expression of the writer’s thought processes. The way we manage our creative thought processes is the key that determines the ultimate outcome of the story - or of the software product. If a creator’s thoughts are messy, all over the place, if they’re too many, too confusing, too disorganized, disconnected, if they don’t flow, if they don’t fit together - well, we end up with a less than desirable product. And the world has enough of those products. To create outstanding Software Products then, it’s imperative that as a Software Developer, you manage your creative thought processes well when engaged in the overall creative process of Software Development.
Our Brains Have A Small Creative Limit
When we create, we manage our creative thoughts in a part of our brain called the working memory. The actual activity of developing software, requires you to literally load the software program into your working memory. Loading a program in your brain. Literally. A program that contains algorithms, data models, execution flow, business logic and so much more. All of this costs. It costs cognitive capacity. The more complex the information, the higher the load on your cognition. The mental effort you need to invest to literally load the code in your brain can often become exhausting. When you feel like a Code Monkey, it’s because your brain is literally too tired processing the grunt work and it has no processing power left to allow you to be truly creative.
Creativity requires creative thoughts that in turn require cognitive capacity. But when the load on your cognitive capacity maxes our and your brain is exhausted, the last thing you feel like is being creative. Our brains have very limited cognitive capacity. It’s a zero sum game. The more grunt work, the less creativity. And vice versa. Our working memory is limited. It maxes out at around 7 pieces of distinct information. This is called Miller’s Law and it’s a core concept in psychology that explains how our brain processes information. In a famous paper published in 1956, George Miller introduced the notion that our brains are capable of processing 7 ± 2 pieces of information.
Unlocking Your Developer Creativity
This idea, that our working memory maxes out at around 7 pieces of information, is core to how we have been learning and communicating over the past 60 years or so. To allow our brain the mental capacity it needs to exercise creativity, we need to figure out a way to reduce the Cognitive Load that strains our working memory. Think about phone numbers for example. Memorizing 4169237890 is horrible and down right close to impossible. Whereas (416) 923-7890 is much more manageable and the area code, the 416, eventually becomes a distinct piece of information in itself. Meaning that instead of remembering 10 pieces of information (a 10 digit phone number), our brain only needs to keep track of 8. The area code and the last 7 digits of the phone number. Grouping the area code out literally gives our brain a break and reduces the amount of effort it must invest in processing a phone number. Miller would call the area code a chunk. And the process of grouping pieces of information together in order to reduce Cognitive Load is commonly known as chunking in psychology. Miller believed that chunking is
“the very lifeblood of the thought processes" (Miller, 1956, p. 65)
Which is a phenomenal idea. Chunking gives us a scientifically backed mechanism for managing our creative thoughts. When applied to Software Development, chunking then can reduce the amount of effort our brain needs to invest in processing the grunt work related to loading and processing the program in our working memory. With more cognitive capacity to spare, this effectively improves our brains ability to be more creative. Chunking, when applied effectively to Software Development, can literally unlock your Developer Creativity.