The real loser here is ...
... Jeff Bezos! With those pathetic profits, he definitely won't be able to afford another trip to space. We should start a GoFundMe page for his next journey.
438 posts • joined 2 Jun 2015
Worked on a product where we decided to fix all the warnings. One dev slaved away for a fortnight and fixed *most* of the warnings. He found a few errors, so it was actually worthwhile.
The only place he couldn't fix the warnings was in some test code which achieved 100% code coverage on what it was testing. We decided to just disable 'warnings as errors' on that test code and chalk it up as a win overall.
Inherited a codebase at a previous company which had been done by a well known outsourcing company in Asia. It was the WORST code I had ever seen in my 20+ years of experience and, believe me, I've seen (and written) some stinkers. It had every anti-pattern and bad practice you can think of and a few new ones to boot.
Turns out the developers were penalised if they didn't write at least 200 lines of code per day. Their motivation was not to write good code but to write 200 lines of code. They weren't paid on quality but on volume. We brought the development inhouse where our developer's motivations were the exact opposite.
Never get mercenaries to defend your castle.
One of the last bugs I fixed before I left a previous company was deep in the bowels of the Qt printing code.
Most printing issues can be reproduced using a virtual, PDF printer driver. This one could only be reproduced using a large format, physical printer. Each change/test required sending a print to said printer and examining the physical output. I managed to burn through a roll and a half of the printer paper (at £80/roll) over the course of three weeks of investigation. Management were horrified but I pointed out the cost was insignificant compared to my time.
In the end, the problem was a bug in the HP plotter driver. As far as I could tell, the plotter driver tiled the output and was running out of memory during the tiling process. The solution was to halve the size of the tile.
Thus, after three weeks of solid effort, the sum total of my efforts were something like:
tileSize = (previous code to calculate tile size) / 2;
That's right - three weeks of concerted effort for two characters!
Was sacked from my (software developer) job the day before the first lockdown in the UK. Ironically, it was because I wanted to self-isolate and the owner didn't want to support that. I was one week away from completing my 6 month probation. It was really a blessing in disguise as the role wasn't panning out and I was looking to leave anyway.
Unfortunately, just about every company immediately froze recruitment, so there wasn't a lot happening. At least the sun was shining and I was able to spend time with my family. Even managed to learn some new skills in between applying for jobs.
After a month, I managed to get 3 offers and took a 100% remote job with a great company, working on an interesting product with some really nice people. Almost 18 months on and I still haven't been into the office. My wife is loving having me at home, I get to walk my daughter to/from school and my daily commute consists of walking into the spare room.
Every day we give thanks that we are in such a fortunate situation as there are so many people who have struggled to get by.
I still get calls from recruitment agents now the economy has picked up but I'm fairly settled for the moment.
Looked up my previous company and they're still looking for my replacement as well as losing another developer
For those old enough to remember and care, 'Symbian' was the operating system for Nokia phones.
Anyway, I had an interview with Symbian which turned out to be a *very* detailed technical interview around C++. I cut my teeth on C/C++, so it wasn't anything I hadn't encountered before. The interview went really well and they said "They'd get back to me". I had a lot of other irons in the fire and ended up accepting a role elsewhere.
Fast forward 3 months later and I get a phone call from Symbian: "Are you still available?" WTF? Anyone who could answer those questions would be snapped up straight away. The only people still on the market after that time would be those that couldn't get a job anywhere (except Symbian).
Bumped into a Symbian graphics dev at a party a few years later. He said the OS was a POS and his development builds were broken most of the time.
Interviewed at a company where one interviewer asked me:
"How would you work out the tidal flow volume of the Thames Estuary?"
WTF? I asked him how this was relevant to the company (they did inkjet printers). He admitted it wasn't relevant at all. I then asked *why* he was asking me this. He answered he wanted to 'see how I thought'.
Luckily, I was a mechanical engineer in a previous life and decided to have a bit of fun with him. Turned out he didn't know *why* he wanted the information or *what* he was going to do with it. I pointed out that I could simply make up a number and he'd be happy.
They ended up offering me the job but I'd found something more interesting.
* Intel sticks to making calculators which eventually consume more power than a kettle
* Bill Gates stays at Harvard, graduates magna cum lauda in maths and ends up writing Excel for Intel's calculators. The Intel Pentium floating point bug causes the global financial crisis of 2008. Gates is sued and goes bankrupt. He never writes software again.
* IBM buys CP/M from Gary Kildall but cannot market it successfully. It finds a niche in ATMs (automatic teller machines).
* GNU Hurd releases a kernel which works surprisingly well
* everyone ignores Linux, favouring GNU Hurd (inspite of RMS's weirdness)
* Linus Torvalds ports Linux to calculators for Intel
* Larry Ellison releases Oracle as open source, so super yachts never become a thing. He ends up living on the streets of Silicon Valley. Steve Jobs ignores him.
* Jobs doesn't screw over Wozniak and the two still exchange Xmas cards right up until Jobs' death
* Jobs acknowledges paternity of his daughter (https://en.wikipedia.org/wiki/Lisa_Brennan-Jobs)
OK - the last two are a bit of a stretch
Worked on a product where the code was written by an outsourced agency. So the story goes, their devs had a KPI to write 200 lines of code per day. Thus, their motivation was not to write good, clean, extensible code but to hit their target number of lines of code. Needless to say, it was a complete and unmitigated disaster. The code had every anti-pattern you can think of and even a few new ones. You should never get mercenaries to defend your castle.
Just an update from down in the trenches:
Updating a third party library, for whatever reason, brings in the risk of regressions. Retesting the software is time consuming and expensive, so updating is avoided.
Quite often APIs also change, so it can be a large engineering effort to reintegrate libraries (I'm looking at you: React, .NET, Swashbuckle ...)
Worked at a company many years ago where the sysadmin had a *very* liberal attitude to content filtering ie there was none. He believed in treating people like adults and letting them have 'personal responsibility' for their web surfing. This worked very well until he had to have a talk to one of the guys:
[name redacted], you know I don't look at the firewall logs for your web browsing and, frankly, I don't care. But if you do print things out, for Christ's sake please collect them from the printer!
Used to be a mechanical engineer in a previous life. Worked in an office where we had a Calcomp pen plotter. All the draftsmen hated it because they've have to watch it like a hawk in case the pens dried out. This was replaced by a large format, full colour HP roll plotter, which was a lot more civilised. One of the other engineers immediately 'tested' it by printing out a huge poster for his holiday chalet side business!
Biting the hand that feeds IT © 1998–2021