Almost all of us can remember the days of writing “Hello World”, when it took a day to get past the compiler errors or to add a sidebar to a webpage. It is hard trying to get your head around all of the foreign concepts that are required to make even the simplest programs/websites. When should you choose a switch case statement instead of nested ifs? How do you convert from a design to a functional website? What is “semantic” code?
These kind of questions are crucial to your learning. Oh, and here is a little secret... questions get even more important the more experience you have, such as when you are trying to use everything you know to make the “impossible” into reality. No matter what stage you are at, every problem needs to be broken down and thought about individually before putting it all back together.
Now, I am not going to explain debugging, instead I am going to delve into how you can find the answers to your questions easily and how to feel accepted among the development community rather than just ignored or wrongly criticised.
I will not go into much detail here either, but I really must stress that reading code is very important. If you are just learning from your own projects (or even worse, tutorials) then you will mainly just be learning the same thing or how to make a certain product. If you are keeping up to date with the latest blog posts and reading through source code on popular github repositories for example then you will (hopefully) be learning best practises and see how other people write their code. You should also understand that best practises change all the time, as they are based on previous experiences, so never get stuck in the rut of thinking you know how something is best achieved as it may well be different soon!
Search The Web
Once you have got a good idea of which websites the information is on, you can include it in your search. For example, if you wanted to find out about
There are also many communities and blogs around most technologies, so make sure to check to see if your question has been asked before on those. Communities I can think of off the top of my head include Stack Exchange, Dream In Code and Twitter. Okay, maybe Twitter is not quite the same but it is certainly a good place to get help when all else fails!
Asking for Help
Providing that you have tried hard to figure the problem out for yourself and you have searched for the answer in the correct places, it is now time to ask for help. I am active on Dream In Code as a forum leader of Web Development, I love helping people. But what I do not love is repeating myself. Very often (and this happens in all communities) people ask questions such as “Which programming language should I be using”, just throw up their homework and expect an answer, or ask how to fix code that is completely incorrect syntax. Sometimes the answers can be hard to find, in which case you are likely to be helped, but usually if you ask a question that is constantly being answered then you will not be helped as much as if you had asked a well researched question.
Oh, and you know what is worse than asking a question that has been answered a lot? Bad spelling. Every browser I have used in the last four (or more?) years have had spell checkers built in. Google is a fantastic spell checker also, so there is no reason for questions to have more than a couple of spelling mistakes. I understand language barriers, but when questions are written in text speak you know that is not the case. It is fine to text your friends like that, but you need to be more professional when asking questions. Remember, these questions will exist on the Internet for many years to come so you do not want them to disrupt your future reputation.
It does not matter if you are 8, 18 or 88, if you want helpful and well thought out answers then you need to spend some time thinking about how to ask the question in an appropriate and understandable manner.
I mentioned Twitter earlier, it really is a fantastic place for networking with other developers as well as getting help. This is especially true if you are creating discussions, challenging both yourself and others as to why code is written a certain way or trying to gain a deeper understanding rather than just what you need to write for it to work.
- Beginners cannot just jump into code without learning the basics first.
- Reading through other people’s code helps more than tutorials since you are wanting to learn how to program/code not just how to make one thing
- You should always try to work things out yourself, it is the best way to learn.
- Know where has the best information
- Search using both keyword, language and sometimes a particular website or author
- Find a community that you like the look of, become active there, try to contribute as well
- Questions should be well researched and well formed
- Spelling and grammar should be correct
- Social networks can help you keep up to date, easily find new information and meet people (future clients or business partners for instance)
- Do not just follow everyone, only follow enough to be able to know everyone