mailto: blog -at- heyrick -dot- eu

Why I don't program for a living

The year was 1991, if I remember correctly.

I had left formal education, and boarding school, the summer before. I took a couple of jobs cleaning as it was the sort of job where you needed no qualifications and somebody was always wanted. In other words, no need to mess around with the deranged psychopaths at the Jobcentre.

I did "builders cleans" over the rest of the summer and the autumn, and you wouldn't believe how shoddy workmanship on new build houses was (Note: This was 1991, I hear it is exponentially worse now).
Our group boss had a simple rule. She would go into a building and insert a plug wiring detector (a gizmo with little glowing neon lights) into each of the sockets. If any turned up incorrectly wired, we would leave, and bill the builders for our day. More than once we came across things such as live wired to earth.
Apparently, she should have reported this, but she said she didn't as nothing changed. Nobody cared. She was afraid that nobody would care until some child died, and then everybody would be "oh, how could this happen?".
I don't doubt that.
She would also go around and check the state of every toilet. If one was found to be bad, then... we would leave and bill the builders.
By "bad", I mean in one case the toilet was sitting in the middle of the bedroom, not even in the correct room, and some idiot took a messy dump in it.
Once in a while the builders would say "but you're cleaners!" to which she would reply "biological hazard, not our responsibility".

My funniest story there was a development near Camberley. In order to get finished on schedule for the foreman's retirement, let's just say a lot of corners were cut. This wasn't unusual, this foreman delivered results precisely by ignoring the details. So management liked him. He got things done.
The very final house, let's just say the walls looked out of line and one could feel the bedroom floor sagging as it was walked upon. We did that in a hell of a hurry as we had little trust in the building's structural integrity.
Management turned up an hour and a half early. So the agitated foreman was telling us "leave it, hurry up". Sticky crap all over the kitchen cabinets, leave it, hurry up!
We finished just as the retirement ceremony was starting. And the first thing that the management did? They handed him the keys to the house, as a retirement gift.
I would like to say that we laughed about it, but the arsehole sent in a long and detailed list of all the things we had failed to do. Obviously the "leave it, hurry up" part was not mentioned.

I also cleaned a school in, um, Sandhurst, I think. Your generic sixties flat roof jobbie with the panel walls and zero insulation. It was fun using a floor polisher. It is basically a heavy motor on a long pole that spins a single scouring disc. The pole is the handle, the disc is on the floor, and it takes skill to start up one of those things and not have it whizz off to the side and smash into the wall. The trick is to hold the handle at a slight angle, so you're trying to steer it to one side as its momentum is trying to steer it the other way. I did that for a bit, but got fed up of the other employees, mostly unmarried or divorced forty-something chainsmokers with way too much makeup trying to chat up the male staff. No, I didn't care about Corrie. No, I didn't want a fag break. And, keeping this to myself, this place would be spotless if you put as much effort into your job as you did inhaling nocotine.
# If you're stupid and you know it clap your hands...

That's when, in the late spring of 1991, I found a job in this little place near Camberley. It was basically a rented portacabin with four people in it. There was "Da Boss", there was the secretary, who I think was called Emily-Jane or something like that. Maybe five or six years older than me. Big glasses. Wore a sweater well, if you know what I mean.
There was a guy whose name I didn't know. He didn't talk, like ever.
And then there was me.

The product that was being made was a fairly simple looking thing. I'm not sure of the exact purpose, but as I understand it, the device was to track items passing through a production line and apply a unique code on a printed label.

This was not particularly hard to achieve. A microswitch with a long arm would be nudged as the item entered into the place where printing was to happen. This would notify the machine that the item was about to be printed. A second switch was placed in such a way as to signal printing to commence at which our device would spit out a bitmap that would be reproduced by a dot matrix print head affixed above a label dispenser.
The items entered on a conveyor belt, so the speed was known and constant. The label hung down slightly with a soft spring-loaded arm behind it, so the item would catch the label as it passed, and it was this that triggered the print, to write the code onto the label.

Inside the device were literally five chips. There was a 6502 processor, an EPROM (about 8K?), a small SRAM (also 2K?), a 6522 for the I/O, and a little IIC chip that contained the time and date.
The IIC chip needed to be programmed prior to installing into the device. In order to do this, remembering that it needs a battery to retain the data, we had a funny little clamp that could attach to the chip making contact with the chip's pins. This would be connected to the printer port of a Master Compact. It used the Centronics port, so would only work on the Compact. It was all handled by a simple little program that set the chip to whatever time the system said it was.

Development was being done on an Acorn Master 128 hooked to a dual 3.5" floppy. I think it was a Cumana or Morley upgrade.
I was hired immediately because, well, I'd seen a BBC Micro before and knew my way around BASIC. My 6502 was kind of beginnery, but I had some notion of what was going on.

That's when things headed south.

Turns out, for all of the cost of the devices (and it was a lot of £££s), the firmware was slow and rubbish and the most mind blowing thing, to me, was that they were actually assembled as needed by the secretary.
Yup. Emily would push her typewriter away, plug in a soldering iron, and bring out a case full of little plastic boxes containing components. It took her about an hour to assemble one.

I can't imagine there's a particularly big market for such a thing, but alas, a cupboard was full of bare circuit boards and little plastic box halves. It would seem as if he got a "good deal on a job lot"...

The nameless guy did some coding, but a lot of his time was spent with some sort of really basic IBM XT and oscilloscopes (multiple) trying to suss out the protocol used by the printers. The one we currently supported was indeed simple. It was, if I remember, a single line of pixels that took a bitmap. The labels were about an inch across, and the resolution wasn't great, so I'm going to guess maybe four bytes (32 bits)? If I sound a little vague on the details, it was three decades ago and you'll soon see why I'm not fancying remembering the details.
Sending the data was a case of outputting each byte (parallel interface) and pulsing a pin to clock it in. There was probably some delay necessary to have the data accepted, but it was less than the time it took to fetch new data, so it could simply be spat out as fast as the device could manage.
When it had all been done, we'd pulse a different pin to get it to actually write. It was silent, so I'm guessing some sort of thermal gizmo?
But that was the current printer. I think Nameless was spending most of his time swearing at some oddity that took a series of vertical strips.

We cheated slightly. The EPROM contained bitmaps for all of the possible numbers, so we simply looked up the correct bit of data and stepped through it, outputting it as necessary.

As you can imagine, the timing had to be precise to get this to work correctly, so we had small gaps between each strip that was due to the time taken to work out everything. Da Boss tried to fudge this away by having equal gaps in the bitmap, so we'd literally be using every other pixel. But... while it worked it wasn't good.

As a programmer, we were supposed to use our knowledge and abilities to turn a specification into working code.

That's how it goes, right?

Sadly, Da Boss, who knew very little about processors and quite a lot about bullshit, wanted the specification to be followed exactly.

Now, a part of the firmware that I did not touch (as I didn't really understand it) dealt with fixed point maths. The previous guy wrote it, as far as I could tell he was way smart (he designed the circuitry too) but couldn't handle the working enviroment. Anyway, we had a set of routines that used 32 bit values split up as 16 bits for the number, and 16 bits for the fractional part.
Da Boss had figured out that this was how the thing counted, so his gibberish specification was very clear that all numbers and counting had to use the fixed point system. So we would read from the NVRAM some values such as Year, Month, Day, Hour, and Minute. These would be converted to fixed point, as the actual code written onto the product was "XXXXX-YY", where the XXXXX was a sequential number that represented five minute intervals since the 1st of January, and YY was a sequential number that represented each item in turn, which would reset when the big number changed.
So, the company could take an item number such as "34246-07" and know exactly when it was made, but it would be obscure enough to people who didn't know the trick.

So far so good, right? Well, then we come to things like the array offsets to access the data. Since this was all written in the specification (including calculations far more tortured than anything I'd have thought up), the numbers would have to be treated as fixed point, and repeatedly downgraded to straight integers in order to give the processor something to index by. Multiplying by two meant an expensive (in terms of instructions executed) multiplication routine instead of ensuring the value was in the accumulator and ASL A, literally two cycles.

I was also extremely worried about the counters. The fixed point system, by virtue of being split into two 16 bit halves, could count from 0 to 65535. I know that number as that's the addressing range of the processors of this generation (6502, Z80...). Sixteen bits.
So, let's see. The value bumps every five minutes. Which is 12 times per hour. There are 24 hours in a day. This thing runs all the time, not just work hours. There are 365 days in a year (we'll gloss over leap years).
That means... oh my god... this thing is probably going to reset around the middle of June. This year.

We were not permitted to talk to Da Boss, he was far too busy racking up god knows how much in very jovial phone conversations spoken far too loudly. So we had a notebook in which we should write our concerns. I wrote a note about that, and did a photocopy for myself. Which cost me 10p. Yup, the office copier took coins. And gave back a horribly lousy, but readable, copy.

Next day, came to work, page ripped out. Oh well, I did raise the question. I noted at that point that it seemed quite a few pages had been ripped out.

Development was done on the BBC Master using some peculiar BASIC editor. I can imagine that whatever it was would be ARMBE once ported to the RISC OS platform. I don't recall the name, only that the display was white on blue and it was one of the gap modes, so each line of text across the screen had a black bit in between. MODE 4 or something? I'm too lazy to pop over to MDFS to look up the old screen modes. If you've used the Beeb, you'll know what I mean. If you haven't, it's not important.

I didn't actually have any actual job other than "implement the specification". Looking at printouts, the specification was actually implemented. It's just the specification was utter crap and the control freakery of slavishly following a broken spec meant that there was no room for compromise.

I did try to suggest some ways to optimise, such as keeping the internal address offsets as bytes rather than converting to and from fixed point. For that, I got berated. Told that I was useless, would never make it, and so on.

My youthful naivety probably got the better of me. I spent the next few days on a copy of the code making various improvements. Two things turned out to be rather useful.

The first was getting rid of all of the unnecessary fixed point nonsense and simplifying the memory offset calculation to use shifts instead of multiplies. The 6502 has no multiply instruction. That sort of thing wouldn't turn up until the W65C816S by Western Design Centre (long known for their 6502 improvements). Anyway, there was no need to multiply by eight if you could just shift left three times. Okay, it was marginally more complex if you were working with byte pairs as you'd need to deal with the carry (shifting a value off the end), but we're looking at maybe ten or fifteen cycles. Not however many hundreds it would take to construct a byte pair, translate than to fixed point, perform the multiply, translate them back from fixed point, to then use.

As an aside, I realised that as a cheat if I knew we would only be dealing with integer values, there was no need to deal with the translation routines. Simply stuff the two bytes of the sixteen bit value into the two high bytes of the fixed point number. I seem to recall that they may have been written back to front? Whatever, the top half of the fixed point value was exactly the same as the value as an integer. So, why did the translation code go through so much work to convert it?

The second thing that proved to be useful was that it was possible to send data to the printer device while it was printing. By knowing that, it was possible to actually set off a print, and then fire four bytes at the device, and have it done before the next line came up. With that knowledge in mind, I did away with all of the weird timing code (and endless comments about how many cycles here and there) and simply set the trigger to be activated by so many ticks of one of the 6522's timers. As soon as the timer condition happened, the "print this" signal would be tugged, the calculations for the next number would be performed, then the bytes would be sent to the printer. After that, the system would idle until the next timer interval. Unless there was a new number, in which case that would be dealt with.

I demonstrated this to Da Boss, along with a better bitmap, so it printed nicely.
"Does it follow the spec?", he asked.
"Not exactly."
He reached over, ejected the floppy disc, and snapped it in half.
"Do your ****ing job", he snarled, walking away.

Emily came over to talk to me, feeling that I might be a little down.
I asked her if I should panic now or later.
Because that wasn't my disc he snapped in half. That was the production code.

She showed me a box of discs, and another in her pocket. Apparently he has quite the habit of dealing with stress by breaking things. In the cupboard, the previous development machine. A BBC B+. With a suspiciously foot shaped hole in the upper casing.

I asked her what exactly my job was supposed to be if it wasn't, you know, making the thing work better?

I spent the next week bored out of my mind. Da Boss was basically watching me all the time. Pretty much every hour, or at least, every time he made himself a coffee, he would ask me if what I was coding was on or off spec.
It was on spec. All of it. There was nothing more that could be done according to that spec, so I was basically deleting lines of code and rewriting them. Exactly as they were. Over and over. I've worked on a production line. It was equally boring.

Then the double whammy happened.

Whammy number one. He had picked up a nice contract for supplying some of the devices to a new client. But they had a serial printer and they wanted a way to be able to set the clock themselves.
No problem, we can do that. At least, that's what I imagine he said.

Back in the office, it was Emily that pointed out that the device lacks a serial port. Adding such a thing would need extra hardware. At the very least a serial chip, some line drivers to translate to RS232 voltages, and a bloody great serial socket. As he was seething, she said she can have a try at mocking up something by directly soldering wires between the chips (in his cheapness, he had apparently vetoed bringing out any signals to a possible expansion port) as a proof of concept, but this would possibly need a board redesign.
She didn't say a word, but left it hanging in the air as to how exactly they'd fit this into the case that was only big enough for the current board. Had he bothered to implement an expansion connector off to the side, it could have been as simple as a little daughterboard. But, alas...
Then she made the mistake of mentioning that I would need to alter the code to talk to the serial chip instead of the VIA.

The next thing I see, she's scrambling across the floor as Da Boss is physically flipping her entire desk over, while screaming incoherently about the specification, as if it was one of Moses' tablets.

He stormed into his office to cool down, while it was my turn to go and sit with Emily, who was sobbing by this point. Can't say I blame her, though.

Barely half an hour had passed when the door flung open and Da Boss stormed out and up to where I was.
"WHATTHEF***DIDYOUDO?", he screamed. Some more incoherent screaming until he calmed down enough to say that he was on the phone with a very very annoyed customer. Their entire stock ticketing for the past three days is completely useless as the number didn't count over sixty five thousand.
Stupidly, I corrected him, sixty five thousand, five hundred, and thirty five.
To myself, I also wondered how, if this stuff was so important, it took them three days to notice. But I kept that thought to myself.
He asked me again, what did I do?
I pointed out the note that I had left in the notepad that mentioned that five minute increments would only give a little over half a year before rollover.
He told me there was no such note.
I pulled the copy out of the desk drawer and laid it on the table.
"No, you f***ed something up", he insisted.
I told him that everything was done exactly according to the specification.

He couldn't bear to have his precious baby touched. Rather than get into any discussion that might point out flaws in the spec, he simply said "You're fired, get out."
I was only too happy to oblige. I picked up the photocopy (in case I needed it) and my coat, and was secretly happy to realise that the floppy disc with my better version of the firmware was in the pocket (I gave it a week, then formatted the disc to use in my FileStore; didn't keep a copy, didn't want a copy).

The following four lines of dialogue have been in my memory for the past thirty one years.
"Will you be okay?", I asked Emily. She was still trying to get her desk back to working order. It looked like the typewriter had broken. Her eyes looked a mess.
"No."
"I'm sorry."
"It was never your fault."

I never saw any of them again. I did get a Christmas card that winter with a note inside saying that Nameless (who had some boring name like Steve) and Emily quit days after I left. It was signed E-J with a little heart. So at least I know they bailed too.

 

Well... <deep breath>

It's taken me three decades to want to say anything at all about this. And I have omitted to mention some of the worse bits. Let's just say that I left out all of the very many sexist comments aimed at Emily. I was never entirely sure if he wanted to screw her or just shame her for being born female.

Suffice to say, it was a horrible horrible environment. I did look at working for somebody else, I dimly recall it might have been somehow related to Sun Microsystems? But, honestly, I bailed the moment the guy introduced himself with "yo! bro!".
Thirty years later, I see the Silicon Valley types sometimes get called "techbros", which suggests to me that it's still a toxic atmosphere filled with mysogynistic twats. So I won't retire at the age of fifty, I never made my first million, and I sure as hell didn't have to put up with that sort of thing as my work environment.

 

I did some work following as a "Data Processor" for a company selling property in France. If you're thinking "aha!", then, yes.
The job title, by the way, was bogus twaddle. I did photocopying, made tea, and once in a while entered rubbish into a FoxPro-for-DOS database. Just to ram home the point as to how dumb I thought the title was, I made up some business cards that said "General Protection Fault", as this was one of the most well known system errors in the shiny new Windows 3.1.

Following that, a bit of unemployment (and living in Bridgwater for a while). Then returning back. It's a long story, of a man not unlike Da Boss to be honest, who I don't think ever knew my real name. For some reason he kept calling me "Nicky".
And, then, as a Care Assistant in nursing homes. I actually quite liked doing that. Mostly. Having my extended family (loads of grannies) dying on me, not so nice.

 

But after the experience described here, I've had no inclination to do anything to do with programming as a career. Frankly, I'd rather be poor than be... whatever the hell that is.

I like programming. It's a fun hobby. Even if my knowledge and skills are state of the art for the early '90s (I've not been keeping up with anything, why bother?). I can enjoy a little intellectual exercise now and again.
Sorry, but I'm the kind of weird idiot that derives pleasure in thinking about a problem, breaking it down to pieces, then thinking about how to deal with each step. I wouldn't ever call myself a good programmer, but when I'm mostly writing stuff for my own purposes, good or bad is less important than "it works".

From time to time people ask me if I could just do such-and-such (programming). Sometimes they even offer to pay me. I hope this article, and the ability to read between the lines, helps to explain why I am not particularly interested. It's not that I don't trust or like you, it's that this experience upset me so much I don't ever want to go anywhere near something similar.

I'll give you an analogy. I drowned as a toddler. Fell off an inflatable lilo in a swimming pool in Catonsville (Maryland, US). I did what I was told. I held my breath. For as long as I could. Somebody grabbed me, and in the shock, I was like "ugh", and breathed. I don't know why, I just know I drowned.
I don't recall if it hurt. I don't remember much of anything except waking up in my bed. I think I'd been to the hospital and back, and was pretty out of it.
I never learned to swim. I don't ever want to. And I'm guessing it hurt like hell because I basically need to calm myself (a LOT) in order to be able to put my head underwater in my own bathtub. I rarely do it. There are other ways to wash hair.

Somewhere, deep inside, drowning hurt me.

Somewhere, deep inside, the events of this story hurt me.

 

 

Your comments:

Please note that while I check this page every so often, I am not able to control what users write; therefore I disclaim all liability for unpleasant and/or infringing and/or defamatory material. Undesired content will be removed as soon as it is noticed. By leaving a comment, you agree not to post material that is illegal or in bad taste, and you should be aware that the time and your IP address are both recorded, should it be necessary to find out who you are. Oh, and don't bother trying to inline HTML. I'm not that stupid! ☺ ADDING COMMENTS DOES NOT WORK IF READING TRANSLATED VERSIONS.
 
You can now follow comment additions with the comment RSS feed. This is distinct from the b.log RSS feed, so you can subscribe to one or both as you wish.

David Pilling, 12th August 2022, 01:49
Interesting story. If you'd got a job somewhere else you might have been a programmer(?). When hired you have to go with the flow, no one wants a programmer who insists everything has to be redone from scratch and done their way. OTOH there are always tales about problems being found and ignored by management. 
 
There were various types of programmer I did not become. For example I applied and was shown the door after a short interview for writing COBOL. I didn't think it worth applying to write software to fly planes - but considered it. 
 
With software these things always happen - you can't keep rewriting from scratch every time you have a good idea. But then again attempting to perfect something which is fundamentally flawed is a waste of time. Nothing is ever perfect. 
 
 
 
Rick, 12th August 2022, 11:09
I wasn't insisting on rewriting everything, it would have been far less effort to not. 
 
However, a programmer is supposed to be there to bring their understanding and skills, and if it is possible to spot obvious problems, then those problems should be considered, not immediately rejected because somebody who wasn't a programmer wrote a piece of paper describing in far too much detail what is to happen. 
 
I'll give you a simple example. 
 
You're copying a null terminated string. My 6502 is rusty beyond belief, but as far as I recall it's something like: 
LDY #0 
.copyloop 
LDA (here), Y 
STA (there), Y 
BEQ copydone ; end if byte is zero 
INY 
BNE copyloop ; also end after 256 bytes 
.copydone 
 
How the spec wanted it done... 
 
LDA #0 
; set up a workspace address for this variable 
; push that address into the stack 
JSR convert_a_to_fp 
JSR load_fp_into_y 
.copyloop 
LDA (here), Y 
STA (there), Y 
BEQ copydone ; end of byte is zero 
JSR convert_y_to_fp 
LDA #1 
; point at more workspace, stack it 
JSR convert_a_to_fp 
; point at first workspace, stack it 
; point at second, stack it 
JSR add_fp 
; point at first workspace, stack it 
LDA #0 
JSR compare_fp_with_a 
BNE copyloop ; also end after 256 bytes 
.copydone 
 
Or some nonsense like that. Simply because the spec wanted *all* numbers to be fixed point. The only way we got away with the above was the technical incapacity of the processor to understand fixed point... 
 
Seeing code like that, it's painfully easy to tell what's wrong and why the thing is horribly slow. 
But, alas, that bloody specification was handed down by God herself. 
J.G.Harston, 12th August 2022, 11:29
You've made me remember my time at Watford Electronics. I thought I'd applied for a programming job. After all, the advert said "working in our technical department". I was overjoyed, at last, somebody will actually *pay* me to write programs, and *for* *Beebs* and stuff! Heaven! 
 
It was a telephone sales/support job. I spent the first few days thinking "when am I going to actually do some, y'know, *actual* work? Where's my desk with a computer on it? Where's the server with the source on it so I can review it and get familiar with it?" But no, it was sitting at a desk with a telephone answering calls from people, that's when I wasn't packing orders into boxes for dispatch. 
"I want to order a Taxan TX320". 
"How do I get Quest to rotate an image?" (HTF do I know? I've never even *HEARD* of it, let alone actually read the manual or "played" with the software to find out how it works). 
"I want to order X" Ok, that's 30 quid "No, your advert says £20" Where does it say that? "The advert in this month's AU that I bought this morning" Yes, to keep track of what we sold WE WOULD HAVE TO BUY THE FUCKING COMPUTING PRESS TO FIND OUT WHAT OUR FUCKING STOCK AND PRICE LIST WAS. 
 
And then, about a month or so in, a new person started working, at a desk squeezed into one corner, with a brand-new A-something. A few minutes observation revealed he was working as a programmer. WTF? That was the job I though *I* had applied for, and described in my application letter, and interviewed for, and described my skills and experience for. What The Hell Is Going On???? 
 
It got worse. I realised that financially I was actually going *backwards* by working for them. When I left uni I had gone to my bank to change my address and optimistically told them I'd soon have paid off my overdraft. The manager had said Don't be daft, and raised it 4-fold. They don't make them like that any more. 
 
That and the work environment. Management declared that no more than one person at a time was allowed off the phones to go to lunch. I often ended up not getting to eat until 3pm. Oh, and when I visited for the interview one bit of throw-away conversation was "and down there is the canteen". Wow! Wonderful! I won't have to cook for myself, staff canteen! On my first day at lunchtime I went wondering into the back of the building to get some lunch. After ten minutes I asked somebody "where's the canteen?" He pointed at a sink and microwave. THAT'S NOT A FUCKING CANTEEN, THAT'S A KITCHEN!!!! A canteen is loads of cookers, a lady with a hairnet spooning food onto your plate, and sets of seating to sit down and eat. So, lunch was wandering into Watford town centre looking for food, and trying to get back within 30 minutes. 
 
After about two months it got past acceptable. But I was stuck. I couldn't leave, the wages were what was keeping my overdraft live. Plus, I was renting a room in a flat from the company, so if I left I'd be homeless, along with all my computing kit. I started trying to make some enquiries about alternative accommodation, but not an easy thing to do in a town you don't know and as a brand new independent adult having never done that before. 
 
By chance I'd had a letter from an uncle in Sheffield asking how things were going with the great new job in computing. I explained the situation and he offered to hire a van and give me a lift back to Sheffield, which I grabbed. So, one week on Friday, on payday, after receiving my paycheque (yep, they didn't even do BACS, I had to spend Friday lunchtime at the bank deposting my wages), I popped past The Big Boss's office and told hime I was leaving, and I'd be out of the flat by Sunday teatime (having arranged with my uncle to go on Saturday). On the way out I said goodbye to the post lady, who gave me a hug and wished me well. 
 
Within three months I was in Hong Kong and working for Acorn Far East, writing code on Acorn and PC computers, and maintaining Acorn and PC computer systems, and managing an mixed Econet/Ethernet network, and supporting the equipment deployed in the local schools. And had saved enough to put down a deposit on a house. 
 
Yay! Happy ending! 
 
Not quite. After three years I'd saved up enough, and came back to the UK. Nobody wanted to pay me to be a programmer. Eventually I got a job in the Channel 5 TV retuning project, and eventually leading into my current resetting passwords and changing toner cartridges IT "Engineer" job. 
 
So, after the one little spot, I've spent 30 years trying and failing to get people to pay me to actually use my skills and competences. Three summers work experience before university actually building actual computer hardware and actually writing actual computer code to control it for medical control equipment, and three years after university actually writing actual computer code dealing with stock market data transmission and presentation, plus all the stuff written for myself since about age 12, and stuff written for Micro User and Acorn User. And I see this generally, it's so frustrating how much talent is just screwed up and thrown away. Checking my notes, I applied for about 40 programming jobs between 1993 and 1999, and another 40 "computing" jobs, technician, typist, assistant, sorta stuff.  
 
David Pilling, 12th August 2022, 22:50
ISTR BBC quoted average pay in IT as 60K - tempting go back.
J.G.Harston, 13th August 2022, 03:25
If 60K is the average there must be people on 100K to make the maths work. That's mind-boggling.
Rick, 13th August 2022, 08:22
<looks at my wage> 
<walks away quietly>
David Pilling, 13th August 2022, 18:08
"According to the Office for National Statistics (ONS), the mean average salary across the whole of the UK in 2020 was £38,600 for full-time employees". 
 
Not rubbing it in, just justifying the numbers. It is interesting that they also quote numbers including part timers and medians - because you can have just a few people earning a great deal. 
 
TV News makes you think everyone is poor - quite a lot are not. Old blokes like me, think 10K a year would be nice, but things have moved on -  
 
"the median starting salary for UK graduates in 2020 is expected to be £30,000" 
 
ISTR I got... a couple of K, because I was doing a Ph D. 
 
Rick - you have a lifestyle which would cost a lot in the UK. If as they are, you're paying 500K for a small terrace house in London, you need a big salary. 
 
Rick, 13th August 2022, 19:58
"you have a lifestyle which would cost a lot in the UK" 
 
Holy shit, Mars bars cost that much? 
 
Seriously - I don't drink, I don't socialise, I don't smoke, or do drugs. I eat a lot of pasta, and not a lot of meat. My car is...a toy. I don't even <cough> do fast food any more </cough>. 
 
My TV is my phone. My most recent computer is a Pi 3B+ (and I didn't even buy it). My PC runs XP and cost about a tenner. Monitors? Other tech? I think the only thing I've bought new was the inkjet, and that was years ago... 
 
So what part of my life is expensive? 
 
If you mean "I own a home", I inherited it (yay mom!). 
 
Mom was very clear with one lesson. Never use credit. The only exception I made to that rule was a bank loan for the first car because I "need it *now*". It's still get 10 months to pay, but it's a tiny amount that I don't notice. 
No mortgage, no credit cards. My "debt" is that one loan. I could pay it off today, but why bother when keeping up repayments will get me a credit score? 
 
And, frankly, unless I had the sort of job that would allow me to spend that kind of money on a house in London, I wouldn't be looking for a house in London. Or a job in London. There are plenty of nicer places that don't cost the earth. 
David Boddie, 14th August 2022, 00:00
""the median starting salary for UK graduates in 2020 is expected to be £30,000" 
ISTR I got... a couple of K, because I was doing a Ph D." 
 
Yes, but back when I was a student you could get a grant as an undergraduate and awards from the funding councils. These days, kids have to take out loans to pay tuition fees and all the other expenses. Plus, you would hope that pay has gone up somewhere close to in-line with inflation after all those years.
David Pilling, 14th August 2022, 13:20
Clearly there has been a lot of inflation since I was a new graduate. Back then only 10% got degrees, now it is 50%. 
I'll never live down the grants thing. I'll raise you a 70s secondary modern school education, or no internet. 
A lot of people do live in London, and they are in the figures for average income. 
J.G.Harston, 14th August 2022, 13:48
Yeah, my first salary was £6k, and 'twas luxury! That median starting salary for 2020 graduates is more than I'm on now 30 years later! :) 
 
From memory my grant was £1950 a year, and after three years I was £2k in debt, so living costs was 1/3 greater than income. When I got my first job the bank upped my overdraft limit to £4. I didn't pay everything off until about three years later when I was working in Hong Kong.
J.G.Harston, 14th August 2022, 13:54
RE: coding ineffecciency. I've seen loads of code that does something like: 
LDA xxx:CMP #0:BEQ .... 
But loading sets the flags anyway, so it can be: 
LDA xxx:BEQ .... 
 
The worst was something that did something like: 
repeat 
PROCcheck_for_changes 
for a=0 to max 
print tab(x,y+a);status(a) 
next 
until forever 
 
So, if nothing changed, it still spent 90% of its time writing to the screen. I changed it to something like: 
 
repeat 
a=FNcheck_for_changes 
IF a THEN print tab(x,y+a);status(a) 
until forever 
 
That resulted in 90% of the time it *didn't* *do* *anything*. The response went from "enter command, wait" to "enter command, oh, it's already done". 
David Boddie, 14th August 2022, 14:43
"Clearly there has been a lot of inflation since I was a new graduate. Back then only 10% got degrees, now it is 50%. I'll never live down the grants thing. I'll raise you a 70s secondary modern school education, or no internet." 
 
I had an 80s secondary modern education and no internet access until university in the 90s. Grants weren't huge and it was expected that you got a parental contribution. There were tales of students who had to take their parents to court to get that! 
 
I think I must have been one of the last people to go through the UK system before it became all about taking loans and paying fees. I only had to pay continuation fees for the last year of my Ph.D. and those were nominal.
Rick, 14th August 2022, 14:51
In the mid '90s I looked at doing an OU course, given that I finished school in 1990 with a bunch of GCSEs (and an RSA IT award done as local nightschool which meant I officially knew how to use Microsoft Works...), but the cost was rather a lot. 
I was sent a copy of the student's magazine, and there was plenty about the increased costs there too, not to mention vastly different costs, IIRC, for non English students (as in Welsh and Scottish, never mind overseas). 
 
I'd like to swot up on geology/earth science, but since it's for personal interest rather than "get a degree to get a job", I'm afraid I can't justify the expense.
Rick , 14th August 2022, 14:53
Oh, and one I've noticed in some online American schools, the course itself is free but it depends heavily on a certain textbook (or two, or three) that happen to be written by the lecturer, only available from the lecturer, and $$$$. 
David Pilling, 16th August 2022, 16:49
The Open University seems a bit exclusive for something that is open. I thought about it, but was lucky enough to enjoy the real thing. I don't really rate my experience highly. It just was not that good. Some lecturers were bad. Today you can watch lectures from the best Universities in the world on You Tube. 
I have this idea that conventional Uni is doomed. There are probably 120 Universities in the UK that offer a course on quantum mechanics every year, each one with their own lecturer. A lot of them will be poor. Most will be saying the same thing and using the same books. Why not just issue the video and notes from Cambridge. Save employing the other 119 guys. 
The idea that Uni will provide magical lectures and one to one tuition, I don't agree. Yes there was some one to three tuition, an hour a week for 19 weeks a year. But when you're in a lecture theatre with 150 kids, you're not all going to ask questions at the end. 
Really they could get the same results for a fraction of the cost in a fraction of the time. 
You could easily call it 18 weeks a year - because the first week was settling down time. Consisting of lectures and the tutorial. 
I should declare that I did Physics, so there was one day a week in the lab. 

Add a comment (v0.11) [help?] . . . try the comment feed!
Your name
Your email (optional)
Validation Are you real? Please type 63922 backwards.
Your comment
French flagSpanish flagJapanese flag
Calendar
«   August 2022   »
MonTueWedThuFriSatSun
1246
8101213
161820
222325
2930    

Advent Calendar 2023
(YouTube playlist)

(Felicity? Marte? Find out!)

Last 5 entries

List all b.log entries

Return to the site index

Geekery

Search

Search Rick's b.log!

PS: Don't try to be clever.
It's a simple substring match.

Etc...

Last read at 06:06 on 2024/03/19.

QR code


Valid HTML 4.01 Transitional
Valid CSS
Valid RSS 2.0

 

© 2022 Rick Murray
This web page is licenced for your personal, private, non-commercial use only. No automated processing by advertising systems is permitted.
RIPA notice: No consent is given for interception of page transmission.

 

Have you noticed the watermarks on pictures?
Next entry - 2022/08/14
Return to top of page