Saturday, 30 May 2015

Developer Mindset

IBM5150I’ve been programming almost as early as I can remember… I grew up coding in BASICA, GW-Basic, and pretty much any language that I could get my hands on for free. By middle school, I had written my own war-dialer to locate nearby BBS systems — for, you know… educational usage only ;) Some of my favorite memories were on an old AT with no hard drive and a 5.25″ floppy. There, I’d try to reverse engineer and then modify games I had, to bypass piracy protection (generally asking for special codes that came with the original game manuals) or modify how the game works.

Even before I learned how to use a computer, I would constantly take apart household appliances (causing much frustration for my parents, I’m sure). My earliest invention that I can remember making was a remote-controlled night-light. When I wanted to use the bathroom at night, I would flip a toggle switch by the bed and a light by the doorway would turn on, illuminating my path. Granted, I could’ve just cleaned up all of my toys, clothes, and stuff on the floor so I wouldn’t need the light, but where’s the fun in that?

I guess if I had to pick one motivation, it is the desire to understand how things work and make them do what I want…

It’s helped me become a bit of a development generalist. Before the term ‘DevOps’ had even been coined, I was working with the admin team. Before ‘agile’, I was prototyping and working with users to come up with the solution they wanted. I just love creating and improving on things.

I feel like that desire is something that is seriously lacking in today’s corporate world.

I’ve met so many other developers who have impressive-sounding degrees and certifications, use the latest technologies, and follow a rigid set of processes and procedures… and while some of them are great friends of mine and are certainly capable of accomplishing most business tasks, they seem to lack the ‘developer mindset’. Or maybe it’s the ‘hacker mindset’. They sort of go hand-in-hand for me, I guess.

To make an overly-simple comparison… You can’t become an ‘artist’ just by memorizing proper painting techniques and having all of the finest-quality brushes and paints. The same holds true for software developers.

Personally, I don’t believe in the concept of the ‘x10 developer’ — that so-called rockstar developer who is capable of producing truly great and innovative work. I prefer to think of that as just a plain ‘ol developer. Unfortunately, more common to see in companies is the ‘1/10th developer’.

Not all people are cut out to be developers. It isn’t that one is necessarily better than the other. It just kind of annoys me that both groups get lumped together when it comes to pay, hiring, etc.

It’s a difficult thing to quantify on paper (or blog). It’s even harder to relay to recruiters, perspective employers, etc. That’s why I pretty much only rely on word-of-mouth when it comes to working somewhere. People who have worked with me know what I’m bringing to the table. It’s more than just the buzzword-bingo filling up a resume.

I’m a developer. It’s part of who I am. It isn’t just my hobby, job, or career.

That’s what motivates me.

What about you…?