One of the things I don't talk about much is my development history. It's not that I mind talking about the journey that got me to this point, but I just don't think about it all that much. I decided, though, it was time to document it so that anyone who might ever be interested can know.
Thanks to my late father, my interest in computers and programming started very early. I still remember the day he brought home a little black Sinclair ZX81 computer. I was around 9 years old and I loved tinkering around with the "massive" 1K of memory and the membrane keyboard that was nigh impossible to actually type on. We added a cassette recorder for tape storage, the tiny printer and eventually the huge 16K RAM add-on memory block. It was fun to play around with and I would spend hours entering lines of code copied from a magazine or book. It was my first introduction to programming (and the BASIC language in particular) and it has stuck with me for a lifetime.
We followed that up about a year later with the sequel to the ZX81, the Timex Sinclair 2068. It was a massive improvement over the ZX81, with a ROM cartridge port for game and app cartridges, joystick ports so you could attach your Atari 2600 joysticks and SOUND! It also upgraded the keyboard from the membrane mess to a passable chiclet style keyboard so you could actually do some typing on it without driving yourself too insane. We got several game cartridges, but the only one I remember was a flight simulator game. It had a small map, a single rectangular box runway and a couple other vague features. At the time, it was amazing and I spent many an hour flying my virtual plane around.
Unfortunately the TS2068 suffered from timing. It never had a large following, at least in the US, where the Commodore 64, Atari 400/800 and Apple II held dominion. As such, a couple of years later, I talked my dad into getting the new Commodore 128. Boasting full compatibility with the older Commodore 64 as well as its own, more advanced content, it was an amazing machine for its time. I finally had a machine were I could trade and talk about games with friends as well as write some of my own. I spent hours playing and pouring through the code for Castle Telengard. It was a great game because it was written in BASIC and you could easily browse through all the source code.
It was also the time when I got a rejection letter from TSR. I had gotten pretty good (I thought anyway) at writing games in BASIC on my C128 and had an idea for writing a game based on TSR's Star Frontiers role-playing game. So I wrote them a letter telling them all about my experience, what my idea was, and how I would be happy to write a game for them and they shouldn't worry that I was just a teenager. What I got back was a politely worded, but very clear message: 'We do not approve and if you proceed we'll sue your ass'. I got the message. Of course, it was right about this time that TSR abandoned Star Frontiers, so it's probably for the best.
About that time I also lost interest in development as a career as other careers drew my interest. For a short time I was interested in being an Army Apache helicopter pilot, but got to be too tall and too nearsighted. Then I was interested in being an architect for a while and took a drafting class in school. While that was fun, I eventually decided to not decide.
I spent a few years doing other things and eventually ended up in school as a Comp Sci major. At the time, they were teaching it in Borland C++. For one reason or another, it just didn't click. I eventually got married, dropped out of school and ended up working in retail.
My first programming course was ASP.NET webforms with C# 1.1 on the back-end using Visual Studio. It almost immediately clicked with me. I found the drive to work hard and learn all I could. Eventually, my second school experience covered Java, VB.NET, PL-SQL, T-SQL and COBOL, but .NET was what interested me most.
During my last year in school, I found a junior dev part-time position with the State of Ohio and spent a few months maintaining a few basic classic ASP and .NET 1.1 apps. There wasn't much to it, but it helped me get some job experience while I finished school, and that was key.
After graduation, I landed a full-time dev job with a local bank. It was VB.NET instead of C#, but that was fine. It was still .NET. I spent a couple years there, developing the app in .NET 2.0, throwing in features as I learned about them, like AJAX partial page refreshes and so forth.
Unfortunately I had been placed on a team that had two major problems. First, I was the only .NET developer on the team. As such, I had no one to learn from, ask questions of and so forth. My only resource was the internet, and this was in the dark ages before StackOverflow. The second problem was that a few months after I joined the team, the manager that hired me left to go back to the business side of the bank and that started a string of one manager after another, half of whom clearly didn't want anything to do with our team (Our team was located in a different building from most of the IT staff and were thus considered "outcasts"). After a couple of years of this and multiple rounds of layoffs and outsourcing, I'd had enough and left.
Over the next few years I worked a couple of contract and full-time positions with a health insurance company and global bank. At the bank I went from contractor to full-time to team lead over my few years there. Eventually, I decided that I was spending far too much time administering and not enough actually developing. It was time to move on. I found a position as a dev with a marketing team. While I enjoyed my position there, I was a contractor and it was clear that they weren't interested in having me on there full time. This didn't really fit with my long term plans. Fortunately (or not?), after a couple of years with them, the company was acquired by another company. The result was that my position was changed to internal development for the new bosses as part of a team scattered across the country. It wasn't at all what I was interested in, so I started looking once more. That's when I found the best job I've ever had.
I found a home with a small company where I was given the opportunity to take a v1 product and essentially green-field redesign it as v2. I was given a free hand to build a small dev team to rework the product and position it for the future. We've been through some times of struggle, but we just released v3 and the customer feedback has been fantastic. I've really found a home where I'm at.
At times I also do side contracting and personal development and have great love for both personal and professional development. When I go with these side projects, it's always something that I enjoy doing and I find it just adds to my professional enjoyment of development. Development is one of the great joys of my life. It's where I want to be, and I'm glad I'm here.
And that's my story....