How to be healthy, as a computer programmer
Douglas Coupland once joked that every developer is 31.2 years old.
this is because there was a very short half-life to computer programming.
people would just burn-out and go back to grad-school.
... or become ~~managers~~
would you
spend your life
on one of these?
i wouldn't.
this is changing.
writing software is much more lucrative, fun, and creative.
it's also very well respected. It's one of the best careers.
i'm going to do it my whole life.
this is how.
lift your arms above your head
i have a shitty back,
if I ever stop writing software, it will be because of my back.
in 2015 i bought an outrageously expensive chair.
it's kind of great.
predictably, my back just started hurting in a different place.
much has been said about ergonomics but really,
the only good posture is your next one.
software is a labour, and takes time, and your shoulders will weaken.
try it, raise those arms up
thankfully, you don't need to lift weights to be healthy.
just raise your arms sometimes
some people do yoga.
lately i've been doing an aerobics class.
it seems basically engineered to get you to lift your arms a lot.
sometimes I'll get just get baked and move my arms a lot.
- because it's part of the job -
cycle coffee
i used to think that coffee ruined your personality
that may be true,
but the real-problem is that coffee stops working.
or while it's working,
it really wears you down.
sometimes i find myself feeling dizzy,
or just irritable in the afternoons.
people in the /r/nootropics world all cycle their drugs, and it's a good idea.
I'll do a week without coffee,
it sucks.
i've been drinking 'salt-juice', which seems to help caffeine-fatigue.
... because of something kidneys something...
but really, the body is just saying, dude.
i can't really work on day 1.
.. but usually can on #2.
by wednesday i'm a damn buddhist.
then next week, with the coffee, I'm tony danza.
Talk out-loud
Sometimes I'll watch a british panel-show where everyone is really sharp and witty.
-watch a stephen fry interview where he pops in+out of arcane subjects, with a pun-per-sentence,
as though it was no work at all.
I think there's an increasingly out-of-date belief that software engineers are really smart people.
i have a really hard time just keeping track of time, for example
- what month it is, or what I was doing 10 years ago.
human-talking is way more a mental excersize than programming, or probably any other activity.
specifically, talking is realtime-only -
thinking of a joke from 20 seconds ago is worthless. it's gone.
and doing any planning within a conversation is bad etiquette.
frequently talking out-your-mouth, with someone doing the same,
is probably better for your IQ than any supplement.
and if your job doesn't require talking, you should specifically seek it out.
management & control
a badly managed food-truck will sell less food.
a badly managed software project will produce nothing.
every team has groupthink, bike-shedding, blah-blah,
but software projects multiply these issues.
managing this - it's a huge part of the job.
my view is:
you are either
or you are
an employee.
i try to keep this distinction clear.
every employer will try to fuzz it on you.
because computer programming is self-motivating, like a videogame is,
every developer wants to solve problems, and we get taken advantage of.
this 'team-player' shit is not okay, and is in every job now.
it usually takes young-people a few years to see it.
setting boundaries with your employer is more important now than ever.
your parents never had this problem,
that's why nobody tells you about it.
when your boss asks you to meditate, say fuck you.
if you are given equity, demand to know it in terms of percentage.
it is usually a pathetic amount of the company, seen in this way.
it's not your company.
it's someone else's.
when you are a shot-caller in a software project though,
and have creative control, and effort-flexibility, it's a beautiful thing.
work your ass off, on that. that's the best.
i heard a story once about Aaron Swartz, that has stuck with me.
he took a job at a startup,
and they gave him his computer,
and told him what to install on it,
and he went to the bathroom and cried.
sometimes it is just someone else's project.
when it is, ensure you are well-paid. Leave at 5.
Talking to strangers
Talking with strangers on the internet is a huge part of being a computer programmer.
nobody tells you this.
strangers will just approach you.
every program will have bugs and feature-requests.
a lot of people react very poorly to this.
wikipedia has a policy:
it's just nuts how bad most people are at this.
internet communication is a delicate thing.
you have to lead with something complimentary.
a new person, in the world, talking to you -
it is a tenuous thing.
... almost scary?
pretend you are british nobility,
pretend you are a very alluring diplomat in Geneva,
pretend you're invited to lunch at the country club,
assume everyone think very highly of you, and your work.
use people's names.
reply to everyone. On every platform.
look at their work.
if it takes a few days, apologize.
do not ever argue, on the internet, in public. ever.
not once.
this - the most obvious and rare skill.
i'm kind of a shitty programmer,
and i don't work very hard,
but I'm always careful and extra-polite with strangers.
in the past 5 years, i've gotten 12 jobs
starting from a github issue.
and counting.
i may buy a house soon.
taking random requests from strangers,
it's my whole career.
i did not see that coming.