Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Whats the worst job you've ever had?
28 points by Dave3of5 on Feb 1, 2023 | hide | past | favorite | 41 comments
I was feeling nostalgic and remember all the terrible jobs I've had in the past and thought it would be cool to hear of some more terrible jobs than mine.

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.




Corporate software dev gig in the Bay Area. Was like a 10 minute commute by bike from my house. All but 2-3 of us on a team of 30 or so were H1B, all from the same village in India. Many of them appeared to have little more than some passing familiarity with software. Instead of working at their desks, they would all crowd into a conference room for a day long quasi-meeting all day, every day. A spot at the actual table was primo, most had their laptop in their lap all day 'coding'. This team barely produced anything, and when they did it wasn't even close to what was asked for. Decisions were debated in this room for hours that should have been made in minutes. First, the director of this group was fired, then they went through 2 CTO's in 2 years, each re-organizing everything. Bar none the least productive shop I've ever seen. All management knew how to do was insist on more hours in hopes of getting something useful. Working conditions were so bad the girl who sat next to me jumped to her death in front on the San Leandro Bart train one morning after getting yelled at again for yet another failed deliverable.

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.


> 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...


I feel like leadership should be responsible for deaths like that. They are either negligent or they knew what was going on.


I worked in a hat factory as a summer HS/college break job. I stood at the end of a table and inspected the initial wool cut outs that would eventually be formed into the hats. The hats would go through a machine that sprayed them with god knows what chemicals, someone would capture them out of the machine and place them on the table, while the rest of us at the station would turn them inside out and hold them up to the light to look for flaws (thin spots).

I 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've done 2 factory jobs in my teens. One I was making pillows and the other books, magazines, papers etc (this was late 90s, early 00s).

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.


I was a bag boy for six months or so in high school for <insert large corporate Grocer here>. I wanted some extra side money and a friend of mine worked there and offered to put in a good word for me.

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.


I wouldn't call the experience bad but I had a brief stint with some sort of weird receptionist role right out of high school (had to take a gap year due to logistics) and I had a similar reaction to seeing how everyone around me at work lived. I think it fundamentally broke something inside of me and was a critical experience in my conclusion that human lives are not really inherently valuable.


After moving abroad with my girlfriend, I didn't initially speak the language. I needed a job so I applied for a job in my mother tongue. The job was calling construction site workers and conducting interviews with them about the drilling machines they use. Some of the questions I remember: "How many holes do you drill a day?", "how happy are you with your drill?", "what would you rather have: a drill that's lighter, or more reliable, or ...?". I needed to complete a full interview to get paid for it, which took a good 15 minutes at least. The people I called were on-site and busy with their things, and didn't really have the time to spare. Worst thing: the calls were made automatically, within 30 seconds of the last call, so you were constantly on the phone. I quit on the second day.


I was a substitute teacher for two school years. Remember how mean we all were to subs in school?

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.


>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?


My employer was a third-party company, not the schools themselves, but they didn't really "manage placement" beyond providing the software platform. If I didn't log in to accept a job, I would not be working.

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.


I see, that makes sense to me.

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 agree. Even just doing exactly what the school secretaries used to do (call out instead of requiring us to poll, and only during certain hours) would be better. But you're right that the incentives are awful. This software worked and changing it would presumably cost money (developer time, potential for introducing new revenue-impacting bugs, etc.). Also, the people making the decisions are of course not using their own money: if something is more expensive but saves some district employee 40 hours a year doing background checks, managing the sub list, etc., then they will choose to pay the service. Presumably my employer also had slick salespeople wooing these decision makers with dinners out, football tickets and the like.


My first software job was by far the worst. I worked directly under the CTO, who was a huge micromanager. The code I was working on was akin to what we'd call now micro services. Except each "service" was a single, 5,000+ line functional PHP script. There were no common libraries, but plenty of duplicated code. It was myself, another person who wasn't a developer but was working as one, and the CTO who knew just enough to be dangerous.

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.


When I was a teenager, I had a summer job at a galvanizing plant. Sometimes birds would fly in one end and drop dead before exiting the other. At the end of the day, clearing your sinuses would expel dark/black mucus. It was also very hot, from all the molten zinc. One time a cold lampost was lowered in, and some zinc flew out the non-lowered in end, hitting me in the stomach while I was completely outside, burned right through my shirt and left a scar for years.

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.


How about the worst job I didn’t get?

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.


Worked for a great boss on a great team building some really cool stuff. We had some organizational problems and the boss wouldn't stop people from doing stuff that was actively harmful, but I dealt with it best I could. Then a new boss came in and made all new work be about "getting wins", and trying hail-mary stuff that, if it worked, would make him look like a genius so he could get a promotion, but would leave us holding the bag trying to deal with the tech debt and not actually improving the project. If we disagreed, new boss would yell at team to get his way, force us to do whatever he wanted rather than letting us have a discussion, weigh pros/cons, generally have agency and some input. I created a presentation detailing all of the problems and solutions for all of them, and presented them to the new boss and boss's boss. Both of them chewed me out for not doing more myself to solve the problems and only complaining. Soon after my contract was not renewed. That's when I found out that if you make your boss(es) look bad, it's in their interest to get rid of you.


HVAC. There's nothing like jumping into a damp crawl space in the winter or playing in fiberglass insulation in the summer.


Being a cook at a diner in my twenties, in a horribly mismanaged kitchen.

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.


My first job at Jarvik Heart. I worked directly for the infamous Dr. Jarvik "inventor of the artificial heart (not really)".

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.


Worked for a large corporation in a non-tech space.

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.


Call center in a cubicle farm to cold call people and ask their opinions on popular songs being played on the radio.

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.


Worst job was working as telemarketer selling tickets to a charity event, 3-4 hours a night. It was cold-calling, reading off a script, and absolutely nobody wanted to talk to you. If you could make it through the script before they hung up, it was a victory. I sold a few tickets, but hands down the worst job.

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.


I worked for a linen rental company when I was in HS. We would rent tablecloths, napkins, aprons, etc to restaurants. When they were dirty the restaurants would put them in garbage bags and leave them outside until we picked them up. During the summer these bags would fill up with maggots, and the smell would be atrocious.

My job was to take the bags that we picked up and sort the linen by color, type, etc.


I worked for a tent company (like where you rent big tents from). They had contracts all over central fl, mostly at Kennedy space center for events and what not. My job was to load and unload trucks full of 5 gallon buckets filled with concrete. That’s about all there was to it and it was awful.


My current one.

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 wouldn't say my current job is my worst job, but man, I have had some bad luck with jobs. Maybe it is me.


I've had some crappy jobs, but the worst job was one I actually really enjoyed, it was the horrible manager that ruined it for me. People join companies, people leave managers.



A few years back I built a website for a large corn seed vendor in Eastern Iowa and learned that this was a VERY common job for teens in rural areas.


working shutdowns in the south-east texas petroleum processing chemical plants. Time and a half after 40 hours and double time pay after 60. They paid per diem based on how many miles we came to work and gave us a hotel then we would work 16 hour days for a couple months or until the project was done. This was my dads life for a long time and I tried it a couple times at 18yo, realized this isn't for me, then went to art college.


i've had a few, but the worst? prob the one that was just bad enough but not so bad that i should have quit a lot earlier but didn't. :-/

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.


I worked in a warehouse for around 3 months over a decade ago. They stored data in paper form from various companies. I was hired to place stickers sequentially on all the incoming boxes.

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.


Thank you for sharing this story. Good one. You can tell a story too.


Thanks for the appreciation!


Cleaning the change rooms, showers, washrooms and common areas at the local YMCA. Overnight job.

What do I win? ;-)


Detasseling corn.


The worst was at a company in Berkeley. I was the person who kept the "mini computer" up and running - backups, coding the billing system - pretty much everything.

I had a manager. Oh my fucking god. This nasty fucker, I don't think he ever showered, always had those huge perspiration wet spots under his underarms. He stunk like shit. I'm sure he never showered. And also, his mouth - fucking green teeth, I'm sure he never brushed his teeth and his breath stank.

The guy was a super loudmouth bully, and always expounding on philosophers, rather than working. And it really was his social manner that was way worse than his hygene, if you can believe that.

I remember one time we went to a cheap diner, and he was being his loudmouth self, and as this woman was sitting at another table for a while, she finished her lunch and got up and as she passed, she said words to the effect of: "I don't know how you can stand this guy, he is so obnoxious and gross. I'd quit if I worked with him." That's how bad he was - some random woman, who didn't even have a dog in the fight, said how nasty he was after listening to him for about 10 minutes.

The guy actually gave me an actual breakdown. Panic attacks, which are NOT fun if you don't know what they are and what is going on. They are not how they sound. Instead of panic attacks, it should be named "I'm going to fucking die in the next 10 minute attacks." I eventually quit. I should have listened to that woman and quit a lot sooner, but at that time, it was quite a bit more difficult to get a job in the tech field.

.

The jobs I actually liked the best were in retail, waiting on customers. I know people abhor those jobs, but I like them. I like waiting on people, and making them happy and interacting with people. My favorite job of all time was McDonalds restaurant, if you can believe that. I think I should have stayed with them and tried to move up the ladder.

I also worked a manufacturing job for a summer job after high school and before going to college. That was great. All I did was these plastic butter tubs shot down this V-shaped chute. I would wait until about 50 of them had come down the shoot, and there was a mark on the chute that indicated that there were 50 of them there and stacked. I would then take 50 and put them in a box. When the box was full, I'd tape up the box and put it on a pallet, got another box from the stack of folded cardboard boxes, open it up and tape it up, then start the process of putting a stack 50 tubs at a time into that box. 12 hours per day for 3 days, 2 days of, 12 hours per day for 2 days, 3 days off kind of gig. You would think that job was horrible, and mind-numbing. But to me, it was zen. I would just zen out for 12 hours and I liked it. It wasn't boring, to me anyways. My boss was the guy on the printing machine. He was really weird, could barely talk in complete sentences but was cool. He sat next to the machine doing nothing, until the machine broke down, which was at least twice a day. He would then fix it, and I'd wait, and then back to the boxing. But nobody fucked with you. You were just there by yourself all day, which for a mild introvert, is pure heaven.


Part I:

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.


Replying to myself to continue this ridiculous story: Part II:

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.


Finally, the last bit of this sorry tale. Part III:

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 wrapped it in a PDF.js web view and that would have performed 10000% better than the absolute crud Crystal Reports but no, that wasn't important. The guy that wrapped the Crystal Reports library in a "viewer" window was also the same guy that faked his own car crash... He would run a background thread and then update the UI from the background thread and say that it sometimes seemed very slow or would appear to hang.... you think so?!?! Duh!

It was a horrendous job. I enjoyed the C++ side of it but not the 20 years worth of overly-complicated code (loading/saving from/to a database doesn't need such complexity) and obsession with COM and MFC was horrible. I didn't like the toxic culture (witch hunt people when they get it wrong rather than train them) nor the obsessive micromanaging. The company was a great study into fomenting a bonkers environment where people worshipped "the build", feared the bosses, and had become so used to the ridiculous software that they didn't even see how stupid typing numbers into a grid to change behaviour was in 2017 or whenever it was.

I didn't enjoy getting shouted and sworn at. I left and worked fewer days elsewhere. I believe the company is still doing well (they made enough money from licences and writing custom extensions that everybody inherited, so all customers got a really really really complicated piece of software that did way more than they needed, and slowly at that) but I believe it's circling the drain because of the baggage of its design and COM architecture. C++ good, COM bad.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: