What should I do here?
June 6, 2011 5:45 PM   Subscribe

Programmers, did you ever start a job and have the feeling you couldn't complete the work? Is this normal?

I've started a job, and while I like all other aspects of it, I don't know how I can complete the work. Their deadlines are incredibly tight, I've been at the office until 8PM every night, along with everyone else who works there. I find myself working weekends, and I can't turn myself "off."

Despite this, there's still large, difficult components that I haven't begun to address. I'm used to researching things, chewing through it, getting a nice conceptual model in my mind. Here is run and gun. I have to design, implement and test my parts from scratch. This was handed off to me on day one, there was absolutely no uptake.

I expressed my concerns with the business owner, who sort of gave me a, "You can do it!" talk. I expressed my concerns with the technical lead, who told me that other people on the team can push out what I'm suppose to do in a similar frame of time (despite being in the same language and framework, the projects are not what I've worked on previously, obviously they knew this going in).

Did I just describe a "get out of there" environment, or am I freaking out over nothing? Again, I have the pressure of a new job along with meeting some critical deadlines very soon, so I might just be freaking out.
posted by anonymous to Work & Money (21 answers total) 10 users marked this as a favorite
Been there . Got out of that.

Those are very bad signs that you are describing - especially when you point out that everyone stays until 8pm and on weekends. Presumably you are not being paid hourly. Of course not.

Give it a a few weeks but I would start planning for your plan B today. Ask around as casually as you possibly can. Find out how long the current employees in your group have been with the company. My guess is that there is major churn there - if that's the case prioritize getting that plan B to the highest level.
posted by Poet_Lariat at 6:01 PM on June 6, 2011 [3 favorites]

From my experience, in environments like that...projects never, ever launch or finish on time. It sucks because you bust your ass and give yourself an ulcer to try to get the job done then inevitably the thing gets delayed. It really sucks because you are new and typically you want to prove yourself worthy. It's probably an impossible, unattainable goal.

You can do the only thing anyone can do in this situation - your best and save yourself the aggravation & stress. Besides, I've never come across quality software written under those conditions. Never happens. "Hotfix" is a term I've come to loathe.
posted by SoulOnIce at 6:04 PM on June 6, 2011 [1 favorite]

Anonymous, I've been there, and I sympathize. Your story is depressingly common.

I expressed my concerns with the technical lead, who told me that other people on the team can push out what I'm suppose to do in a similar frame of time...did I just describe a "get out of there" environment?

Your colleagues are succeeding by working nights and weekends. Your technical leadership is okay with this, and your business leadership is never ever going to tell you to work fewer hours. In my experience, this kind of situation will not adapt to you; you will have to adapt to it, or you will have to find a different situation.
posted by Sauce Trough at 6:08 PM on June 6, 2011 [4 favorites]

I guess it depends on where you are with your career? I mean... I think we've all kinda been there as programmers. If you're at the beginning of your career and making enough money to make those kinds of hours worthwhile, then it can be kind of a great experience just totally busting ass for awhile, even if the project fails. (I guess that's always true if they're offering enough $$$.)
posted by ph00dz at 6:11 PM on June 6, 2011

Being a programmer is a pretty stressful job- there are alot of 60 to 80 hour weeks and overtime without getting paid extra. It's the nature of the beast. Sales reps oversell and project managers push to get things completed in sometimes ridiculous amounts of time.

When you got the job, did you ask what the hours were going to be like? Did you ask if there was a good work/life balance?

If you don't like this lifestyle, and the hours, my recommendation would be to start looking for another job. Make sure you ask the managers about the work/life balance piece. Also find out from the other developers what the hours are really like.
posted by TheBones at 6:30 PM on June 6, 2011 [1 favorite]

Mod note: From the OP:
Re: Length of time everyone else was there. There's actually quite a few people who have been here for greater than 4 years. This is what attracted me to the company, I figured it meant there was very little churn. And really there's some rather big name open source people here, who seem to program 24/7. This is also why I figure it would be a great place. And truth be told, I'm working with very smart people of the likes I never have before

What is most worrying is that I'm flying solo here, despite asking for a team. I figure the company has it in their best interest to get the project done, and I've tried to make the stakeholders completely clear on my progress.

My general thought is to put in the hours, and just see what happens. What's the worst case scenario here? They really need programmers, like badly, if they see I'm competent but simply not up the speed, will they find another place for to be or just give me the boot? Is there anything I should look out for as signs that the end is near?

I just was not expecting to step into a job, be handed a project and be told that it was already two weeks behind schedule, literally. This is alongside getting used to their internal systems I need to use that are quirky.

So, I guess what I'm asking, and you obviously don't know where I work, their expectations can't be high can it? Is it the sort of thing where you're always behind, get used to it, or you're always behind and we'll fire you if you don't act like it? I really don't see how you put a new person on such a project and expect them not to freak out.
posted by jessamyn (staff) at 6:32 PM on June 6, 2011

So, I work in salaried software development, and our crazy work schedules come and go. We generally work really hard on coding some features, then spend time bug fixing, then go back to working really hard coding some features, and repeat a few more times before releasing another version of the product. And while we're in the middle of coding those features, you bet it's just as intense as you're describing. All of us work crazy hours - even people with wives/husbands and kids - they work a 8-6, go home, eat and put their kids to bed, and then log back in and work remotely until 1am. However, what really keeps us happy are those times when we're not working our asses off. We relax and have game nights and might not even work a full 40 hours in a week because we know we'll burn out if we do. I don't know if the nice ebbs and flows like we have at my company are normal, but I do know that what you describe is normal for months at a time. So there's some anecdata for ya. Good luck!
posted by kthxbi at 6:45 PM on June 6, 2011

You need to be able to communicate that the timelines are unreasonable. Project Managers a notorious for caving into stakeholders then pushing the developers. I refuse to get into this, and take my time in working out when a piece of work can be delivered and I stick to it. make the PM wear the stress, that's what they are for.

A workplace that bangs out projects in this manner is usually really reactive. the code is probably filled with the most god-awful hacks. I wouldn't put up with it. Life's too short.
posted by the noob at 6:48 PM on June 6, 2011

My two and a half decades shipping software has convinced me that aside from bursts of a week or two, anybody who thinks that they're getting more than 6 hours a day of solid programming over the long-term is self-delusional. If you're getting the "you can do it" talk rather than the "let's talk about what you can realistically accomplish and think about the implications on the schedule", then this project is going to be a death march.

Are you having fun? Does the job fit your career goals? If this ships (with a management attitude like that it's not necessarily a "when"), are you going to proudly brag about your involvement in it?

'Cause it sounds to me like you're working for a driven entrepreneur without much experience managing development teams, in a young company. That energy can be tremendously exciting. I've worked on three shipped pieces of software like that, over close to ten years. Then I had a manager who dropped the pressure, started communicating rather than cheerleading, and I discovered how cool it is to make amazing progress.

The pressure cooker can be a fantastic place when you're young and driven, but looking back on it now I sure wish I'd learned those lessons a little faster.
posted by straw at 6:51 PM on June 6, 2011 [10 favorites]

Did you have issues finding a job in the first place? If you didn't, don't worry about getting fired or quitting. Right now, unlike many other industries, you're in the drivers' seat.

Feeling overwhelmed is pretty common, too. There's nothing else to do but to buckle in, be honest about what you're doing (aka don't over-promise), work hard, and stay focused. Expect to feel really burned out every two months or so.
Their expectations can't be high, can [they]?
They likely expect that you will eventually be working at a much higher level than you currently are, and that you'll have a fast ramp time, based on what you say here:
I'm working with very smart people of the likes I never have before.
This is one of the standard tech cultures: a "culture of performance" where everything (fun, hours, often outside relationships, etc.) is sacrificed to the collective goal. That's enormously rewarding for some, while being frightening and draining for others.

I assume that this isn't one of the big-name companies, but rather a 20-100 person shop. If you're feeling like you don't want to give so much of your life away in order to just stay afloat, you should likely leave amicably, then focus in on culture aspects in your next set of interviews.

the noob's reply is also true, usually. To find out, ask the support people what sort of issues they encounter and whether they're happy with the quality of the product. See if you can get long-term trends. If the answer was "we find the same sort of thing over and over" -- while there's a culture of performance, there's no culture of quality. Whoops, don't go there, get out, etc.
posted by Exonym at 6:54 PM on June 6, 2011 [1 favorite]

I agree with straw. I would also include:

1. Work on managing expectations at this point. Create a (virtual) paper trail that shows that you are putting in your best effort as well as communicating your progress with all stakeholders. If they cannot extrapolate from those two items alone, and the blame somehow comes back to you for not completing by some unrealistic date, you will have this body of evidence to point to.

2. Take care of yourself. It took me a serious burnout situation before I learned this, and I had to hear the advice from a guy who just had quadruple bypass surgery. Be really rigorous with your normal schedule of exercise, diet, and sleep. If you have to work late sometimes, fine. But really err on the side of keeping yourself healthy. You will always regret it if you don't.

Overall: Make your evidence-gathering soak up any blame. Live your life the way it should be lived, not the way someone with unrealistic expectations wants it lived.

Good luck!
posted by circular at 6:58 PM on June 6, 2011

Not the first to express this sentiment, but if it helps to add my voice...

Although I wouldn't leave any job in the current market without a fallback, I've experienced what you describe. Not out of the gate, but after getting a new boss with some "interesting" ideas of what "salaried" means.

Leave. Start looking ASAP, and just tread water until you find something. Unless you thrive on that sort of pressure (which doesn't sound like the case here), this will make you miserable, it will make you sick, it will ruin your social life (as in, any social life, I don't mean just partying on weekends, because when you do get an occasional breather, you'll just want to crash).

Starting a new job, yes, you might feel overwhelmed for a few months, but only in the sense of catching up with existing systems in place at your new employer. And any employer worth staying with would realize that. Starting off doing 12+ hour days? Don't do that to yourself. Once or twice a year for a week, when a big project comes due, sure. But as the norm? Screw that, look out for yourself first.
posted by pla at 7:02 PM on June 6, 2011 [1 favorite]

This goes with any kind of job - if the culture is that you give 100% 24/7 and you wish to do that then do that. If you do not, go somewhere else because it will only get worse.
posted by mleigh at 7:28 PM on June 6, 2011

Is it the sort of thing where you're always behind, get used to it, or you're always behind and we'll fire you if you don't act like it? I really don't see how you put a new person on such a project and expect them not to freak out.

There are workplaces with chronically unrealistic expectations, or more accurately, wishes, and no consequences when things slip. It's crazymaking, but if you can view the deadlines as not-gonna-happen-but-I'll-work-as-fast-as-I-can wishes, maybe you can make peace with it? The question comes down to whether the manager takes the blame for the timeline slippage (or points to external forces) or whether employees get scapegoated. I'd use all the tips above about managing expectations clearly.
posted by salvia at 7:29 PM on June 6, 2011

Hello again Anonymous:

I just was not expecting to step into a job, be handed a project and be told that it was already two weeks behind schedule, literally...I really don't see how you put a new person on such a project and expect them not to freak out.

When you stack normal new-job jitters on top of a culture of crisis, serious anxiety seems only natural.

Some organizations -- and some people too -- are addicted to crisis. I know this as someone who's both created and managed crises. Contrary to straw's assertion, I've seen this behavior in mature, profitable companies.

Try to stay calm. Communicate clearly. Do your best, and don't be shy about exploring other options. Be sensitive to any health impacts. Work stress can mess you up badly. You will get through this.
posted by Sauce Trough at 7:43 PM on June 6, 2011 [1 favorite]

It sounds like you're dealing with two problems, which together are going to cause enormous stress. The work hours are one issue; perhaps you can ask a co-worker "Is it always like this?" If it's a permanent death march, find another job.

The other part is finding the work itself difficult. Most development departments, in my experience, are pretty lousy at training and documenting, and just don't realize how hard it is to get productive with their eccentric code base.

From being on the other end of this-- i.e. trying to manage someone new to a project-- I'd suggest that you make an effort to understand things on your own, but when you find yourself thrashing, ask for help. It'd better to take up a half hour of a manager's or co-worker's time than to spend a whole day making little progress.

It sounds like a sucky situation-- getting tossed into a project that's already out of control. This isn't uncommon, but it's not normal either and if it's routine at this place, that's a bad sign.
posted by zompist at 7:54 PM on June 6, 2011

Do your work the best you can. Document your progress. When your manager asks for a progress report, give your manager your documentation up to that point. Do not buy in to your manager's sense of desperation. The bearing of a child takes nine months, regardless of the number of women assigned to the job.

Talk this over with co-workers who answer to the same manager, even if they're not working on the same projects as you. Get a feel for who is really in charge at your shop. Odds on, it will be end up being the programming talent.

The flip side of managers who impose ridiculous deadlines is that they are, obviously, used to having those deadlines treated as ambit claims rather than actual goals. Managers who do this also get a reputation for being pointy-haired; choosing not to continue working with one such will do your career no harm.
posted by flabdablet at 10:43 PM on June 6, 2011 [1 favorite]

Owner is clearly not a manager and is out of touch. He totally side stepped your concerns and your message if all you got was "rah, rah, go team!".

Two weeks behind when you started? Left to fly solo in an otherwise team atmosphere? Consider the possibility you were hired as a sacrifice, to go down with the doomed project while someone else gets to save face.
posted by TruncatedTiller at 4:57 AM on June 7, 2011 [1 favorite]

Yeah... I mean, whatcha gonna do, right? It's always tough when you step into a new gig. Every time I join a major, ongoing project I'm like, "Am I really going to be able to sort this out?"

... and you will. Or you won't. Try your best -- that's all you can really do. It sounds like, no matter what happens, it'll be an interesting learning experience. Personally, I think all programmers should go through a kind of crazy bootcamp like this for awhile... that way, when you're fat and lazy and working for The Man, you've still got some of that old fashioned initiative. If you're worried about it, that's a good sign -- the people who are truly in trouble are the ones who are like, "Oh, no problem!"

Don't be afraid to ask questions and keep the stakeholders apprised of how things are going... and don't worry -- once you get acquainted with the culture, figure out who you can use as a resource, etc..., it'll all get easier.
posted by ph00dz at 7:34 AM on June 7, 2011

I have recently had a recurrence of nearly-controlled severe panic attacks because of a situation very similar to this. It is a situation that cannot be perpetuated for your own physical and mental health. I don't have any great answers...just underscoring your need to take care of you.

I find it helpful to think that it will end, you can only do one thing at a time, and your job is not life or death.
posted by carlh at 6:47 PM on June 7, 2011

Be really rigorous with your normal schedule of exercise, diet, and sleep. If you have to work late sometimes, fine. But really err on the side of keeping yourself healthy. You will always regret it if you don't.

Repeating this for truth. Work doesn't care about your health or your sanity.

My advice? Work 9-5. Who knows, you may set an example for others who would love to have the courage to leave at a reasonable hour. If they fire you or make your life difficult for not getting enough done, so be it, there are other software jobs. What you're describing sounds like a miserable culture - and no, not all programming jobs are like that, certainly not all the time - but how you react to it is up to you. If you can keep yourself from getting sucked into the stress, you may find other parts of the job - smart coworkers, independence - are worthwhile.
posted by orangejenny at 7:09 PM on June 7, 2011 [1 favorite]

« Older Vector political boundaries for NASA Blue Marble?   |   Fear of Flying Newer »
This thread is closed to new comments.