The Difference Between a Programmer and a Scripter
Is it extremely hard to be a good programmer? I am not sure how well structured and developed one’s brain should be, and I sense it is hard to be good at all...
Is it extremely hard to be a good programmer? I am not sure how well structured and developed one’s brain should be, and I sense it is hard to be good at all aspects of programming.
Is it hard?
It can be hard as you're initially learning. It can feel mysterious for quite a while.
After a point, though, you either start to get good at writing code, and everything gets easier, or you have to keep slogging through memorization and look up how to do everything every single time, and that's your life until you burn out or transition to management.
The first path is the one of a good programmer. The second is more of what I would call a scripter: A person who assembles code and tweaks it until it works, but who doesn't have the same depth of understanding of the software they write.
The path of the good programmer isn't hard as much as challenging. The path of the scripter, from what I can see, is hard. Or rather it would be really hard for me if I had to work as long and jump through as many hoops to accomplish anything.
In case it wasn't explicit, the difference isn't how hard you work, or how you learned, or who your mentor was. The difference is more in your aptitude, temperament, and curiosity.
You can practice the curiosity, and you might be able to form a new temperament through force of will or force of habit. Those would likely be hard. But I'm not sure you have any control over the aptitude at all.
The best advice I've come up with is to practice intentional learning. Stare at code until you can visualize its behavior. Then type in code that does what you need. Pretend you can't use copy and paste while you're learning. Run through dozens of practice problems, solving them without looking at example answers. Learn the art and craft of actually programming rather than the less elegant practice of duct taping of code together utilized by lower skill developers.
If it didn't come easy to begin with, then it will likely be really hard to cross that bridge. But if you can make it, then the world of programming will open for you.
And it will get easier. There will still be challenges, but with the right temperament, challenges can be fun. Is it really hard if you're enjoying the process?