I've graduated from college last May with a CS degree and have been working for a state-government agency ever since. This place, however, isn't like how I imagined the "real world" would be:

  1. I've been put into a small conference room (my bedroom is bigger) with 3 other programmers. The four of us just sit together, all day long, on the four corners of the table. There is no privacy. There's nowhere to go where I can just be alone and work in peace. I'm not really used to concentrating with constant distractions - people talking, watching me work (I especially can't stand people watching me work), etc... Maybe I could ask for my own cubicle, but its even more noisy outside this conference room.

  2. Most of my time is spent waiting for a project. I've literally been sitting at my workstation for almost 3 weeks now, just browsing the internet. The last "project" I had was to fix a bug on some badly written website, which took a grand-total of 1/2 a day.

  3. When I do get projects, they're just tedious busywork. Fixing bugs on websites mostly, or sometimes write a script to clean up data so that their mainframe apps will accept it. Sometimes they assign me to write documentation. The work has never been interesting.

  4. This place is a bureaucratic mess. I once was assigned to fix a home-grown timesheet application used by some of our employees. My manager said I wasn't allowed to work more than 10 hours on it. It's okay for me to sit here with absolutely NOTHING to do for an entire month, but god forbid I work a minute more than 10 hours on it! Why? Because our accounting department doesn't want to bill themselves for more than that. W.T.F.?

  5. Most projects are developed and TESTED by one developer. One time, I was told to add some minor feature to a website. It was a website that allows certain users to login to update the content. However, whoever developed this must not have understood the difference between "client" side and "server" side. If a user was not logged in, the controls to modify the content were hidden via CSS! They were still completely functional! A website that could be hacked by disabling style-sheets! This website was in production for at least a couple of months before I removed this vulnerability feature.

  6. My workstation is a laptop. I'm the only employee with a laptop. Most other people here have desktops with dual monitors.

  7. I am literally sitting side-by-side with Dilbert. This guy looks just like him!

I'm tempted to search for another job, but there are a few things keeping me here. It pays really well, it's easy, I will probably never be overloaded with work, and there's no problem in taking time off given short notice (in fact, my boss probably wouldn't notice it if I took a day off without giving notice).

Do good programming jobs exist for a recent college grad? Can I really expect something better if I search for a new job, or is the risk too great that I'd wind up in an even worse position without having at least a couple years experience under my belt (especially given today's economy)? Maybe I read too much, but it seems that environments like this are all too common.

+53  A: 

Could you please get back to work? I've been picking up the slack for your internet browsing for the last two weeks, 3 days, and 6 hours, and it stops here!

I do not look like Dilbert. Or the pointy-haired boss.

+! Creativity. :)
Yes, I did actually laugh out loud.
Christopher Edwards
Pfft... At least he mentioned you. I've been sitting across from him since last May, basically carrying his entire workload, and he doesn't even thank me in his post?!
Andy May
+2  A: 

Some places are like that yes. My advice would be to stay a little while and get some expierence and then move on (you don't want to look like a job hopper). There are a lot of things that are going to shock you just being out of collage. Really one of them is going to be that things move at a much slower pace than you want them to. It does sound like you are being treated poorly. Don't take it personally, and remember that you have a long time ahead to work :).


It doesn't look very exciting. Maybe you should just look for another working position. I've been working as a web developer for a little time in a company while studying, and it was more exciting. I don't know where you're from, but I'm from Italy and here the situation is quite desperate, though it's still easy to find an at-least-decent position.


Well, it sounds like the place you are at is the kind of environment where you can just sit back and do, well, nothing. Or whatever you feel like. But it will be unsatisfying, and unrewarding, and when you try to do something for real, it sounds as though it will probably not be appreciated.

So, my advice would be to start looking for somewhere else. You may get less pay, but it will almost certainly be more rewarding. Oh, and when you go for interview, look around. See what the company is really like. Meet some real engineers - have lunch with them or a drink, if you can, and ask them what it's really like to work there. Look into their eyes when you ask them. You'll know if there's something wrong.


This sounds a lot like my government co-op job.

There are definitely better working environments out there. But it depends a lot on where you live. If I lived back in my hometown, this sort of thing is probably the best I can expect. You may need to relocate to find a company that understands software.

You should definitely keep looking for work if you're not happy there. Government jobs destroy developers. Get out while you can.

Darcy Casselman
+6  A: 

Yes, that's the way some environments are. (There's a reason Dilbert got to be so popular.) IT in a government environment is probably the worst of those places.

Suffer out a year if you can --- it doesn't look great to leave your first job in less than a year --- and then get the F&^* out.

Charlie Martin
Honestly, and as a reader of CVs, I don't think it makes any difference if you change your job now if that's what you want to do.
Christopher Edwards
Whether to suffer really depends on the resume, and whether the person has enough experience to convince another employer to hire him.
Chris, it varies geographically I think, and also with the market. In India, guys changed jobs every six months and got 30 percent increases for doing it. All I can tell you is what I've seen over 40 years in the biz.
Charlie Martin
Not sure I'd wait a year for a situation this unhappy. Look while you're working. Life is too short to be that unhappy for 12 months.
Jeff Atwood
I left my first grad job after 7 months - for much the same reasons you are stating, it's reasonable to land yourself in a crummy job, and the interviewer should know that - just explain in the interview if questioned - "I want to work in a place that pushes me, that utilises my skills and allows me to make a contribution". Words to that effect.
+2  A: 

That sounds terrible for a first job. Even in our supposedly bad economy we need developers that care as much as your post suggests you do. I would suggest you use the time that you can take off at the last minute to attend interviews for other positions, work on your CV etc. and get a job that is worth turning up every day!


I've always worked for small companies, 3.5, of them, even before i got my degree (oh wait i still don't have one) and they have been cool places with amenities.

I like my current big corp position, but it's pretty unique, most of the corp places that i interviewed at were closer to what you explained. Right now, even with the bad economy, i think you could get a better work environment but perhaps with less pay.

My advice, keep your job and use the free time to build that great next idea of yours, save the extra money to support yourself when you get fired for working on your own projects at work.


Make contacts with your vendors and contractors, who will see first hand who you are, and what you're dealing with. Be positive, but aggressive.

le dorfier
+10  A: 

Sounds awful, but I do worry that you call fixing bugs "busywork". Fixing bugs is a critical part of what programmers do.


hmm...stress-free environment, lots of paid time off, easy job...where do I sign up?!?

ok..just kidding. There truly are interesting and challenging jobs (at least more than yours) out there. But I would stick around a bit longer and "earn" the experience credits on your resume.

Here are some suggestions in the meanwhile:

  • get a side gig on your free time (off work) that will enhance your skills...and get you some extra cash.

  • find a pet project at work that may improve apps or processes currently in place which you've identified as flawed or just simply a PITA.

  • Be proactive and try to address and solve those pesky little bugs at work, without letting the acct folks know :) Maybe you'll earn the respect of your boss or some of the folks that end up having to work around bugs or "features" on those systems. You might even get an actual office!

  • write a book....ok maybe not (been there done that).

  • look for a consulting position: you get to see different work environments, learn new technology, and even do some travelling.

After you've paid your mean have stuck around the company for about 1yr, perhaps you can start updating your resume and do some job searching.



Thiago Silva

I wish I had your job. There are so many personal projects that I want to work on. It would be awesome if I could get paid to work on them.

Unfortunately, when you work on "personal" projects while being paid, using company equipment, your projects (at least everything you did at work) becomes the legal property of your employer!
That's a misconception. It depends on nature of your contract and the laws of your locality.
And they can't own it if they don't know it exists
Working on your personal projects without approval of your superiors I consider stealing. Just because you don't get caught doesn't mean it's not the wrong thing to do.

Some places are just like that.

Fortunately, not everywhere. You'll want to move on as soon as you can, but being fresh out of college it's not advisable to jump ship too soon. Stick it out for a year or so first, and then you should be able to find something much better on your own terms.

In the meantime, try to carve out a niche for yourself. Somewhere in that office there must be a significant IT system that needs a caretaker. Otherwise they wouldn't be hiring programmers. Take the time to learn what some of your non-programmer co-workers are doing, figure out some ways to improve the process, and just do it. At the very least you'll have built some valuable experience. At the best, you've made yourself valuable to the office and perhaps earned a nice pay raise at the end of the year and some better working conditions.

Joel Coehoorn
+5  A: 

Have you tried taking some initiative or ownership of a project? Maybe you're not getting any interesting work, or anything more than tedious tasks because your boss doesn't know you are interested or looking for more.

I would ask to meet with him or her, tell them you feel you are capable of more than you've been given and would like to take on a more challenging project. They might be surprised - they might not have had any idea that you were interested.

If that goes no where, you might start looking around for holes... what happens in your work place that could be improved by a little program? Maybe just invent a project like that, work on it or a prototype and then show that to your boss. It might not be something that they were interested in, but again, it shows motivation and can be used as a resume builder even if you weren't directly tasked to do it.

Stick it out for a minimum of a year. Learn as much as you can about anything you can - not just programming - but the overall business/situation that you're in. Meet people. Learn. Learn, learn, learn. In a couple years, you'll likely be so busy you'll miss all this free time you had.



+2  A: 

I am in a very similiar situation and I am really liking it.

  • conference room - check!
  • waiting for projects - check!
  • bureaucratic mess - check! (well at least we don't have internal billing)
  • workstation is a laptop - check!
  • one developer - check!

The big difference is they now know how much of a mess they have on their hands and are trusting me to use my best judgment to fix it. Getting myself into this position was not easy at first. There was a lot of initial resistance to using new tools over crappy half-baked old ones but after they started seeing how much better things could be it started getting a lot easier.


Instead of pointing out what's wrong your workplace and the frustrations you face, why not itemize those points and start finding solutions to them.

However your working for the government so chain of command is important.

The best way is to outshine your "roomies". If I were you I would literally stand up and lead your immediate group.

Kwan Cheng
That doesn't work when you for the government in America. Working for the government in the U.S. ... Well, essentially you are just there and getting paid so whatever bureaucracy you work for can continue to be funded.
+28  A: 

It seems like you are asking the wrong questions here. You are asking if your work environment and projects are typical for entry-level programmers, but you are not asking about what you can do to improve your situation. Quitting your job is not a way to solve a problem, it's a way to sidestep one and hope it won't happen again at your next place of employment.

Have you voiced concerns about your inadequate development environment and lack of office space? Have you told your manager that you are being underutilized and would appreciate a heavier workload, because you are capable of contributing much more to the company (government agency)? I think this is where you should start your journey, with quitting being an option you should use only if you have exhausted all other options. It sounds like you have let these feelings of frustration and boredom accumulate for quite some time, and while asking for opinions on Stack Overflow might be a good way to release your frustrations (and provide us with some amusing stories), it will do little to help you.

With that said, it is clear you need to do something soon. I can tell you based on my own experiences and those of coworkers, that allowing yourself to be underutilized will decrease your motivation to improve your skills, put you in a rut, and send your career into a nosedive. Another important thing to remember if that the next time a round of layoffs comes around (yes, the economy is in the toilet right now), you will find yourself on the chopping block.

To put it simply: Your happiness is in your own hands and no one else's. Go out of your way to make yourself valuable to your company, whether it's a state agency or your local McDonald's. Be the best burger flipper you can be, and take on added responsibilities, like counting the safe each night. The rest will follow.

William Brendel

I have been there and done that a few times. I used to enjoy it when I was young and my skills were fresh as a daisy. Lack of excersize will make you weak, though. Having a softy job which doesn't force you to grow will make you worth much less on the market the next time you need to change jobs. I've learned to stay away from those "fireman" jobs.

There are some firms that are well enough financially to hire 1st class experts and just put them on a shelf incase of emergency. This happened to me at 21st Century Insurance back in 2000. I did an 18 month stay in candyland and found myself pretty stale at the moment that .NET broke out. I should have been ahead of the power-curve, but there was no preasure in that organization to keep your skills sharp.

If this continues for too long, I would recommend a job change.

David Leon
+3  A: 

There are several things that concern me about what you wrote. First, yes it is normal to work in speces with alot of other people and distractions. Very few developers get to have a private office with a door. You need to learn to work without getting distracted.

Second you seem to think as an entry level person, that you should be given more interesting work than fixing bugs. Why on earth would a manager do that? You are the junior person, you will get the least interesting work. Your attitude when doing that work will go along way toward getting more interesting work.

Personally it has been my observation that when a person is allowed to sit around doing nothing, then he or she has completely unimpressed the boss and he is waiting for an excuse to get rid of you as you aren't of value to his organization. Either that or the boss is busy and doesn't realize how unbusy you are. When I was junior and had some free time (after all there are only so many tasks one can give to a trainee) I would find tasks that needed to be done and volunteer to do them. You say the system is a mess, then develop on your free time some possible solutions and pitch them to management. If you have the time, you might even do a couple of prototypes to show them how much better your solution would work. Even if they never use them, you will be learning about design and code and how to sell your ideas which is far more valuable as experience than surfing the Internet. What ever you do, find something productive to do and stop surfing for fun.

Easier said than done in some respects - you have to consider State run departments and the infectious malaise they instill into their workforce - it can be hard to shake yourself and others out of it.
I spent 15 years working for the government. You control your own attitude. Even in government agencies, managers prefer workers who have good attitudes to those that don't. And don't kid yourself, private industry keeps a lot of the deadwood as well and can be just as soul sucking hard to work for.


How long you been there for? first few months at most jobs can be quite boring. The new guy where i worked was given only Reporting serivces to do, for 2 months, but now he is on .Net projects.

does everyone do the same (surf the internet)? or is it just you? if the latter applies, then in a review mention that you want to know what to do to be promoted or discuess a career opportunity.

whilst you are stuck doing nothing, surf the internet for good stuff. create small apps or try and join a open sourse project. Then its not a total waste of time, and you will not get rusty.




Fixing bugs, cleaning data and writing documentation are normal jobs for a developer. You can learn a lot from it. You also have to learn to focus even when there is noise around you. If you want privacy you should not work in an office.

If you don't have anything to do you can do code reviews of your peer's code, study some books or prepare for some kind of exam.

+1  A: 

That's state government agency -- what did you expect? Developing next version of shiny operating system being used by a billion of people? Or a sophisticated search engine that everyone uses hundred times every day? C'mon, there's no surprises that it looks like that.

And you know what? You actually got into the perfect place to grow your own thing. Your day job takes just couple of hours a day, it's paid, nobody cares what you're doing. Stop browsing the internets, find your idea and develop your own project! Don't waste your time.


shrug, i work at a really big company, they have areas of people like that for whatever justifiable reason (you know, strategic things). but, i kick ass, put myself in a great place, and get recognition for it.

Dustin Getz

back in middle school, my mom was a music teacher and had this kid-friendly musician doa thing for her kids. that motivated my print "hello world" program. at least, thats how i remember it :)

Dustin Getz
+1  A: 
I hear you. I know how frustrating it can be to be underutilized, and I know how difficult it is to show initiative in an environment like that--it sounds terrible. I hope my original answer didn't discourage you; I really only meant it as another way to look at your situation. Best of luck to you!
William Brendel

After almost 2 decades of government work that's pretty much it. Just be thankful that you didn't have to supply your own hardware/software. Timesharing a cube is getting to be the standard too.

Black Cat

Some places just suck. I worked for a media production company that was about what you described except I had to deal with used heroin needles in the bathroom. No, they weren't mine and no, I am not kidding.

I would strongly advise sticking it out right now for at least six months, if not a year. It looks so much better to employers. I left the "heroin situation" after three months but I had a good execuse when every interviewer asked me why I wanted to leave so quick: they couldn't make payroll reliably and I wasn't gettting paid.

Most of what developers do is pretty boring. Bug fixing isn't fun. Documentation isn't fun. Working with the mainframe isn't fun. Dealing with SOX isn't fun. But they're a part of what we do as "business solution providers" and they're all necessary.

For every single Google, Apple, or Microsoft that provide a luxurious working envrionment, there are a thousand places that aren't that hot.

All you can do is learn as much as you can both during work hours and personal hours and move on to somewhere else. I think you'll do fine though. However I will add that years of real experience vastly outweigh any education one has. I've worked with a few MS and PHDs that thought they were the shit but couldn't code their way out of paper boxes. Let alone handle deadlines and manage others.

Get back to work I am tired of pulling your weight mr t.... hehehehehe

I think you're in a pretty good situation. You're getting paid well and it sounds like there's enough government-style inertia to keep your position from being eliminated any time soon.

You're just out of college, so take the time to get your groundings in the "real world" and start making some plans. Obviously, you don't want to be at that job for the next five years, but there's no reason to rush from it to another job that might also be awful (but might also be stressful, life-consuming, or short-lived). When you know what you want to do and where, then you can leave (plus you'll have a resume with a full-time job listing of at least a year, which is reassuring to prospective employers).