Quora recently changed the site in some heinous ways. They removed the details from all questions, because they’re trying to make sure that there’s only one “canonical question” you can search for an answer to.
Unfortunately this destroys nuance – after all, there’s only so much detail you can put into 250 characters.
So in response, I’m going to start migrating all of my question answers on Quora to my blog. It’s going to take a while, but hey, more content for the blog.
A few minor things they might not cover in whatever book or class you’re using (and way more important than ancient maxims like Keep It Simple Stupid)…
Writing Comments in your Code
Documenting intent in code comments is important. Some programmers believe that the source code is the documentation – they’ve never had to maintain someone else’s code.
Documenting what each line of code does, however, isn’t desirable, unless it’s not obvious. So comments like “This implements a piecewise-linear approximation of a sin() function” – awesome.
Comments like “This adds 1 to the count” – terrible, unless it’s some ungodly mess of functions to do that thing – in which case, there’s probably something horribly wrong with the code, and the reason for that mess is worth documenting, not what it does.
Write Readable Code
Write readable code. Readable is more important than optimal – because code always has bugs. (And you in 6 months time will thank you).
Sometimes you can discover different points of view from the tiny differences in the way things are done. For example, with a bit of inspection, you can figure out that US Closed-Captions are designed primarily for profoundly deaf people. UK ones are designed primarily for people who lose their hearing due to aging.
How do I know this? More…
It’s strange. So, here’s the “humble-brag” part – over the course of my life, since I was 16, I’ve been a freelance journalist with a large readership, published in multiple countries (and even translated into Portuguese for the Brazilian audience). I’ve won some very minor awards (not even on the same league as the Razzies). I work on the frickin’ Xbox for gawd’s sake (which carries a certain built-in nerd-cred with it). I’m one of the most famous programmers for a specific computer. I’ve made a couple of short films. I’ve made games. I’ve made all kinds of stuff. I’m not a household name, but I’m a “known quantity”.
I tell you this not because I want applause and accolades, but because I need to set up my credentials so that I can contrast them with what comes next.
I’m hit with Impostor Syndrome all the freakin’ time. All the time. Every single day.
For what it’s worth, I also have trouble with being complimented – compliments bounce off me… I fundamentally have trouble believing them at all, and I can’t take them to heart – no matter how sincere they are. (I’m told, and I suspect, that in many ways this is a very British trait – others may feel the same way, but we owned it and made it ours. Like irony). If you really want to make me feel good? Tell me something I did is cool – I can relate to that.
So far as I can tell, my own personal internal ego dial is always set somewhere in the direction of “mildly unworthy”.
This is how I see the difference:
You’re good at stuff, are confident in what you do, but you don’t let that change the way you treat others – that is, you have an ego that can fit through a reasonably sized door.
You’re good at stuff, but believe erroneously, based on internal analysis of the available evidence (and tainted by your own perception), that you’re terrible at it compared to your peers, and nothing will convince you otherwise.
This craters your confidence and self-esteem, and will also make it so that you tend to buckle in the face of conflict or resistance. It saps your courage, and reduces your grit.