Steve Bryant suggested that Aug 1, 2011 be “How I Got Started in ColdFusion” day. I think that is a great idea, and would like to share my story.
I always had a love for gadgets and machines, which naturally led to a love for computers. I wrote my first program, Tic Tac Toe, in Basic on my family’s IBM PC Jr when I was in 7th grade or so.
When I went off to college, I decided early on that Computer Science would be my major. At this point, I had already been building websites for a few years while in high school. First, I would toy around with HTML on sites like Geocities and Angelfire, creating webpages for myself and family members. I used all the sweet tags like
<blink /> and
<marquee />, they were awesome! :)
Around 1998 or so, a volunteer at my church gave me an opportunity to assist him with maintaining the church’s website. It was mostly static HTML, with some bits of, GASP, PHP mixed in. This was my first taste of server side web development. That said, most of what I helped out with, was the weekly posting of newsletters and schedules to their respective pages. Rather than simply manually convert the text from the newsletters and schedules into HTML each week, which would take a while given all the formatting that needed to be done, we had a Perl script that would parse the text and add the required HTML formatting such as lists, paragraphs, headings, etc. It was a really neat script, and my first look at regular expressions. I developed a healthy respect for the power of Perl and its string manipulation libraries.
I continued to work on the church’s website, eventually on my own as the current “webmaster” moved on to some other projects. I continued learning, mostly PHP, and applied those self taught skills to the site, expanding it in small ways. This continued until about 2002 when I was mid-way through college.
At that point, I was well along with my college studies, having taken courses in basic programming, c/c++, visual basic, database development, networking, etc; the standard CS curriculum. I spent two summers interning at ING in Hartford, CT, first in the DBA group, and next in the project and process management group. I created a PHP application that allowed the DBAs to view current status information for all of the production databases, and another application to manage the metadata for those databases for the project managers to use. This gave me some great experience and real world use.
When I returned to school, I then took a course called “Web Development II”, a follow up to a basic introductory course on HTML and the structure of web pages. This course was to introduce server side, and dynamic web development. I didn’t think much of it at the time, figuring I would be a C++ or Java programmer, or maybe a DBA when I graduated. I loved web development, but never really considered it would be my career. I didn’t think I would be that lucky.
So by now you are probably wondering, but how the heck did you start using ColdFusion??! You’re right! All this rambling and I haven’t even reached that yet! Fear not, here it comes :)
When we started “Web Development II”, my professor gave us an option. We could scrap the “scheduled”, boring lesson plans for the course which would give us a slight introduction to dynamic web development, but not give us any in depth experience, or we could explore the technology that he used, ColdFusion, and build our own full applications in the short time the course would run.
My first reaction to this was, OH NO! I had heard of ColdFusion, but only the bad things. You know the ones. “Its Dead!” “Its Old!” “It doesn’t scale!” “Its not a real programming language!” I was leaning toward sticking with the course’s scheduled curriculum, but I didn’t want to rock the boat. I figured that I had been doing this already for a while, and I didn’t need in depth anyways, I just wanted the credits. :)
The class decided to try ColdFusion, and get the most out of the course they could. I am glad that decision was made! From the start, I fell in love with ColdFusion. It made all the hardest things so easy! In PHP I would have to manually connect to the database, setting up that connection with each page, then pass the SQL in as a string, run 2 or 3 methods just to execute the query and return each row as iterated. I thought this was OK. Then CF introduced me to the magical
<cfquery /> tag! I thought to myself, “I have been doing it this way all this time, when THIS is available!??”
My professor could tell right away that I was into it. Since I had been doing web development for a while, I would pick up the easier things faster, and had more time on my hands in class. Toward the end of the class, for our final project, we would break up into teams and build a functional application from scratch. It would be a basic CRUD app to manage a database.
Now, I had never been a great fan of “teams” in school. Mostly because I would end up doing all of the work. It always seemed to me, that no one took the work seriously, and I would have to make up the slack. I didn’t want to do the team project, fearing that would again happen, and someone else would get to slide by while I did the heavy lifting.
My professor sensed this, and came to me after class and told me that he had a different final project in mind for me. He wanted me to work on a project of his, that he was working on for a client. This was great! A real world project! This would be a great learning experience. So we talked about what I would build, how it would work, etc and I set to work building it. Once it was complete, he reviewed it, and we had some back and forth tweaking some things. It was a really great experience for me to have, and really prepared me for my future endeavors.
After this experience, I decided I wanted to do web development professionally. I got a job in the Academic Services Center at my school, building their intranet website, including an application that allowed students to look up a professor’s schedule, and find out where they would be at a given time. This was a classic ASP application. Trust me, I wished for the sweet relief of ColdFusion each day I worked there! It was a great experience though.
As graduation approached, I started looking for web development jobs. I didn’t specifically look for ColdFusion, after all, I needed a job and wasn’t going to be picky! I interviewed at a few different places, even got an offer for a web development job. I wasn’t exactly thrilled with the work I would be doing though, so I kept looking.
Eventually I stumbled upon a web development position, close to my parents home (central CT), and, would you believe it, they used ColdFusion! I was excited. It sounded great, it was exactly what I wanted to do. It was an association management firm that provided services for a variety of clients so I wouldn’t be stuck working on the same things over and over again.
I interviewed and got the job and right after graduation I started working full time. Eventually I worked my way up the ladder to Senior Web Developer, and I was the lead developer and system architect for all our web projects in a team of three. I learned more and more about ColdFusion, and development in general, over the years there, and it really prepared me for where I am today.
Today, I have my own development company, n42 Designs, and I work full time for a consulting firm here in CT, that provides IT services, primarily for clients in the healthcare industry.