I wouldn't, for example, comment a piece of code which is used internally to automate the generation of more repetative code... because that code is only for me to see and consume.
However, as someone who invests a great deal of time into writing development articles for others, I instinctively comment any "complex" routines that I know will be consumed by others.
I'm certainly not going to apologize for doing so, and I certainly don't expect others to comment every piece of code they produce.
However, when comments serve to shed light on the "why" (rather than the "how", which the code should explain in its own right), then they can be helpful at giving new developers some insight into the "big picture" of a system.
Incidentally, I just had this argument with a very large number of developers in a particular community.
The coolest part? You can download all your personal data to see how we're doing.
Read all about it: http://blog.stackoverflow.com/2015/01/targeted-jobs-for-stack-overflow/
Most likely, whatever it is that finally does me in will be something I'm tinkering with.
I don't discriminate either; I can probably find a way to tinker with most things. Computers simply offer more bang for the buck in this regard; not only can I tinker with the hardware which makes it up, I've learned many varied ways to tinker with the software inside that hardware I so lovingly assembled.
I got into computers before the day of the personal computer; serving a glorious stint under the watchful gaze of bank upon bank of spinning magnetic reel. I once refused a job offer in those early days because I erroneously thought no one would buy into the PC market. Time passed and I eventually learned from my mistake. Many OSes have come and gone since then; these days I use Linux and FreeBSD depending on what I want to do.
If you got this far, I guess you would say I'm the kind of dev who attempts to do the things they say can't be done.
110 William St. New York, NY 10038
After someone asks a question, members of the community propose answers. Others vote on those answers. Very quickly, the answers with the most votes rise to the top. You don’t have to read through a lot of discussion to find the best answer.
Like topics on Wikipedia, questions and answers on Stack Exchange can be edited. If someone writes the beginning of a great answer, someone else can elaborate and make it even better.
The site is free and open to everyone. You don’t have to register, but if you do, you collect reputation points when people vote up your answers, which will appear next to your name.