Summary: Links to articles every software professional should read.
There are few things that I enjoy more than a good rant. An insightful article or a helpful blog post can make my day, but a really good rant really gets me going. When I find a good rant, I can't stop reading it. I pass it to friends and co-workers expecting them to get excited as well.
What makes a good rant? The main difference between ranting and regular writing is emotional involvement attached to the former. When people rant they address issues dear to them, something they lived through and desperately need to share.
To be able to rant you must care about the subject, but this does not automatically make the rant good. To make it good, offer a unique perspective on the issue. Give it a personal spin, but don't just repeat someone else's viewpoint.
If you raise a controversy, you can be sure that you will offend people (there is no lack of people seeking opportunities to be offended), but at least try not to be offensive intentionally; otherwise, you will sound arrogant and not that many people enjoy other people's arrogance.
While happy rants are not uncommon, most reflect on bad experiences. If you start negative ranting, see if you can switch from anger and bitterness to irony (you may get away by substituting irony with sarcasm). Subtle humor is a must, but do not try to be funny too hard.
Steer away from profanity, or at least, reduce it to the minimum. There is absolutely no need to repeat f**k and f*****g in every other sentence unless you're trying to impress high-school sophomores.
Finally, keep your sentences simple. Don't pretend to be overly sophisticated, especially if you are not.
Here is the list of my favorite (mostly technical) rants (well, some of these are not rants per se, but they are good reads, so I'll keep them here until I move them to a better place):
Body Count: Why Moving to India Won't Really Help IT by Robert X. Cringely
Clothes for the Soul by Steve Yegge
Free Electron by Michael "Rands" Lopp
Good Agile, Bad Agile by Steve Yegge (also Egomania Itself)
Interviewing with Google by Benji Smith
I'm With Stupid: How Having Friends Might Be the Key to Both Privacy and Identity by Robert X. Cringely
Joe by Michael "Rands" Lopp
Living Out Loud: Voice Messaging From Hell by Larry Gross
Making Waves: How to Turn Around the U.S. Tech Economy in One Week With No New Laws, Regulations, or Tax Breaks Required and Without Moving to India by Robert X. Cringely
My First BillG Review by Joel Spolsky
One-Size Frameworks Rarely Fit All by Josh Lane
Our Own Damned Fault: When It Comes to Understanding Why Government Doesn't Understand High-Tech and Why Financial Markets Seem to be Working Against Our Own Interests, Well, We Did It to Ourselves by Robert X. Cringely
Programmer Superstitions by Jesse Liberty
Silicon Superstitions: When we don't understand a process, we fall into magical thinking about results by Jef Raskin
Technocentrism: The Path To Zealotry? by Brian Kuhn
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) by Joel Spolsky
The Craft of Programming by Alan Cooper
The Immaturity of CMM by James Bach
The Joel Test: 12 Steps to Better Code by Joel Spolsky
The Root Of The Matter by Lidor Wyssocky (also The Incapability Immaturity Model)
The Software Practitioner Triad by Alan Cooper
The 7 Deadly Sins of Software Development by Jon Skeet
Tour de Babel by Steve Yegge
Universally Unloved by Alan Cooper
What Makes Good Code Good? by Paul DiLascia
What's wrong with SDLC's and the 3 rules of moron-dynamics by Tom Shope
If you speak Russian, you may enjoy the following:
Мои советы: программировать: как не надо программировать by Артем
Blog Interesting - 32 Ways to Keep Your Blog from Sucking