Recently I came across two sets of philosophies in development/hiring. The first set often would advertise for a System-Analyst (or Senior System Analyst) and in the job description it is clear that they are looking for someone that is:
- Part Product Manager
- Part Project Manager
- Part Architect
- Part Development Manager
- Part Developer (often in a half dozen languages and databases)
- Part Tester
The other set has nice clean segmentation of job roles, you are one of:
- Product Manager, or
- Project Manager, or
- Architect, or
- Development Manager, or
- Developer (often with just 1 language), or
The first set tends to spend their time doing, the second set spends their time communicating. It is not a “big firm” versus “small firm” thing; although bigger, older firms will often shift into the second set as their mature and a different class of people start being hired. The first set has accountability being very clear. The second set has fingers pointing back and forth resulting in a Gordian knot of responsibilities.
Personally, I prefer the first pattern because things get done….