What I love and hate about learning to code
Since I became an entrepreneur nearly six years ago, I've attempted to learn to code a few times but never really stuck with it. I took some online courses learning Ruby on Rails and Javascript (Meteor and Node), but all that knowledge just faded away over time because I failed to continue to work at it.
I think it was because I wasn't building projects that were that interesting or helpful to me. Now I'm learning Python and have stuck with it longer than anytime in the past because I'm working on things that directly impact my life.
I've written a small script that automates some of the reporting that I do for my day job (and I continue to improve it) and am working on a program that syncs my Amazon Alexa shopping list to Trello, which my wife and I use to organize our shopping list. You can read more about these projects in this Quora answer.
There are great and terrible things about learning to code. Here are my thoughts on what I love and hate about my journey.
What I love about learning to code
Thinking deeply
I enjoy thinking deeply through the problems that I face when learning to code.
When I'm learning something new, especially something as difficult as software development, I have to really concentrate to understand what I'm doing and what's happening.
Still, most of the time I have no idea what's going on.
But I do enjoy getting really deep in thought and pretending that I understand what I'm learning. :)
Logical thinking
Regardless of the programming language that you're learning, you have to apply a lot of logic. I really enjoy thinking through what is the best logic I should use.
For loops, if/then statements, different ways to format your data - you have to be able to apply these techniques, and many more, in various situations. There's always more than one way to do something with code, and the logic you apply will determine what's the best solution.
Researching
I truly enjoy researching solutions to specific problems that I'm facing. I spend A LOT of time on Stack Overflow searching for solutions, and I really enjoy doing this research. I obviously don't always know what I'm researching, but I like the process of researching and implementing a solution.
It's an amazing feeling when something works
It's an amazing feeling when, after a lot of thinking deeply, applying logic, and researching, the script you wrote actually does what you want it to do.
It's actually my third favorite feeling in the world (the top two are bodily functions that I won't get into, haha).
The Challenge
Learning to code is hard. And I like the challenge that it offers. It's invigorating.
What I hate about learning to code
It's really time consuming and fucking hard
I like the feeling of getting things done. And often I'm not getting anything done when I code.
There are times I just sit there and stare at the blinking cursor with no idea what to type next.
It takes FOREVER for me to write code. I've been working on some of these scripts for months and sometimes it seems like I'm going backwards.
It's literally like learning a new language.
I do enjoy the challenge...most of the time. But there are times when learning to code just seems too hard.
I feel like I'll never amount to anything
I don't think I want to become a full-time software developer, but even if I did, I can't imagine getting good enough at programming to become one.
I feel so far behind and don't believe that I can really ever catch up to developers who have years or decades more experience.
When I get stuck on a problem and can't figure it out, feelings of inability and stupidity pop up. It's tough.
Conclusion
Learning to code is fun and shitty at the same time.
One minute I'm pumping my fist because something worked, the next minute I'm smashing my head against my desk because I broke something and have no idea what.
Hopefully the pros will outweigh the cons and I'll just keep cranking away at it.