When I was in University, I was hired to build the operating system and an application for a Z80 processor - yes THAT long ago -
They expected me to do this with no training or experience, but faith that I could do it. I was tutoring the 4th year Engineering students in digital logic and assembly programming, and one of my students recommended me for the position.
In 4 months I built what they needed and the next year they asked me back.
---- what was great for me was what happened next ----
I had to rework the application to include many more features, for making the first automated credit card verification system ever attempted. They made a special phone that could call my system, and I'd have to construct and send a database request faking a 3270 terminal asking for a credit check, and parse the results and determining 'yes' or 'no'
When I started work I discovered I was a TERRIBLE programmer. I could hardly read the code, even if it worked fine. So the first thing I had to do was to completely rewrite the original OS to make it useful in the new role.
It taught me that I have to code for an idiot to read, because sometimes I am that idiot.
I got to do a landmark thing in the history of computing. And I got paid enough to get back to school.