Do you want to become a programmer?

You need to know that you will have to face a long and difficult course, full of nights spent for debugging.

Furthermore, you also need to face relationships with colleagues and clients, time planning and boring tasks.

The traditional way

In order to help you in this difficult course, i want to share a good ebook by Robert L. Read: How to be a Programmer:

To be a good programmer is difficult and noble. The hardest part of making real a collective vision of a software project is dealing with one's coworkers and customers. Writing computer programs is important and takes great intelligence and skill. But it is really child's play compared to everything else that a good programmer must do to make a software system that succeeds for both the customer and myriad colleagues for whom he or she is partially responsible. In this essay I attempt to summarize as concisely as possible those things that I wish someone had explained to me when I was twenty-one.

The book is freely available on GitHub, but is also available as PDF/Epub/Mobi on GitBook, and as hardcover book on Blurb.

The book covers a lot of topics of the life of a programmer, like how to debug, how to organize your time or how to stay motivated.

Here the table of contents:

The quick way

Fortunately, there is an alternative method that will allow you to become a great programmer in only 21 days, AbstruseGoose reveals it:

[caption id="" align="alignnone" width="744"]ars_longa_vita_brevis from[/caption]

This cartoon is really funny, but is inspired by a more bit serious article by Peter Norvig, titled "Teach Yourself Programming in Ten Years",that I suggest you read:

Walk into any bookstore, and you'll see how to Teach Yourself Java in 24 Hours alongside endless variations offering to teach C, SQL, Ruby, Algorithms, and so on in a few days or hours. The Amazon advanced search for [title: teach, yourself, hours, since: 2000 and found 512 such books. Of the top ten, nine are programming books (the other is about bookkeeping). Similar results come from replacing "teach yourself" with "learn" or "hours" with "days."

The conclusion is that either people are in a big rush to learn about programming, or that programming is somehow fabulously easier to learn than anything else. Felleisen et al. give a nod to this trend in their book How to Design Programs, when they say "Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies."