Okay, so if I can't not work... (techies, please read)

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?

If you’re a U.S. citizen, maybe a government job in the nat’l security area. You can send inquiries to various agencies.

Arcite,

To answer your question. Nope. Unless you get alot of exeperence and a Masters at least. I worked for a huge company and worked my way up to a cruicial position with in that company. I learned all my stuff on the fly. I did coding, wrote training materials, designed and implimented a bunch of other projects. I worked with Windows, Sun Solairis, HP-UX, Free-BSD, NetBSD, VOS and Macs. I did C, C++, Java, DHTML, scripting and some other stuff. I never went to school for this. I learned it when I had too.

I left the company at a bad time. The dot.com bubble burst and I found that my experence meant nothing. The market had a whole bunch of people who had Degrees and certs while I just had actual experence doing the job. I am now going to school for my Degree in CS.

As far as analysing stuff goes, it is a really imoportant part of the job. When you start writing high level code understanding what exactly is happening is really important. If you can do that you will make things way easier.

At the same time, the coders who don’t understand the full situation tend to end up doing the same job and never get anywhere. In fact, in my experence, they tend to get fired.

Slee

Of course they do, but they’re probably not using the technologies you like to play with.

There are many COBOL programmers, who do just that. Take specs and write (amend, fix, debug, bug) COBOL code. I work in IT and while the majority of our IT is now outsourced, the outsourcers need COBOL programmers.

If you like coding (and don’t expect to be paid at the same rate as a AP or PM) then you can find COBOL jobs that all you’re required to do is code.

I can’t tell you where as I’m in Australia, but I know there are jobs where you can just code.

There are definitely software jobs where you do nothing but code; when I was an entry-level software engineer getting started in aerospace, 70% of my duties consisted of taking the boss’s assignments/enhancements/bug reports and fixing 'em.

Problem is, that’s pretty much considered the low rung on the software totem pole. There are people who can do that in and out for 20 years, but after a while it just gets tedious and a bit irritating – people figure you can’t be that bright, since all you’re doing is writing code. The really smart engineers are the ones who can manage a team of coders, and/or design the entire software system from the ground up.

Of course, the ironic thing is, at most of the larger companies, when you do want to climb up the technical ladder, you’ll find it hard to do so because of all the existing systems engineers who are already ahead of you and taking up the slots…

I know someone who solved the same problem you have by becoming a consultant. He makes $50-60K a year doing this. He gets to do coding only and doesn’t have to deal with management of projects. Various companies just tell him what the project is and he delivers it. He has one large company and one union that give him work pretty regularly and then other companies give him jobs to do from time to time.

He was working as a Systems Analyst and hated it. Now he’s happy with his work but gets no benefits and suffers through slow times now and then. You need a financial cushion to tide you over the slow times if you want to go this route.

All I do is code, but as Caught@work pointed out, I’m a COBOL programmer. On the other hand, my husband does almost exclusive coding as a web developer. He works on the corporate Intranet site developing programs for our stores. He uses VBScript and Javascript mostly.

You didn’t mention where you lived, but there are still plenty of jobs for people who want to do what you do. In our Technology Services department, we have essentially two paths you can take, management or technical consultant. TCs are people who are very, very good at what they do, but they have no desire to be a manager.

In fact, the man who hired me was once my manager, but they sort of scooted him sideways into a TC role and put a manager over us, so he’s now my coworker/mentor. He wasn’t a very good manager (hated paperwork and meetings and always wanted to just work), but he’s an excellent programmer (30+ years of experience). TCs actually make better money than most of the managers, but of course, they’re not likely to ever have a chance to be directors or the CIO.

There are jobs that are just coding - I’ve had many of 'em. Look for “software engineer” job titles - that generally means you’re a coder. Also, you say that your current job is not in the Tech Sector. I think that may be why you’re unhappy. Get a job with a software company. My experience has been that programming jobs at companies whose main focus is not coding tend to look at coders as hacks, or, like rjung says, low guys on the totem pole. On the other hand, a coding job in a real software house is considered a very important position, and you’re treated much better. You’re one of the guys doing the ‘real work’ in the company, and there’s definitely a career path that includes successively more and more complex coding projects, and you aren’t forced into management in order to climb the corporate ladder. I worked with many people with 20-30 years experience coding, who still came into work and coded 8 hours a day. The difference between them and a guy just out of school is that they got their pick of the new and neat projects, and the guy out of school got the dregs. But both were coding 8 hours a day.

Another thing - if the only coding job you’ve had is as you describe, be prepared for a BIG learning curve. I have no doubts that you’re bright and did well at your coding job, but coding in a very loose situation like you describe (no written project plans, you work primarily alone, etc.) is VERY different from working in a team of 10 or more coders and all having to make your code work together. It’s a different world, but your coding skills will take off and you’ll really get good in that situation. You have to be much more careful - if you introduce a bug that makes the other coders unable to work, you’re screwed - and the coding is much more formal that what you’ve described. It can be a lot of fun, though. Just be prepared!

If you are a strong C++ programmer, you might find a job in a game development house to be your thing, as long as you don’t mind very long hours and you enjoy playing games. Don’t bother if you don’t like them, though. It’s my experience that the job is too much for people who don’t enjoy what they’re doing.

Or you can try what I do part time, but it doesn’t involve any coding at all. I review games. Much more fun than making them and I get to play lots of games, as opposed to dealing with only one game for two years. But the pay is lousy.

This sounds encouraging, but I have a couple of questions. First, a story: a few weeks ago a rep from a consulting company that does a lot of work for my company came in and gave my team a presentation on Microsoft’s .NET platform. At the beginning of the presentation, when he was giving his spiel about his company, he said that they do work for companies in many different sectors, but what keeps them on the cutting edge of technology is the work they do for software companies. I could hardly believe it. I know outsourcing is all the rage these days, and companies don’t want to get too involved in anything other than producing and selling their final product, but I would have thought that precisely for that reason, software companies would do all their own coding. Is this a new trend? Are even software companies doing just analysis and planning, and outsourcing the hands-on coding work? If so, it doesn’t sound like there’s much hope for someone who wants to be a nitty-gritty coder.

Second: how does one get these ‘engineer’ jobs? When I search job listings, no matter what the job title is–engineer, developer, programmer–the description seems to imply that the full range of lifecycle activities–analysis, design, coding, testing, maintenance–will be required, not merely coding. When I do see a listing for a job that seems to focus on the coding, it requires an advanced degree in CS and at least 5 years of experience. Not only do I not have 5 years of experience in the IT field yet, but the experience I am getting is not pure coding experience, so my resume at this point makes me look most qualified for precisely the kind of job I don’t want, and I’m not getting any closer to reviving and increasing my coding skills. Do software companies hire people without CS degrees for entry-level positions?

Third: I’m in the Philadelphia area, which AFAIK is not exactly a hotbed of software companies. Is it common to have to relocate for jobs in the tech sector?

OK, I’ll try to take your questions one at a time.

I wasn’t at the presentation, but my WAG on the .NET guy would be that many heavy-duty software companies do their own coding, but may want to outsource certain parts of it. For example, they may outsource their Website design if they’re primarily a C/C++ house and they don’t particularly want to train someone to do Web coding. Another commonly outsourced segment is installations. I’ve often thought that if I decided to try to start a consulting company, I would get really good at InstallShield and specialize in writing install scripts. It’s one of those jobs that is horribly boring, but you need to be fairly bright to do it right. Most companies have a hard time finding bright engineers who want to write an installer, so outsourcing is a good solution.

I would HIGHLY doubt that a real software house would outsource the really important parts of their coding work. It makes no sense. At most, they may hire ‘consultants’ to come in and basically act like employees for a while. I can also see start-ups and such attempting to do this kind of stuff - ‘we’ll design it and hire some hacks to code it up’ - but these aren’t the companies you want to work for. Quality software houses realize that software expertise is something they need to train and retain employees in. There’s no replacement for a good engineer who’s worked in a design group for 5 or 10 years. The product knowledge he or she brings to the company is hard to replace.

Yeah, all the job listings will say that. The truth is that a junior coder like yourself will be put to work doing low-level coding, maintenance (ie, fixing bugs), and testing for at least a year or two before being trusted to do analysis and design. And don’t think that analysis and design are such bad things - it’s a lot of fun to analize, design, then code a segment of a large software project. You’ll be sick of doing just coding after a few years of it; the analysis and design phase give you a break from that, but not so long of a break that you will start to miss coding. My advice? Write a cover letter that emphasizes you want to code. Gear your resume towards as much coding as you can without lying. Send it to all the jobs with ‘software engineer’ in the title, and if you get called for an interview, make it known you want to code.

Some companies are sticklers for degrees, and some aren’t. I don’t have a degree at all, and I’ve never had a problem finding a job. I do know that there’s a few companies in my area I don’t even bother to apply at because they throw out resumes without degrees. However, I’ve never been without a job when I wanted one. I do have 10+ years of experience, but I didn’t when I started coding, and still found jobs.

You may want to start looking for QA/Test jobs at software houses. This is a great way to get a foot in the door, and it’s also usually a bit easier to get a job without a degree in test/QA than in R&D. Plenty of test jobs require coding. You’ll be writing things like automated test scripts and tools for the test lab. This is great experience, and I’ve seen lots of QA coders ‘graduate’ into Development jobs if they prove they can do the job.

As far as relocating, I don’t know - I’ve done the bulk of my coding in the Denver area, which is a hotbed for coding jobs. I don’t know about Philly.

One more thing - apply for every job that looks interesting to you, even if you don’t have the exact experience they want. I’m not saying to apply for “Senior Software Engineer” type jobs that are looking for 15 years of experience in some strange technology, but if there’s a something like “Entry level Software Engineer requiring a CS degree or 3 years related experience” and you only have 2 years experience, go ahead and apply. If I’m trying to hire a coder and I see an enthusiastic cover letter from a guy with two years experience who makes it very apparant he wants to code his brains out vs. a guy with 3 years experience and a degree who says he wants to move into management asap, I’m gonna interview the first guy. Plus, it doesn’t hurt to apply. Worst that’s gonna happen is you don’t get a call.

Another piece of advice -

The struggle to keep your hands in the code, and not get “sidetracked” into management crapola, is a struggle that will continue and intensify as you gain coding experience.

My experience is that the better you are at the technical aspect of your job, the more upper management wants you to do something else. If you write slick and elegant code, they want to put you into project management. If you are an analysis whiz, they assign you all the HR duties. If you are expert at selecting platforms, they want to take you along on sales calls.

It sounds to me like you want a “Ralph” job. “Ralph” is the old guy off in the other office, who never gets promoted, and never wants to be. He just wants to play with the expensive equipment. There is a “Ralph” at many established companies. I have known several. I am working at that role myself.

Two of the most intelligent people I have ever worked with were “Ralph” guys. One was supposed to be a manager, but he never performed a single one of his alleged management functions. He just sat off in his office and generated code. Once a new whiz-kid executive tried to call him on it. This “Ralph” simply disregarded everything the exec said to him. There was nothing the exec could do about it - this “Ralph” knew the network and the systems so intimately that he was indispensible, and he knew it.

The other guy was nearly autistic. He never spoke in the only meeting I ever attended with him. He asked no questions, made no eye contact - just sat there while what the project was supposed to accomplish was explained to us. Then, without a word, he disappeared into his cube for two weeks, came out, and dropped the most elegant code I have ever seen on his manager’s desk. That sucker hummed. We would up selling it to another company for Y2K work. I asked my manager about that “Ralph” - was he married, what did he do most of the time? My manager told me, “Nobody knows.”

The only piece of advice I can give in becoming a “Ralph” is to stick with one company for as long as you can. If you switch jobs frequently to avoid management tasks, you will be returning to entry level frequently. This can cost you.

Good luck. It can be a lot of fun to be the alpha geek. If you enjoy it, and you can find the right opportunity, go for it.

Regards,
Shodan

Hey, I wish I could get more into the management side of my job. Instead I keep getting stuck doing coding crap. I freakin hate it! I started coding as a consultant 4 years ago and now I’m stuck. Every time I have to look at an ASP page, I feel like my head is going to explode.

I go through all the trouble of getting an MBA and getting a job with a management consulting company (you know…PowerPoint presentations, “paradigm shifts”, and ERP). So what do they do when they see I used to program? The have me program freakin Intranet pages and ask me if I want to transfer to the technology group!! I wish there was a way to UNlearn programming.

Definitely apply to “software engineer” jobs if they look good to you. Don’t worry if they require a degree or not. I never mentioned education on any of my resumes, (I got as far as a high school diploma, woo woo!) and I still managed to be employed. Some of my employers even thought I had a masters degree, based on my level of competence. Silly them. Obviously, you shouldn’t lie to an employer. Just don’t bring it up, as it may never come up.

Definitely try to work for a software company. Software companies are cool. Although, they often suck mud during economic downturns.

Also, if you really love coding, try your hand at various open source projects. If you make a contribution and it’s accepted, it’s an accomplishment you can point to when asked what you’ve done. There are people at my company who were hired solely on the basis of their contributions to open source code.

Good luck.

I thought a great deal about this before getting into this field. I could just imagine some employer wanting to move me up the corporate ladder, pushing me from a coding job I was doing extremely well at BECAUSE I enjoyed it, into a supposedly more “important” position doing project management, which I would not enjoy. What convinced me to get into IT, though, was what I thought of as the trump card of extremely high demand; the media were really hyping up the so-called desperate software labor shortage, and I thought any company, no matter what size or what sector they were in, would treat me like a king, because I could always threaten to quit if they ticked me off. So I imagined that eventually I’d be offered a promotion to project manager, but I’d just turn it down, and their reaction would be “hey, no problem, you’re doing great at coding, so just keep up the good work!”

Now, I fear “letting on” that I don’t want to be a project manager, as if it were some sordid secret. One bit of advice I’ve received, but not acted on, is going to my manager and informing him of my discontent with my current duties. I can’t imagine doing that, because, thanks to the attitude already mentioned here that coding isn’t the “real” work, saying “I just want to code, not be a project manager” is tantamount to saying “I don’t want to work here.”

You really have me pegged, because this is EXACTLY what I imagined I’d be when I decided to go into IT. Your description of the second guy is what I aspired to be. I used to daydream about my future coworkers talking about me behind my back:

EMP 1: Hey, who’s that weird guy we always see around here, who never talks to anyone and looks down or away when you pass him in the hall?

EMP 2: Oh, I heard he’s one of those [voice sinks to hushed tones as speaker is overwhelmed by sense of awe] programmers. Nobody knows anything about him, he only ever talks to his direct supervisor, but MAN can he code!

Part of this fantasy was my desire to lead two separate lives, a kind of geeky version of Batman/Bruce Wayne: I’d get up in the morning, go into the office and churn out code for 8 hours, then come home and begin my second life which would have nothing to do with computers. Now, as an analyst, I feel more like being an IT guy is somehow supposed to be a permanent part of my character even when I’m not at work, which I guess is how all serious careers are.

As it is, I don’t talk to my coworkers much, and I know some of them think I’m weird because of it. At our most recent annual full staff department meeting, during one break, I was sitting by myself when a coworker came up to me and said “I’ll tell ya, [Arcite], if you want to move up, you’ve got to mingle. Look at Mike [a mingler/ladder-climber] over there–he knows what he’s doing.” I made some “yeah, well…” comment and grinned, but inside I was fuming and thinking “I don’t want to have to talk to anyone! What does talking to people have to do with improving the elegance and efficiency of my code?” But of course, I don’t really get to write code in my job anyway, elegant or not.

I DESPERATELY want to be in that second Ralph’s shoes.

I wish we could trade places.

(Presentations and business jargon about “paradigm shifts” and ERP are of the Devil. :stuck_out_tongue: )

True story – I once worked a year doing Java development for an auto insurance industry, and the management had no clue whatsoever about the programmers. My immediate manager was a former COBOL programmer who thought Java was just COBOL with a new name :rolleyes: (for non-geeks, that’s like saying an 18-wheeler semi is just a bigger version of a Volkswagen beetle).

I’ll never forget the one time where we were discussing how the coding was three weeks behind schedule, and she piped up, “Can we borrow a few of the typists from the data-entry department until we catch up?” :eek: :mad:

And I’m torn on the whole stay-coding-or-move-to-management bit, myself – I’ve been trying to move up for a while, but without success; yet lately I wonder if that’s really such a good move. I think staying as a software developer/engineer is better in the long term, especially if I keep my technical skills fresh. Pulling ten-hour days attending meetings doesn’t stir the soul…

Oh, and Arcite, one sure-fire way to become a lifelong “Ralph” is to get onto a military system and stay there. I’ve heard stories about guys who worked 40+ years on the same weapons system, where they don’t have to do anything most of the time, but are kept around because they’re the only person available who even knows how the system works at all. They work maybe two weeks out of the year, and nobody dares to give them grief for it… :wink:

rjung has a serious point: Go civil service, get yourself a nice GS-5/7/9 position, and dig into the woodwork. Without the degree, you’ll not advance too fast, but if you learn how to game the system, you’ll be left alone to code to your hearts content. You will have to learn how to game the system, though. Civil Service beauracracy is devilishly involved, and if put a foot wrong, you’re done.

One warning: Civil Service don’t pay squat 'til you reach the GS-11 rank.