Originally posted by Matt Cao:
Dear All,
Over the weekend, my boss and I discussed about the new position forming in respond to three continents development team. He said creating a position that situates between quality team and operation team, a person could play a role of management team member also plays a role of developer. I try to mimic the hardware people have done by creating a Technical Support Engineer position.
I want my developer team deliver a product that closer to the spec as possible and let the local Technical Support Engineer modifying the project so it fits with the local customer. Is is sound like a System Integrator? I don't want this engineer be involved too much into developing just a final phase. Help me out guys.
It sounds a little like a systems integrator, but I have to wonder whether you're looking more at what people call a professional services consultant?
What are we talking about here, Matt? Real development or configuration or integration? A single product or a suite of related products or deploying anything and everything? A entire huge range of software products?
If you are thinking about professional services, be aware that without a helluva lot of work and communication between the central development staff and the PS people, doing professional services can be an impossible job.
I took a job doing professional services once with a company which was expanding internationally rapidly. I would never do so again because I ended up going out ignorant half the time and having to fix things not remotely related to my training & background. To be honest the people whom I saw succeed in the role fit two profiles.
1) Experienced ex-developers on the central development team who had the source code to the product and all the little hacks people had developed. And who had great information networks obviously. Or people directly trained by the development team or the ex-developers for a long time.
2) Bullshitters. People who go in early, do 'architecture', draw nice boxes, make the promises and then are long gone when it comes time to deliver a working system. One chap I knew took the credit for what some of the people listed under #1 above had done, which led to losing several critically important people in a short time.
Understand that this kind of role can be an impossible job unless you either severely limit what you are asking them to do OR the central development team invests time and sweat on great documentation AND developing serious close professional relationships with your local people. They have to be regarded as part of the core team, not just someone to dump the stuff developers don't want do do on.
I did nine months as an on-site customer liason & support for an Italian company whom I'd worked as a developer for before. The idea was that I'd support a single product but I ended up supporting everything they did. Because there was a revolving door beside me. They hired and shipped over at least four people to handle the other system(s) during that time and all of them were fired or quit. In the end they sent a developer from the core team. That worked until he had to go back.
The only reason(s) I survived is that I had an information network. I knew whom to call to get answers and downloads. The second reason is that I had worked directly for the two managers above the product team managers and had strong credibility with them. So when the product managers complained about my 'incompetence' they were told to go back and try again because the upper management wouldn't believe it.
It was an incredibly stressful job even so.
[ January 22, 2004: Message edited by: Bela Bardak ]