not a developer

Mar 10, 2017

i sometimes hear people who write code say “i’m not a developer”

i thought i had seen a blog post about this, but i wasn’t able to find it. so
this is my attempt to unpack that statement, and hopefully someone will remind
me of where a better post is so i can link to it…

maybe it means “i’m not a real developer, i just write html, css and maybe a
little javascript…”

that’s how i started writing code - looking at the source of web pages and
tinkering with the markup, and then the javascript. so it seems like a great
place for a developer to start. and browsers are an incredibly rich development
platform, so i think it’s ill-informed (at best) to look down on the html/css/js
stack. more importantly, the browser is the most accessible platform going, and
there are a lot of people solving their own problems, enhancing existing systems
where they can inject javascript. if that’s what you are doing, i would
consider you a developer.

maybe it means “i’m not a real developer, i just write scripts”

the next step in my career as a developer was to start experimenting with linux
and tinkering with shell scripts, and then perl scripts. there are a ton of
scripts in a linux or macosx system, and i started looking at them, trying to
figure out how they worked, trying to customize them to do what i wanted. i
built on that, looked up documentation online, asked questions when i was
stumped, and kept on tinkering. that led pretty directly to two big
opportunities for me. the first was in my first job out of college. i was
doing secretarial work and desktop publishing at a small company when the
“computer guy” quit. i knew enough about linux to keep the file/print server
running, so that was added to my responsibilities, and i learned a lot from
doing that. a few years later i was doing tech support and documentation for a
project, and i learned enough perl to write a simple pan-and-zoom map. there
was a developer job opening shortly after that, and that perl script was enough
for them to take a chance on me.

but to take a step back, scripting languages (bash, perl, python, ruby, etc.)
offer an approachable way to develop software. you can start with modifying an
existing script, or build your own simple scripts, and add iteratively. you can
very quickly get to a place where you can automate a task that would take you
hours to do manually. and if you are writing scripts to get a job done, i
consider you a developer.

maybe it means “i don’t have a computer science degree”

lots of developers don’t have computer science degrees. my degree is in
creative writing. some of the best developers i know have humanities degrees,
or no degree at all. we just posted some new job openings
(1,
2).
one of them says nothing about a CS degree, and the other says that experience
working as a developer is equivalent. because a lot of people learn to write
code in their spare time, or to get a job done, or as small part of some other
job. so having a CS degree probably means you know how to write code, but it’s
certainly not a requirement.

maybe it means “i’m not paid to write code”

there are lots of people who write code, even though it’s not their primary
responsibility. many places don’t have dedicated developer positions, but a
little bit of code here and there goes a long way. and even when there are
full-time developers in your institution, it doesn’t always mean they’re going
to help solve your problems. so lots of people write some code, even though
it’s not technically part of their jobs. if that’s what you’re doing, i would
consider you a developer.

maybe it means “i don’t identify as a developer”

in fact, i suspect this is what people usually mean. developers as a class
have a real problem with privilege and inclusiveness. in a field where
discrimination and harassment are endemic, even acknowledging these problems or
adopting codes of conduct to help address them is often controversial. so if
you want to identify with a different label, i wouldn’t blame you.

developers are at the top of a putative hierarchy of technical prowess, and
calling yourself a developer may seem like an invitation to have your
qualifications and accomplishments questioned. given the previous paragraph,
i’m not sure you would be wrong. if you don’t have time for that, i wouldn’t
be surprised.

but speaking for myself, i have a very inclusive definition of being a
developer. i personally find it very empowering, and want to welcome everybody
who wants to join. i have no time for splitting hairs to exclude or devalue
people. if you write code, i consider you a developer.