Wednesday, May 03, 2006

Paradigm Shift

I like to post on technical things but the state of the industry has really been getting to me so I thought I would right a post about it.

In summary: Most of us have no clue what we are doing.

I say this because of my experiences in the past year. I can teach anyone to code. Its really not that hard to do the basics but to make a large application is where people stumble (myself included). The reasons for this is that there is no set way to do things. Everyone has their own way and this is harmfull. What if every engineer had their own way to do foundation. We would need tons of unique tools for that foundation, tons of training for the people pouring the foundation, and tons of money as every process is unique. I think that this is what happening in our industry.

Over the past while of reading books like Refactoring and Patters Of Enterprise Application Architecture by Martin Fowler, talking with developers, watching webcasts. I see a whole new way to develop and I have been programming professionaly for the last 5 years.

As I start using some of these amazing techniques I can't be saddend to know that most developers out there have no clue about these. I have shown the model view presenter pattern to a fiew developers and they are blown away. I personally can not stop using it (I built a simple contact submittion form last night using it just because I like it so much). Interface driven development is the best thing I have started using lately and is a great way to allow decoupling of contract and implementation. Honestly I feel like I am seeing how to program for the first time since I did basic on my apple II.

This is a new and rapidly changing field. Historically look at being a gunsmith. It starts that everyone has their own way to manufacture a firearm from raw materials and it is pretty much how everyone else is doing it but its slow (i.e. coding in a basic language) . Then some technology comes out like a metal lathe (i.e. .NET) and now we can build things in our own custom way but faster. We have hit the point in the industry that any developer can build something small quite quickly and reliably but when we need to work togeather or build a large application most of us are in the dark.

What we need to do is follow the guns and use the concept of interchangeable parts and starting to look at how to make our projects work better with other developers and other projects. Unfortunately I don't know how to do this other than having us educate each other and share more in the community of doing things in better ways.


Post a Comment

<< Home