Joined the Navy, did telephones and gyrocompasses. My first job out of the Navy was for a military contractor, and part of our contract was keeping engineering studies up to date. All paper based, and if you changed one thing then you had to flow it all through again, manually, on a new form. Or use whiteout. It drove me insane.
So I taught myself how to program the department's minicomputer (don't remember the machine or the language). Now we could make one change and the program would flow it through and print out a fresh new paper for inclusion in manual folders. Wheee ha!
I quickly figured out that that was much more interesting than my actual job, so I quit and went to school.
On my first job at an internet cafe, business was slow, so I took the liberty of building a website for it. The owner got happy and told some other people that I could build sites. And then people started paying me to build their sites. I learned Flash, PHP and Javascript as I went (yes, Flash was big back then).
After I got a more fundamental grasp on programming, I started to learn about more advanced stuff on my free time (reading about algorithms, different programming languages, design patterns, etc).
Now I make a pretty decent living with a interesting job, get occasional unsolicited job offers, and I have an open source project that people keep saying they like ( http://lhorie.github.io/mithril ).
Moral of the story: I like programming.
He offered me a challenge:
Build something to parse the weather data we receive in .csv format everyday, and then display the correct weather background loop for the weather guy.
I took him up on it. I learned enough Java (to be fair, I had taken an intro to CS class a year or two prior) to cobble together a GUI based program that would send commands via TCP to the VizRT servers (commercial graphics system for broadcasters) and that would control which background clip (sunny, rainy, snowy, etc.) would play. I would read in the .csv file and then extract out the info I needed to determine which clip to play.
I expanded the program to monitor the VizRT servers. It would ping them and if no reply was received I would display the server IP, and highlight it in red to signify an error.
This little side project is what really set me off on the course to learning programming for real. I started looking into alternative education and learned about Dev Bootcamp, a coding school in San Francisco.
Long story short I started learning to program ruby on my own, I applied to Dev Bootcamp, got in, graduated this past March, and I'm now currently on the job hunt. This entire process took just over a year. I've now won hackathons in languages I wasn't even taught (objective-c) and I attend a bunch of local meetups and learn more about programming every day.
I kept a blog for most of this journey, which can be viewed at http://www.rickarubio.com if you'd like to read more about how I transitioned into programming.
You can also check out my code on github: https://github.com/rickarubio
Or follow me on Twitter: @rickarubio
If you're considering learning to code and being a programmer, now is a great time to start :)
Feel free to msg me anytime if you'd like help on learning to code in Ruby or JavaScript!
After successfully created my overlay layout, I decided to create a website for our group of friends. I then uploaded it in Freewebs (now http://www.webs.com/). My teacher saw that site and ask me to join a competition. I won awards and made it up to 6th place in the national competition.
That was my realization. I realize that I can do and I want something like this. I decided to take up Computer Science in college. Learned how to code and that was it.
Thank you Friendster.
Got hooked and for X-mas a couple of months later, my mom got me a TRS-80 color computer.
I deviated into other fields and although I have been Linux enthusiast for a long time, finally came back to programming about 4 years ago, first as a hobby, then as people I knew needed some stuff that I knew I could write, professionally. I haven't looked back since (although I was making more money before... I really love programming and don't want to do anything else anymore... damn you TSR80!)
I was immediately hooked. Love at first sight.
I got one of those babies: http://en.wikipedia.org/wiki/VTech_Laser_200 and since then I'm programming :-)
Unfortunately the tape-player was broken, and because this was back in the 80s in the UK there was basically zero chance of catching the store open and getting an exchange made until the new-year.
So the new computer enthusiasm was killed in my sisters, and I enjoyed myself reading the manual, and typing in examples from it, then later games from magazines, and similar.
That's what fuelled my programming: Typing in code on a ZX Spectrum, then later writing my own in BASIC and then z80 machine code. From there I graduated to machine-code/assembly on the PC, Java, C, etc.
I assume I'd have been curious how the black-box worked eventually anyway, but I do wonder how things would have turned out if we'd had a working cassette player all those years ago.
It had some code in it.