The Internet is completely changing the way we learn, and mobile devices are taking that change to a new level. If you have any kind of problem to solve, you can search for and often find a solution in a matter of minutes online.
This ready access to information has certainly made my life as a software developer much easier. As part of the payback for that convenience, I have my own developer web site Nerdy Musings on which I post free articles that describe various solutions I've devised. I regularly get supportive email from people who were helped by my efforts, which I must say is a very satisfying experience.
However, while the convenience of such targeted access to information is valuable and undoubtedly appeals to the short-attention-span society we are creating, something critical is missing: the big picture.
It is far too easy now to have a general idea of what you want to accomplish and to locate suggestions on how to accomplish it. It is not usually hard to find step-by-step instructions that walk you through the process. In the end, you get what you wanted and it's all good. Or is it?
The problem with cobbling together the results of various searches and muddling through them to achieve your goal is that you don't really know what you are doing. You may get the results you were after, but you may not really know why or even how you did it.
So what? Who cares, as long as you got the desired result?
That attitude is fine if you are working on a one-time project that you never expect to revisit. But if you are truly trying to build a skill set, you need to balance the experience of "doing" with some background in "understanding."
Unless you take the time to understand the concepts and theory behind the application, you operate with several disadvantages.
If you don't understand how and why something works, you will have a difficult time troubleshooting any problem you encounter during the implementation. This is the "muddling through" I mentioned earlier.
If you do take the time to learn the basic concepts of your subject matter, troubleshooting is much easier. You can almost "intuit" the answer when a problem comes up, because you understand the source of the problem.
Without a conceptual understanding, it is hard to select the best solution to your problem from the various alternatives you find. Finding a solution becomes a trial-and-error process. Worse, you may stop trying the alternatives once you find one that more-or-less does what you want, while a much better solution may have been the next one in line.
With conceptual knowledge comes the ability to quickly scan the alternatives and identify the best one with far less experimentation.
In my experience, you rarely find an example that does exactly what you want. You often need to tweak it to fit your requirements. That process is much easier if you understand how and why something works the way it does.
Conceptual knowledge gives you the ability to mentally catalog the solutions you implement. You end up with a "library" of techniques that have utility outside of the context in which they were originally applied.
Later, when you have a completely different problem to solve, you may realize that all or part of a prior technique can be used for the new requirements.
If you didn't really understand what you were doing the first time, it is unlikely you will recognize it's potential applicability to a new situation.
Finding Conceptual Information
Alas, it is much more difficult to locate general information on the Internet than specific information. It's a matter of keywording. If you are looking for specific information, you can use specific keywords that narrow down the results. If you use general keywords, you get a wild cross-section of specific and general information that you must sift through.
Additionally, information on the Internet is typically delivered in relatively small snippets. You may find everything you need to know on a subject, but you find it in random chunks with no logical progression to help guide you through the topic in a structured fashion.
Making the Best Use of Your Time
The problem with focusing on theory and concepts alone is that they don't get the job done. This is one reason why companies are reluctant invest in training. While you are learning, you aren't doing. Companies pay you to get something done. More progressive companies realize that the training makes you able to get future jobs done faster and better.
Additionally, no one wants to "waste time" learning about stuff you'll never use. There's a fine line between getting the basic information you need on a subject, and learning the details about a technique that you'll forget anyway by the time you need it (assuming you ever do).
To deal with both of these issues, here's the approach I usually take:
- Learn the basics. Buy a book, take a course, or do online searches to uncover the basic information about what you want to do. If you want to learn about glass cutting, find information on the kinds of glass there are, how it is made, and the different ways it can be cut.
- Experiment. Do a pilot project to apply what you've learned. For example, try your glass cutting techniques on a piece of scrap glass.
- Learn the specifics: As you run into difficulties or uncover alternative methods, do some targeted, in-depth research to learn more. For example, when the first piece of glass shatters into a million tiny pieces, you do some research and discover that your experience is typical of trying to cut tempered glass. So, you try your experiment again on a piece of non-tempered glass.
- Implement. Once you are confident that you know what you are doing and you understand the implications of what you've learned, apply your shiny new knowledge to a real project.
Invest in Yourself
Different people learn in different ways. Take your best learning modes into consideration when choosing from the alternatives. For example, I get most of what I need from books and articles, while other people want audio, video, or hand-on training. Know what works for you.
The best training (in any form) gives you an overview of the subject and specific examples of how to do the things that most everyone needs to do. For example, when evaluating a book, I avoid books with contrived, generic examples that can't be used for anything practical. Instead, I look for examples that I might actually put to work in my own projects.
Before you run off and get started on your next project, do yourself a favor and invest a little time in yourself. Give yourself the background you need to be effective and productive. Having a firm grasp on the big picture makes you appear more professional and competent, and that is a big advantage in a competitive workplace.