in reply to Re: Helping Chinese Colleagues Learn Perl
in thread Helping Chinese Colleagues Learn Perl

In comparison to java, dot net and php, there are much less perl programmers in china.

You also have to take into consideration that a large percentage, if not the majority of programming jobs are coming from out-sourcing initiatives in the West. Therefore they are coming from corporations and therefore must adhere to the code standards of those corporations, which increasingly lean towards Java and .Net with regards to programming mono-culture.

The justification for such being that they don't have enough people with the skill-sets required to support code developed in multiple programming languages - which is a self-fulfilling prophecy when they continue to cut jobs of on-shore programmers in favor of the off-shore folks.

The obvious disadvantage there is that it promotes a naive one-size-fits-all mentality with regards to programming languages and the problems they are used to solve. This also drives the out-sourcing initiative justifications because they find themselves spending up to 3x the effort/money to solve a problem where if they had applied the correct solution to the problem they would have saved that money up front.

Wait! This isn't a Parachute, this is a Backpack!
  • Comment on Re^2: Helping Chinese Colleagues Learn Perl

Replies are listed 'Best First'.
Re^3: Helping Chinese Colleagues Learn Perl
by cmv (Chaplain) on Dec 05, 2007 at 15:43 UTC
    gregor42++ I hadn't meant to talk about the offshoring aspect of this request (fearing to get off topic too much), but your eloquence here made me change my mind (still hoping we won't eventually get too far off topic).

    This particular situation is a great example of how offshoring works to the benefit of all involved (and believe me, I've experienced it when it doesn't work). I work for a big telecom company, and I use perl a lot. One of the little tools I put together to help my co-workers and I solve field problems became pretty popular over time - to the point where the customers were asking to use it (and willing to pay for it).

    However my big, huge, lumbering company couldn't be bothered with productizing something so small and insignificant. So in 2000, we on-shore-outsourced this work to a company in Washington State that we were investing in at the time. Their solution was to de-perlify my stuff and re-implement it with their platform. Over 5 years it was a moderate success for them, but nothing near what it should have been (IMHO).

    Meanwhile, my internal version of the tool gets better and better. Customers now want that version instead of the old outsourced one that wasn't kept up-to-date properly. My company at this point is somewhat smaller, and the potential revenue isn't so small and insignificant anymore, so they go ahead and back it as an actual product. The first sale covers my salary, and the additional potential sales rely on additional features that I alone don't have bandwidth to accomplish and management cannot staff anyone else locally to help out since we're already stretched as thin as can be. However, in China we have colleagues available to help out in this effort. All that is needed is some training to get up-to-speed, then focusing on completing the new features to get the additional new sales, and then everyone will benefit!

    Not only that, but I get to deal with new, interesting people from a completely different culture (maybe see a bit of China if I get the chance), and possibly even learn how to eat with chopsticks :-)

    This is one situation where if we couldn't offshore some of this work, it just wouldn't get done and those potential benefits would be lost.


      I just finished a year in Beijing leading a team that was relatively new to Perl.
      I think you might find some cultural aspects a bit surprising or frustrating. I won't say what they are so I won't be called a racist. I will say that Chinese team member open explain to me that "this is the way things are here".
      So here are some things you can do that might help:
      • be very firm with documentation requirements (maybe shy about bad English)
      • strongly encourage the sharing of code and discussion about it
      • remind them that it is ok that they disagree with you
      • there is no social safety net in China. One Chinese colleague told me, and this is verbatim, "If you lose your job you die".
      • Do not use negative questions!!! This is the biggest cause of confusion my first few weeks until I figured out they didn't understand them. Then I had to remember to stop using them. Negative questions is an example of where English is logically wrong. For example, "That utility is not done in perl?". If the utility was NOT done in perl, you would answer "No". This makes sense to us English speakers, but a native Chinese speaker will answer logically, "yes" to agree with the sentence that the utility was not done in Perl. You can read more about negative questions here:

        Negative questions got to be a bit of a laugh once everyone was in on the joke. I would ask negatively, see their confusion, then quickly repeat the question in the positive form. It was always worth a chuckle.

      That is all I can think of now. If you have any questions let me know. What city are you working in?