How I Became a Programmer
I never had any plans to be a programmer. Truth be told, the first book I ever glanced at that had anything to do with technology was an O'Reilly book on DNS management. It was like reading a foreign language. I had no clue what was going on, and every single concept was well above my head.
This isn't to say that I wasn't into technology. I owned a Commodore 64, complete with a datasette. I toyed around in Basic, and became captivated by the emerging cyberpunk culture in the 80's. Creating programs was fascinating, but as a career path? I was too much of a dreamer. I didn't think I had the discipline to work in computers for a living.
What I did enjoy was comic books and card games. When I graduated high school in 1997, the card game Magic the Gathering was becoming increasingly popular, and I decided to start buying boxes of the card game wholesale and selling the individual rare cards, as well as hosting tournaments. This wouldn't be my first foray into business though. When I was 16 years old, I blew out half of my knee playing a pick-up game of basketball in my backyard. While I was recovering from knee surgery the Summer between my sophomore and junior year, I took out ads in Basketball Digest magazine to sell a booklet on plyometric exercises to help young athletes strengthen their legs to jump higher (dunking was all the rage, of course). This brief taste of entrepreneurship gave me confidence to take on other ventures, which was why I jumped at the opportunity to get into the collectable card game secondary market.
At that time, money was to be made at conventions and tournaments, but not enough to actually constitute a job. The Internet, however, offered a much better opportunity at steady income. First I began selling rare cards on eBay, but it soon became obvious that a web site was in order. My girlfriend at the time was big into computers, and actually took some programming courses in high school—although most were Visual Basic. I went to the bookstore, bought a book on building web sites, and gave it to her. Web sites at that time were expensive to have others build for you. In fact, there was a company at the time cold calling, offering one-page web sites for $100 to build and then $20 a month to host. I figured if I could get my girlfriend to build the web site, it would obviously cost a lot less, and I would have more control over the design and the content.
Eventually, I closed down the eCommerce store as margins on boxes of collectible card games continued to fall, eBay became the primary source for rare cards, and Magic the Gathering began to lose steam. I continued to refine my programming skills doing work for a vitamin store and a home healthcare agency, which included adding new languages to my repertoire.
Although I had been doing web site development for a little while, my big break in software development came when a family friend--discovering that I knew Java--decided to hire me as one of his developers, and bring me to North Jersey for a contract he had with a technology division of AIG. At the time, AIG was still the giant company financing Boeing jets, and running around with its hand in everything that could potentially smell of money--long before the 2008 crash that humbled it a bit. During this period (2001), AIG had many technology divisions, and some were even working on the same product ideas and/or solutions. My boss, Al Horton, president of Series-I Support Services, joked that one hundred million was the magic number. All you had to do in AIG to get your own division was pitch an idea and tell the higher ups that it would be making one hundred million dollars in five years, and they'd give you a building and a budget.
Al was a burly guy, well over 6 foot and 300 pounds. He also had a glass eye that made it difficult in meetings to tell if he was listening to you, or ignoring your ideas. Imagine this giant American overseeing roughly 50 programmers made up mostly of Indians, with a few Pakistanis, Russians, and Chinese. Despite his intimidating size, he was also the type of guy to suggest a toga themed party for the company holiday (vetoed by human resources). Politically incorrect wouldn't even be the word. This was a guy that, being unable to pronounce a new Indian developer's name, rechristened him Bob, but the Indian team loved him so much that this individual (Abhijit) actually introduced himself to me by his new name--even having a folder on a shared drive called "Bob." The team loved his so much that many of them were in tears when he and I finally left the company later on.
Insurance was the name of the game, and even today insurance software is one of the largest segments of the industry. Java was the programming language of choice, and after a failed attempt at upgrading an old insurance application to a Java applet (Swing forms) front-end, Al was brought in to evaluate and adjust the development process. The applet was trashed in favor of Java JSPs and Servlets, and at the time Servlet technology had not long entered into its 2.0 phase. .NET wasn't even at 1.0 at the time. I remember reading about one of its 0.9x branches in a tech magazine while waiting outside the vice president's office.
The dot com bubble had just burst, and I was unlucky enough to join the corporate world a few years too late. At the time, H-1 Visas were flooding the market, and many of the Indian, Pakistani, Russian, and Chinese workers that I socialized with were in fear of returning home if cuts were made. Consulting agencies were dropping hourly rates, and Al--who was consulting as the director of development--was able to swing deals in which we got new developers from overseas for free for several weeks, as a trial, before committing to any.
In our little division of insurance programmers XML was being used to map form elements in JSP pages to data elements in an older COBOL program. The JSP/Servlet upgrade was more of a front-end that still had to connect to an older ratings engine. XML was certainly being utilized in a proper way, but wasn't optimized appropriately. XML DOM objects were heavy, especially in those days, and each JSP page had a corresponding XML document that was being loaded into memory. Anytime IBM Websphere was restarted, all of these DOM objects were being loaded into memory, and it made reloading the application a beast to handle, and required more resources than necessary.
Eventually, management changeover in our subdivision of AIG led to larger changes within the organization, especially as milestones began to slip (for various reasons outside of programmer control). Al Horton pulled me as a consultant, while setting up a three-way agreement to have me build a printing application based on a 3rd-party purchased software for our slice of AIG technology. This limited my travel extensively (cutting out the two-hour commute), but ended up being my last project for the company. After tackling an upgrade for software on a handheld terminal for one of Series-I's longtime clients (hurray for COM interfaces), I decided to move on to newer opportunities.
How did I become a programmer? While going to college and working part-time at a hardware store, I offhandedly mentioned Java programming to the store's owner. One week later, I was a consulting with a division of a fortune 50 company.