The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
In the good old day before the internet shipped on convenient CD's (South Africa got mainstream internet way later than 1st world countries) we played all the games we could get our hands on. Once we finished them all the only thing to do was to write our own games. I was still in primary school at the time. First year was QBASIC, but luckily 9 years of Turbo Pascal followed. I coded graphics for more than 5 years before I wrote my first "Hello World" console app.
Before I started college, I knew I was going to have to learn programming as part of a BSEEE degree education. I found a book at the local library on FORTRAN II, and I think I memorized it. As a result, I aced my one programming class. My interest was in the analog and RF stuff that took math and physics knowledge that the digital kids couldn't fathom, so never followed up with it.
But in my second year, I got a job at another, private, University, and they had a project that had been abandoned as hopeless by the previous lab tech. It was an Altair 8800, mostly assembled then ripped apart in frustration by my predecessor. He took the documentation with him when he left. I completely disassembled it, phoned MITS to get a new schematic, and rebuilt it correctly. It still didn't work, and I figured that it was a memory card issue - 4 cards x 1k. I found the manufacturer of the cards ($400 each back then) and after talking with their tech support, applied the recommended repair procedure - hook up the power supply tabs on the card edge connector to a variable supply, set the voltage, then increase the current limiter until something smokes. That worked, removing a solder bridge from a couple of the cards.
Then came the problem of using the thing. There was no such thing as an application, nor an operating system, but there was a monitor - PL/1 I think it was - and the school was too cheap to pay for it. Fortunately, we had an ASR33 Teletype on hand, so I designed and built a S-100 card to allow the Altair to connect to the ASR33. Then, with the help of excellent documentation published by Intel, I wrote a monitor program to listen for activity on the terminal port. Once that was working, having to enter it each time in binary using the front panel switches on the Altair, I got it to send the memory dump to the paper tape punch on the ASR33. That took several tries, owing to power glitches that reset everything. But once I got that done, I could enter a mere 16 bytes of code from the front panel to make a bootstrap loader, install the tape in the reader, and toggle RUN on the front panel.
From there, the powers that were told me that their students couldn't be expected to program in Intel opcodes, so I had to make another, rather long, paper tape. Still using the native machine code, I created an Assembler, which allowed students to write (and type) programs using the customary assembly language pseudo-English notation, rather than all ones and zeroes.
Having done all that to make a collection of circuits make electrons do my bidding, I was hooked, and I entered the field of automated testing, combining hardware design with programming. I haven't had near as much fun since I left that field.
Conway's Game of Life. I'd programmed it in the Tiny Basic, that was included in the ROM of my first home-made computer in the early 80s, and it ran so slowly that I learned 8080 assembler programming. My first 'real' language. I was hooked!
In 1968 I was in my final year of high school. I won a prize in the University of NSW maths competition and at the prize-giving I met a professor who told me his son was making money out of computer programming. He recommended a Fortran IV course that he was running that involved a weekly lecture over the university's radio station and submitting via the mail batch coding sheets that were punched to cards and submitted to an IBM mainframe. Making money that way sounded more attractive than the part-time work I had at a supermarket so started. Luckily the first program I wrote (5 lines long!) worked. I still have the deck of cards and the printout today. So I was encouraged to stick with it. When I got to university the following year I found the Computer Science department, graduated 4 years later, and thus began a 45 year career in programming that finished in 2017.
Playing Oregon Trail in the 4th grade in the mid 80's.
Later when I reached 9th grade the TI-85 was hacked and someone wrote a loader for compiled binaries. Thus began my journey down the rabbit hole and began my obsession with hardware hacking and coding. I initially learned z80 assembly and basic but quickly moved on to Turbo Pascal, Turbo C and x86 Assembly. I was hugely interested in the demo scene in the 90's then windows 95 came along.
I moved on to learning Visual Basic, Visual C++ and started learning HTML, php and web development.
Eventually I did a stint with java for about 6 years and then have been doing .net and c# development for the past 8 or so.
For me, it was a case that my chosen profession (Electronics Design) was just not a viable profession in the city where I lived, so I took programming as a way to expand my options for employment and have been programming ever since. It has it's own type of excitement and sense of accomplishment which I have found is different from the sense of accomplishment with creating an electronic gizmo. I was smart as a kid too, and still can learn anything I put my mind to some 40 years later.
Having said that, I really like creating corporate intranet sites as it is very rewarding to make people happy/excited for what they can accomplish with the right solution.
I was hanging paper and tapes and feeding punch cards. There was an IBM video course on Assembler in a closet. Looked like a challenge so I committed many hours of my off-work time to viewing (and reviewing) them until it stuck. It impressed the manager and he gave me an opportunity.
Worked up to CIO and now, at the tail end of my career, I code in C#, SQL, and batch jobs. Full circle.
I was in the infantry stationed in Italy when the PX (Post Exchange) started selling PC's. I bought a Tandy 286 with dual floppies and took it home. Now what? I found it had gwbasic on the disk. I started 'playing' with it to see what I could do and was hooked from then on.