Many aspects of development of customer-specific systems are more related to people and relations than technology. I’m fairly sure that I can handle the technology, but people can be really challenging. What about bringing a people specialist – a shrink – on the team?
When I was still studying I imagined that the job as a professional developer was focused on writing code and solving hard technical problems. I was wrong. Nowadays if I can spend 50% of my time with the code, that’s good. Please note that I wrote “with the code” not “writing code”. Helping peers and doing code reviews take a significant amount of those 50%. The time when I actually write code on my own is down to maybe 25%.
I spent four years at university preparing for those 25%. I took mostly maths and programming courses. They gave me a great foundation for writing code. However I didn’t take any teaching courses for the 25% that I work with code with others. I definitely didn’t take any courses that are relevant for the other 50% part of my job. That part is about trying to understand requirements (or trying to get the customer to understand that they don’t understand their own processes). It is about understanding and handling people that obstructs the project. It’s about getting the users confident with the new system. For that part of my job I’m nearly unprepared by my years at university.
Most of the people I work with have similar backgrounds as I do. They know technology, not psychology. When a project faces communication problems, the technician with the best communication skills gets to handle the people aspect. I don’t think that’s very effective, because technicians chose their profession because they like handling technology, not because they like handling people.
The great news is that there are professionals that have the education and interest to handle people. I think that getting a people specialist on the team would be great. I want a shrink on the team! A professional psychologist would probably be way better than me at negotiating requirements with the customer. Having a psychologist on the team would let me spend more time writing code. It would also save the customer from having to communicate with a programmer that prefers compilers over people.
Getting a non technical person into a system development project is a challenging thought, but still something I find interesting. What do you think? Would a psychologist on the team be a good complement to the technicians?
True, so true. Especially the Business Analyst role in a project team can benefit a lot of possessing “psychologist-skills”