I just read a post by Walter Vannini titled "Coding is not 'fun', it's technically' and ethically complex. But the two statements are not mutually exclusive. It can be — and is — fun for many. Before I explain myself, I'm going to share my thoughts on some of the points Walter made in that post.
the profile of a programmer's mind is pretty uncommon.
My thought: I'm either not a programmer, or have an uncommon mind 🤔
As well as being highly analytical and creative, software developers need almost superhuman focus to manage the complexity of their tasks.
My thought: Couldn't agree more. I mean, I have 35 years of experience managing Kubernetes clusters. Superhuman experience.
you'd never hear someone say that brain surgery is 'fun'
My thought: I've never heard anyone say they do brain surgery as a pastime.
There's a distinction between jobs and hobbies. People have hobbies because they enjoy it – it's fun in some way or the other. When it comes to jobs each have their own metrics. There are countless developers out there that write code as a hobby. And many for whom their developer job is just something they happen to be good at.
A more correct analogy would be music. Mastering an instrument might not be easy, but the process can be fun for many. Playing "complex" passages on the piano can be really fun too. Sight-reading the grand staff can be really hard, particularly while learning, but over time you tend to develop that "superhuman" focus it demands. (More like pattern recognition — the more familiar you are with reading music, the more complex passages you can play with lesser mental effort.)
The most important point the post misses out is this: the "superhuman" focus, the "uncommon" mind, etc. are not traits that people are necessarily born with. These are, more often that not, developed over time. Back when I was in college, everyone saw me as the smart guy in class, but very few considered the fact that I'd been writing code before I joined college.
I don't mean to diss Walter Vannini for his post. He seems to be talking to a different audience, and made some very good points about how software developers must be (ethically) responsible about the code they write. And like the post noted, exceptionally smart developers do exist. But you don't have to be one to become a developer. You might eventually become an exceptionally smart developer yourself, but you don't have be one just to join the industry.
You might not even need to write code for fun. Our industry might not be very tolerant of complacency or willful-mediocrity — but there's room for everyone else. If you want to be a developer, and care about being a great one, there IS room for you.
If you're learning to write code, the only thing I've got to tell you is to not give up. Be patient with yourself, and give yourself the time you deserve.