How To Keep Your Job 03 Jun, 2003
OK, so this was posted some time ago, but it's still got to be on every serious coder's reading list (together with a load of other stuff I summarise further down):
The Pragmatic Programmers: How To Keep Your Job
I find the current employment situation for developers slightly more encouraging than, say, a year ago, but it still isn't good. And I don't buy this "it's the economy" crap either. Pants to that. OK, so some organisations are cutting right back on their IT spends (more fool them: IT is not a luxury), but for the most part, I'd say companies are just thinking short-term as per usual. I'm talking about those who kick out IT staff in favour of the odd contractor or farming out whole projects to bureaux overseas. In the scenarios I've witnessed or heard about, such steps always smack of false economy. OK, so maybe there's some cheap labour out there, but is it in your timezone? Can you get through on the 'phone??
Sigh. I suppose I would say all this eh?
Anyway, a round-up of on-line essays and wot-not that I've found personally enlightening / inspiring and uplifting as a would-be propeller-head (most linked from this site before):
Scary!
anyway, i was just thinking (really i was) about the fact that you had posted some stuff before about various programming-related reading material, and was actually thinking about emailing you for the "round-up". and wa la, here it is!
amazing… and some things here i don't think i've heard of. very cool.jonvon#
Sorry for the rant
.02
Tony Kelleran#
I'd venture to suggest that the issue is more complex: the quality of work from overseas is like the quality of work back home – some coders are good, others aren't, regardless of location. Dave Thomas' presentation looks at this.
I think the bigger issue is the whole timezone / communications thing. Large complex projects really benefit from everyone being in the same room, especially towards delivery time. It must be really hard dealing with people on the other side of the globe.
Of course, such "on-going costs" simply get buried in the P&L as BAU. The main thing for companies nowadays seems to be ensuring the initial up-front development cost is as low as possible.Ben Poole#
So, where does that leave us? What is it that can't be exported? Or at least, has not to date been successfully exported? I say that the answer is innovation. There is now a much greater need, IMHO, for the individual programmer to be on the leading edge of technology, and even more important -- on the leading edge of ideas. I believe that in the services area, solving problems doesn't cut it any more. Finding, and perfecting new approaches to problems and bringing the new approaches to customers is the way to go in services. The other area tht I believe we domestic programmers still have a solid hold on is product development. Having noticed that the majority of the services I have provided to clients in the past two years have been oriented at helping them to build better products to sell, I am asking myself "Why am I helping them to develop their products, when I can equally well be developing products of my own?"
Anyhow, that's my thinking. I've already read the Paul Graham piece. I'll have to bookmark the other pieces that you linked, however, because I'm a little busy right now getting ready to fly to Arizona tomorrow.Richard Schwartz#
In fact, I am reminded of a story that my colleague often tells - that he agreed to outsource to a company based on a call with an Indian outfit, only to later realise that he had spoken to the only English speaker in the whole organisation.
I have to admit though, I really like the idea of having coders working through the night, during our 'dead-time' and everything being ready by the following morning.. Does that really happen?
Having said that, I've had fewer problems interating with programmers in Australia, despite the more awkward time difference, so maybe "language barrier" is Captain Cock-up's middle name.Spikey#
Sorry, "HR".
Sorry, "Human capital". After all, for most service companies, their people are their main asset. Oh yes.
(sarcasm OFF)
Damn I'm bitter sometimes…Ben Poole#
I won't pretend that everything went perfectly, but we did get a lot of good work done. Knowing that we were going into unknown territory, we paid a lot of attention to management issues throughout the whole process. We benefitted from the fact that our company had development shops in Belgium and Taiwan, so we were able to draw on the experience that had been built up coordinating projects that involved our own company's domestic and off-shore resources.
There was no Internet connection to our Indian outsourcer at the time, so we built our own point-to-point link (and let me tell you, getting a compatible modem shipped and installed there was an exercise in customs and union beaurocracy that I never want to go through again!), and then eventually upgraded to an X.25 link via satellite. Daily email messages kept us in touch, and we minimized the phone calls. I played an email correspondence chess game with one of the Indian project managers to assure that at least one email in each direction would go across every day -- our own home-brew network monitoring solution! (I lost very badly, by the way…)
Our project involved 20 consultants. Two project leaders came and worked with us on specs for a month, then 10 developers came over. The two project leaders worked with us for another month completing the specs, getting the other 10 up to speed, and helping them to fit into groups managed by our own project leaders. Then the two Indian project leaders returned home and put together another team of 10 over there. Of the twelve who came over, only two had communication problems -- one due to a stutter (in English only, not in his native language), and one due to a very heavy accent that was difficult to understand. All had excellent written English -- better, frankly, than some of our domestic employees. The two who had spoken communication problems relied more heavily on email than the rest, and that was fine. All but two had technical skills that rivaled any recent US graduate in computer science with a year or two of experience. Two were sub-par, and if the project had gone on longer I probably would have sent them back. On the other hand, two of the developers had what I would consider top-tier skills -- the sort you'd get from a graduate of a top 10 US computer science program.
I'm sure that the staff of the group in India was not quite up to the level of the consultants they sent to work with us directly. It's very competitive over there, and only the best will get the privilege of going on-site to the client. But we didn't have to worry about communicating with or managing the off-shore developers. We dealt only with the two project leaders who had spent a couple of months with us. If I had to get involved with a major outsourcing effort again now, this is pretty much the model of the way I'd want to do it: on-site project managers actually helpint to prepare the specs, and handling the interface to the off-shore resources. My understanding is that many of the Indian outsourcing shops will use this model.
Richard Schwartz#
The batey, rancorous oneBen Poole#
The Register: Let's all move to India (China, Vietnam, Eastern Europe etc.)
http://www.theregister.co.uk/content/53/31066.htmlBen Poole#
James Noble and Robert Biddle: Notes on Postmodern Programming
http://www.mcs.vuw.ac.nz/comp/Publications/CS-TR-02-9.abs.htmlBen Poole#
As for what all this means for us high falooting thinkers, we need to sell our value proposition as still being just as important or more so because the grunts are doing the easy stuff. It is not just about innovation - it is also about being the brains rather than the brawn. Be the brain!Ben Langhinrichs#