This is a spin-off of my thread about ways to live without working. It’s about my job. I know this isn’t a job-related message board, but I’ve posted this question on several job-related boards and never gotten a straight answer, and if there’s one thing you folks here excel at, it’s telling it like it is.
I decided to go into IT because the dotcom boom was going on at the time, and I knew I had a knack for programming. After I graduated from college, I worked my way through a few books on C++ and Java, and began taking background courses for an MS in computer science. I seemed to be pretty good at it, and I enjoyed learning about data structures, algorithms, etc. I found it satisfying to be given an assignment like “use a linked list to represent a deck of cards, and simulate a game of Go Fish” and to start coding, seeing the program take shape bit by bit, until finally it all came together.
My first job was with a tiny company, basically two founders trying to pretend they had a dotcom startup, only they had no funding and little revenue. I enjoyed it for a time, since my primary responsibility was programming. My boss would simply give me a list of bugs to be fixed, or enhancements to be made, and I’d set about coding and completing them one by one. I don’t mean to brag, but I think this is important information: both the other programmer and my boss were astounded at how quickly I picked things up, and at what a good coder I was. I really enjoyed just being handed a list of coding tasks, and plugging away at them all day–it was almost like getting paid to do CS homework. The downside of the job was that, since they were understaffed, I also had to do support, and help with internal IT stuff like maintaining the website and the office network. Also, they were underfunded, so the pay was low and I had no benefits.
I thought that getting a development job at a “real” company would eliminate those problems, since they’d have a help desk to deal with the internal IT stuff. I also thought, wrongly, that pretty much all IT jobs other than support were strict programming jobs. I assumed job titles were meaningless, instances of word bloat: the only reason all the job titles weren’t “programmer” was because that didn’t sound formal enough, so you saw “Systems Analyst” for the same reason you saw “Sanitation Engineer” instead of “Trashman.” I especially assumed this would be true of jobs that listed knowledge of specific programming languages among their requirements.
I took a job at a large corporation as a Systems Analyst, and boy, have I learned what that title means. I am not a coder; I’m more what I would tend to think of as a junior project manager. Being a non-technology company, my company tends not to want to do much development of large custom software applications, so most of the projects in my department involve what I view almost as “management” and customization of packages we’ve bought from software companies, or working with consulting companies to whom work has been outsourced. Once in a while I get to write a little code, but it’s usually SQL or a shell script for deployment of a product, and the coding work is dwarfed by the amount of administrative/managerial/analysis work. The job is what I think of as “businesslike” rather than what I would call pure technical. Needless to say, this geek who enjoys long hours of coding is not happy–I wanted a job that was almost like white-collar labor, not a job that placed real responsibility on my shoulders.
So are there jobs out there where all you do is code? I’ve gotten the impression, after a year and a half of this job, that coding by hand is looked down upon as worthless: the “real” work is the analysis/project management, so companies don’t bother to maintain a staff of strict programmers; in keeping with the corporate trend of “outsourcing,” they just buy products off the shelf or hire consultants. Therefore, I’ve thought that maybe I should go to a software company or a consulting company, but when I look at job listings from such companies, the qualifications are through the roof. I don’t have an MSCS, I’m not sure I want to get one, and the experience I’m gaining now is not coding experience, so there’s no way I’m going to build up 5-10 years of experience developing custom applications in such-and-such a programming language.
Am I crazy? I thought it would be easy to get a job like my last one, where my sole responsibility would be turning specs into code, where my role would be less “serious, responsible analyst” and more “whiz kid in the back office who can do wonders with code.” Do such jobs exist?