As software engineeers we have to turn our attention to thought leaders. These might be consultants, blog authors, book authors, speakers, software authors. Usually they have short engagements with companies. Their skills run deep into their chosen technologies.
I think it's right for us to look up to these guys and to use them as resources. But I also think we tend to overlook the FTE of the software world. Their careers might not be as sexy, they might not work with the latest technologies but they deserve some recognition.
From the outset here I gotta say this is self serving. I'm a working stiff FTE. I've thought about contracting a few times in my career but I always found a reason to chicken out. So this is in no way a condemnation of consultants that specialize in specific technology for short term engagements.
What's more, I consider many of those very guys friends, occasional drinking buddies and dare I say mentors. Scott Davis, Tim Berglund, Matthew McCullough.
When companies talk about their intellectual property they probably don't think of their software engineers. I think this is a mistake. In many aspects of the business no one knows how things get done like software engineers. No one knows the algorithms, where the data comes from and who the data goes to like the software engineers. If you run a business, your software engineers that are full time employees are your intellectual property.
Fixing the Disfunction
Full time employees know that just as they are going to have to live in a code base they are also going to have to live in an organizational chart. They care more about hiring the right team members. They care about pulling other team members up. They also care about establishing long-term relationships within the organization that benefit the company.
Sleeping in Your Own House
If you've had a career of living with your own software, design, architecture and coding decisions then you go about these decisions differently. By 'living with' I mean that you are present for the inception of a project, the initial development and you are around to support the software for a few years. If you've done that a few times in your career I think you get an appreciation for the impact of decisions.
I hate to take the steam out of my argument but I have to say that in each one of these areas I've seen short-term contractors have a positive effect.