I'm Ben, I'm a developer, and...
Well, according to developers on the Internet, I'm old. I'm actually 451, which is mid-career for a lot of people in different jobs.
I recently read a post here called Forty and still a dev that got me a-thinking.
As a professional athlete, maybe I'd be past my prime. As a plumber? Not so much. Why does the world think that developers fall into the first set?
A local company once sent an email advertising a job to our local Python group's mailing list. We don't totally hate these emails if they're done infrequently and are relevant.
This one started:
We're an up-and-coming team looking for a young, enthusiastic developer to...
One of our older members hit reply-to-all on that one. I can still feel his wrath. It's so easy for people to stick in words like that. Young means sharp. Young means cutting-edge.
And slipped into a job spec, it also means cheap.
Some people say to respect your elders. Others say that respect is something that should be earned.
The people saying these sayings are dumb as shit2. Everyone should respect everyone else. Sure, you can earn more respect for doing something great, but as a baseline, just respect everyone. Just do it.
That newcomer in the office or your 3 o'clock interviewee? Treat them like they know their business, whether they're 18 or 80.
Some of the places I chat to people, I'll talk to someone for weeks or months before a phrase like, "gotta go to school" brings the topic up and I find out they're 14. Or a wistful memory of a band they liked when they were younger turns out to be black-and-white on youtube and I find they've got another 20 years on me.
On the Internet, programming is still a meritocracy. For better or worse, if you can do it, you can do it. This means you might get a toe in the door with some open-source project or a remote interview leading to a work-from-home position. But in real life, face-to-face, it's a lot different.
If you look young, does it matter that you can write a device driver in assembly? You'll be dismissed for not having the breadth of experience that comes with age.
If you look old, can you only write device drivers in assembly?
Mentorship, you say? Maybe that's what it is. I find that I have more to say on subject like work/life balance than I do on machine learning.
I was young once. I had some impractical ideas about life. I took Cybernetics at university because I'd just watched Terminator 2 and couldn't think of anything better to do. None of it matters.
- you can go home at 5 (or 5:30 or whenever your contract says). You don't have to work late unless there's a genuine emergency.
- you can go home at 3 if you need to be in for a delivery. Everyone has a real life that can get in the way of work, and people understand.
- don't take your work home with you, even if you think it's fun and interesting. Seriously, pick a different hobby.
- you don't need to keep polishing your portfolio.
- help your friends out by making them a website if you want to. Do it free if you want to. We're not all designers and we don't have to fight against "doing it for exposure", but if it's for a company or friend-of-a-friend, charge them market rate.
- look up market rate and try to get comfortable justifying it to people.
- if you finish the work quicker than everyone else, it could be a sign that you're a rock star ten times ninja emoji developer. Except you're not, you just missed something out.
My first job was PC support for a bunch of literal rocket scientists. They built satellites and defence systems but were generally impressed when I fixed their printers, because those darn machines, etc. One day my boss asked me what I wanted to do as a proper job because, "you don't want to do this for the rest of your life".
I was kind of insulted: there's nothing wrong with PC support. I went back to it in later years, too.
I don't see most things as a progression from development, and I'm still not ready for that pasture.
Some developers become leads in their niche, then team leads, then line managers, then technical managers, then CTOs and so forth.
I think this is ok, provided -
- that's what they want to do
- they're being pulled into management, not being pushed out of development
- they're aware that they won't do much development anymore
- they get management training
Point 4 is vital. Companies that "promote" developers to management positions as a reward for being good developers are dumb, and deserve to fail.
Interview people for management positions and employ the best candidate you can afford.
If someone internal wants to apply, let them apply. Coach them. Send them on training courses.
Give them all the support they need, because if they don't get it, they'll sink your project, and they'll be miserable about it all the way.
Management and development are two completely different skill sets.
I've worked with too many managers in my time who came up through development and who wistfully look at my IDE from time to time and say they wish they could get back to that. So do I. I'd be happy for them to scrape the rust off and get back to coding, because they're usually terrible at filling the role they're paid for.
Cover image by Fredy Jacob on Unsplash