Initially everyone sucks at programming. So we decided to compile a list that identifies reasons and advice to improve your programming skills.1. Is programming right for everyone?
Let’s get this straight. Programming is not for everyone. Programming is for those who have a passion for solving hard problems to make everyday life a lot better.
For example check out this 16-year-old Kid Makes a Million Dollars Following His Hero Steve Jobs. The only reason he is so successful is because he had a passion for what he was doing.
So if you find yourself lacking some motivation, maybe thats why you aren’t that great. Go find it and last time I checked, money pushes so many people forward.
2. It’s a skill that takes time to master.
Like anything else, programming is an art in itself. Yes, you’ll have trouble initially but if you stick with it, you’ll develop the skills necessary to become an avid programmer.
Many will be intimidated by the nerds, naturals, prodigy childs, or even how hard programming is. Just fear not, put them aside and focus what really matters, your skills. I didn’t know much about programming when I started in my CS career in college, and before I knew it, I became an Amazon Code Ninja (Arizona).
3. They have the wrong attitude.
I’ve seen this way too many times where people start blaming the professor who can’t teach, the TA, the crappy compiler, the IDE, or even the OS. As long as you keep complaining, your programming is going to be just as bad. So get a positive attitude!
Did you know Roller Coaster Tycoon was written almost entirely in assembly? Yeah go figure. If there is a will, there is a way.
4. I just don’t understand these abstract concepts.
Programming requires you to think outside the box. When you are a beginner, you’ll come across algorithms, data structures, conventions, and an entire myriad of other things that will mess with your mind.
Take it slow, and just start learning everything one step at at time. If you don’t understand Wikipedia it, Google It, or ask someone who knows (That by the way, is my secret recipe for learning something new). Try out examples until you fully understand it.
If you don’t understand the basics, how do you think you are going to understand the advanced topics?
5. Wait, we can use Google?
When you have trouble debugging your code or can’t figure out how to do something, Google is your best friend. I don’t encourage it for plagiarizing code, I’m encouraging it because thousands of other people have probably had your same exact question. And guess what? Others help them to figure out their problem and provide a solution.
So if you forget about to make a random number, don’t understand a bug, or simply can’t figure something out, Google it!
6. Careful planning and design? Just code while you go!
Before I help anyone with their code, I ask to see their algorithm. If they can’t provide it, I tell them to develop one and nearly all the time they’ll figure out why their program didn’t work.
An algorithms is the framework, and basis, of a program. Many beginners don’t develop one, and write as it goes. When that happens, they lose track of their direction in solving the problem and it becomes difficult debugging. – Benjamin
So next time, save yourself some time and jot your plan of attack on a piece of paper. Start programming until you know how to solve your problem. I do it, and it works amazingly.
You don’t want your program looking like this poor guy, Asimo falling down stairs, do you? So plan accordingly!
7. I have a ton of Errors!! What do I do??
Calm down and relax. Errors are inevitable and happen more frequently than you might think. They are usually accompanied with a line number, simple explanation and sometimes a suggestion. Just go back and try understanding what went wrong. If not, just copy and paste the entire message into Google. Most of the time, it’ll work.
Another thing to try is, code in short snippets and compile your code, frequently. This method will guarantee that you won’t have a terminal full of error messages you don’t understand and will speed up your programming.
8. I don’t understand the language, syntax, or programming environment.
Well, if you don’t understand it, then there really is a problem. In my senior design class we were making a video game using Ogre3D. Let me tell you, it wasn’t the best experience since we were all coding as we went and never really had a great introduction to the environment. We ended up starting from scratch 8 weeks into our project and had to put in about an average of 8 hours a day for two weeks. The last few days we were putting in easily over 14 hours while taking 3-4 other classes…
This taught us to put in the time beforehand to really understand everything about the language, syntax, concepts, and programming environment before we started programming. This would’ve saved us not hours, but days.
9. But the problem is so hard!
Do you have an algorithm? Well, that’s your first problem. If you still can’t solve it, try taking a break. People usually figure out how to solve a problem when they are away from the computer. I’ve had many times where I even came up with a solution in my sleep.
Many times all a programmer needs is some fresh air or even a distraction. This will free up your mind and possibly let you see what you didn’t before.
Even sometimes, the best way to solve your problem requires an elegant solution. So the next time you try coming up with a convoluted idea for an iPhone game, check out Doodle Jump. All you do is jump and this game has managed to sell over 5 million copies.
10. I’m waiting for my friend here to solve this problem.
This is probably the top reason out of all listed above why some people just plain suck at programming. If all you are doing is waiting for your buddy to help you out, then you aren’t learning anything at all. Sure, they might spend hours trying to figure it out, but in the end that experience is what counts.
So stop depending on other people and learn to become independent. If you aren’t, maybe that’s why you aren’t that great (Or hey, maybe you can become lucky like Mark Zuckerberg).
Thanks to Tony, Jay, Chris, William, Miguel, Al, Roby, Joseph, Felicia, Benjamin, Jesse, Pierre, Erick, and Tony for your amazing input on my Why do people initially suck at programming? note on FB.
Have any other reasons you encountered that brought you down? Feel free to post them below and how you managed to do better, if you did! We’d love to hear from you.
This post originally appeared at Talk Binary.