I love writing code. That may sound weird if you've never done it. So, let me explain to you why it makes me tick.
Creative and Logical
Programming is both art and science. When you program you are basically telling a computer to do stuff.
There is a creative act in figuring out what to have it do - this could range from big picture ideas down to different ways to accomplish a task. There is creativity and even, dare I say, beauty in coding. The way you would solve a problem might be different than the way I would solve the very same problem. The flexibility and differences make it so fun. A solution might be unique, individual, and beautiful.
At the same time you have to follow the science. There are certain rules and methodologies that must be followed and understood. Especially as you debug code, you must learn, understand, and apply rules and principles into your coding. I loved math growing up because I always knew there was strict logic in it. Coding provides that same feeling of comfort in knowing 1 + 1 always equals 2.
I love that I get to engage my creative and logical mind almost simultaneously.
Chance to Improve
If you know me at all you know that I am driven, disciplined, self-motivated and if I’m not good at something at first I won’t stop until I am. Things I can master too easily get boring to me and I move on. Programming has so much depth and so many layers of skill that I am continually engaged in learning and improving.
Ruby on Rails is an amazing framework that allows you to get started even if you know no programming languages at all. You can still create something fun and complex with no prior experience.
As you begin to learn though you realize how much more there is to learn. I was also surprised at how much I am still working on learning to think like a programmer. There are exercises that I regularly do and I think I’ll begin sharing with you so that you can strengthen your programming muscles along with me.
There is so much for me still to learn and master that I am never bored. If anything, I wish I didn’t have to sleep so I could do more. It’s that fun.
Clear and Immediate Feedback
Every day I use something called Pry. It’s kind of like IRB’s interactive environment but better. You can put code in and get back immediately what the result is. You can get back all kinds of information and I have learned so much from the immediate feedback.
Even without pry, Ruby and Ruby on Rails gives you immediate feedback. You write a few lines of code, save the file, refresh the browser window and you see immediately whether what you wrote worked or not. I love how clear and transparent that feedback is. It gives me confidence and sometimes extreme excitement when I see something I’ve just coded come to life.
Learning can be so fun.
I have a Ruby programming book. It’s 600+ pages and filled with teaching me to be a better Ruby programmer. If I were to just read it, it would be so boring and I probably wouldn’t remember a fraction of it.
Instead, it becomes fun and engaging as I test out each concept and experiment on the principles it teaches. I have learned so much from experimentation!
I’m not reading a 600 page programming book. I’m implementing and testing and experimenting with each page. Sure it takes a lot longer, but I didn’t buy the book to read the whole thing (although I plan to). I bought it to teach me stuff. And it’s doing that with every page and in such a fun way.