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.