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.
Everyone gets impostor syndrome. I get impostor syndrome. Even Neil Gaiman gets impostor syndrome. Even Neil Armstrong gets impostor syndrome – seriously. Check it out.
. o O ( I’m not really sure what I’m doing here. Shit… they even trust Buzz with the camera more than me. I’m probably going to get fired when I get back to Earth for being incompetent. I don’t know why they picked me for this anyway )
Especially me. Most days of the week (working in software, and especially working at Microsoft, which in some corners has a culture of aggressive debate), I’m surrounded by incredibly driven, passionate, smart intellectuals who love to argue.
This can take a huge toll on you. Because it turns the dial on impostor syndrome up to 11. It’s very rare that someone can have deep specialist knowledge on everything – and you’ll always run across people who know more than you. You can have a bad day. You can meet someone better than you at some things and feel like they’re better than you at everything.
You can do things to help with it though. To turn that dial back down to a 3 or a 4 instead of 11. Here’s the things I’ve found that worked for me:
I’ve picked up, observed, read about, and heard these from friends along the way:
People will always assume that if you’re creating something that is fun or enjoyable, it’s really easy.
If it’s an artistic endeavor that they can critique or consume, they’ll assume that they can do it just as easily as anyone else, until they prove themselves wrong. More…