web-dev-qa-db-ja.com

西のプログラマーは東のプログラマーをどのように見ていますか?

この質問の残りの半分: 東のプログラマーは西のプログラマーをどのように見ますか?


世界の東部(インド/中国/フィリピン)は、主に西側の世界(米国およびヨーロッパ)にアウトソーシングサービスを提供しています。

オフショアチームとの共同作業の経験はありますか?はいの場合、どうでしたか?

東部のプログラマーに関する一般的なアイデアや意見はありますか(たとえば、彼らは協力的ですか?これらは何に基づいていますか?

101

うーん興味深いビュー。

私はただ投げ入れたいのですが。

私はインドに住んでいて(私はインド人です)、11/12からプログラミングを続けています。私がこれまで持っているのは高校の教育だけです。興味深いことに、これまでに2つのことをしました。私はインドのコンピュータインスティテュートで教え、現在はフリーランスを開発しています(そして、非常に注目度の高いクライアントとのプロジェクトに参加しました)。

だから私が私が立っているところから真実だと思う2つのこと:

確かに人々は人々ですが、インドでの生活と教育の考え方はここでは非常に異なります。私が教えた数か月間、私は両親が子供たちをITに押し込んだのです。 Bscとエンジニアリングの学位を取得/完了し、100のうち98はCで数行のコードを書き込むことができません(品質を忘れるコード)。

ここの州のコンピュータサイエンスコースでは、カリキュラムの一部としてTurbo Cを使用しています。ほとんどの人にとってC++はCですが、印刷にはcoutのみを使用しています。

開発に関しては、これらの種類の卒業生は、そこに「エンジニア」のトンを見つけて、恐ろしいものをコーディングすることを期待します。ソース管理を使用しない小さなサイズの「企業」に出会いました。彼らはユニットテストが何であるかさえ理解していません。

私が言いたいことがたくさんあるのは悲しいことです。 しかし、ここのみんなはそうではありません。私たちの数は非常に多いので、人々が感じる印象はおそらくそれだけです。笑

どういうわけか、ここで成功するということは、どこか他の場所に移動することを意味します。なぜなら、成長して本当にスキルを磨く余地がないからです。もちろん、ここにはIITや他のトップカレッジのスマートヘッドがいて、彼らのことを知っています(最終的には彼らも引っ越します)。

しかし、肝心な点は、ここでのIT教育は私の考えではかなり悲しいことです。

81
gideon

免責事項:私は中央東ヨーロッパに住んでいるので、私が東部と西部のどちらとしてカウントするかを独自に決定します:-)そのため、西ヨーロッパから私たちの国に外部委託したプロジェクトに取り組みました私たちの能力に関しては、インド人がそのような状況で経験しなければならないことと同様です。

OTOH私は、いくつかのインド人およびロシア人開発者と2つの主要なプロジェクトに取り組んできました。最初のものには、インドの下請け業者によって完全に開発されたコンポーネントも含まれていました。これは、これまでアクセスしたことのない最も恐ろしい部分のコードでした(「これまで読んだ最も恐ろしいコード」とは言えません。ソースファイルのサイズが600 Kバイト(またはAFAIR約30K行)を超える場合は、すぐに閉じて、触​​れる必要がないことを祈ることしかできませんでした。私の祈りは聞かれました)。

後者(私が現在取り組んでいる)は3つの異なる会社に下請けされており、そのいくつかはいくつかのインドのプログラマーを採用しています。その結果は過去1.5年で整理されており、予見できる将来に向けてまだ十分な作業が残っています。

私の個人的な生活の中で、私は自分の人生の前の時代に3か月以上インドに住んでいたので、おそらく平均的な西洋人よりも国とその住民について詳しく知っています。個人的に私はインディアンがとても好きです。

私の個人的な経験では、一般に西洋人とインド人の間に存在する同じ顕著な文化的違いが、プログラマーの間でも観察可能であるというものでした。インド人は通常、彼らに投げつけられる具体的なタスクを実行するのに非常に熱心ですが、必ずしも全体像を理解する必要性を見たり感じたりする必要はありません。これは、簡単に低品質のソフトウェアになる可能性があります。

もう1つの潜在的な問題は、インド人が無作法と見なしているため、要求にノーと言う文化的に根強い抵抗があることです。インドの食料品店に行って毛布/ジュエリー/フカヒレなどを要求すると、飼い主は「はい、そうです」と言ってから、少年を近所の別の店に送って商品を取り出し、誇らしげにあなたにそれを提示します。それは確かに良い商習慣です。しかし、同じことが不可能な固定されたスケジュールでソフトウェア開発プロジェクトの下請けに適用される場合、結果は悲惨なものになるかもしれません。これは私の部分からの推測にすぎませんが、これが本当にインドへのSW開発のアウトソーシングの要因であるかどうかについての具体的な証拠はありません。

現在のプロジェクトにおける無駄な勤勉さの主な例の1つは、パフォーマンス監視スキームの実装でした。アイデアは、パフォーマンス統計を収集するオブジェクトを渡すことでした。ただし、このソリューションはアプリを遅くしているため、実際には使用されていませんでした。それにもかかわらず、コードの残りはクリーンアップするために残されました。実際には、これはコード内のすべての(約6000)メソッドに追加のオブジェクトパラメータを渡すことを意味しました。それを実行した人は、各メソッドのJavadocにコメントを追加し、パフォーマンス測定のために追加のパラメーターが追加されたことに注意しました!さて、私はその人の勤勉さに驚かれるだけで、6000のすべてのメソッドを通して彼の仕事を行い、それらのJavadocコメントをどこにでも忠実に挿入できます。 OTOH、a)前述のように、このスキームは実際には使用されなかったため、初期のプロトタイプによってそのパフォーマンスの浪費効果が検出され、ジョブ全体が不要になったと考えられます。b)すべてのJavadocコメントに同じスペルエラーが含まれていた、c)とにかく、そのようなコメントはJavadocに属していません。

これがすべてインドの貧しい開発者の過ちだったという意味ではありません(Javadocの誤用を除く)。 IMOは、結果を監視せずに厳格な受け入れテストを実施し、コードとドキュメントの適切な品質を確保せずに、プロジェクトを不注意に請け負うマネージャーの責任です。下請け業者が開発時間の節約に興味を示さない時間ベースの支払いスキームは言うまでもありません。

しかし、私は西側の開発者を見つけて、同じレベルの一貫性と苦情なしに同様のタスクを実行するように強いられないと思います。

また、この現在のプロジェクトでは、インドのテスターのグループにテスト作業を委託しています。個人的にはそのうちの1人としか連絡を取りませんので、それらの合計数はわかりません。しかし、この男はテスターの逸品であり、あらゆるプロジェクトの貴重な資産です。勤勉で徹底的であることは別として、彼は全体像を理解するために多くの質問をし、しばしば予想以上のテストを行い、発見された問題を正確かつ記述的に報告します。

118
Péter Török

私は(ほとんど)オフショア(東半球)のリソースに「委任」された3つのプロジェクトを扱いました。 3つのケースのうちの1つは、ロシア東部でグループ(またはおそらく1人の男-1人だけを扱ったが、彼が何人の仕事をしていたかは不明)を使用した。彼らは良い仕事をし、プロジェクトは非常にうまく進んだ。ただし、英語が第二(またはおそらく第三)言語である人々が文言に取り組んでいるため、UIでいくつかの小さな問題を修正する必要があった。

他の2つはかなり異なるストーリーでした。偶然であろうとなかろうと、これらの両方のケースで、プログラマーはインドにいました。あるケースでは、基本的に彼らが行ったすべてのものは、プロトタイプ以上のものとして扱われる必要がありました-可能なデザインをテストするために(ある程度)使用可能ですが、彼らが書いたすべてのものは捨てられ、生産レベルのコードを取得するために置き換えられました。彼らは、私が「ISO 9000マインドセット」と考えるものを例示しているように見えました。彼らはポリシーと手順をほとんど宗教的に順守していることを示しましたが、解決すべき問題に対する洞察がほとんど完全に欠如していました。彼らのコードは私が今まで見た中で最も不器用かもしれません。

もう1つのケースでは、プロジェクトは最終的に削除されました。これは、最近昇格したVPの頭の痛い計画でした。1日目からのアイデアは、支出を最小限に抑えながら、彼のアイデアが活発に開発されていることを彼に伝えることができると確信しています。私たちが入手したコードは完全に役に立たなかったものの、プロジェクトの管理や使用可能なスペックの取得さえも行われなかったため、請負業者を非難することは困難です。彼らのコードは最初は貧弱で、誰も気にかけていないことが明らかになると、品質はすぐに悪化しました。

30
Jerry Coffin

私はコンピュータサイエンスとエンジニアリングの最終学年であるインドの21歳の学部生で、4年間の学位を取得しています。

これを書くというまさにその考えは、インドはアウトソーシングのハブ以上のものであると言うことでした。私は西側がそれをそのように見て、才能を吸収するのではなく、西側がインドのハブをもっと増やします。不快なコンテンツが先にありますが、全体像を理解すれば、私が言おうとしていることが理解できます。

インドの教育は非常に不安な状態にあり、毎年生産される労働力はまったくまたは恐ろしい技術的スキルを持っていません。教育システムは、イノベーションや起業家精神の面でまったく競争力がありません。これにより、最近自国で開発された10ドルのコンピューター(安価な中国のAndroidベースのタブレットであり、インドの会社によってのみ維持されている)であることが判明)、またはもう1つの技術革新(それは親指のドライブであることが判明しました)教育機関は、技術の現実の世界から完全に切り離されており、革新という名のもとに、車輪を再発明する学生により関心を持っています。教育機関は、誰もが彼らを嫌っています。

あなたが少なくともいくつかのホットな開発スキルを学ぶことを期待する場所に来る:

私は、教育機関以外にも、インドのいくつかのトレーニング施設を利用しました。プログラミングとソフトウェア開発は、2つのレベルアプリケーションレベルの開発とシステムレベルの開発で行われます。

アプリケーション開発の場合、インドのほとんどの新入生は、プログラマーの座っているベンチを要求し、より多くのプロジェクトを取得するために企業によって大量に採用されています。結局のところ、採用プロセスがまったくばかげているため、妥協のない品質が存在します。時には、JavaフレームとシンプルなWinFormとASP.NET UIのみの作成(私は新鮮な採用について話しており、一部の人が主張しているとおりですが、よくわかりません)。優れたソフトウェアエンジニアリング手法を考慮しない場合、この種のコーディングは7年生が行いました。

しかし同時に、物事に強い関心を持つ独立したプログラマーや開発者もいます。彼らはすべての希望を失い、世界を変えることにあまり興味がない、縁の下のない英雄のようなものです。彼らが望んでいるのは、彼らのスキルを最大限に活用することですので、それはすべてお金と海外へ行くことです。私たちのコースはシステムソフトウェア(TurboCを使用したCプログラミング!!!で4年間非常に制限されていますが、適切なオブジェクト指向の概念のない愚かで曖昧なC++ Cプログラムでのcoutの使用はC++ではありません、ASMおよびgccを使用したより多くのCプログラミング)、社内では、ほとんどの場合、アプリケーション開発(ASP.NET、WinForms、J2EE)を行うように作られています。基本的に、コンピュータサイエンスエンジニアはソフトウェアエンジニアの仕事をするように作られています。はい、コンピュータサイエンスを理解することは役立ちますが、適切なソフトウェアエンジニアリングを理解しないとプロセスが過度に阻害され、システム全体が急落します。それは#failです。

簡単な例を挙げます。私は最終年度のプロジェクトのトレーニング機関に参加しました。彼らは、在庫システム(ホテルの予約、CRMなど)のようなASP.NET Webサイトを作成することを望んでいました。はい、それは簡単な作業ではありませんが、私の意見ではプロジェクトに取り組む価値はありません。それは単に車輪を再発明するだけであり、これらのプロジェクトは実際には実生活において巨大です。 3人のグループによって6か月以内に提供されるため、これによって生じる使用不能な縮小されたシステムの種類を理解できます。インスティテュートはあまり深くストレスを感じず、「学生に伝えすぎないように怖がらない」と「概要を説明し、残りの部分を自分で学習させる」ことにもっと関心があります。結局のところ、人々がプロジェクトで開発するものは、完全にテストされたプロトタイプでさえありません。実際の使用のためにそれを置くことは言うまでもありません。

私は自分のトピック、音声ガイド付きリアルタイムナビゲーションシステムを取り上げました。私はWPF、Google Maps API、および可能な限り最新の技術を使用しています。ソフトウェアエンジニアリングを実践するために、私はソース管理とMVVMを使用しており、私が知るようになった他のものについては徹底的に説明します。私は21歳で、卒業生です。私の年齢では、西部の人々はまだ学習段階にあり、後の年齢で卒業生になると思います。それは西洋の卒業生をよりよくそしてより知識があるようにします。量はあるが質はない。

インドでは、私のプロジェクトで行っている仕事のレベルは、通常、最終年度の学部プロジェクトには期待されていません。でも、やりたいからやります。同時に、ASP.NETでプロジェクトを実行し、5〜7ページを作成し、データベースクエリを実行し、グリッドビューに入力して、セキュリティについて気にしない人が私のグループにいます。地獄、それらのフリーランスのウェブサイトでさえ、より良い求人情報を持っています(YouTubeクローン、Googleインスタント+ X = Yマッシュアップ..)

半年後、あなたはあなたがあなたのビジネスをアウトソーシングする会社で働いている同じ人々を見つけるでしょう、そしてあなたもそこに私を見つけるでしょう。それらのような人々は、私のような人々よりも10対1の数が多い:(

正確で、不快ではありません。私の全教育のキャリアと500人以上の知り合いで、私と一緒にプロジェクトに取り組むために私が彼らを検討するレベルの専門知識を持っていたちょうど4人を見ました)

最終的に、すべてのインドの卒業生は理論であるため、優れたドキュメントを作成しますが、彼らからの間違いのないコードは期待していません。

システムソフトウェアについても同様です。私の友人はAndroid NDKを使用しており、会社でライブプロジェクトに取り組んでいます。彼はこのプロジェクトを手に入れられたことを幸運に思っています。私は彼を羨ましく思いますが、このレベルの作業はインドもそうです。私の大学のもう1人のシニアは、最終年度のプロジェクトでわずか2台の安価なWebカメラを使用してkinectクローン(マイノリティレポートのようなマルチタッチマウス)を開発しました。同様に、インターネットからコードをコピーして学位を取得する人もいます。車輪の再発明。

私の最後の言葉は、インド全土で妥協された品質を期待しないでください、そしてインディアンを当然のことながら安価なソフトウェアメンテナーと見なし、メンテナンスの仕事だけをアウトソーシングするのに適しています。

また、マークに関して学歴の良い人が優れたソフトウェアを書くことを期待しないでください。インドの教育システムはすべて理論志向であり、実用的でストレスがかからない場合があります。時には、もっと知りたい、またはもっと知りたいという意欲が、脅迫されている教師から困惑することもあります。それでも、優れたプログラマーは、良い仕事だけでなく、より良いキャリアで緑の牧草地を探します。良い「仕事」を着陸させ、ホンダシティをドライブし、中国本土で外食し、その後幸せに暮らしたい人もいます。 。

私はアウディにもっと興味があります。 :)

22
r3st0r3

人それぞれ。一部のプログラマーは優れたプログラマーであり、一部のプログラマーは悪いプログラマーです。悪いプログラマーの中には、時間の経過とともに優れたプログラマーになる人もいますが、時間は他の悪いプログラマーの利益にならないものもあります。

場所は、ここでは要素にならない傾向があります。しかし、たぶん機会があります。

8歳のとき、GW Basicで「Bad Syntax Error OK」という言葉の意味を尋ねていました。私はコンピューターで育ちました。誰もがその利点を持っているわけではありません。しかし、時代は変化しており、今日の8歳児は、昨日の8歳児よりもテクノロジーにアクセスしやすくなっています。

しかし、プログラミングはコンピュータの使い方を知るだけではないということを理解することが重要です。それよりもはるかに深く実行されます。以下は、優れたプログラマー(および時間を必要とするプログラマー)を実際の悪いプログラマーから分離するいくつかの重要な特性です。

  • 優れたプログラマーは好奇心が強い
  • 優れたプログラマーは、オンラインのブログや記事を読んで、自分の分野についてもっと学ぼうとします
  • 優れたプログラマーがスタックオーバーフローに関する質問に答える
  • 1〜2年以上の経験を持つ優れたプログラマーは、コンピューターサイエンスの教育は時間の無駄ではなかったことを理解しています
  • 優れたプログラマーは箱から出して考えることができます
  • 優れたプログラマーも優れたリーダーです
  • 優れたプログラマーは積極的であり、何をすべきかを指示される必要はありません

最も重要なのは、優れたプログラマーは優れたコミュニケーターでもあるということです。最高のプログラマーは、他の人を説得できる人です。彼らは、解決策が見つかるまで、他の仲間と問題について根気よく議論できる人です。

最大の課題はコミュニケーションです。

課題が何であれ、自分や他人を固定観念にしないでください。あなたは他の人と同じくらい多くの可能性を秘めています。あなたが本当に心に留めていることは何でもできることを覚えておいてください!

22
jmort253

警告、先の総括的な一般化。表明された見解は誰もが共有するわけではありません。実際、著者はそれを信じさえしないかもしれません。

西側の開発者は東側の開発者を恐れています。私たちの仕事は最終的には外部委託されると何度も耳にします。これはどんな関係にとっても悪いスタートです。さらに悪いことに、私たちの教育は劣っていることを常に思い出しています。東部の開発者はより安価で賢く、より多くの手間を我慢します。東部の開発者との私たちの専門的な経験は恐怖で毒殺されているので問題ではありません。

18
Scant Roger

私はインドの開発者と一緒に3年間働いています(私はイタリア人です)。人それぞれ。チームが必要だったので、主に外部委託しました。イタリアでは、Delphiのように人気のない言語でチームを見つけるのは困難です。したがって、主な理由は、コストではなくチームを見つけることです。

とにかく、私たちが見つけたチームは非常に優れたリーダーを持っていたので、非常に良かったです。しかし、他の開発者はそれほど重要ではありませんでした。どうした?彼はとてもいい人で、彼も私の友達になったので、今ではその開発者は私たちのために直接働いています。強い関係があり、私たちは彼にほぼイタリアの給料を支払っています。どうして?関係が重要だからです。救うためにインドに行く人をたくさん見ました。

あなたが支払うものを手に入れます。もちろん、ある程度のお金を節約することもできますが、(特に小規模なプロジェクトの場合)お金を節約するためだけにアウトソーシングを行うのは間違った選択だと思います。

18
user193655

他の人のために話すことはできません。これは私の意見ですが、人々はそうは思わないでしょう。それらを見て、いくつかの事実から始めましょう。

最初に、ほとんどの人がソフトウェア開発のために本当に切望されていないという証拠があります。 (たとえば、UI調査では、人口の半分以上がディレクトリツリーのアイデアを「取得」しない可能性が高いことが示されています。)西側では、これらの人々は、自分に適した他のまともな仕事を見つけることに問題はありません。それとは対照的に、インドでは、ソフトウェア開発への圧力が非常に高く、とにかく彼らはそうします。つまり、インドにはソフトウェア開発に参加するべきではない人々がたくさんいます。

次に、インドはアウトソーシングの一般的な目的地です。安価に見えるため(給与が低いため)、企業がこれを行います。ただし、十分に文書化されています(たとえば、 COCOMO II モデルの文書化されたコスト要因を参照)。次のすべての増加に必要な開発時間と労力:複数の場所のワーカー、複数のタイムゾーンのワーカー、および複数の文化の労働者。インドで実行され、西側からのプロジェクトには、3つすべてのコスト要因があります。 (これは、開発者として働いているはずのない人を見つける傾向を追加する前です。)

最後に、ソフトウェアプロジェクト管理における絶対最大の課題は、それを知る必要がある意思決定者にとって何が機能していないかについての正確な情報を取得することです。私はこれが好きです ユーモラスなテイク その傾向について。絶望、文化、または顧客が正しいとの信念など、理由が何であれ、インドに外部委託されたプロジェクトでは、この傾向はさらに悪化します。時にはコミカルな程度に。

その結果、アメリカの企業は低賃金のサイレンの歌に屈し、仕事をインドにアウトソーシングし、アウトソーシングしたプロジェクトが災害に変わるという強い傾向があります。 (しかし、災害の程度は、アメリカ人が仕事を失うまでわかりません。)

企業が行くもう1つの方法は、H1Bビザでアメリカ人にインド人を雇うことです。これにより、リモートワーカーの問題が解消されます。アメリカなどで給与が高いため、多くのインド人がこれらの仕事を求めています。また、利用可能な仕事をすべて満たすのに十分な数の本当に優れたインド人がいます。しかし問題がある。 H1Bビザを採用しているアメリカ企業は、アメリカ人がその仕事に対応できなかったこと、採用した人に市場レートが支払われていることなどを断言する必要があります。しかし、H1Bビザの誰かが仕事を切り替えるのに苦労しています。これは雇用主に拘束労働者を与えます。そして、それらの従業員を実際に公正に扱うための市場的インセンティブを残しません。これは、企業に不正直への強いインセンティブを与えます。倒産が多すぎる。このプログラムの乱用の割合を制限する唯一のことは、毎年付与されるH1Bビザの数に上限があることです。

アメリカ人として、私はアメリカに来る最高の人たちに問題はありません。それどころか、それがこの国を築いたものです。ただし、到着したら平等に扱ってください。たとえば、ビザのステータスのために、Google、Apple、Facebookからの求人を辞退しなければならなかったフィリピンの人を知っています。彼が現在作っているものの約2倍。市場が彼のような人々の給与を設定することが許可された場合、企業がH1Bプログラムを悪用しようとするインセンティブははるかに少なくなります。

だから私の意見があります。多くの理由で、インドへのプロジェクトのアウトソーシングはしばしば災害を引き起こします。 H1Bワーカーとして得られるものは優れている傾向がありますが、そのプログラムは私を悲しくさせるような方法で酷使されています。

18
btilly

IMO問題は東西ではなく、アウトソーシングの一般的な考え方です。 90年代後半には、インターネットブーム、Y2K、ユーロ通貨換算がプログラマーに多大な労力をもたらしたため、アウトソーシングがその当時のホットな話題でした。しかし、それは東部ではなく、国内のアウトソーシングでした。それでも、オフショアリングで予想または経験する問題の多くは、現地のアウトソーシングパートナーでも発生しました。

多くの場合、適切な仕様を作成することは、自分で行うことと同じくらいの作業です(Q&Dですが)。しかし、アウトソーシングの目的は時間やお金を節約することであるため、アウトソーシングパートナーに提供される仕様は大雑把です。時間単位で支払われる請負業者と監督の欠如を追加すると、何を期待する必要があるかは明らかです。

12
user281377

私は中国に2年弱住んでいます(私はカナダ人です)。中国の開発者と仕事をしています。不思議なことに、海外のカナダの開発者と仕事をしています。少なくとも中国人の開発者で作られた一般化のいくつかは幾分真実であると言えます。つまり、私がここで会った/協力したほとんどの開発者は次のとおりです:

  • 好奇心と創造性に欠ける。ここで私は彼らが劣っていたり、愚かだとは思いません。むしろそれは文化的であるということです。歴史的に、彼らは何よりもまず権威を尊重すると考えられています。そのため、彼らは「上」から渡された悪いデザインには決して疑問を呈しません。また、彼らの多くは、ドメインスキルよりも技術スキルに主に関心を持っています。彼らが手元の仕事に直接関係することができない限り、私は彼らにパターンと抽象的な概念について教えるのに最も苦労します。しかし、しばらくすると、壁が崩れ、挑戦的な権威でより冒険的になります。少なくとも、技術レベルでは、ビザを取り消されたくありません;-)
  • 脅威これは以前に言及されましたが、私は強調します。これはおそらく単一の最も重要なポイントであり、海外の(つまりカナダの)大学との取引において最も緊張を生み出しているものです。一般に、私が一緒に働く西洋人は、東洋人と協力することのすべての否定的な側面を誇張する傾向があります。彼らはお互いに非常に寛大である一方で、コードレビューに非常に厳しいでしょう。彼らは、プロセスまたは優れた慣行の1つの見落としがイースターエスターによって見落とされている場合、キックし、悲鳴を上げますが、自分たちが実施した手順に従うように丁寧に求められた場合、彼らはキックし、悲鳴を上げます。
  • Expendable中国人が焼きたての中古機器で作業することは問題ありません。半快適な椅子を手に入れる前に、私は3つの椅子を壊しました。それから私は、良い椅子に中世の拷問器具のようなものがまだ残っていることに気付かされて気分が悪くなりました。しかし、同じ会社の本社を訪れた開発者には、椅子は言うまでもなく、中国の4〜6人の開発者のチームが占める床面積を占めるデスクがありました。

当初、彼らが書いたものは必ずしも非常に良いとは限りませんでした。確かに文化的な違いはありますが、まずは不適切に設計されたシステムの長い急な学習曲線もあります。しかし、あなたは何を知っています... 2年後...このシステムで行われた最高の仕事のいくつかは中国のオフィスから来ています。これがますます目に見えるようになるにつれて、これは脅威要素をさらに悪化させます...

率直に言って、それは簡単ではありませんが、個人的な経験から傾向を見ると、フェンスの右側にいると思います。

11
Newtopian

これは興味深いトピックです。私はSFとシリコンバレーだけでなく、ローカルクライアントのヨーロッパでも働いており、インドにオフショアオフィスを設立し、現在は南米でオフショア開発ショップを運営しています。私はアフリカの開発者たちとも少し作業をしました。

世界のすべての地域で優れたプログラマーを生み出すことができます。マラウイにハッカーの友達がいます。すばらしいタッチインターフェースを構築していますRails HIVクリニック向けのオープンソースシステムを支援し、重要な方法でオープンソースプロジェクトを使用および貢献しています。

アメリカのプログラマーが、有名ブランドの新興企業や主要なウェブ企業で働いていて、紙袋を使って自分のやり方でプログラムすることができなかったのを見たこともあります。 MIT)からのComp Sciの修士号と、長年の業界経験をもつ人々。優れた製品コードを書くことになると、それを切ることができませんでした。

ヨーロッパ、ラテンアメリカ、アメリカ、インドの間には、非常に現実的な文化の違いがあります。次に、多かれ少なかれ普遍的なハッカー文化があります。

主流のインドの技術コミュニティは、問題に人々を投げつけるのが好きです。開発者1人あたりの1時間あたりのレートは低くなる可能性がありますが、ベンダーが品質よりも量を信じている場合は、コードを実行するために2倍の開発者が必要になります。

認定。なんてこったい?インドは認証、ISO、CMMIなどが大好きです。それは無意味なお尻をカバーしています。要は、良いソフトウェアを開発する方法ではありません。

カースト制度。カースト制度はインドでは違法であり、独立以来それを排除するために多大な努力が払われてきましたが、それはまだ生きている呼吸獣です。ほとんどの西洋人はカースト制度の存在を無視しています。私はアメリカで育ちましたが、父はアングロインディアンと呼ばれるインドで生まれ、母は学生としてそこで大学に行き、その後インドの大学でずっと教えに戻りました。カースト制度は非常に現実的で、インドに由来し、古くなっていますが、イギリス人はそれを奨励し、権力を維持するために使用しました。西洋人は、階層の最上位にある英国人の代わりになることを知っておく必要があります。あなたはサーと呼ばれるでしょう、あなたは質問されないでしょう。ほとんどのインドのマネージャーは彼らの役割を彼らの部下に何をすべきかを伝えることとして見ています。反論して代替案を提供することは罰せられます。

Zohoは、すべてのインドの開発店がこのようなものであるとは限りません。彼らは、カーストではない能力またはあなたが持っている大学の資格に基づいて雇います。そうすることで、彼らは完全にSaaS MS Office Suiteの代替品をブートストラップしました。

インドには、ミートアップ、メーリングリスト、小規模な会議など、活発なハッカーコミュニティがあります。これらの開発者は世界クラスの優秀者です。彼らは、主流のインドのソフトウェア開発業界で仕事をするのが難しいと感じることがよくあります。私自身、インドオフィスに2つのpython=開発者がいることを発見しました。彼らは素晴らしかったです。それから、私たちのインドのマネージャーはチームに記入するために1ダースの新卒者、新卒者を雇うことを主張しました。数か月後、ハッカーはやめたとき、彼らのマネージャーは彼らの人生を地獄に変えました私たちには、十人の若くて熱狂的な従業員が残されました。

新入生の最高は、組み込みシステムの開発者のためにIDEを開発した若い女性でした。保守的な家族から来て、インド人が彼女を強制されると思ったので、誰も彼女を雇いたくありませんでした結婚したら仕事を辞める。

インドには優れた開発者がいますが、価値構造は、それらを押し出し、優れたコードの作成とは関係のないことに基づいて人々を宣伝するように設定されています。

もう1つの大きな問題はタイムゾーンです。それは利点ではありません、それは大きな問題です。つまり、オンサイトチームとオフショアチームの間で常に直接的なコミュニケーションが行われることはありません。これは大きな誤解を引き起こし、一連のドキュメントを書くことを余儀なくさせます。それはアジャイルを引き離すのを非常に難しくします。

悲しい真実は、インドの企業が生産するソフトウェアの膨大な量が低品質であることです。開発者は、インド人エンジニアがいかにがらくたであるかについていつも話していると聞きますが、それは真実ではありませんが、これは、大規模な伝統的なオフショア企業の品質を反映しています。これは、開発者自身ではなく、インドのビジネス文化のせいです。開発者は間違ったシステムに報いる悪いシステムで立ち往生しています。

9
rabble

鈍くて皮肉な:

  • 安い
  • 脅威
  • ローカルのコードモンキーを、より高価なプロジェクトマネージャーやアナリストと交換して、オフショアチームと連絡をとるという認識の欠如
  • 簡潔で包括的な要件を提供できないため、関係者は求めているものを手に入れます。これは彼らが望んだものではありません。利害関係者は地元の知識を求めています...
  • ...しかし、それは上級者向けのボックスティックです[〜#〜] it [〜#〜]管理がトレンディであるため/人気がある/ KcKinseyが言っている/開発者を理解していない/ ...
8
gbn

私は、アジアにオフショアされたいくつかのプロジェクトを経験しました(私が言及しないさまざまな国)。それらのすべては悲惨な失敗でした。膨大で詳細なドキュメント、仕様ドキュメントなどが結果で送信されているにもかかわらず(何かが生成された場合)、一様に不十分でした。通常、それはまったく機能しなかったか、ほとんど機能しないため役に立たないかのどちらかでした。プロジェクトも(成果物が作成された場合)、大幅に遅れました。

OTOH私はアジアのプログラマーやヨーロッパやアメリカで働いている他のプログラマーと仕事をしてきましたが、彼らのほとんどは仕事をよく知っている勤勉で上手な人々です。

たぶん、ITの優秀な人々はすべてアジアを離れてヨーロッパやアメリカで働くという彼らの何人かの声明がすべてを語っています。残っているのは山積みの底であり、監視、トレーニング、およびチームリーダーシップを提供して改善をもたらすための優秀な人材がほとんどまたはまったくいません。電話と電子メール(およびテレビなどでのインタビューを見ている)で(少なくとも一部の国から)そこに住んでいるアジアのIT担当者に対処する必要があったので、文化も関係しているかもしれません。多くの人は、自分たちをアメリカ人やヨーロッパ人よりも人種的、道徳的に優れていると見なし(そして、国の裏切り者を去る人を考慮している)、劣った存在と考える人からの助言に耳を傾けることを拒否しています。これは確かにアジア諸国のすべての人に当てはまるわけではありませんが、世界中のオフショアリング会社に「私たちは最善を尽くしており、すべての問題は顧客によって引き起こされている」という雰囲気を作り出すのに十分に広まっている可能性があります。もちろん、会社はすぐに現れたり消えたりし、彼ら自身のブランドを変え、彼らの名前がパフォーマンスの悪さによってだまされた後に再びスタートすることも、役割を果たす。

東ヨーロッパの状況はより良いです、おそらくそれらの国の多くはEUの一部であるため、それらが台無しになった場合、彼らに対する法的訴訟が成功するという大きな脅威があります。

8
jwenting

IBMでの10年間、私は世界中のプログラマーとさまざまな関係で働きました。 最初に学ぶのは、海の両側で地理的なステレオタイプがすべて間違っているということです。プログラマーは世界中のプログラマーです...どこからでも100を選ぶと、ほぼ同じになります。旅行なしでhello worldをプログラムできなかった人、または3人がgoogleをプログラミングできなかった人の割合、まともな能力を持っている人、優秀な人。

そうは言っても、それらの領域のいくつかにおけるビジネス環境の地理的な一般化は正確です。たとえば、インドはオースティン、テキサス、またはシリーコンバレーが90年代後半から2000年代の初めにかけていたようなものです。毎年、仕事の行き来や回転ドア、人々の行き来がたくさんあります。一方、中国はここアメリカ中西部のシリコンプレーリーにかなり似ているようです。人々は会社を選び、そこに長期間滞在します。ブラジル、ロシア、ヨーロッパは中間の場所にあるようで、中程度の時間を過ごすほどではありませんが、その2つが混ざっているように見えます。

7
cabbey

私は東洋の世界に属しています。また、私の会社から東洋の世界へのアウトソーシング作業の経験もあります。プロジェクトのアウトソーサーは失敗しました。これらのエンジニアの何人かと一緒に働くのはイライラしました、私はアウトソーシングモデルと技術的な専門知識が改善のために東でもっと成熟することができると思います。とは言っても、私は西側世界の多くの人々と一緒に仕事をしてきましたが、それらもまた改善することができます。あなたは世界中の良いプログラマーと悪いプログラマーを見つけます。

5
Geek

免責事項:私はインド人であり、これはインド人の見解に聞こえるかもしれませんが、私は多くの西洋の顧客と、そして米国でさえ仕事をしてきました。もし東半球に世界で最悪のプログラマーがいるなら、なぜ西半球が東に外部委託するのでしょうか?ドルを節約するためだけに地球の東部に外部委託する場合、IMOは品質を犠牲にします。良い、速くて安い、2つ選んでください。私は男を雇わなければならないとき私は彼らの期待は何であり、彼らが支払う準備ができている価格は何であるか私の組織に尋ねます。有能な自尊心のある男に、より少ない給与とより多くのプレッシャーのためにあなたのために働くように説得するのは本当に難しいことです。そのただのフリーランシングサイトと、その仕事がバンガロールdであり、東部のプログラマーがコードモンキーになった不幸な西部の男たちが組み合わさっているだけです。あなたがより良い価格を支払う準備ができているなら、あなたはより良い結果が保証されます、そしてそれらのISO/CMMI/SEI種類のサービス会社に従わないでください。彼らは羊や家畜の群れを育てるような才能を雇います。

4
Kumar

私は現在アメリカ(ロシア)に住んでいて、起業家(および法案を支払う側のフリーランサー)として働いているアメリカ人です。私はシリコンバレーで、開発者、テクニカルチームリード、およびソフトウェア/システムアーキテクトとして、20年以上にわたって数多くの企業や新興企業で働いてきました。国際法人。この最後の企業(これを「X」と呼びます)には、米国と世界のすべてに開発センターがあります。インド、ロシア、中国、ヨーロッパなどです。これらのチームのメンバーと直接仕事をしたところ、非常に才能があり、価値のあるエンジニア。主張と創造性私は今のところアメリカ人エンジニアの性格タイプになりがちですが、それはフリーランスとアウトソーシングが成熟するにつれて長くは続かないと思います。

  • アウトソーシングはお金について非常に明確です。私が米国を離れたとき、Xは米国では採用していませんでしたが、国際的なオフィスで採用していました。 Xは、米国以外のエンジニアに、同等の(年数の経験、スキル)米国のエンジニアの給与の約1/4から1/3(地域によって異なります)を支払います。これは、通常、米国以外のいくつかの場所の経済性を考慮すると、かなり良い給与ですが、これは、米国のエンジニアリングポジションの存在そのものの賃金には適していません。

  • フリーランシングは、コンピュータ作業、特にソフトウェアの未来だと思います。その性質上、移植性が高く、必要なのはラップトップとインターネット接続だけです。社内のオンサイトチームには、常に信頼できるスケジューリング、予測可能なスキルセットなどのケースが存在しますが、それらは非常に維持に費用がかかります。

  • 米国のエンジニアから、米国以外のすべての開発者がどれほどひどいかについて、かなり頻繁で傲慢な投稿がここにあります(たとえば、このスレッドを見てください: https://stackoverflow.com/questions/209170/how- much-does-it-cost-to-develop-an-iphone-application )。ステレオタイプは、はい、彼らは安価ですが、常に(不十分な)修飾もされていて、くだらないコードを書きます。品質を得るための唯一の方法は、米国のエンジニアに米国の賃金を支払うことです。戯言!米国のエンジニアは目を覚ます必要があります。業界と経済は、非常に高い給与の社内開発者から、世界中に分散した開発チームに移行しています。確かに米国以外の悪い開発者はいる-しかし、彼らが測定しなかったのであなたが受け継いだすべてのそれらの米国のインタビュー対象者を思い出してください。私が今までに見たり作業したりしなければならなかった、絶対に最もひどいコードのいくつかは、変更または改善を拒否した米国内のエンジニアによって書かれました!一部のランダムなelance開発者がくだらない仕事をしたからといって、すべての米国以外のエンジニアがひどいことを意味するわけではありません。代わりに、そのelanceクライアントは、落札者を少し超えて見る必要があります。本物の宝石があり、トップの開発者でさえ、社内の米国の料金に大幅な割引価格で利用できます。この特定の瞬間に、私はあなたに認めます、多くの才能が米国に集中しています-しかし、これが決して変わらないと思う人は誰もが非常に深刻に騙されています。

  • 才能と経験の欠如よりもコストがかかります。しかし問題なのは、米国の社内従業員の給与スケールが他の世界の給与スケールと比べて打撃を受けていないことです。絶え間なく変化する動的な才能/コストの連続性があり、米国以外のエンジニアのバックグラウンドアンビエント才能は上昇するだけであり、それは米国の賃金率と非常に高い存在の両方に非常に強い下向きの圧力をかけるでしょう有償の米国内エンジニアリングポジション(Xは国際的に採用されていますが、米国では採用されていません。執筆は壁に書かれています)。そのため、才能のある人は常に才能のある人よりも多くの料金を請求できますが、現在の米国のレートではないことは確かです。

  • 開発チームの物理的な場所がすでに変更されたのと同じように、世界中の才能の集中は絶対に変わります。米国以外のタレントレベルは上昇し続けるでしょう。それほど遠くない将来、これらのスレッドを振り返り、「彼らが何を話していたか、世界のどこにでもトップのタレントを見つけることができる」と考えます。

4
Bogatyr

私は地球の東部と西部の両方で働いており、共有するだろうと考えました。私は米国に移動する前に5年間バンガロールで働いていました。米国で約8年間働いた後、インドに戻りました。私は仕事がここであまりにも厳しいので家に座ることを余儀なくされました。 2人の幼い子供がいるので、長い時間を過ごすことは不可能でした。ようやくアルバイトを見つけました。インドでの仕事の質に驚いた。私たちが米国に行ったときは、それほど悪くはありませんでした。若い群衆は新しい技術を学ぶ責任も熱意もないようです。誰かが指摘したように、「いいえ」と言うことはまれです(彼らの自我、IMOへの打撃)。その結果、まったく役に立たないか、平凡な仕事が見られます。コードは判読不能で、全体像がまったくわかりません。拡張の余地もありません。など。そうは言っても、例外的に優れたものはほとんどないと私は言います。もし彼/彼女と一緒に仕事をしているなら、特にその人がうまくコミュニケーションできるなら、自分は幸運だと考えてください!

4
user18244

私は中央ヨーロッパに住んでいます。近年、アウトソーシングの波が私たちを襲いました。私は「西側」からの外部委託プロジェクトに取り組んできましたが、現在、外部委託プロジェクトはより安価な国に上陸しています。だから私は方程式の両側にいます。

私たちがアウトソーシングをしていたとき、私たちのマネージャーと私たちが毎日一緒に働いていた人たちはニースで、社内の開発者のように扱われました。他の人たちからは、仕事の安全について少し不安が感じられました。また、私たちはより大きなプロジェクトで2番目のタスクを取得しましたが、これも私には問題ありません。主な専門知識を外部に委託するべきではありません。

その後、プロジェクトはより安価な地域に移動しました。

全体のアウトソーシングストーリーの要点は、経営陣があなたの知識、経験、教育、またはノウハウについてのネタバレを与えないということです。彼らが気にするのはコストとボーナスだけです。したがって、地域での存在感が必要な理由がない限り、ソフトウェアプロジェクトは最終的にはより安価な国にアウトソーシングされます。

4
Karl

私はロシア、シベリアに住んでおり、プロジェクトを外部に委託しているドイツの医療会社で働いています。アウトソーシング以上のことだと思います。ロシアとドイツの間でチームを共有したり、お互いに出張したりしています。

もちろん私は主観的ですが、私たちは成功したアウトソーシングの例だと思います。コードの品質と製品の品質は、私たちが取り組み始めてから大幅に向上しています。

安い労働力であることは少しがっかりですが、一方では、優れた技術と管理の経験を持つ大企業で働く機会があります。

4
SiberianGuy

私はスイス出身です。私はウクライナにアウトソーシングするプロジェクトに取り組みました。はるかに安い開発者でしたが、節約したお金は、このニアショアチームを監督するために隔月でチームをウクライナに飛ばすために再投資する必要がありました。このプロジェクトは、外部委託されてから約1年で亡くなりました。

私は現在、モロッコに近い海岸にあるスイスの会社に委託されているプロジェクトに取り組んでいます。プロジェクトは順調に進んでいますが、コミュニケーションの問題と品質の問題があります。

主な問題は、私たちが海外でプロジェクトを安価に構築することです。物事を安くすることは常に困難ですが、同じ品質のものです...

3
Guillaume

私は優れたオフショアプログラマと協力してきましたが、彼らを雇うのに法外なほど安くはありませんでした。私はまた、非常に安価なオフショアプログラマと協力してきましたが、彼らは素晴らしかったです。

東洋の優れたプログラマーはおそらく西洋の優れたプログラマーと同じくらいまたはほとんど同じように報酬を受け取る方法を見つけているように私には常に思えます。自分の会社を設立したり、ビザを取得したりすることができます。しかし、彼らは道を見つける傾向がありますよね?

非常に安く働くことをいとわないプログラマーのチームを探すとき、私は一流の才能を得ることを期待しません。あなたの才能がどこに住んでいても真実です。

3
Havoc P

仕事の質が低い場合、彼らはインドに目を向けるほどではないかもしれませんが、彼らは最良の入札をする人に目を向けています。

3
CashCow

Wipro、Infosys、TCSなどについて聞いた場合、世界最大のIT企業の一部はインドにあります。ほとんどの「西洋のソフトウェアプロフェッショナル」がオフショアに参加する余裕のない最大のインド企業は、世界最高の品質であると容易に認められます。 。彼らは、西洋のクライアントの恐れを和らげるために、品質に関するすべての証明書を太陽の下で取得します。また、ほとんどのインドのソフトウェア企業には、ほとんどの西洋企業よりも多くのエンジニア(学位と経験)がいます。また、Google、Oracle、IBM、Microsoft、SAPのすべてに開発センターがあり、そのすべてが安価なプログラマーを探しているわけではありません。

それでは、西側のエンジニアをどのように見ているか。海を見渡すと混合バッグが見えるような混合バッグが見えます。私たちが尊敬している資格のある超技術的な人々がいます、そして、私たちが時々一緒に働くことを強いられるかもしれない潅水バッグがあります。概して、私たちは混合チームで本当にうまくやっています。西側に「技術志向」のビジネスパーソンがいて、反対側にプログラマーしかいない場合、この関係は本当にうんざりします。これは通常、地元のマネージャーを雇わないことでいくつかのドルを節約することを目指している現金不足の西側の会社です。

2
user18189

@giddy、Peter:インド出身のプログラマーとして、私はあなたの発言について、悲しいことに、真実を認める必要があります。彼らは社会的または経済的です。これが、技術的な仕事から純粋な管理職にすぐに移動する人々を見つけることがインドで非常に一般的である理由の1つです(実際には「はしごを上る」と呼ばれています。これは私が嫌いになるフレーズです)。あなたがwantを技術者として成長し続けたいとしても、管理上の役割はあなたに押し付けられます(それが実際に私がインドから引っ越すことに決めた理由の1つです)。

私を超えた理由から、キャリアの成長は、あなたの下で働いている、またはより正確に働いている人々の数と同じです。 「私はxのチームに責任があります」または「x人は私のもとで働いています」は、インドで「成功した」人にふさわしいと見なされている声明です(「x人」がそのような人を生み出している可能性があることに注意してください)このスレッドで他のユーザーが参照しているコード)。

とは言っても、コードの質の悪さはインドや他の「低コスト」の国だけに限ったことではないことを指摘しておきます。ここヨーロッパでも、おなじみの態度とコード品質を時々見ます。ありがたいことに、それらは一般的なルールではありません。

2
JamieJag

免責事項:私は自分自身をアウトソーシングする直接的な経験はありません。以下では、西部の大規模ソフトウェア会社のプロジェクトマネージャーとこのトピックについて話し合ったときに浮かんだいくつかのポイントを示します。この人は、インドで現場に多くの時間を費やして、外部委託されたチームを監督しています。

  • 家にコンピューターを持っている人はほとんどいない(高すぎる)。
  • インドのIT教育は不足しています。 CSの学士号は、コンピュータに触れたことがない学生に与えられます(ここでも、低レベルの学生にコンピュータへのアクセス権を与えるのは高額です)。プログラミングの割り当ては紙に書かれています。
  • 「常にそうだ」という考え方は非常に有害です
  • インドのプログラマーは、何をすべきかを正確に教えられる必要があります。イニシアチブはほとんどありません。
  • インドへのソフトウェア開発のアウトソーシングは災害でした
  • 一部のQAタスクのアウトソーシングは問題なく機能しています。
  • その他:
    • 電気は非常に不規則です
    • インドは多かれ少なかれ警察国家です
    • インドは政治的に不安定でテロの問題を抱えているようです。
    • オプションがあれば、誰もインドに住むことを選択しません。
2
user18213

東欧(東欧ではない)へのアウトソーシングの私の経験はかなり悪いです。私が見たすべてのアプリケーションは恐ろしいものであり、それがやるべきことをやっと行うために一緒に接着された悪い無関係のコードの束のように見えます。

これは、東部の新しいプログラマが西部の新しいプログラマよりも悪いためではないと思います。東部のプログラマが経験豊富なプログラマを指導していないためだと思います。西側の世界では、現代のプログラミング言語での作業は約45年間一般的な職業でした。そのため、経験豊富なプログラマーの多くが、新しいプログラマーと協力して、学ぶことができます。東の現代のプログラミングは何のために起こっていますか? 10-15年?人々が学ぶべき経験は本当に不足しています。その上、私は(ここから見ると)、東部のほとんどのプログラマーは仕事をアウトソーシングしているため、プロジェクトを取得することだけが目的である多くの悪い特徴を拾っていると思いますコーナーをカットすることですばやく完了します。これは、新しい開発者に渡すべきではない経験です。少なくとも米国では、ほとんどのプログラミングの仕事は、時間をかけてサポートしなければならない製品の限られたセットで作業している人々のためのものでした。したがって、人々はソフトウェアが安定していて安全であることを保証するための技術を身につけました...これは新世代に引き継ぐ良い経験です。

ですから、基本的には、人がどこで学んでいるかに関係があるとは考えていません。仕事で習得した習慣に関係しています。世の中には優秀なプログラマーはたくさんいますが(少数派であると思いますが)、プロジェクトが外部委託されたときに私たち西洋人が対話する人ではないと思います。

東ヨーロッパについては、経験豊富な開発者がいます。アウトソーシングの需要を満たすために段階的に廃止される可能性があることを恐れています。

2
user18458

面白い!私は中国人で、プログラマーが好奇心と創造性を欠いている理由を知っていると思います。私の同僚のほとんどは毎日不平を言っています。彼らはコーディングが嫌いで、デザインが嫌いで、あちこちで噂話をしています(それは私たちの文化の一部です)。彼らは、「世界を救う」ことや変化をもたらすことではなく、より高い給料(発展途上国ではITの人は給与が高い)でソフトウェア会社にやって来ます。興味、モチベーション、好奇心、創造性はありません!!!!しかし、頭がいいです(私のように^ _ ^)。品質の高い作業を行い、時間通りに配達します!!!!

2
user19025

私は私たちの仕事のオフショアリングと、一般にオフショア会社と一緒に仕事をすることについて、混合した経験をしました。参考までに、私は米国に住んでいます。


悪い人

私は評価されていた CMMI 5 と評価されていたインドの会社と契約した会社で働いていました。同社は、クライアントソフトウェアをゼロから作成するように彼らに提供し、それが戻ったとき、コードはバグがあり、完全に文書化されておらず、一般にリファクタリングと保守が困難でした。同社は最終的にクライアント全体をゼロから作成し、オフショアリングのコストを負担しました。

別の例では、私が働いていた会社がアジアの会社と提携して、彼らのサービスと製品を東部市場に紹介しました。起こったのは、アジアの会社がソースコードと製品デザインを取得し、パートナーシップを破って、私の会社と同じ独自の製品をリリースしたことを知っている少数の人(そして私自身は代理人)だけの秘密の話でした。


平均的な

さらに別の例では、私が働いていた会社が中国に研究オフィスを開設しました。非常に近代的な場所で、私のオフィスよりももっと素敵なものがオフィスにありました。 R&D施設がカスタムLinux開発に使用される予定だったため、トレーニングのために1週間中国オフィスに派遣されました。チームにはかなり優秀な人々がいましたが、その名声の開発者の場合と同様に、彼らはすぐ後に去り、残りのチームは私たちがここ米国で使用できるようにAPIを作成しました。 Linuxを理解していないため、APIを完全に悪用し、基になるソースコードはせいぜい不安定でした。しかし、大きな問題は会社がLinuxの仕事にも奇妙なチームを選んだことだと思います。そのチームの誰もLinuxのエキスパートではなかったため、そのプロジェクトは1年後に廃棄されました。私は実際にはそのチームの人々と一緒に働くのが好きでしたが、彼らの経営陣と私のチームはLinuxの大失敗について多くのことを議論しました。


いいもの

他の例では、私が別の会社で東ヨーロッパの会社に仕事を請け負っていました。それらの人は本当に良かった、彼らは脆弱性テストを行うように契約されました、そして、彼らは実際にはかなり高価でしたが、彼らは一般的に価値のある投資と見なされました。

私はかなり巨大なインドのITサービス会社とも協力してきましたが、開発者を社内に雇い、契約してもらいました。そこにはいくつかの良い開発者がいましたが、私たちがさまざまなプロジェクトで一緒に働いたので、それはより一般的な話です。


これらの話は娯楽のためのものです-私は複数の会社で働いてきました、そして私は国内および外国の会社についての話をしています。

一部の企業にとって、コミュニケーションは常に難しい部分でした。私は東部標準時で作業しており、私たちは10〜13時間前の人たちと話しています。また、実際の開発者と話をするのではなく、管理のみを経由するので、そこでは分断がありました。

また、仕事を楽しんでいない開発者もいました。私たちは韓国人の開発者がいて、彼は韓国の防衛会社のために低賃金でスレイブアワーに働いたので彼が州に働きに行きたいと思っていました。私は開発者(同じく外国人)の同僚であり、開発者になるという彼の選択を嘆きました。

2
wkl

非常に率直に、そして非常に一般的に言って、「西側」のプログラマーが「東側」のプログラマーに対して高い意見を持っているとは思いません。これが正当化されるかどうかはわかりません。

いくつかの回答が示唆するように、アウトソーシングは「西側」の多くにとって脅威です。これは、「ライバル」プログラマーを信用しない自動的な理由です。

アウトソーシングされたプロジェクトを見るとき、私は悪いコードを見ただけで、ほんの数回だけです。これは、仕事が安い店に行ったため(「あなたが支払うものを手に入れる」)、プロジェクトの管理が不十分だったため、またはプロジェクトが成功した場合はコードを見る必要がないためと考えられます。言い換えれば、あなたは悪いコードについてだけ聞く。

上記の30000行ファイルのようなホラーストーリーもあります。繰り返しになりますが、話がひどいほど、それはさらに広がります。

人々は次のようなことを言うでしょう。正しく実行したい場合は、社内で行ってください。」

あなたが学び、改善しているなら、私はそれについてあまり心配しません。

2
Kirk Broadhurst

アウトソーシングの目的は1つだけです:低コスト

アウトソーシングはこの業界では非常に人気があり、国際的な大企業であっても、内部でのアウトソーシングも利用しています。西部は東部へのアウトソーシングを使用するかもしれません。

西の主な利点はデザインとビジネスエリアにあると思います。ほとんどの場合、建築部門レベルの西部部門の設計は、いくつかの基本コードまたはライブラリーを提供しています。そして西部はビジネスを深く知っています。評価後、基本設計と業務分析は東部に転送されます。

私の個人的な経験では、西部は業界でより成熟していますが、東部はより速く進歩しています。

東部での開発に伴い、アウトソーシングはより低コストの国へと移行しています。一方、アウトソーシングは比較的収益性が低いため、東の企業は、アウトソーシングの段階で西から学ぶことにより、独自の設計とビジネスで能力を構築します。

私の経験:私はニューヨークの近くで生まれ、教育を受けており、中国やインドのエンジニアや開発者、およびヨーロッパのチームと協力してきました。そして私の同僚の多くは中国とインドからの移民です。

一般的に言って、中国とインドの従業員は2つの主要な目的を果たしていると私は見ています。特に、中国は私たちの最大の市場の1つであり、米国以外の最大の顧客がいる場所です。カスタマイズとテストのために顧客に対応するための現地作業が必要です。

私の雇用主もインドと中国で研究開発を行っていますが、それはこの議論の範囲を少し超えています。

一般的に言って、「東」は若く、従業員の離職率がはるかに高い。彼らはまた、はるかに低いベースからより高い賃金引き上げを得ており、私は長年にわたって彼らの生活水準の向上を見てきました。それらの多くは現在自動車(スクーターまたは車)を所有しており、ブロードバンドインターネットアクセスを持っています。

私たちの文化的感受性トレーニングの一部は、さまざまな文化が対立、階層、権威をどのように扱うかであり、その中に真実の粒があります。特に権威へのアプローチにおいて...

1
user18096

私はロンドンのようなインドの求人スキームと契約している会社で働いていましたが、彼らは十分に給与を受けていましたが、コンサルタントのほとんどが稼いでいたものの約2/3 CFOはそれをお金の価値があると考えました。彼らはすべて、ほとんどの請負業者よりも修士号などを持っていました。結果?ぐちゃぐちゃ! ASCII c#ファイルのヘッダーでのアートの競争、命名規則を無視、ネストされたifの大量の塊、恐ろしい、OOPについてわからない、SOLIDまたはTDDでも開始しない。さらに悪いことに、彼らはこのがらくたをかき混ぜ続けました。

私と私たちの仕事に誇りを持っていて、いらいらしながらそれをののしんでいた他の何人かは、他の人から近づいてきましたがうまくいかず、最終的に経営陣はかゆい足を取り、人種差別と見なされた場合に備えて私たちを脇に連れて行きました(図に行く)。

その前に、価格比較ウェブサイトでギグをする前に、彼らはムンバイのVashaiに外部委託し、教えに行きました(良い2週間)。再びニースの人々ですが、すべてのバー1は、彼らが稼いでいたと思われる卒業生の給与の1/3の価値があり、すべて再び修士号を取得しています。彼らはそれを得ることができませんでした。

ただ私の経験。

1
Mâtt Frëëman

インドには何百万人ものプログラマーがいるので、この答えは一般化でなければなりません。答えは時間とともに劇的に変化したと思います。あなたは10年前(特に.comの破産の前)にさかのぼりますが、インドへのアウトソーシングよりも優れたジュニアおよびミッドレベルの開発者を見つけるのに苦労するという経験がありました。彼らは知性があり、熟練しており、一般的に強力なコミュニケーションスキルを備えていましたが、最も重要なのは、非常に熱心であり、何ができるかを示しました。シニアの才能もインドにいましたが、西洋のように、あなたが開発者と直接契約しない限り、アウトソーシングによってそれを得るのは困難でした。

しかし、振り子は反対側にかなり遠くまで動いていると思います。インドの熟練したプログラマーに対する需要は非常に大きいため、人材プールは途方もなく薄く分散されています。インドのアウトソーシング企業とは、彼らと強い関係があり、品質を得ることができると確信していない限り、私は触れません。インドで優れたプログラマーを求めているなら、あなたはしないでくださいアウトソーシングします。あなたはインドにショップを設立し、人々のスクリーニングと雇用を始める必要があります。あなたはまだ素晴らしい才能を見つけることができます(実際には昔の日よりもインドに留まるものが多くあります)が、私がその才能を大幅な割引価格で手に入れることができるのは懐かしい幻想です。優れたプログラマーはどこでも見つけるのが難しいため、サービスのプレミアムをどこでも請求できることがわかります。今私はインドをあらゆる種類の掘り出し物を得るための場所としてではなく、more素晴らしい才能を見つけるための場所として見ています。

1

まず第一に、西側のプログラマーは、「アウトソーシング」契約の一部としてコードを書いたインドのプログラマーとのすべての取り引きにのみテントを張ります。 私は、最高のインドのプログラマーがインドの会社のコードを書いている、またはマイクロソフトのような大規模な西側の会社に直接雇用されていると思います。

私がそのようなコードを「修正」しなければならなかったときはいつでも、言うのは遠いと思います。 (何らかの理由で、ウェストンプログラマーはプロジェクトが出荷される数週間前に混乱を整理することが期待されています。コードが混乱していない場合、ウェストンプログラマーはそれを見る必要はないでしょう =。)

  • インドのプログラマーは、自分たちがやろうとしていることのビジョンを「理解」していませんでした。
  • 彼らは「ユニットテスト」のようなものを「チェックボックス」の項目と見なしていたため、テスト対象について何も考えずに十分なテストメソッドを作成しただけでした。
  • インドのプログラマーは、真実に関係なく、何が必要かを理解し、それを実行できると主張しました。
  • インドのプログラマーは決して質問しなかったway与えられた要件を実装するように求められたため、西側のプログラマーが質問して「間違ったことをする正しいコード」を書く前に修正されたであろう仕様に質問したことはなかった。
  • 彼らは一生懸命働き、長時間働いたでしたが、ソリューションは機能しませんでした。仕様を読んでいるだけなのかもしれません。
  • 英国では、電話会議などで何が言われているか理解できないときにインドと仕事をすることができないと言うことは許可されていません。そのため、プロジェクトがうまくいっていないことを誰かに伝えることはできません。 (タイムゾーンの問題自体は、ほとんどの英国のプログラマーが最近インドのプログラマーとプロジェクトに取り組まなければならないようにするのに十分です)
  • 欧米のプログラマーがコードを書くのではなく、インドのプログラマーを「ベビーシッター」に時間を費やさなければならない場合、英国の研修生のプログラマーとは異なり、次の月に別のプログラムをもう一度繰り返す必要があることを知っています。インドのプログラマーのセット。

さらにこれについて考えます問題は、問題のドメインを理解していない(または本当の関心がない)プログラマーにコーディングをアウトソーシングすることでお金を節約できると考えているソフトウェア会社と同じくらいだと思います。(西側がどのように機能するかを理解することは、問題領域の一部です。

(「営業」担当者が社内の開発部門を迂回して、自分で仕様を作成し、安価なインドのプログラマーにコードを作成してもらうという誤った考えは、依然として一般的です。)

私は東欧のプログラマーとのより良い経験をしました。彼らは西洋をよりよく理解しているように見えるので、より良いタイムゾーンにいます。また、対面会議での規制のために、適度な長さの飛行(および時差ボケが少ない)で航空機にジャンプすることも可能です。

1
Ian

私は専用のインド事務所を設置した大規模な多国籍企業で働いていました。さらに、別の会社のインド人コンサルタントを利用しました。インドのオフィスは、米国から戻ってきた職員に有給の方が適していました。インドのオフィスの作品は非常に質の高いものでした。低賃金のコンサルタントは主にテストに使用され、彼らが行った開発作業は一般的に貧弱でした。

他の投稿の多くの文化的観察に同意しますが、私は経済学が品質を決定する要素だと思います。世界中に優秀なエンジニアはほとんどいません。利用可能な労働力プールのごく一部。私は、優れたエンジニアとは、探究心があり、知識が豊富で、これらのスキルに基づいて優れた教育を受けた人と定義します。需要が供給を上回ると、世界的に採用されます。インドには少数の素晴らしいエンジニアがいます。これらのほとんどは、インドの大学(IITなど)の一流卒業生です。同様に、非常に少数の才能のあるネイティブウエスタンエンジニアがいます。

逆に、非常に多くの貧しい平均的なエ​​ンジニアがいます。私はドットコムブームで、企業が西部の歴史の卒業生を雇っていたことを覚えています。今西部の貧しいエンジニアは仕事を得られませんでした。同等の料金をほんの少しの価格でインドでレンタルできるようになりました。したがって、インドのコンサルタント業では非常に貧しいスタッフが集中します。

たまに、コンサルタント会社でいくつかの宝石に出会うこともありました。彼らは自然に明るく、たくさんの質問をしました。通常彼らは悪い訓練を補っていた。悲しいのは、雇用主からの支援が得られないことです。多くのコンサルティングポリシーは、契約間で実施される6か月のローテーション期間など、コンサルタントが習得できるスキルを制限するように設計されています。

1
user18262

私の逸話:

数年前、私はインドのチームとプロジェクトに取り組みました。私は彼らが一緒に働くのがとても楽しいと感じました。彼らは本当に自分のものを知っていました。私たちの唯一の摩擦点は、クライアントからの土壇場の変更に対する応答時間でした。公平であるとはいえ、経営者の自我は必ずしも言語や距離を超えてうまく翻訳できるとは限りません。

0
JohnWinkelman

それはどこから来たプログラマーと同じだと思います。プログラマーは良い人もいれば、悪い人もいます。

私は "Eastern"の世界のプログラマー(ヨーロッパを含む... ISの東側)と複数のチームで作業してきました。
私はかつて私が今まで働いた中で最も速く、最も熟練したプログラマーであったインド人と一緒に働いていました。彼はめったにバグを抱えることはなく、彼のコードは常にテストを含めて予想される前に、きちんと整頓されていました。
一方、私は自分の携帯電話で9か月間机の上で笑いながら話しているインド人男性と働いていました。彼の仕事はいつも終わっていたので、マネージャーは彼と何をすべきか確信が持てませんでした。それは常に最高の仕事であるとは限らなかったが、それは成し遂げられた。 9か月後、彼らは彼がその仕事の全期間を費やして、誰にも言わずにインドの友人や家族に仕事を送っていたことを発見しました。彼は自分の選択により、外部委託開発チームのマネージャーになりました。

人間は人間です。吸う人もいれば、吸わない人もいます。

0
James P. Wright

私が犯した最悪の間違いはインドへのアウトソーシングです。それは基本的なHTMLのみであり、プログラマーはPHPとSQL(少なくともとにかくそう考えていました)をプログラミングする能力以上でした。何百ものテーブルが並べられているだけでなく、プロジェクトの責任者であるマネージャは、私たちと連絡することなく3週間の休暇を取っていました。

私が東で見たことから、東が西の注目に値するとは思えません。繰り返しますが、私はインド人に対して何も持っていません。彼らは素晴らしいですが、私が経験したインド人には恐ろしい労働倫理があります。

私のアドバイス:インドに外部委託するのはおかしいでしょう。

0
user22019

個人的にはみんな違うと思います。私はいくつかを同じくらい良く見、いくつかを悪いように見てきました。

ほとんどの西洋人はコンサルタントを扱っており、コンサルタントはできる限りのことをせず、他人が自分の間違ったことを非難する方法を探す傾向があるため、否定的な見方があると思います。

覚えておくべきもう一つのことは、多くのアメリカのプログラマーはインドからの移民です。統計はありませんが、半分くらいでしょうか。

0
Joe

以前の仕事の1つで、アイルランド、アメリカ、インド間で開発を分割するプロジェクトに取り組みました。プロジェクトのいくつかの厄介な側面は助けられませんでした。時差はありますが、インディアンが英語をかなり下手に書くことが多いという事実は、欠陥レポートのようなものを解読するのに長い時間がかかることを意味しました。しばらくの間、私は電話を取り、可能であればその人に直接電話をかける方が簡単だと感じました。電子メールを送信するよりも、話せる人が何を意味するのかを明確にする方がはるかに簡単です。

アウトソーシングは基本的にコストを削減することですが、世界中に才能のある開発者がいます。難しいのは、それほど才能のない人と区別することです!

0
Malice

私は中国のASP.NET/C#プログラマーです。私はペテルトロックに完全に同意します。フィリッペンが数年間開発したプロジェクトを引き継ぎました。コードは私が今まで見た中で最も嫌なものです。すべてのクラスには少なくとも3000行あります。彼らはそのようなコードの浪費者です。なぜならコードは本当に乱暴だからです。彼らは再利用が何であるかを知りません。そして、彼らはユニットテストを行いません。システム全体がクラッシュの危機に瀕しています。

現在、私たちは巨大なプロジェクトのバグを修正しようとしています。仕事は本当に悪夢のようなものです。

0
gekowa

良い開発者の割合は、世界の東部でも他のどこよりも同じだと思います。これは、他のあらゆる場所と同様に、世界の東部に少数の優れた開発者がいることを意味します。

問題は、「ソフトウェアの販売」がお金を稼ぐ最も簡単な方法であるという事実から来ています。そのため、多くの人々は、3行のPhpコードを作成してソフトウェアを販売(=アウトソーシング)しているため、開発方法を知っていると偽っています。

だから、それは正義の単純な計算です:いわゆるソフトウェア会社はたくさんありますが、世界の東部に本当に良い開発者はほとんどいません他のすべての場所と同様。理解するために、それらは現実ではありませんが、数字を使用しましょう:

  • 世界の西部にある100社のソフトウェア企業。それらの50は良いです。
  • 世界の東部にある10000のソフトウェア会社。それらの50は良いです。

したがって、悪いソフトウェア会社を手に入れる可能性は、世界の東部で他のどこよりもはるかに高いです。しかし重要な事実は、東部よりも西部に多くの優れた開発者がいるです。

その上に加えて、物事を悪化させる精神問題があります。

そして、フランスで何が起こっているのかを結論付けると、アウトソーシングされた何千ものプロジェクトが壊滅的な結果をもたらし、それらの多くは大きなプロジェクトでした(大きなプロジェクトのアウトソーシングは大きな節約のようでした)。 real開発者(本当の開発者=最初はお金に惹かれていません)である私のような本物のオタクと男性は、フランスで多くの仕事をしています、私はこれまでに行われたすべてのことを掘り下げているので、「専門家の結論」を与え、会社は行動します。私は非常に給料が良いので、一体となって、それほど悪いことではありません;)

私の英語は完璧なので、投稿を訂正して適切な英語にすることをためらわないでください。

0
Olivier Pons

まあ、アメリカ出身で、インドのいくつかの会社で働いた経験があるので、難しいですが良くなっていると思います。彼らは技術的にあなたが尋ねたことを行うことができると思いますが、あなたは本当にすべてを詳細に概説しなければなりません。これは、インド人があなたが何を望んでいるのかを理解していないからではなく、少なくともプロジェクトのユーザビリティの観点から、彼らが異なって考えているからです。

ちょっとだけ例を挙げましょう。インドの会社がユーザーインターフェイスとデータベース接続の一部を構築していたというプロジェクトがありました。プロジェクトがほぼ終了したとき、私たちはそれを調べました、そして最初に見てそれは完璧でした。その後、プログラムを実行し始めたとき、何かがおかしいことに気づきました。何かを追加し、ページに移動したとき、何らかの理由で、既にそこにいても[追加]ボタンをクリックし、情報を入力してから[送信]ボタンを押す必要がありました。

既にページにいて、[追加]ボタンを押す必要はなく、情報を入力して[送信]ボタンを選択すると、何も起こらないので、これは直観に反するように見えました。彼らは私たちが求めたものを設計しましたが、機能的にはここ西側ではまったく意味がなかったため、最終的にはバックエンド全体を再設計することになりました。

他の国との作業は、コストは低いですが時間がかかるようで、競合他社に対する時間の敏感さを扱っている場合、長期的には実際にはもっとコストがかかるかもしれません。そのプロジェクトでは、私たちの困難が原因で、競合他社は数年先を行きました。これはすべて、コミュニケーションの途絶と理解が原因であることがわかっています。プロセスを説明するのが得意で、円滑に作業を進めるために同じレベルで両方のグループと技術的に話せる人が必要だと思います。

0
user18642