Sunday, April 7, 2013

Advice to New Programmers

Here's some advice that I could have used back when I started programming in 2006.

Learn a Revision Control System

Programmers make mistakes. Not using a revision control system can make these mistakes costly. Have you ever deleted a file that you needed or completely messed-up a file by adding too many features at once? Then you know that reversing them can be a time-intensive process.

Revision control systems (also called 'source control systems' and 'version control systems') are essential to serious software development. When used properly, revision control allows you to easily reverse mistakes that you (or others) make.

There are many revision control systems out there, and here are some of the best-known:
  • Git
  • Mercurial
  • Bazaar
  • Team Foundation Server (TFS) 
  • Subversion
I recommend starting with Mercurial, Git, or Bazaar due to ease of setup and ease of use.

Your First Language Doesn't Matter

When I first started, I (sort-of) feared that having Visual Basic .NET as a first language would limit me in terms of what I could do as a software developer. This fear was completely unfounded, and I went-on to write tons of code in other languages.

Much of the fundamentals of programming can be learned from any well-known language. When you're just starting out, don't worry about what language you are using.

Try to Learn Multiple Languages

After you've learned the basics of your first language, I highly recommend learning other languages because it is a good way to expose yourself to different programming techniques and concepts. Learning multiple languages also reinforces your knowledge of fundamental concepts common to any language.

Here's the hard part about this advice: I can't tell you what programming languages you should look at. You'll have to discover them on your own and look into anything that seems interesting.


Programming Is Tough

It's easy to get discouraged. Some core concepts are tough to master, and compiler / interpreter errors can be very cryptic. Don't quit or get frustrated when you first encounter a problem; keep trying!

No comments:

Post a Comment