How To Do Research
Tips From A College Instructor
09 April 2015
Research- the process of acquiring new information
My original goal in life was to become a college instructor in Political Science. When I was pursuing this career goal, I had to learn the critical skill of research, as college instructors are hired and fired on the basis of their research skills. I ultimately was able to research effectively enough to write a peer-reviewed article and acquire my Masters’ degree.
So when DevBookCamp informed in their Phase 0 Handbook that is necessary for programmers to learn how to do research correctly, I was shocked. I thought research is something that only academics and scientists do, not computer programmers. It’s possible research can be as simple as using Google to search for someone who has asked that very question and got an answer out. This type of “research” would be useful when dealing with low-level problems like…“What is the command I should use when renaming a file in Linux?” “Oh, it’s mv. Thanks Google.”
But it doesn’t have to be limited to that! In fact, there are many high-level questions (“What open-source license I should use?”,”How should I upgrade my computer?” “When should I refactor?”, etc.) where a more detailed approach to research would be ideal, instead of simply searching on Google and clicking on the first link.
So I thought back to my college days…and tried to remember the tips I used to successfully do research…
- Put a limit on how much time you are willing to do research! This was a step I had to learn the hard way, as there is always more and more information to learn about a subject. At the end of the day, you have to actually use that information somewhere.
- Learn how to skim to see if a source has the information you need. If it doesn't seem pertinent, drop it and move onto something else. If it does seem useful, then read it fully.
- If you are part of the team, to divide up the research work by having each person focus on one different research question. You can get a lot more ground covered quickly that way, and there's a better chance of success. Plus, if one person finishes with researching his specific question, then he can help the rest of the team out with their research.
- If your question is broad, divide it into more narrow questions. Knowing the answer to one narrow question can help you answer the other narrow questions, and soon you can piece together what you learnt to answer the larger question. If you are in a team, you can then give those narrow questions out to each member of the team.
- Somebody has already asked your question and wrote their answer. Their research may useful as a starting point for your research. It is not, however, a substitute to doing your own research.
- When reading anything, try to find out what unstated assumptions the author is making. It's possible that those arguments rely heavily on those unstated assumptions, and the argument is correct if and only if you accept those assumptions as valid.
- Look at multiple different locations: not just Google, Bing, and Yahoo! Some of your best sources may be hidden inside databases (such as JSTOR or Safari Books Online) that may require you (or your company) to pay out big bucks to get complete access. If you're luckily, these databases can offer a trial version that can give you the abil to tempt you to buy the full thing (JSTOR allows you to "check out" some academic articles to read).
- If you are going to stay on Google, think about using Google Scholar and Google Books in addition to your regular Googling. While most of those articles and books will be hidden inside databases that you have to pay to gain access, you do have access to previews and abstracts that can give you a good sense of their general arguments.
- Sometimes just knowing the title of an article is enough, as you can then do a regular Google search to see if there is a free version of the article. Sometimes, professors would upload a rough draft of their article on their personal website, to try and get more attention to their research.
- Go to the local library and check books out. Just because information is not digitialized doesn't mean it's not valuable.
- If you live close to a college or a university, also use their library. Those libraries will likely have a larger selection of books, which means there's a greater chance that you will find a book that will serve your purpose.
- Do not dismiss a source because it's too old. In fact, the fact that the source is old may yield interesting insights, simply because the old source is viewing the issue in a different light. Just remember to look at current sources too.
- Do not just rely on logical arguments, but also consult evidence on the issue. You really should not rely wholly on anecdotal evidence, since it can just be from sheer chance, but even that type of evidence can still be useful. I prefer to read peer-reviewed articles, scientific polls, case studies and controlled experiments.
- Carefully examine the methods used in collecting the evidence. If the methods are faulty, then the conclusions can be faulty too. Do not discount a faulty study entirely though; just like anecdotes, they can still be useful.
- Your research will require you to consult multiple different viewpoints, many of whom are going to be unreliable. You have to use critical thinking to weigh your sources carefully, and look at the arguments and evidence being offered to back their points up.
- Generally, if someone makes an argument in favor of some idea, someone else will have written a rebuttal (and said rebuttall also has a rebuttal). Read both the pro and the con. Knowing how one side responds to the other can give you a better insight into their arguments.
- Some questions are going to be so specific that none of your sources will the complete answer you are looking for. But, people do have snippets of the answer, and you can use those snippets to create a complete picture.
- Write down everything you learned so you can consult your "cheat sheet" in case you forget. Do not trust your memory to keep everything for you. Preferably, take notes on all the sources you are reading.
- Write down your reflections on what you read as well.
- If you are able to, examine primary sources. Instead of simply relying on a person's description of the program, take a look at the source code of the program yourself!
- You can never be 100% certain that the final product of your research is correct. At best, you can find a position that has strong empirical and logical backing, but there's always the possibility that future evidence may prove you wrong. You will have to live with ambiguity, or be forced to spend the rest of your life researching that one question. That's not a fate that I would want anyone to face. </ul> I hope this information would be as useful to you as it was for me. Even if it is hard to keep all these bullet points in mind when researching the latest problem, at least one or two of these bullet points should help guide you on the path to success.