Picture this. You, the application developer, are in a big conference room. On your left is your boss. On your right are enterprise architects. Across from you are the business analysts and project managers. In the hallway is the businessperson on his "crackberry". Why is everyone gathered here? To discuss the next important application development initiative that the business needs to drive revenue, stay competitive, and be more efficient.
The meeting starts.
|Project Manager: How many resources do we need?|
|Application Development Manager (turns to you and asks): How many developers do think we need?|
|Enterprise Architect: That sounds about right.|
|Project Manager: Ok. Great. Now, how many business analysts do we need?|
You Have Become a Victim Of Resourcification
And, so has everyone else: the project managers, business analysts, and architects. Resourcification is when all professionals are valued equally regardless of their talent or lack thereof. We have become commoditized. We let it happen.
The Patriots Win With Talent, Not Resources
Can you ever imagine Bill Belichick, coach of the New England Patriots, talking about player "resources" like they were interchangable? "I need two tightend resources.". "I need a quarterback resource." No. Talent and teamwork makes winning teams. It is amazing to see how many managers are die-hard fans of high-performance sports teams but don’t see the parallels in their own work. I have been coaching my daughters’ soccer team for 8 years now and it is real clear how talent and teamwork make a big difference in getting results.
Application Development Projects Need Talent, Not Resources
Smart application development professionals recognize talent. And, even though they are forced to answer the resource question, they do so keeping in mind who will be on the team. But many application development managers and project managers don’t know how to even recognize talent. This is partially due to the talent management initiatives that try to identify talent in terms of a narrow list of skills. For example, a skill might be the ability to program in Java. But, what does that mean? Understanding the syntax? Being able to describe the "static" keyword? Or, reading Donald Knuth’s 3 volume "The Art of Computer Programming" and programming the examples in Java?
Some 20+ years ago when I was a summer intern at Wang Laboratories, what was important was the ability to think, break down a problem and find creative solutions to hard problems. When you are limited to 64K memory and have to program in Z80 assembler or PL/M these are critical abilities. We need to redefine what it means to have talent as application developers today and in the future.
What To Do At The Next Project Meeting
- If you are a project manager, ask "How much talent do we need for this project?"
- If you are an application developer and get asked about resources, stand up and then say "It depends upon what talent is available?"
Your Success In The Future Depends Upon You Not Being Commoditized
To maximize your value in the future:
- Don’t let yourself become resourcified. Make sure everyone recognizes the talents you bring to a project. You are not a resource.
- Understand your value in the future of application development. Some aspects of application development today will be commoditized tomorrow because of new tools and technologies that make the assembly of applications easier. Your value lies in your ability to help create these tools and have a deep understanding of one or more business domains.