I became interested in computers in around 1970 when my school acquired a computer terminal (Teletype machine using dial-up with an acoustic coupler, using paper-tape for storage) connected to the ICL time-sharing system at the local university, so I got a vacation job with the IBM manufacturing plant at Havant, near to where I lived. As they mainly used computers to keep track of parts and orders, they suggested I might be interested in working at IBM's UK laboratories at Hursley, so I applied to work there for 9 months between school and university in 1974, where I joined as a software developer on the PL/I Optimising Compiler, with a green screen on my desk connected to an IBM mainframe.
I then went to university (Imperial College London) to study Computing Science, partly because they advertised that the course would be using an IBM mainframe for interactive access, but they had hopelessly underestimated the size of machine necessary to support the course, so instead we had to submit batch jobs on cards to a mainframe at UCL. I also found I already knew most of the useful stuff, so I got very bored. They said it would get more interesting in the second year, but it didn't so I looked around for a job and dropped out when I found one. I spent about 7 years writing software for IBM mainframes (mostly Shadow II) for Altergo Software in London, then four years in Gothenburg, Sweden, enhancing the "GUTS" mainframe timesharing system which Altergo had been marketing for commercial use.
For various reasons I then thought about moving back to the UK, and got a job with IBM Hursley again in 1987, this time as a developer for mainframe CICS, then MQ, then HLASM.
Unfortunately, each time I successfully complete some huge development project, management tend to get nervous upon seeing the amount of work I have achieved, and express worry about how they are going to support it, and several times they have ended up cancelling follow-on projects, sometimes after I have done considerable work on them. This is despite the fact that in my entire career I've had very few defects found in my design or code and our service teams use my work as their standard example of well-documented high-quality code (but admit that it goes wrong so rarely that they haven't had much experience of trying to support it in practice). Anyway, this has resulted in me getting fed up with not being allowed to do what I think needs doing (and often being told instead to do repair work on stuff which was not done properly in the first place) and looking for a new internal job several times.
During this time, IBM also discovered that I'm very good at debugging, even though that skill is rarely exercised on my own code, and I have a wide yet fairly deep knowledge of the IBM mainframe environment (not only z/OS but also z/VM and z/VSE). When the primary support person for a Hursley product (GDDM) was off sick I was assigned to take over, and also to help other support teams in the USA. After various retirements and "resource actions" I am now the sole remaining member of all of those teams, and I've now taken over service ("level 3") responsibility for 11 IBM product families such as GDDM and VS Fortran, as well as helping other teams with tricky debugging. Much of the time I have very little to do, but that's typically interspersed with being expected to provide rapid expert answers to technical questions about things which I hadn't previously heard of, which is quite terrifying, but fortunately for IBM, I seem to be mostly very good at it. I also spend some of my time documenting how I do my current job, for the benefit of the "team" who will need to take over if and when I decide I can afford to retire.