So You Want To Learn How To Program?
What is EFFEXX?
If you've clicked around the website a little bit you might have read a little bit about what we are about around here. If not, here is a quick synopsis.
I am a recent college grad who found a passion for programming. I tackled learning this skill unconventionally. I studied mechanical engineering all the way through school. I learned about engines, structures, and many other things completely unrelated to programming. I found a ten-dollar online course one morning when I was bored. When I started listening to the instructor and realized that I had found something that was going to stick with me for a long time. I spent my mornings before class working through online courses, learning about bits and bytes. I worked to challenge myself, finding courses on the things that I knew I wasn't good at yet and struggling through error after error.
I finally became decent enough to be a programming tutor at my school, working with many of the students to run numerical analysis on models for upper-level engineering courses. Throughout this process, I spent close to three thousand dollars on the courses I took. That is a large chunk of change for someone eating ramen pretty frequently. I started to try and search for more resources to learn medium to advanced topics and came up short. I couldn't find any decent resources that weren't charging an arm and a leg for a 150-page book on a portion of these concepts. The resources I found were little tidbits here and there. They usually fell short on deployment processes. That is why I started EFFEXX. I want to provide some resources to help anyone out there who is trying to learn a skill that can change their lives but doesn't have the cash to shell out to put themselves above the pack.
I want to start with a couple of misconceptions that I have seen numerous times being a tutor.
Myth #1: I'm not smart enough to be a programmer.
My Answer: That's not true. I don't care who you are. You can learn to program. True, some people are able to pick it up quicker. They already have a logical mind that breaks down problems in a "programming" way. That doesn't mean that you can't learn it yourself. It doesn't matter if it takes you a day to get through a skill or a sentence. As long as you're moving forward you're still learning.
Myth #2: You need to be super good at math to learn how to program.
My Answer: I can see where this one gets its origin. I've seen a large spectrum of programming. Yes, there are plenty of programming jobs out there that you need a doctorate in mathematics to be successful in. That being said, I promise you we won't start with programming integrals.
If I had to venture a guess, I'd say around 25% of programs uses no math at all. Another 50% uses simple addition, subtraction, multiplication, and division. The final 25% is the math-intensive programs. That means that about three-quarters of programs out there use little to no math at all! See you'll do just fine.
Myth #3: You need a crazy powerful computer to program anything.
My Answer: Nope! I've seen a guy in his seventies learn to program typing one finger at a time into notepad. That's all you need if you want to use it!
Wait, So Why Should I Learn Programming?
Well, there are a couple of reasons.
First: You get to get one computer talking to another. HOW COOL IS THAT!
Second: You can do it from pretty much anywhere. All you need is a laptop and an internet connection. A lot of stuff you can even do without an internet connection.
Third: It's a really inexpensive hobby. The only pricy portion is when you start renting servers, and that can be as low as 5-10 bucks per month.
Fourth: Although money doesn't buy happiness, it does buy a plane ticket to Aruba, and that seems like a pretty happy place. (Did I mention you could work there?)
Glassdoor has the average salary for a front-end software developer as: $92,738. That is not too shabby.
So How Do I Get Started?
A good thing to do would be to read the next article! We'll discuss what programming is and introduce a little bit about different avenues you can take on your programming adventures.