A while ago someone asked me what it was like to work in Systems Development at a large firm. I shared with them my experience:
Long hours. Long. My first job out of college, and my introduction to the corporate world, was in systems development. We regularly worked 50-60 hour weeks and sometimes mandatory weekends, but systems development and programming are always salaried positions so you will never get overtime pay. Employers hire programmers as overtime-exempt because they know how much you will end up working and don’t want to pay you overtime.
Imagine it’s 4:45pm and you’re ready to go home and some unforeseen difficulty comes up and you’re told you’re not allowed to leave until the issue is resolved. The only problem is you have no idea wtf is going on because it’s some other guy’s code who doesn’t even work there anymore.
Well, go get some dinner and bring it back to your desk to eat because you’ll be there until at least 10pm trying to figure out what the hell the other guy was thinking because he didn’t put any comments in his code, nor did he leave any documentation, and plan on spending another 2 or 3 hours trying to fix and unit-test your fix despite the fact that it’s for some project with which you weren’t even involved and has no documentation, and then finally at midnight you’re fucking exhausted and you decide that this will take at least a week to fix and will require a team of people so you devise a workaround which must be tested and then you have to write SOP (standard operating procedure) documentation for your workaround and distribute it to everyone on the team before you leave.
So the actual fix get shifted to the next iteration which now must be done by a team of people in addition to everything else that was already planned for that iteration, and so now you have an additional 40 hours of work times 5 people on that sub-team (200 hours total of extra work) that wasn’t allotted for originally yet for which your team can bill the client. Keep in mind, however, that you won’t see any of that extra money despite the fact that you busted ass until 2am coming up with the analysis for the fix for the project that was the result of someone else’s shitty programming in the first place, and you know that this will manifest itself in an additional 40 hours spread over the timeframe of 2 weeks for you, so now during your next 2 weeks, instead of your “normal” 50 hour week, you will be working 70 hour weeks along with the other people who were unlucky enough to be put on the same project as you.
And you know what? Near the 70th hour of your second week, after not seeing your family or going to the gym or even being able to eat a home-cooked dinner because you’ve been eating at your desk and you can’t remember the last time you left the office before 11pm, just when you think you’re about to complete that project, one of the lead system analysts will come up to you and let you know of another “urgent” issue that “has to be fixed before tomorrow” and you will be staying until 1am again to fix it.
And this is on a regular basis.
Now you know why, after years of putting up with this, I quit that job with 2 days notice.