2 Important skills I learned in programming


Learning programming is quite hard. I don't mean just learning the syntax of a programming language, I mean actual programming. Dealing with algorithms, data structures, software architectures etc. It can get a little overwhelming at times. That's why a lot of new programmers tend to not go through with actually learning it.




So here are two skills you need to know in order to be a better programmer:


1. Knowing what to ask
Its going to be pretty hard to find an answers when you don't know what to ask. When faced with a problem to solve, you have to first understand your problem. I've been in that position where the question I was asking was totally different from what my actual problem was. It was like I was asking how to eat soup with a fork. You see the problem here? The problem was how to eat the soup, the question I was asking was how to use the fork to eat the soup. Of course programming problems often won't be that obvious so you have to analyze the problem first, break it down to smaller pieces, look at what you are trying to accomplish then make the question a bit more specific. Once you have narrowed down the question, answers become easier to find.


2. Being critical with answers you get
So you've figured out the question you want to ask and now found some answers on the internet, what now? I guess you just take the first result that pops up in google and slap that new code into your project, right? Wrong. As a programmer you are not going to be able to avoid using solutions you've found online. It is in the nature of programming and software development that once you hit a road block in your project you will have to seek for solutions other people have made. But the difference between a good programmer and a bad one is actually trying to understand how others approached the problem similar to yours and how the were able to solve it. Before you go copy pasting, you should be critical with their solution, really analyze how they got there and if this solution is applicable to you situation.

Many beginners tend to skip the analysis part and just jam the solution into their code and see if it works, if it doesn't they'd just jump to the next result they found. In some cases, this can work but in the long run it could lead to multiple problems down the road when they didn't the code they copied had some parts which were redundant or irrelevant to their project which could potentially slow down or even break other functions.

Comments

Popular Posts