Logo

Archive for the ‘Post’ Category

Into the Cold

Upon starting at FORGE I was introduced to the Adobe’s ColdFusion platform.  Having no experience with ColdFusion I thought it would be best to learn the language and complete a project before making any judgments. I had heard of ColdFusion before but since it was run on a propriety application server I had never looked at it seriously. (I am a huge fan of open source.) Since my background is java and tuning the underlying JVM I thought that I would be able to pick it up quickly. For the most part I was correct. Since ColdFusion started out being marketed towards people who knew HTML the syntax was easy to pick up.

The one thing that really stood out to me about ColdFusion was that it was marketed as “software that enables developers to rapidly build, deploy and maintain robust Internet Applications”. Upon first reading this I was wondering what makes a platform rapid? Most of the time when you hear the work rapid in software development you think of process not the language or platform. So I set out to try and determine what made ColdFusion declare it self as rapid. The answer is amazingly simple, Adobe has been able to take some of the things that make other platforms complicated and abstract them a little. The two items that I noticed right away is database interaction and ajax calls.

To make sure that I point out both sides of the story ColdFusion does go a little far in abstracting some things and it some cases does not seem to stand on it own. The other thing that I noticed is that since people thought about ColdFusion as rapid this can lead to sloppy code. Also one of the things that I initially loved about ColdFusion is that it integrates with java natively, it should as it is built on java. On my first project I wrote several pieces of functionality in java and integrated the two via a interface layer I created. I ended up not being happy with the this solution and rewrote all of the code in ColdFusion. I can see how this would be great to incorporate if ColdFusion did not offer a specific piece of functionally but for simple things this seems to complicate things more than my liking.

One of the roles that I have is to determine our preferred platform for web development. As I move forward I am going to explore other solutions (ruby, python) on real projects before making a decision, but ColdFusion will be considered. Even if ColdFusion becomes something that I ultimately move away from I do think that it has been a good learning experience.


And away we go!

I have never been much of a writer. In fact I have never been very good at writing at all, but at this time in my life I find that I have a lot to say. Let me back up for a second. By trade I am a software engineer. I have spent most of my career working at large companies as a software engineer working with java. I followed a typical path for software engineers, which goes something like this:

1. Find job out of college as a junior engineer
2. Write lots of code while senior engineers tell you that your solutions suck
3. Become senior engineer so that you can tell junior engineers that their solutions suck
4. Become a consultant so you can make money off of other people’s solutions that suck

Blah. That became old really quick. There are several problems with the above that I don’t care to go into right now. So in light of that I decided that this would be the year that I did something about it. I was convinced that there was a better way to make a living being passionate about software. So I joined a startup so that I could have control over the software creation process. This has been the most thrilling and tiring time of my life. The good news is that we have lots of work to do, the bad news there is less people to do the work.  I learned as my time as a consultant that I really like clients, which is a different mindset than is prevalent at most software companies. I believe there is a lot of good that comes from having software engineers directly interfacing with clients.

What I hope to share on this blog are the current technologies that I am interested as well as my thoughts on development process. In addition to these topics I hope to write about my journey into creating a better environment for software professionals.

I have often said to myself and others “If I were running things I would do it differently!”. It is time for me to prove it!  I am sure that I will make mistakes along the way, but in the end I hope to look back at this journey with a very successful team of software professionals.