What Makes Programming Enticing?
Looking back, I can't believe I've been so lucky in my career finding my passion. Today, I dig a little to find out why I found programming to be so enticing.
For people reading my blog since September 2014, you know I've been programming for 25 years.
Actually, I've been coding a lot longer than 25 years.
So far, I've made a entire career out of it.
I started when I received my first Commodore VIC-20.
After that, a Commodore 128.
After that, a IBM-compatible computer.
At age 16, I made a decision that I would make a career out of becoming a computer programmer. I would also learn as much about software, programming, and technology as possible.
My career path of languages went something like this:
- Age 11 - Basic
- Age 16 - Assembly (RIP, Jim Butterfield)
- Age 18 - C++
- Age 19 - dBase III+/Clipper (professional career started here)
- Age 24 - Delphi (Object-Oriented Pascal)
- Age 32 - C#/ASP.NET
Quite a path so far, wouldn't you say?
But what made me so obsessed with programming? Why am I still finding it so rewarding after 35 years?
I know a lot of people who ask me how programmers do what they do for so long.
- How do they sit for hours on end staring at a screen?
- How do they not get "burned out?"
- Why do they talk to themselves? ;-)
- How can they listen to music while coding?
I'm not going to lie. We are...umm...different.
Feel the Rush
When a developer writes code, we experience a type of inspiration where it feels like a "rush." For athletes, musicians, and writers, it's a common state. Programmers experience that same feeling as well.
Most developers call this a programmer's rush or code frenzy.
When programmers are in this code frenzy or "code mode," they don't like interruptions. To some developers, interrupting them would be worse than poking a bear.
Programmers are sometimes viewed like artists. We have our digital canvas and we're expected to write applications and websites. Once we have an idea or pattern in our mind, it's a race to get it from our mind onto the digital canvas as fast as possible.
If we experience an interruption, it's back to square one to try to remember what we were writing and it's a struggle to get back into our code frenzy.
Personally, I like a good code frenzy once in a while.
Maybe it's the fact that writing programs that solve problems are a great way to exercise the mind.
Once your idea comes to fruition, another person may like the idea and ask for it.
It's like an affirmation of what you built.
There is no better feeling in the world for a developer than building an application or website that everyone loves and uses on a daily basis.
It's the equivalent of writing a top 40 song, running a marathon, or writing a best-selling book.
It's definitely a high when people use what you've built and are happy to use it.
The ability to create something to help people is what inspires me the most.
Creating Something From Nothing
A lot of developers have great ideas that solve big problems, but there is one problem with their ideas.
They don't execute.
Everyone in this world has ideas, but if those ideas aren't acted upon, that's all they are: ideas.
As a computer programmer, you have the ability to take those ideas and build amazing things fast.
All you need is time.
If someone has a problem and they need an application or website to solve that problem, they're in luck. You can help them.
The only thing you need is a laptop.
Imagine that. You can build websites and applications from around the globe. ;-)
Your Imagination Is The Limitation
Most developers write great code.
Yet, there are times where some developers get a little...umm...shall we say "creative."
Developers with ingenuity, passion, and imagination take ideas to a whole new level. They can take an existing idea, spark a whole new concept, and turn an industry on it's head.
Look at Napster. 'Nuff said.
I always like to read blog posts, books, articles, and technology news to spark ideas.
When I see a new programming idea or concept, I look for ways to integrate that into my projects where it makes sense. I don't chase the shiny objects all the time, but sometimes I witness new technologies and I go with my gut reaction.
Use your imagination to integrate those ideas into your own projects. This will adjust your thinking and possibly provide a catalyst for coming up with a better way of doing something.
Developers have their own agendas for coding and it may be one of these I've listed above, but did you notice something unusual from the list above?
I've said this to a number of readers, friends, and family members that if I do keel over one day, it will more than likely be over a keyboard.
I will probably be doing this for another 30 years or until the day I die (God willing, of course). ;-)
Why do you program? Do you code for money? Is it a hobby for you? Post your comments below? Let's start a discussion.