I’m an old developer.
Currently in my forties, I have two decades of solid engineering experience. Anything I’ve already done in one language only takes a short time for me to learn in another language.
I’ve been continuously employed as a software engineer for over 22 years. My resume doesn’t have any gaps.
But I have recently been rejected for three roles simply because I didn’t have Python experience on my professional resume and wasn’t an expert in it. This despite presenting in Python, Go, Java, and Kotlin, machine learning, BDD/DDD/TDD—all in the past year, having begun the year not knowing any more than a smattering of Java when I began.
In fact, I learned all of that during nights and weekends, which should tell employers something.
At my day job, I learned a replication tool and a home-grown client data warehouse in order to deliver massive scale, multi-team data replications from multiple source databases. I didn’t know that stuff at the beginning of the year, either. Projects I manage using those new tools, including my own development effort, involve 5-8 teams over the course of weeks, culminating in a weekend deployment that could last 3-21 hours, depending on the scale. All of mine, seven or more, have been successful—all in one year, starting with no knowledge of the toolset.
You don’t want to mess up when so many people have committed to a project, so I don’t. I learn quickly, adapt, find out what I don’t know, and learn it. Every deployment involves growing the plan so that the next one will work better.
At the interview for a fourth position, I had my dream opportunity: I sat in front of the head of development, support, and QA as a support candidate. Finally, I had an audience with the person in the seat who had rejected me at three other places. And he asked me: “With all your development experience, why aren’t you applying for work as a developer? We have 20 slots open.”
I had to explain to him how, despite knowing engineering in and out, I was having a hard time getting through the front door to talk to a hiring manager because of my lack of professional experience with Python. I said it seemed like the industry had the cart before the horse, telling experienced engineers they need to know the syntax of one language in and out, even if they know all the other stuff about engineering in and out.
This also seems to be used against diverse workforces to keep offices filled with 20-something white dudes.
He acknowledged the industry situation, agreed it was a problem. He told me that learning a new language is trivial for an experienced developer and shouldn’t be an obstacle for that developer to join a team. (Other hiring managers I’ve met at social events say the same thing.)
Then he rejected me for a role I was imminently qualified for: a log-reading, no development, simply code-debugging support role that I was going to take with a two-year plan of becoming a developer in his shop. I was not offered one of the 20 development roles he had open that HR was hoping to fill.
HR assured me everyone during the interview thought I was great and qualified. That was another vacation day lost to an in-person interview where I’m not sure I was rejected for the right reasons.
After a startup experience out of college where I programmed in Delphi, C++, and Visual Basic, I have worked in IT, not for software companies, since. Increasingly, the teams I’ve worked on have been homogeneous: 98 percent Indian and male. Our teams get the bad coffee machines and the uniform cubicle workplaces. In my latest appointment, let’s call it DickensInc, here are some anti-perks:
- They issued some of us laptops, instead of the desktops others got, but not laptop bags—we needed to buy them.
- Even folks with wrist injuries needed to bring their own mice.
- We were told bridge call capabilities, like WebEx at $9 per month, were too expensive for us, requiring us to rely on our teammates to create and kick off meetings for us—even project managers like me.
- We were told headsets for our phones were out of budget. Someone resourceful scavenged some for us, along with mice, from desks of folks moving to another building.
- Though the team I manage projects for spans more geographies than fit on one hand, I was told not to make international calls for work purposes.
- We were told we couldn’t afford phones at our desks, so we’d need to use our personal cellphones.
- We get furloughed for weeks at a time at the end of the year and are asked to reserve our vacations for that time.
- The client restricts tools we can deploy on our laptops. I was told to get rid of free, company-sanctioned development tools, even those on the company’s list, from my machine, including Python, unless it was immediately necessary for my project.
- We are instructed not to take more than one vacation day at a time.
Over the past year, I’ve seen how the other half lives.
I go to meetups at Boston firms with cool adjective-noun names like “DreamyKitten.” I’ve become a regular at these meetups. And you know what I see there? As opposed to my colleagues with our cheap coffee machines, I see 98 percent white males in their twenties and thirties with in-house espresso machines and great views of the harbor or with locations in the desirable Kendall Square area of Cambridge.
- All the snacks you can eat. Fridges of beer and Starbucks.
- Unlimited PTO.
- Video games in-house.
- Weekly parties and/or catered meals.
- Late arrivals, early departures.
- Casual dress code.
- Excellent health benefits.
- Centralized working locations.
- Encouragement to learn new skillsets and tools.
I’m not going to flat out call it racism, but the Indian folks I work with at DickensInc get crap while the 20-year-old bros at DreamyKitten are treated well. It doesn’t help that my Indian colleagues can’t negotiate due to visa restrictions. I can, but I’ve worked too long in IT to have the edgy skillsets on my resume to switch over.
I’m trying to escape, but it is incredibly difficult.
Let me tell you how dispiriting it is to have a potential employer tell you that you don’t have professional Python experience, even though you weren’t taught it in college, and the only way you can get professional Python experience is if an employer hired you without professional Python experience.
Employers seem to be masking racism and ageism (let’s not forget the systemic sexism in STEM) with demands for particular skillsets that mostly white twenty-something dudes get. I know Americans think of this in terms of H1B visas, where corrupt firms require special skillsets to restrict qualified American workers from obtaining a position they’d rather fill with a visa worker who (bound by the visa) will work ungodly hours and fulfill soul-crushing work requests just to stay, but this also seems to be used against diverse workforces to keep offices filled with 20-something white dudes.
I could list the business and industry scenarios I’ve experienced in my over 20 years of experience, which you can’t learn in college, but it would be exhausting.
It is those things, the aspect of being a seasoned software engineer, which are difficult to acquire, not Python (or name-your-language-here). I might be tech debt, but so many young engineers, as I was for a long time, are real-world-experience low-checking-account-balances through no fault of their own.
You can only obtain experience like mine over decades.
A senior engineer can cure a lack of a scripting language in a month. Add another month to make the code polished (linters, you know what I mean).
You can only obtain experience like mine over decades.
Tech industry: Stop putting the cart in front of the horse. Hire draft horses like me and know that I’m going to be a senior engineer in whatever language I choose in almost no time—approaching it on nights and weekends even on the two weeks’ notice I give DickensInc.
After all, the fact that I’ve learned so much in one year, on the job, and along a separate track after work, should tell you something.
I have what you need. You have what I want.
Let’s work together.