It was quite a while back, but I saved this tweet, because I thought I could write up a fairly epic blog post, related to the topic, so here goes.
If you like to code, don’t go into management.— Brianna Wu (@Spacekatgal) January 25, 2014
If you end up working as a developer, for any sort of large corporation, it is practically inevitable that you will be pressured to go into management. This is doubly true for women. What? you say… Yup, there is just as serious a gender gap in upper management, to go along with the gender gap in developer roles. The powers that be want to get as big a pool of middle managers as possible to choose from, so they can start filling that gap.
Don’t do it. Really, if you like to code, you will probably hate management. And even if you are not certain, I would still say, don’t do it. Mostly because I’m selfish, and I would rather continue to address the gender gap in developer roles. One of the big reasons for that gender gap is the number of women who exit the field, before they can ever advance to “role model” or “mentor”. Without more senior women developers as role models and mentors, the pressure to not hire young women developers, to allow “brogrammer” culture to flourish, or let those young women developers transition to “more appropriate” roles will continue.
I remember being a junior developer at Shell Canada. We were called “programmer analysts”. Then you got a promotion to “analyst programmer” (I know, I know). After that came “systems analyst”, “senior systems analyst”, “staff systems analyst” and finally “senior staff systems analyst”. This was known as the “technical” track. There was tremendous pressure, once you got even to “analyst programmer” to start considering “managerial” type roles. If not straight up management, then project management, etc. I resisted, because I wanted to be a developer. I love to create new things. I love to learn new technologies. I enjoy solving problems. I love to code. Really did not want to be a manager. Finally, my manager accepted that I wouldn’t ever be a manager. So, I was set up for the “technical specialist” track. First new position in this track that was offered to me was… “You know this same technology that you’ve been working with for 4 years? Ya, so now we want to you move to a larger group, with more responsibility, more pressure, more users, and work with this same technology for the next 4 years”. I declined. I wanted something new, something different to learn. My manager was 100% baffled, and could not understand why I refused to take the new position. I was 100% baffled as to why she couldn’t see that it had zero appeal to me.
I continued to work at Shell for another couple of years. I even got to work on cool things, like a team researching which object oriented programming language we should be considering (C++ was in it’s infancy, but we chose it. Good choice. Obj-C, Eiffel, Smalltalk, etc, wouldn’t have been good corporate choices in the early 90’s). In retrospect though, I know that my refusal to take that position was the beginning of the end of my career as a “corporate” developer. I couldn’t convince myself to do what was “good for the company”, when all I could see was that it would suck all the enjoyment of work out of me.
In the end, I volunteered to be laid off, during one of a series of down-sizing exercises. Many of my friends had been laid off in previous rounds, or quit in between. I ended up, based on a recommendation from a friend, at a little software company called WNDX. And here I am, over 20 years later, still programming. I mostly still love my work. Definitely there have been changes and periods of frustration. Every 7-10 years the landscape changes, and if you want to keep coding, you need to change with it. But then I always loved learning new things, so that’s all to the good.
A few years ago I had lunch with a group of people that I used to work with and play darts with at Shell. Not one of those people could still be considered a developer. The ones who were still at Shell (some were already retired) were quite literally counting the days until their retirement, while lamenting the stupid little couple million dollar projects they were working on. I still think that I escaped just in time. Don’t care how sweet that retirement plan was/is. Nothing can make up for working a job you hate for 20 years.
So, resist that temptation. If you love to code, then find ways to keep coding. Work towards being one of those mentors or role models that our industry needs so badly.