Ask HN: Whats the worst job you've ever had?
Mine:
After working a few 60 hour weeks trying to fix the product the company had outsourced for the last 3 years I was feeling pretty burnout. It was s Fridays and I think I was on my 5th or 6th bugfix of the day. I asked the QA manager if it was ok if I went home early at 6.00pm an she said yes.
On Monday when I got back in at 8.00 I had a real stinker of an email saying "the devs" (i.e. me) shouldn't leave the system in a bad state and that even more overtime was on the card. He then pulled us all in a meeting and basically said that the code wasn't good enough and it was all our own fault. Totally ignoring that we were rewriting the mess that the outsourced contractors had gotten away with but no it was all the permies fault.
The software itself was a complete disaster and actual failed to calculate interest payments on millions of dollars worth of accounts on Xmas eve because the customer had booked > 1 million transactions on a single day.
The director who chewed me out was later demoted and after this you seen a real change in attitude were he was much less shouty.
42 comments
[ 4.0 ms ] story [ 88.3 ms ] threadI would look at the clock every 45 minutes to see that only 10 minutes had passed.
I was one of the lucky ones though because every hour or so, I got to move to another station to hang newly-formed hats from another station on a drying rack that would take them to the next floor.
I also did retail (at a department store) and door to door sales (children's books).
By far, the most soul crushing and difficult were the factory ones. 7.30am-3pm, Mon-Fri. If I wasn't at work I was either too tired to do anything, or sleeping having nightmares about the job.
However, the nicest, friendliest, and most helpful people I had ever worked with (incl. later in life as a software engineer), were the ones working at those factories. They had a unique mentality that really helped me see things differently.
The really horrible thing wasn't the kids though, but that I was essentially a gig worker (this was before Uber was widespread so the term hadn't really taken off). I had no guaranteed hours. Instead, schools in the area would post to a website when they needed a sub. Those jobs would be put on the site and the first person to pick them up would get them. This meant usually a couple hours a night refreshing that page, waiting for jobs to trickle in, and pouncing on them. My only computer at the time was a crappy little 7-inch EeePC with the tiny tiny keys. I did end up automating some of the tedium but I still had to actually decide if the job was worth it -- some of the schools were so far away that it was barely worth it after figuring in gas money, and some classrooms were such disciplinary nightmares that it wasn't worth my sanity.
If I didn't get a gig the night before, I would need to wake up at 4:30am to do the same: shower, eat, get dressed, wait for the last minute jobs to show up, hope to snag one, then jump in the car and drive hopefully in time for first bell at about 7:15-7:45am (differed by school). Sometimes I would do all that, driving 45m to some rural school, only to find later on payday that they had cheaped out and not paid me for a prep hour, saving themselves pocket change in order to screw me out of 50 minutes of pay. With hustle, I could usually get work on school days, though probably every other week I'd have a day where there was no work (and therefore no pay). I had to wear a suit and tie every day as well (or else schools would complain to my company that I was unprofessional) even when I knew for a fact that the school had a more casual dress code, or did "jeans Friday", etc. When I was really desperate (if I'd had a few no-work days that pay period, for example), I would sit at the computer until lunch time hoping to pick up half-day gigs. Again, none of this time looking for jobs is compensated in any way.
It was a truly dystopian experience and is the reason I have never ordered DoorDash, Shipt, TaskRabbit, etc. and have only used Uber in dire situations where I can't take public transit and I don't have access to any vehicle or the ability to bum a ride from a friend. Treating employees this way (no guaranteed hours, unpaid scrambling for individual gigs, etc.) is simply evil.
Did you have an employer that managed placement or were you contracting directly with the schools?
I should add that the "system" that this replaced was much more humane: you would contact the district to be placed on their substitute list, which school secretaries would consult when they needed a sub. They would personally call you to see if you were available, rather than having to watch the site refresh. Since they only made calls during business hours, you wouldn't have to worry about it on evenings or at ungodly morning hours. You would be paid directly by the school district.
Presumably the software could have worked basically the same way, but of course it didn't.
Interesting problem. Seems like there are lots of better ways to handle it that could be implemented by a different middle man. For example, the middle man could have a que of subs and allocate the gigs by position in the cue. Tons of sorting algorithms available.
The interesting part is that this all benefits the substitutes, not the school, so why would the school pick the more humane competitor.
i packed wiper blades for a half day on a college break.
i listened to a mcdonald's orientation in high school, i think.
i had a tech support job in foster city at a high tech sweat shop for a half day.
yeah, when i think back, there were actually a lot of them.
Went to an interview with some random company in Sacramento I didn’t even come close to qualifying for (database designer or something) with me doing horribly but for some reason they kept up the interview. Then it came up that the real job was being the person to take the calls for people who’s water bill went up after a property reappraisal and I was like “yeah, this isn’t going to work out” and just walked out.
You'd play them samples of songs and ask them to rate them. Their responses were gathered for marketing research.
Some people really don't like getting cold calls (myself included) especially when you're male and asking to speak "Julie" who happens to be their wife.
Our time was so regulated if you were one minute late to work, returning from break, etc, mgmt would send you a message telling you to get your act together.
Red flag one was having to pass a spelling test as part of the job interview.
I started just as the cook for colder items. Making salads and simple appetizers. It was perfectly fine.
However it quickly became like Darth Vader's super-star destroyer with people being fired or quitting. So I moved up to expiditing (calling out, tracking, and gathering all the dishes in an order). Then finally to grill cooking hamburgers to order, etc. All in a very short amount of time (within a month)
The amount of multitasking needed to work in a chaotic kitchen is insane. Lots of shouting and angry wait staff and customers. Needing to actually cover multiple stations (grill, fryer, etc). Difficulty tracking the status of everything. Eventually I also walked out.
Simultaneously, I had been a high performing student, taking all advanced classes, doing after school sports, etc.
The job itself was not intense or anything. But it was miserable. You could tell that nobody working in that store wanted to be there. Some seemed positively stuck too, like they couldn’t move on and improve their lives even if they really wanted (I don’t actually believe this).
Anyways it induced something of a small existential crisis in me seeing all these sad people who had been what I thought at the time was wasting sometimes decades away working these pointless jobs. I became depressed a bit and my studies fell. I also kind of sucked at the job after a while because it was mind numbing.
Anyways it’s put a lot of my career as a software engineer into perspective and I’m very thankful to be in the position I am. I am also much more thoughtful about bigger picture goals and things I want out of life because of it. Perhaps most importantly though I never look down on anyone based on their job or career.
My job was to take the bags that we picked up and sort the linen by color, type, etc.
He is famously awful to work for, and with. We made LVADs, including the CNC machining in Hells Kitchen in Manhattan.
He would steal people's unpaid PTO when they left, and even would sue former employees regarding their non-compete agreements, even when they weren't enforceable. He had friends in high places in the NYC court system so was able to get cases to go further than they should, using it as an intimidation tactic. He cost many former employees their new jobs, and careers.
His legacy- terrible to work with, for, and a real awful person.
I took the job because they wanted help migrating some apps from an old proprietary stack to Java and I'd done this many times before. However, if you weren't from that village, you were not to be trusted. Finally, they moved the whole team to another office 20 minutes away but I stayed at the office close to my house. I just gave up and enjoyed a few months of doing nothing, going for long bike rides in the hills in Oakland during the work day before moving on.
I think I stumbled into some kind of fraud where they were just giving jobs to people they knew without any qualifications without any intention of building software. It was truly bizarre.
It most likely was. H1B fraud is rampant [0].
Thankfully, the previous administration started issuing more RFEs and catching fraudulent applicants [1].
[0] https://www.nbcbayarea.com/news/local/silicon-valleys-body-s...
[1] https://www.huffpost.com/entry/trump-h-1b_b_5890d86ce4b0522c...
One of the worst aspects of that job was I wasn't trusted with anything. I think this is because I got the job through a staffing agency, and this warehouse probably assumed that anyone they were going to hire would either be sketchy or missing a bulb in the pack, but would at least be competent enough to place stickers. I couldn't even operate the sticker printer or fix issues without annoying this one other guy who I was never sure was my actual boss. Every day, I had to put these stickers on pallets of boxes, standing the whole 8 hours, and perform janitorial duties if I happened to get through that day's worth of palettes.
It was a very lonely job, which was both a plus and a negative. I could put on my headphones and space out, and after a while I figured out areas that were out of sight of security cameras, so I'd sneak under them and play games or read comics. No, I wasn't lazy, but if I got through all my boxes and already swept the entire warehouse, there really wasn't anything else to do, but I had to look like I was working if anyone spotted me. I never got caught in one of my hiding spots.
What made the job more lonely, ironically, was the fact that sometimes I'd be working with someone. I was never fast enough for these people, so there was a handful of times where they brought in someone else from staffing to help out with the stickers. These people never lasted more than a week, if they even lasted a few days. It sucked because they were personable and I was hoping I'd make a friend or two. One of them was a Black lady, real nice person. I didn't expect to hit it off that easily with someone from a different background from mine; we were joking and laughing the whole time, and I even showed her where those hiding spots were once I knew she was cool. The following week rolls by and she's not there. I was disappointed because she made the job a lot more tolerable.
The one cool thing about the job is boxes frequently came in with missing covers or they'd fall apart, which let me peek and see what's inside. A lot of the incoming boxes were from big film studios, and I found some scripts for old films and TV shows. In retrospect, I could have rifled through that stuff more and gotten away with it, but I was mostly a good boy back then. lol I like to believe there were some lost episodes somewhere in those boxes.
I stayed for 3 months because I badly needed the money. This was a few years after the Great Recession and I still found it difficult to find work as someone with no experience in animation (which was my first career). I did make some money doing web development, but at that time I didn't have any projects to work on. The staffing company, for good and bad, gave me a job pretty easily.
In the end, I just had something snap in my mind. I suddenly realized "I can't come back to this anymore." I collected my check from the staffing company, told them I'm not showing up again, and that was that.
There are worse jobs from a physical standpoint, but being almost alone in a gigantic warehouse of identical looking boxes and having the sole task of placing stickers was the most soul-crushing experience I've ever had.
It's my highest paying, but also filled with the most lies or double standards, frustrating, and stressful.
I've also worked in retail, in a warehouse, and as a janitor. The pay sucked, but at least the impact was tangible and the expectations were straightforward.
I would be called into the CTOs office (next door to the shared office 3 of us were in) multiple times a day by him just yelling our names. We were expected to drop whatever we were working on and go in to answer whatever question happened to pop into his head at that second.
Often applications would break and the CTO would want to know why, only to find that the local copies of the code on my and my co-workers machines didn't match what was on the server. Which means the CTO changed it, but refused to admit they changed anything, claiming it must have changed itself. When me and my co-worker suggested adding version control to the code, the CTO immediately shut it down.
These things would happen routinely for the 2 years I worked there. And for an extra kick in the pants, the dress code was shirt and tie and we would be pulled aside and talked at if a shirt came untucked.
Working at a company with 6 million+ lines of C++ COM code with an old UI (still in use) that was written in Delphi but was migrating to a new system (written using MFC....) with zero documentation other than a Wiki nobody updated, and 2 senior developers who weren't overly communicative and would be lumbered with fixing others' code because they didn't tell them how anything worked. Then the "junior" developers would leave because they kept getting berated for doing stuff wrong, and the cycle would start again with another developer who got the job. An eternal cycle of stressed, frustrated, bored (because they wouldn't be given interesting code to work on because they weren't trusted/"good" enough) developers, but 2 very busy senior developers.
The newer C++ code had a good idea in a function-based system for the UI but the functions were too generic and would accept parameters of any type, so a lot of the runtime code was working out if the object you were passed was of the right type. It was too flexible, and also meant the implementation team who would design the software for the users hadn't a clue what the parameters were meant to be.
The schema for the database was generated from their own textual file format that let you specify soft relationships instead of hard FK relationships. XML was nowhere to be seen. The parser for this format was convoluted and also very picky about the format of the schema file.
The schema would be translated into header files so that you could refer to fields in the database by an enum value, and then pass off reading/writing that field to the underlying database code so that developers (ideally) didn't have to write SQL. It was their own ORM system but it was quite simplistic and to do anything worthwhile you had to write your own SQL. The schema for the database was not published, nor did it use sensible names, so you'd have to learn this baffling schema and hope for the best. All transactions pending for the database were put into an object that transacted them in one, and they were under the illusion that this was their sole invention in the entire universe. Whilst a good idea, the singular nature of these transaction objects and self-contained business logic meant that when object A hit the database, it might load object B, C, D and E. Each of these might load F, G, H, I and J and so on, so you ended up with a colossal tree of SQL hitting the database. It was incredibly slow.
The database also used magic numbers to change the behaviour of the software. Even in the user interface that the customers used, they taught on training courses that to make it do X Y or Z, simply open the config editor (an Excel-like grid) and the number 5 into grid B25...! As if this was perfectly understandable or usable? It never ever struck them that it might be a good idea to put English words next to settings.
At runtime, the software loaded its schema in a C++ object that it had serialized to the database when the database was upgraded. Since the pointers inside this object had now changed, at runtime on loading it would hook up the pointers to point to the correct parts of this object. If the schema upgrade failed when running its SQL, the schema object might still get saved I think so you could end up with the physical database schema being X whilst the serialized object was Z, so at runtime it was haywire.
Any check-ins (apart from the senior 2 developers) went via a code review from one sarcastic guy. He would pick up on use of std algorithms and was in general very very picky. And extremely sarcastic.
The "management" staff weren't developers but promised things to customers and so the only question you would ever be asked is "is it done yet?". Any explanation of where you were or issues was met with "so is it not done then?" and then being told to speak to the way-too-busy top senior developer. The "manager" would ask you to assist with colleagues, eg. "You know about Visual Studio don't you? So-and-so is having difficulty" even though so-and-so was working on a web project in a completely different language to you, whilst you worked on desktop software in C++....
They had a non-software-developer team of "designers" who would "design" things and then give some paragraph of "design" to you, which you had to estimate, and then about 9 months later you'd get the work to do but were held to the estimate. Any extra time involved asking the managing director for more time and justification for wanting more time. He was in a city the other side of the country.
Any bugs that came in had 4 hours to find and fix, and any amount of this time (up to the 4 hours) would be taken up by the support staff (who were sadly not knowledgeable about many things) "triaging", eg. an issue with database connectivity would have them suggesting adding a row to the database.... They lacked basic troubleshooting skills. Any more time you needed had to go via the managing director for permission, and then he would refer to the most senior developer because the managing director was not a software developer...
You had to write "programmer notes" for the wiki detailing what you wrote and why so that in future developers could refer to them - nobody did because they just looked at the mound of code when they were assigned work. The programmer notes were often copied and pasted by the "QA" department into release notes, which meant the release notes included internal programmer notes and details.
The "QA" department didn't understand how the software worked and despite being there for 13 years still had to get the single-person "IT" guy to do things like add in an ODBC connection to a database. They had to "test" things that they didn't understand - they had the programmer notes and "design" to refer to, but had no understanding of where it fitted into the grand scheme of things.
The single "IT" guy didn't put UPS on anything so when the power failed all the servers just carried on running until they died. Bye bye Dell servers.
The computers were locked down because one user ran an EXE and it encrypted everything on his machine. All network activity was logged. All work was recorded on an internally written "log" system that also monitored mailboxes so any email sent that included a log number ended up automatically on the internal log system. This meant a few occasions of people complaining about others ending up on a log. Any work you did involved "clicking onto a log" but then if you didn't do this you'd get a Skype message from a "manager" asking why you weren't "clicked onto a log". The internal log system was written in ASP and used SQL Server but used a lot of SQL functions and was next to impossible to debug because it was hosted on an IIS server that was in use. There was no test server. The main database was 200 GB or something like that so you just had to work against this live database.
All of the software was 32 bit and had about 150 DLLs along with some OCX. The use of COM and ActiveX everywhere by junior developers meant they got the AddRef/ReleaseRef stuff wrong and you'd get leaks everywhere. Installation of the software (it was just a desktop app that talked directly via ODBC to a database) involved about 30 manual steps - there was no installer. It put some of the DLLs into the System32 directory and installed CPL applets for Control Panel so was very firmly stuck in 1996. Customers actually had to pay for the single "IT" guy to install the software.
The build ran daily (and/or whenever anyone checked in code using TeamSource in Visual Studio) and they pushed out software to users using an appalling C# web service / utility system one guy had written. It was spaghetti and objects made calls into other classes and changed their members. The guy eventually faked his own car crash and just disappeared from work, never to return. The code of his that I inherited was appalling.
The build ran an ANSI and a Unicode build, even though they actually were still just distributing the ANSI build.... You had to wrap all of your strings in _T wrappers and make sure you used the appropriate typedef for wide or narrow characters. You didn't have time to build the entire thing to test it worked in both, so tested in one and checked in and then got berated when you "broke the build" that automatically ran in Unicode/ANSI when you checked in. It sent out an email to everyone detailing the last check in and who it was.
The web service that served the data relied on a secondary document service that silently failed for years when serving documents to customers, but nobody noticed. Not even the customers. They wouldn't be receiving files and nobody had noticed for about a decade. I once fixed this but it meant the secondary distribution service now got an exception when it asked for something that didn't exist, so was told I couldn't go home until it was fixed.
They employed a team of people to help "manage" (I guess?) whose sole job was to pester you on Skype and add events to your calendar for when you'd have a meeting with your boss (the senior developer). You would have a meeting with the developer and this other person would be on the call but would say and do NOTHING. They wouldn't even make notes. I honestly have no idea what their job was.
The software was also incredibly incredibly ugly. It also used Crystal Reports for its "report" system which was a steaming pile of buggy C# that threw exceptions in its own libraries all of the time, and would take 30 seconds per report to interrogate the database to see what format the fields were. You could have written your own PDF-writing report system in a month (since most reports only used 1 or 2 queries), and wrappe...
It wasn’t the worst job as far as pay/benefits goes, but holy shit I wasn’t able to do anything in that job.
The project I was specifically hired for basically never got off the ground. It got stuck in some weird void where bureaucrats and managers constantly argued about X or Y to the point nothing got done. And my job became a mix of “sit around” or “support any rando who needed a little relief, leading me to get stuck supporting COTS shitware. After two years of basically nothing happening (despite them hiring more people for the project) I left for the job that would then lay me off last year.
The worst was chain-link fence. You stood on a grate right over the zinc tanks with a file/hook and cutters. Anytime the fence got caught up, you tried to untangle it without stopping the line. The best time was loading the fence on trailers sitting outside in the fresh air, shooting shit, waiting for the next batch to load.
Worked as a janitor at a large department store- buffed floors, cleaned windows, and a stint of cleaning the bathrooms. Occasionally gross, but nobody watched you while you worked, so would just daydream while I was doing it.
What do I win? ;-)