The World of Dev Craft

Posted By: Lance Dacy

I joined Fellowship Technologies in 2004, so feel I have been exposed to the Software Development Craft for quite a while now. While my degree was in Computer Science, my past physical work experience did not involve Software Development until I joined FT. So, I may be completely off-base with my observation, but I woke up this morning with the need to blog on this topic to help with my research / hypothesis.

The Software Development craft is amazing in that most people seem to incorporate community in their day-to-day work. I don’t mean they use Facebook or Twitter (although most of them do). I mean that these groups of people are always willing to put an idea in the public space, critique ideas so that people can improve themselves, and organize a broad self-help support community for just about any issue that you face while developing software.

Looking back on my career with FedEx (I launched airplanes for the Alliance Fort Worth (AFW) Hub Night Sort); I don’t recall having any kind of forum (other than my colleagues, our Engineering Team, or Audit Team) to say

“Hey, I am having trouble launching FX1151 AFW-OAK for the West Coast Overlay, does anyone have any ideas on how to design a pull-plan / load plan for a DC-10-30 that will ensure all my freight get’s on the airplane and sequenced for optimal off-load in Oakland prior to sort down?”

It seems that if I was having a problem while writing code for an application, I could simply toss my problem into the “interwebs” (Facebook and Twitter included) and receive some sort of helpful response. I could also Google my problem for a resolution or find some forum specific to the language / process that I am using. It doesn’t stop with technical “support” either. We practice Scrum as our Project Management wrapper around our entire development processes. The core idea to Scrum is Continuous Improvement. There are countless forums, web sites, communities, and user groups that I can take my issues to and seek resolution as well as learn from the experiences of others (even competitors).

After talking with some of my colleagues (Nick and Coly), we also recognize that the BIG Enterprise organizations have less of this sharing ability. Most likely due to all the constraints imposed upon them (Internet policy, application / tool support, CIO Office, PMO Office, etc…). Smaller companies seem to seek continuous improvement while the bigger companies just seem to flounder in the “that’s the way it has been, don’t upset the apple cart” routine. Perhaps smaller companies have less “org chart” to fight through which is another topic completely.

I simply wanted to get the idea out here and see if anyone cares to respond on why my observation is correct or why I am off my rocker. Can you list other crafts that share similar dispositions? I know there are some, I just think Software Development excels at collaboration and sharing of information. Perhaps it is because we have learned that we can’t do it alone and that the problems to solve are complex and larger than any ONE individual.

Posted In: Tips,

Benjamin Mauch said: on September 29, 2010 at 06:11 AM

I think the point is that software development is not a static field. There is not a single way to do one thing. This is evident in the number of poor programming examples and the websites dedicated to them. Software development can encompass many frameworks, APIs, and subsystems each requiring their own language, structure, and implementation. This leads to many issues of getting the languages to work together nicely and most efficiently.

Because of this nature, sites like StackOverflow, StackExchange, TekTips, and the like are highly populated. Technology does not have a single standard for doing things. You can have two visually identical websites with almost 100% completely different code. One may be more efficient than the other, but it doesn’t necessarily make one better than the other.

In other fields, there are strict guidelines. You can only measure the O2 levels in blood one way for accurate results. You must follow certain guidelines in air traffic control. You must adhere to a specific size and quality in manufacturing. So, while collaboration may be used is other fields, it is almost a vital requirement in software development.

This problem affects companies of any size. I do not feel as though the size of the corporation is the limiting or promoting factor in development collaboration. The factor is the development management ensuring that this vital tool is available and used.

This, in my opinion, is why collaboration and discussion is so vital to any development environment. With so many ways to do the same thing and with so many technologies to merge together, it definitely takes some talking through with other people to make it work.

Lance Dacy said: on October 12, 2010 at 06:39 AM

Great thoughts Benjamin. Thank you for taking the time to comment.

Commenting is not available in this channel entry.


Previous Posts:

Subscribe to the RSS feed!