Once considered an arcane and hard-to-learn skill, programming is no longer the mysterious domain of professional programmers. Technical and even nontechnical professionals, such as Web producers, designers and writers, can gain an edge by learning to program or brushing up rusty coding skills.
What's causing IT professionals beyond hard-core programmers to start programming? Reasons include:
- The plethora of books and online resources devoted to programming.
- The advent of programming languages designed for ease of use and rapid deployment.
- The ease of sharing programs with a worldwide audience via the Web using technologies such as LAMP.
Plenty of people want -- or need -- to learn programming. Techies may want to give programming a whirl to see if it could develop into a full-fledged career. Nontechnical Web professionals may want to add programming to their arsenal to expand their contributions or simply have a better understanding of software development. Help-desk experts and networking pros, meanwhile, may need programming abilities to create small task-automation programs or make more valuable contributions to projects.
How do you learn to program? Opinions vary, but those who've done it generally emphasize jumping in with books and online resources. Luckily, current programming languages, tools and resources make the learning process far easier than it was in the early days of computing.
“Learning things today is much easier than it was even 10 years ago because of the Internet,” says Brian Hook, a software and computer game developer. “Search engines make finding answers to common problems easy, and the Internet is littered with message boards devoted to programmers of all levels.”
Dave Taylor, a computer book author and technology guru, suggests starting with the basics. “The key is to start by learning a simple, easy programming language that gives you feedback and helps you learn,” he says.
If you're ambitious, you might then delve into C#, Java, Perl, PHP, Python or Ruby on Rails. Moreover, techies working in a specific area -- network engineering or database administration, for example -- should consider learning the languages most commonly used in their particular specialty.
Dive into It
Those who have mastered programming typically suggest a can-do approach to the task: Set yourself a problem, then tackle it. "The best way to learn to program is to just start programming, " Hook says. "Inevitably on your first attempt, you'll be frustrated and probably won't do a very good job, but with practice it becomes easier. "
As Taylor puts it: "Start small, get some success under your belt, then build from there."
You will need some guidance, of course. A class is one route, but many self-taught programmers favor learning from the many books available on the topic, such as Beginning Programming with Java for Dummies, Programming PHP and the Visual QuickStart from Peachpit.
You can also try online tutorials, available at such sites as Good PHP Tutorials, ProgrammingTutorials.com and W3 Schools. New tutorials pop up all the time; locate popular ones by visiting del.icio.us and searching on “programming tutorial.”
Want to Make a Career of It?
And what if you decide a career in programming is for you? Then you'll need additional training. You may be able to find a niche without a degree, but it won't be easy without a bachelor's in computer science or a related discipline, says Kim Berry, president of the Programmers Guild. "Without a formal degree, one will be summarily locked out of many positions, and beat out by the competition in others, " he says.