I am currently a systems engineer at Kenna Security, but wasn't hired into this role: I started four years ago as our first official support engineer (in part, I think, because our co-founder and CTO didn't want to answer tickets anymore).
I still like to be close to that support team, though. One of our current, younger support engineers likes to send me code snippets he's written from time to time, maybe to ask a question or to show off something cool he's learned. He sent me this the other day after one of his snippets:
We're a busy place, and I am Not Great at staying on top of DMs, so I didn't initially think much of it and didn't immediately respond. After lunch, I went back and saw what he had said and something clicked. I responded:
I DO know what he means. I've always wanted to be a programmer - I grew up developing at home on old computers, scripting on graphing calculators in school, asking for O'Reilly Perl books for birthdays. I was very close with CS teachers, and I even had a part time web dev job at a non-profit in high school. After graduation, I followed a track that eventually got me into a Computer Engineering (think CS + circuits) program in college. This seemed like an easy path forward, right?
I dropped out of college, though, and spent over a decade trying - and failing - to become a professional programmer/developer. By the time the Kenna opportunity came around, I had moved from support to software QA, thinking getting as close to "real" development as possible was how I'd land my dream job. As easy as it was to take a job at Kenna (then Risk I/O) - a startup with some very interesting, smart, cool people - the thought of going 'back' to support was a little tough. I still wanted to be a Real Programmer, and I had worked for years next to Real Programmers without being able to do, professionally, exactly what they did.
Kenna was different. I got access to GitHub. I got my own dev instance. I was taught how to create and merge PRs and watch my code (my code!) get deployed to production. Yes, I was answering support tickets, and yes I was jumping on calls to do technical support, but by god I was learning and writing Ruby. A newer engineer even told me later "I didn't know you were support, I thought you were one of our developers when I started".
Our growth at Kenna changed the game a little - I had far less time to play around with code, and was getting swamped with support work as our client base grew in size and complexity. We started growing our support team, though, and hired some support engineers that are easily better at that role than I was. This also opened up an opportunity to move over to our platforms/systems/operations side.
I'd be doing backend, infrastructure work. We're a Fedora shop, and while I played around with Red Hat and Ubuntu and others over the years, I'd never done honest to god Linux system administration. My boss took a chance bringing me over, hoping I'd ramp up to the level of systems engineer we needed.
That was a few years ago, and I now feel like an honest to god systems engineer - but am I a Real Programmer?
That support engineer told me "I'm not a real programmer, I just glue stuff together". I replied:
Isn't that exactly what being a programmer is? A great article from last year stated "The Bulk of Software Engineering in 2018 is Just Plumbing", and it's as true at massive scale as it is when simply grepping out strings from log files.
I know a lot of people in tech who suffer from Imposter Syndrome, and it can be extra hard for those of us like this support engineer who may not have "developer" or "programmer" in their title. I spent a lot of my career with a chip on my shoulder, but have thankfully been surrounded by a lot of incredible people that, daily, help me shed that mentality.
My name is Andy, and I am a real programmer.



Latest comments (53)
Govt Exam Guru - Online Test Practice : Free Mock Test & Quiz Questions And Answers Practice for All Competitive Exams and Entrance Exams Prepare online
Most powerful sentence: "I know a lot of people in tech who suffer from Imposter Syndrome"
govt jobs apply
The obvious mistake is on
if(isCrazyMurderingRobot = true),We should use
==to check if the variable is setwhile using
=to assign the valueI'm not sure in other languages, but I think you should have nested curly brackets
{}for everyif(condition).The correct way to code is
For more details, please check these descriptions (they are for the C# language, but the operators behave similar in other languages like PHP, Java etc
Thanks for sharing this Andy. It really spoke to me and promoted me to write medium.com/@marklocklear/i-am-not-...
This is so awesome! It's so incredibly cool to see others sharing the same sorts of experiences.
Real programmers flip switches to insert raw machine code.
I echo the others who have said this already, but thank you for posting this. I recently moved into a systems analyst role within an application development group, whereas prior to this role I've spent my entire career in the telecom network support world. I have had severe impostor syndrome for the last several months but I'm trying to learn as much as possible so that I can also become a real programmer. I was pretty proud the first time code that I modified/pasted together/wrote a small part of was pushed to production, and I look forward to more of those instances.
That's super awesome to hear, and I'm SURE you'll have plenty more of those to look forward to.
I love this article and the comment thread. For context, I'm 69 years old and enjoy both retirement and consulting these days. I have worked as a salesman, a photographer, a teacher, and a programmer. Here are my thoughts in no particular order.
I wish Donald Trump had at least a little Impostor Syndrome.
You are a photographer if you take a picture;
You are a professional photographer if you sell a picture;
You are a journeyman photographer if you can support your family selling your pictures;
You are a famous photographer if people look at your pictures and say, "That's gotta be worth a lot of money!"
You are a programmer if you write code;
You are a professional programmer if you get paid to write code;
You are a journeyman programmer if you can get a job writing code;
You are a famous programmer if you're Linus Torvalds or Taylor Otwell, etc.
Except for my years as a salesman, I know that my neighbor (a plumber) has always made more money than I have!
My best job ever was teacher, and teaching programming was so much fun -- you could light up a room with an "A-ha." Seeing the onset of insight in your students is the ultimate high.
Awesome.
I had that exact same attitude. I was working as a "Data Entry Manager," where I managed a team of guys to input product info for eCommerce sites. I would write small scripts and programs to speed up the job for everyone.
At a conference I was able to talk to one of the developers of Identi.ca and mentioned I made the ZipWeather bot for identi.ca. Told him I'm not a programmer, I just write scripts.
He told me what I was doing was programming and if I enjoyed it to keep doing it. Later I applied for a position as a full time developer and been doing since.
Everybody who cares about his or her craft feels like an impostor (not "imposter" -- you don't post things, is that it?). For example:
When Sonny Rollins got to hear, and be scared by, the mature Coltrane, he was Sonny Rollins -- he owed nobody anything. Nevertheless, the experience made him tear down his entire approach to musicianship and build it back up again. Because his next-door neighbor had a baby in the house, he woodshedded out on the Williamsburg Bridge. It took him over two years of rebuilding before he felt ready to play in public again (the album aptly titled "The Bridge", 1962).
If you're any good, you're always suspecting you're a fraud -- that's what drives you to keep learning.