Am I happy as a CODER?

Code is more than just ones and zeroes. Code is a creative process that lets you express yourself, reach other people, generate art, and make stuff in new ways every day.

Before I go further, if you choose to classify yourself, don’t think I’m saying one is better than another. Programmer and Coder are two different things. But they do have an interdependent connection.

Me? I am a programmer.

I can’t say, “I am a programmer, not a coder”, however. Why? One is a subset of the other.

It’s complicated, but there does seem to be some evidence that the more negative a person feels, the better their problem-solving performance is. Feeling bad, however, has a detrimental effect on productivity and motivation, while good emotions push you forward and make you slightly more creative. Way to go? Flow and more research.

The room is dim and silent. The person sitting at the desk is only visible because of the faint light given off by a couple of large screens. Half-empty mugs are uninterested witnesses of the creative process. Behold—a programmer at work.

However magical feats of software programming may seem, especially to a layperson’s eye, programming, just like creative writing, playing chess, or painting, is yet another complex cognitive activity that can be studied by psychology. And there are indeed people who focus their work on what is called human factors in software development: moods, emotions, preferences, and their effects on the quality of devs’ work.

So what is software engineering to a psychologist? A complex skill that requires two different capabilities: creativity and analytical problem-solving. To be successful and write great code, programmers need to be able both to generate many good ideas and to get to the point—find the solution, or at least one that works.

So there we have it: Being creative and solving complex problems fast and for good is what will make you a great developer. But are those qualities stable over time? What may improve the results and what has the potential to damage them? Or, as one could ask, do happy cows give more milk? Or are angry programmers the best programmers?

As a self-taught developer I had to learn by watching tutorials and straight up coding. Watching tutorials can be deceptive. Yes, following through the tutorial for some implementation will help you get the work done, but a common mistake that we beginners can make (or at least that I made) is to just copy whatever the instructor is coding without understanding what the program actually does. Make sure you understand what’s happening, and if you don’t, go deeper and start reading and learning about that method or class that you wrote but have no idea what it actually does. When the time comes that you need to implement something similar, you will know how to do it, how it works, and now you will be able to explore other options and compare them to choose the one that makes your code better in every aspect.

Programming is no magic. It is a complex skill like any others. In theory, psychologists should have something to say about it. And… they do. I’ve gone through a couple of studies that try to deconstruct the magic of emotions and moods affecting coding performance and I’m ready to share the outcome.

“Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.”

So does being happy make you better at coding or does coding make you happier?

The short and somewhat technical answer is:

It’s complicated, but there does seem to be some evidence that the more negative a person feels, the better their problem-solving performance is. Feeling bad, however, has a detrimental effect on productivity and motivation, while good emotions push you forward and make you slightly more creative. Way to go? Flow and more research.

As developers, it’s easy to withdraw into our own world. It’s often a reclusive profession, and without even trying, we can have very little interaction with others. But humans are social creatures. We get married and have kids, we go to church, the community center, or the gym. We do these things because when we interact with others, it makes our world better, and it makes us better.

As engineers, we live in a highly technical environment so we think that gives us a pass on virtues like love, compassion, and empathy. No such luck! We are humans, not computers, and just because we program them doesn’t mean we should think like them. Look for opportunities in your work to cultivate old fashioned values like love, compassion, humor, and loyalty.

Author:

|| Engineering Student || Blogger || Visual Artists || Writer || Composer ||

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s