Project Manager's View vs. Developer's View
knowing.net
knowing.net
If developers have a tough time with developing Windows Forms and would rather use Python daily, they should found a start-up and create a business that is inline with a developer's view.
The PM's view is the business's view colored by the PM's preconceptions. Good PMs will defer on technical decisions and be firm on business decisions. Bad PMs won't.
If developers have a tough time with developing Windows Forms and would rather use Python daily, they should found a start-up and create a business that is inline with a developer's view.
That's one way to do it. Another good way is to communicate with the PM/business in language that speaks to them (cost/savings, time to build, maintenance costs, etc.) and make the case for Python (or whatever).
Interesting thought: * Poor developers will pick their technology irrespective of the problem at hand. * Good developers will pick the most appropriate tool given the problem at hand. * Great developers look at the problem at hand and write whatever tools from the ground up they need in their chosen technology to make it happen. (See: 37signals with Ruby, developed Rails. Django with The World Company, etc.)
The logical precursors of this is that technically minded people are either not capable of analyzing business decisions, or that they shouldn't be allowed to anyway because they are technical people. Perhaps both.
If they were capable, there would be no reason for a PM to be firm on a business decision, because the technical staff wouldn't run nearly as high a risk of pushing him to do something stupid.
If we assume they are capable, then this becomes an argument to authority. I would then like to ask the following question: if the people who watch the bottom-line see an improvement based upon a particular decision, do you really think they'll care who made the decision, and what influenced them?
I've never understood this bright line boundary between the patchwork of people that make up a technical group, and the patchwork of people that make up a business group. Presumably, the technology being developed is part of what makes the business viable; it isn't just a bunch of people wanking off in text editors on company time, while the grown ups -- the business folks -- do everything that earns money.
It serious just seems like an artificial division to excuse the two groups for not listening to each other.
This becomes even more painful when you are one of the people who wants to be involved in whatever makes up this nebulous "business side", and are told to fuck off back to your toys.
My view: the business is everyone's business, and any time you start developing bright line boundaries to either protect turf, enforce a hierarchy for its own sake, or excuse non-involvement, the least of your problems is one of your techies wanting to play with technology that seems superfluous to the untrained eye.
What is also never mentioned is that what employees desire is as much the business of a business as other things.
But suppose we buy 100% into the maximizing shareholder mantra.
If you have programmers that are interested in these technologies, your shop is probably doing some interesting work (since otherwise these programmers would not have bothered working at your shop). In this case, careful leveraging of new technology (that is, choosing something that's not too far right on the curve for your purposes) can give you a leg up on the competition, since the programmers are happier and you can offer things that the competition cannot.
A manager that avoids new technologies in this context is not doing what is good for business.
It is a false dichotomy that what is good for programmers is necessarily unrealistic or bad for business.
There is definitely business value in using technologies that attract and retain the best developers. But that benefit must be weighed against costs like the difficulty of finding trained programmers, instability of immature technology, etc.
This one in particular always really annoys me. I get shot down all the time for this reason and I really don't recommend anything a competent developer couldn't pick up in a week. That means no FP and no 'interesting' architectures because programming methodologies and different architectural approaches can't be picked up without real effort. That's fine, I'm okay with that and I don't lobby for it even if I do think it'd reduce the code base by 60%.
Shooting me down for hireabilty because I want to use yui3 instead of jQuery? Forbidding the use of SASS instead of CSS? If they can't pick it up, YOU DON'T WANT TO HIRE THEM.
In theory yes. But I just finished reading a "test strategy document" from a guy whose title is "test strategist" and who doesn't write any code. So I am burnt by reality :-)
Anything that might risk his name apearing on anything that stands out, be it a minor note from legal or a note in the rolled back launchs in the sysadm journal and he sticks with windows forms.