Introduction
April 9, 2007
I’ve Moved!
In order to demonstrate my code better I needed the ability to execute JavaScript on my pages and I wanted a simpler solution to offering source files than what Box.net offered.
I’m now over at http://blog.josh-davis.org.
You can get to this post on my new site at http://blog.josh-davis.org/2007/04/09/introduction/
Original Post
Hi, my name is Josh and I’m a Programmer.
The Beginning
I began down the path to becoming a programmer approximately nine and a half years ago as a EE student taking my first C class. Although I changed majors and schools after that first year I did get a student job working as a web developer. My first experience with web application servers was with Tango; there’s a reason that’s not one of the major web application servers used on the net today. My first experience with databases was with either Access or Filemaker – I can’t remember which as you can’t say I was exactly fond of either. During my tenure in that job I progressed to ColdFusion and taught myself the basics of relational database design. After leaving that job and nearing the completion of my University career I taught myself PHP and got thrown into Oracle while in another student position.
Early Professional Experience
After finishing school I got a job as a web developer at a small software company specializing in mapping technologies and continue to work there today. One of my primary roles was the maintenance and development of our map server using ColdFusion, MSSQL, and several custom ColdFusion plugins. The map server is a “generation 1″ map server displaying a single, large image that can be navigated by clicking somewhere on the image or pressing arrows – the result of which is reloading the entire page with a fresh images. While there have been certain challenging aspects to working on this version (any many trying to use it for purposes it wasn’t designed) the experience has also left a lot to be desired. Since this wasn’t the only project I worked on, and I was lukewarm on this one, I found myself questioning whether I even wanted to do any kind of programming.
The realization
In the last couple years after the release of Google Maps, the decision was made to try to figure out how to create a new map server using the same JavaScript/DOM and Ajax techniques Google utilizes. After some research I quickly figured out it was something we could do and I wanted to do. We’re almost done after nearly two years later of only my time working with JavaScript (DOM and Ajax), XHTML, XML, and CSS for the client side as well as ColdFusion and MSSQL for the server side. I can’t say I’ve loved every minute of it, but it’s something that I’ve enjoyed working on and take pride in. Because of the complexity of the application I have been forced to teach myself many new paradigms foreign to me as a web developer. I’ve also learned that, while not widespread, client side web applications aren’t immune to memory related issues usually reserved for so called “real” programming languages.
Putting all these experiences together I learned that I love programming. I love trying to solve problems in a way that requires thought and planning, but sometimes just trial-and-error. I love the challenge of programming. When somebody thinks it can’t be done, but I know it must be possible, I won’t give up until I make it work. Sometimes the solutions may not be the most elegant, but somehow I get it done.
My Goals
My goal as a programmer is to become the best programmer I can be. I may never the the “best” programmer, but I think I am already a pretty good programmer and can become a very good programmer. My attempt will be to learn a little about a lot, a lot about a little, and get as wide as experience as possible.
My goal with this blog is partly to share what I’ve learned along the way, but more importantly to learn from the vast knowledge of the people out there. Some may have suggestions, some may have praise, and some may have criticism (my favorite as long as it’s constructive).
Welcome to my blog.
May 8, 2007 at 8:09 pm
Great goals, especially in light of “the best you can be”; those key words will keep you focused on the important bits, and not feel intimidated, but blessed, when working with seriously high-level elder mages. (It’s quite exhilarating.)
Regarding the blog goal, I’d suggest engaging in whatever pet projects of other people you take an interest in; it’s a great way of learning, having fun and networking, all in one. And contributing back to the community. Some projects will benefit more from code, some from marketing by mentioning them, blogwise or elsewhere, some from spreading the word in shape of tutorials, hands-on tips or other forms of documentation, also perhaps here.
It’s one of the best fields to work in to pick up a lot of interesting acquaintances all over the world. The web world is more accessible than most.