Browse DevX
Sign up for e-mail newsletters from DevX


How to Learn the 10 Most Important Technologies : Page 2

When we told our readers what technologies they needed to learn, they told us: easier said than done. While that's true, there is an approach to learning that can make it easier. With the right attitude and some essential resources, you'll be on your way—slowly but surely.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

Success Breeds Success
The more you succeed in learning new technology, the more likely you'll be to succeed the next time. If you find yourself failing, take a step back and bite off a smaller chunk—or work on something else for awhile. Sometimes, after you back off from a subject for a while and then return to it, you'll find that you've learned something during that hiatus. At the very least, you can approach the problem afresh.

Don't Copy
I can't count the number of times I've seen people look for code they can copy. They install some sample application, make a few changes, and feel they've learned something. Well, they probably have—they've learned how to alter an existing application. But that's not the same thing as knowing how to write the application from scratch. Trying out and altering code samples is fine, but only if you then go back and recreate the functionality on your own. Pick something similar, but not identical to the sample. Use the sample code for reference and hints, but not as a template. You don't really know the technology until you can write the code yourself.

This is by far the most important learning characteristic. When you finish one project, start another. It takes most people many repetitions before they truly know something. How many times have you finished an application knowing that if you could have written it again, it would be better? Well, now's your chance. If you're playing to learn, you're perfectly free to start over and do it better. And you should.

Many people equate practice with repetition, but that's incorrect. Repetition is only one aspect of practice. If repetition were the only factor, then mindless repetition would create masters. Repetition, by itself, is almost useless; to make it practice, you must combine it with analysis. When you practice, you have to watch yourself, become aware of how, what, and why you're doing things a certain way. Practice involves a willingness to change and take chances. You can only improve if you are willing to change and know where the boundaries for failure occur. It involves self-criticism: You have to be willing to tell yourself that you're not measuring up to your own standards. And yes, it involves repetition. You won't attain perfection the first time, nor the tenth time, nor (usually) the hundredth time—but if you get that far, you'll be a lot closer.

Read, Experiment, and Ask Questions
Don't rely exclusively on your friends, peers, or instructors to give you the information you need to learn. The information you need is widely available through newsgroups, listserves, articles, and books. Keeping up often requires you to spend a little money as well as time. So what if that programming book costs $30 or $40? If it helps you learn something, it's money well spent.

Don't expect to get everything you need from a single source—there's no such thing as a perfect resource. And don't expect to understand everything you read right away. It's easy to become intimidated because new technologies often arrive with their own unique terminology: Schema, nodes, DOM trees, streams, objects, methods, procedures, properties, classes, functions, subroutines, arrays, overloading, namespaces, polymorphism, classpath, keyframes, movies, actors, etc. Terms acquire meaning through familiarity.

Read the documentation, and don't complain constantly about how the documentation is unreadable: It is what it is—a reference. Others learn, somehow. Figure out what they did and do that. Don't rely exclusively on what you read either. Rely on experimentation. Try it out. See what happens. You will usually learn far more from building a test application yourself than from finding a solution in a book or newsgroup.

With that said, newsgroups are valuable tools. One of the first things you should do when approaching a new technology is to subscribe to the appropriate newsgroups and listserves and simply read them. You may not understand all, or even much, of what's there, but you'll remember bits and pieces of the simpler questions, and you'll learn things to avoid.

It's best to exhaust your own imagination before appealing to others for help, but sometimes asking a question is the right thing to do. Before you ask, search to see if your question has already been answered. As a beginner, you have a huge advantage. Any question you're likely to have is equally likely to have been asked—and answered—many times.

At any given time, 50 percent or more of the people using a technology are beginners, so once you've gotten over the hump of the learning curve, don't stop participating in newsgroups. Others will appreciate the time you spend helping them, plus, the process of answering questions and writing articles is often humbling: there's no better way to find out how much you don't know than to try to write it down.

Here again is the list of my picks for top technologies and the resource lists we've compiled on each technology. Pick one technology, one (small) problem, and start practicing today.

   The 10 Technologies that Will Help You Stay Employed
 #1: XML
 #2: Web Services
 #3: Object-Oriented Programming
 #4: Java, C++, C#, and VB.NET
 #5: JavaScript
 #6: Regular Expressions
 #7: Design Patterns
 #8: Flash MX
 #9: Linux/Windows
 #10: SQL

A. Russell Jones is the Executive Editor of DevX. Reach him at rjones@devx.com.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date