# Any seriously Employed Programmers out there?

This topic is 5062 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I am close to graduation and I am highly considering programming as a job. I have heard the many praises of the field and some of the negative things of it as well. My question is this: what are you faced with? If it's not confidential would you mind sharing problems or situations you were given or came to throughout your career? What are the easy situations like? What are the hard ones? Is programming really problem solving or writing code for something that is seemingly easy or both? Thanks in advance

##### Share on other sites
I am an employed programmer. I only graduated college last year. While in college, I worked at Halliburton, and now that I'm a graduate I work for the U.S. Army. I hear people talking about how there is no money in this field and no jobs. That's a lie. Most of the people I went to school with are now employed and make a salary far above the average man. Where I live, the cost of living is next to nothing. You live in an upper-middle class suburb if you can afford \$700 a month for rent. It's just cheap here. The average CS graduate here makes about 30,000 a year. I make closer to 60,000, though I'm only one of three people I knew in college that makes that much so soon after graduation. The average salary here for average people is about 13,000 a year, so with a CS degree you make over twice as much on average.

Anyways, about the career. I wanted to be a game programmer in college and thought it the hardest field, and I thought that game programmers were the best programmers. While that holds true in some cases its not always true. I do web design with .NET now. I used to make fun of the web people. Little did I know how much there was to it. Imagine that for these simple web pages, you have all these XML files and XML schemas that you have to parse, all these databases you have to read from, all this code to write to make the pages dynamic, and then add to it that a browser is stateless and watch your problems get more compilicated if you want the browser to remember anything (yeah, hard to believe some places won't let you use cookies, but that's just the way it is). It gets complex quick. The really bad part about all that is that if you mess up your design even a little (and I do my own designs for my own projects usually) you usually have to scap a large chunk of your stuff. Anyways, I've worked on an automated testing team writing testing scripts for Halliburton (which was quite fun and interesting), I've worked on a software porting project for the government (which sucked. Never take a job porting software) and now I do web design and tool development. The easiest thing was testing, the hardest is this web design stuff, but the suckiest was porting software. Nothing could suck worse on it's suckiest day if it had an electronic sucking machine than the suck that is porting old software.

##### Share on other sites
I am a professionally employed programmer working for a contractor. I am fresh out of undergrad CS.

I can't be terribly specific but I'll try to address the questions as best as possible.

I like my job because on a day-to-day basis I never know exactly what I'm going to do. My boss trusts me with some quick response hotfixes: these are generally somewhat stressful and sometimes have been blind fixes because my security clearance is pending. However, I have a higher visibility to our clientele as a result. I write new modules, and most of my time is spent maintaining our existing codebase. I also test and document when I am needed there. I didn't forsee the need for maintenance -- it is critical that you become good at debugging and reading through other people's code. I am okay at it, but you learn to get better at it and use all the tools at your disposal. It definitely teaches you to program in the most literate way possible. Generally they start people out maintaining other people's code and then let you graduate to writing your own as needs arise.

I think the hardest situation I came to so far in my career had to be last summer as an intern, I was porting a lot of code from C to C# and it really dragged the spirit out of me. I was very close to just disowning computer science in general because it was so mind numbing to translate:
c = *num++;

into its C#-equivalent. Eventually I worked through it and talked over my troubles with my boss. He was sympathetic but he also had a point in saying not all of work is going to be super-fun. So I developed a bit of a better work ethic and now try to convey my better attitude to him. I suspect that many of my 'hardest problems,' will probably not be technically-oriented but more career-oriented -- however I think that is the price I pay for being a technically-minded person. Granted we don't do wild things at my company, but still.

Also at work they have all sorts of fun tools like code coverage analysis and Boundschecker (for when we drop into C++).

##### Share on other sites
I am currently doing some contract work at a game company. All my jobs since graduating college in '99 have been at video game companies (not _completely_ accurate... but essentially so).

The hardest thing for me has just been finding motivation. I'm now on my 5th seperate employment. 2 of them were at the same company with a year long break between them, and 2 of them lasted only a week or less.

I know now that motivation, for me, comes a lot from the environment at the workplace. This place I'm at now is fairly agreeable to me, and I'm getting things done and not getting that 'man I need to get OUT of this place' feeling. I might even stay after my contract work is done.

##### Share on other sites
It took me a couple of months to find a good job out of college about five years ago, and I worked for a great company. They employed about 150 people, 20 of them engineers, and 5 of them in software.

The company was entirely focued on getting the job done, and quick & dirty was generally the way to go. It was a little frustrating because I wanted to design and build a more solid product than what we had, but there was never any time to do so.

Now I work for a very large defense contractor and I hate it. Half the people are flat out idiots, a quater left are disgruntled, worn-out, or beat-down and/or don't care, and the last quater just started within the last six months. We have a contractually requirement to use Linux, but our IT is contracted out to another company and Linux support isn't included so we're not even allowed to connect our development machines to the network.
I had very, very high expectations coming in, and I've found that I have more experience doing this type of work than all but ten people in this multi-thousand person facility. My input doesn't count for squat, my bosses input doesn't even count for squat.

##### Share on other sites
Quote:
 Original post by Anonymous Poster2 of them were at the same company with a year long break between them, and 2 of them lasted only a week or less.

Ah. Midway?

##### Share on other sites
I graduated with a Bachelor's in Fine Art, but because I had been programming a lot on my own, I landed a job as a junior software engineer doing embedded systems work. I found the job very enjoyable as I learned more and more about programming, but after three years with the company I knew it was time to move on; I'd learnt all I could there. Luckily I got a job at a games company where I did sound programming, tools and tying up loose ends. After two years there I left and joined a different games studio. It's been two years since and I am still learning. The best thing about my job is the opportunity to problem solve with a group of really talented people. The worst part of my job has never changed over the six years I've been a programmer: schedule changes and personality conflicts. When someone I work with drops the ball, it effects everyone. The same with changes in the schedule. There's nothing you can really do about it, you just learn to anticipate them and cope. Programming is problem solving at a very abstract level - you are creating your own problems that need to be solved. The games industry is still a job though, and some times I don't want to come to work, but other days I can't wait to get in to the office.

- S

##### Share on other sites
I want to say thanks for all the great feedback. You guys give me the feeling like I've been in the industry for a month or two :) I have made a few large scale(for me at least) projects of my own and my programming experience lies in c++.

I know C# is coming around the corner, but I keep debating whether I should master c++(along w/windows or directx) then move on OR learn both side by side...The drawback of course is that my attention would be mixed and I wouldn't be specializing in c++ in the way I'd want to

What do you guys think?

##### Share on other sites
I've been programming professionally for 5 years. I started out working on C++ applications. Now I develop web applications using mostly Java.

Most enjoyable: Being able to work on a project from start to finish - from design, to implementation, QA/bug fixes, and production rollout.

Less enjoyable: Joining a project that is already in the QA phase (and was rushed there). Reading through thousands of lines of poorly documented code, written by people who have left the team.

Requirements changes can also be hard to deal with. Many times, I've had to rip out large portions of code that I wrote because the business priorities have changed since the start of the project. Also, when requirements are incomplete and have holes in them, that can lead to the worst kinds of bugs that take the most effort to fix, because it usually involves completely overhauling something. These kinds of problems usually result in a lot of code fixes getting pumped out quickly without much design thought and no time to write any documentation - or even to update the original requirements documents! Since requirements and code are out of sync, the QA team gets confused about what to test and they start reporting bugs that aren't really bugs - while they miss the real bugs, which slip right into production.

##### Share on other sites
I work on my own from home and find it quite lonely.

I've recently read Lakos book on Large Scale C++ Design which was written 8 years ago. Many of the things in there I already knew because they have been adopted widely by other authors and I had learned them through other sources. Pretty much none of what he suggests is done in our company. I am very frustrated. I feel like I am an educator at heart (not necessarily a really good one but I need an outlet). There is no room in the company for introducing ideas. Everyone just gets on with their own things. We don't have any coding practices and have never had a code review. Ever. I've been working here for almost 6 years.

I've never received any training and am totally self taught in programming. I did a degree in mathematics and at most I now use a bit of multiplication and sometimes some division. Actually that's not totally true [smile].

The work I do, though, I enjoy. I get to work with OpenGL and eventually will be heading up the design on 3d displays of GIS data which is cool. I have things to look forward to, etc.

I am well paid (I think), and feel a little trapped because even if I'm not sure about where I'm heading in the long run and don't want to sit in this room on my own for the next 10 years, the money is good.

If someone offered my a game job for half the money I'm on, though, I'd take it.

[Edited by - petewood on July 9, 2004 5:27:03 AM]

• 10
• 18
• 14
• 19
• 15