日本人プログラマーについての記事が Hacker News で話題になった 147
いつも繰り返し言われている事です 部門より
shioyama 曰く、
東京住まいの外国人プログラマーが日本人のプログラミング世界について記事を書いて (Jawaad Mahmood 氏のブログ記事)、その記事が Hacker News で取り上げられて、話題になった。
"My hypothesis is that a lot of Japanese companies produce little new because they have people solving solved problems over and over again."
以下、拙訳。(*) がついているところは訳していて意味がくみ取れなかった部分なのでコメント頂ければ幸い。誰か Hacker News へのコメントも要約してくれると助かる。
昨日、コーヒーを飲みながらアール氏とアキバに関する話題やらボードゲームやビジネスについて話していた。まじめな話題としてはプログラミングについて、より正確には、なぜ日本企業は大量のコードを書きながらもまるで成長していないのか、についてである。端的に言えば、マネージメントに失敗してるんだという事が分かった。アウトプットを増大させるようなフレームワークを利用してコーディングする事に失敗している。
僕がよくある一般論 (日本人は良いコーダーとは言えず、日本人の仕事環境には多くのおしゃべりと少ない実務があること) について触れると、アール氏は彼が働いていた会社では優れたコードを量産していた事や、3 時間にわたるクソミーティングをプロジェクトマネージャーが対処していた事について触れた。公平を期すなら、僕もそうだった。じゃあ、何が問題なんだろう。
その問題に対する答えについて、最初のヒントは僕にとってもアール氏にとってもフレームワークだった。アール氏はとある会社で数週間、組み込みとかとは何の関係もない単純なシステムに表を加える仕事に従事していた。僕も Pinki を開発したり小さな検索とリスト表示をするウェブサイトを作るのに 1 年を費やしていた頭の痛い日々を思い出していた。
僕にとっての大きなヒントは富士通で、どうやってあの会社は自社製フィーチャーフォンのために Sybmian やその他ちゃちいモバイル OS での開発要員として数十人を確保し続けているのだろうか、ということだ。特にフィーチャーフォンについて言えば、端末ごとの違いは極めてささいなものだが、プログラマは古いソフトが新しい端末で動くよう低レベルプログラムにばかげた時間を割いている。彼らが終電前に帰るのを見かけるのはまれである (彼らは日本で最も優れたプログラマに属する。彼らには家族があって、そこまで仕事をする理由は残業代のためというわけでもない) 。
これらの例に共通するのは、企業は人々がずうずうしくも強大な力を奮う手段としてプログラミングを使おうとしないというところにある。富士通は未だに古くさい Symbian OS を使っている。この環境で開発を行うことはもはや苦痛であり、サポートやコミュニティも貧弱である (特に Android や Windows 7 における環境と比べて) 。僕はウェブサイトをフレームワークなしで構築するぐらいにアホだったし、数個の問題について車輪の再開発をしなければならなかった。アール氏の前の勤め先では適切な DB レイヤーすら持たないような日本語にしか対応していないゲットー (ガラパゴス) フレームワークを採用していた。
多くの日本企業はほとんど新しいプロダクトを作れないというのが僕の仮説だ。なぜなら日本企業では既に解かれた問題を何度も何度も解くための人材が揃っているからだ。きっと、多くの問題をコミュニティの誰かが解決してくれるような素晴らしいコミュニティに恵まれた新しいフレームワークを取り込む能力がないことに起因しているんだろう。
それに多分、言語の問題もある。数十億人の英語圏の人々がいて、その X % が良いプログラマとする。日本語圏の人々で 2 X % が良いプログラマだったとしても、日本語ネイティブなバージョンのコンピュータ言語を開発するのに必要とされる深い才能など持ってはいない。良くも悪くも人はフレームワークのサブセットに制約されていて、日本語しかしゃべれない上司に説明することができる(*)。その上司は多分リスクをひどくいやがるタイプで、最新のプログラム技法やショートカットにも精通していないだろう。上司が Excel をデータストアとして使っているような状況で (驚くべきことに日本ではよくあること) 、Python や Django を使った開発をすることをどうやったら了承してもらえるだろう。
世界中の weeaboos (= 日本大好き外国人) が「Ruby はどうなんだよ!」と叫んでいるのが聞こえるが、Ruby がまさにその証明のようなものだ。モルモン教徒の日本人 (注: 英語の読み書きができる、世界が注目する、非オタク、非ぼっちの習慣(*)) が素晴らしいフレームワークと合わさって世界中で名声を得た。日本人の優れた Rubyist たちがいることは素晴らしいが、Rubyist に Ruby の人気の責任があるわけではない。
他の説明の仕方もあるだろう。優れたソフトウェア開発のトレーニングに割く予算がないことだとか、裏取引による会社命令、オープンソースソフトウェアへの恐怖、間違った推定 (つまり、日本はあらゆる種類の world class code のソースである、とか(*)) とか。でもどれも僕にはピンとこない。
もし僕が正しいなら、解決方法は難しいことじゃない。日本人プログラマーに良いフレームワークとライブラリを教えてあげればいい。Google 翻訳に頼らずにすむような訓練をすればいい。それで改善されるはずだ。
激しく同意 (スコア:4, 興味深い)
「壊れてないモノを直すな」って言う言葉と、「勝てば官軍」みたいな部分があって、
仮にその時出来上がった仕組みAである程度の成功を収めると、
Aに対しては改造・保守で対応して、回収するフェーズにはいるんですが、
ここから先が問題で、新しい端末・機器、新しい環境、
OSバージョン、開発言語バージョン、新しいフレームワーク、ライブラリ、は
開発が完了するまでは選択肢なのに、完成すると最新要素は阻害要素扱いされること。
最新にあげることは罪悪であり、いままでの環境をかたくなに維持することに全霊力をささげる。
それは、新しい環境に対応したり、新機能をフレームワークレベルで対応させること、
その調査コストは予算化されない、無駄な時間とみなされるからです。
何故無駄となるかというと、「新規開発」であれば、その分の予算がでるんですが、
「追加開発」は如何に安価・短期間に開発して、最大の利益をあげるかにかかっているので、
そもそも次世代なんてどうでもよくなってるプロジェクトが多いのです。
基本的に「今」が大事で、「次」を考えていない。
新規のwebサービスを立ち上げる際、日本では速度と見た目と知名度と話題性が最優先で、
技術はその次になるので、仮に一発モノを立ち上げた際、技術的に水準が低くて
セキュリティレベルや完成度がキワキワだとしても、まずはリリースが最優先であるために、
検証もそこそこで余計キワキワになります。
リリースしてしまえば、それを修正するのは「実績を破壊する行為」とみなされ、
ソースを大改造する人間は「重罪人」となり処刑されます。
ここを改造したいんだが、というのを申請書をだし、はんこをつき、
会議でいや、ここはやるべきだやっぱやめましょう、するべきだ、しないべきだ、そもそもめんどくさい、とかを
半日やって、ガントチャートを引き、とかやっててもーなにやってんのよ、と。
フレームワークにきちんと実装したり、関数・クラスにしてパラメータいじるだけで
新しい機能が続々出来上がるように努力している勢力に勝てるわけがない気がする。
むしろ、車輪の再開発をすることがカッコイイになっちゃってるのがマズいきがするね....
たぶん、出来ることとやれることの分離がきちんとしてないんだとおもうし、
「やろうとおもえばやれてしまう集団」っていうのもネック。あと、再開発してそれが実績になると、
「成果主義」として評価される現場も問題だと思う。
それは、なんであのライブラリとかの評価をして、時間を半分にできるようにしなかったの?っていう
上司がいないのと、手戻りが発生したら切腹をさせられる日本の独特な空気なのかもしれない。
あと、不景気すぎて、失敗したらそのまま沈没船になりやすいので、トライアンドエラーは
受け入れられないような空気よね...
よし、今夜は徹夜して開発しようぜ!っていって紫色の毒の霧が漂う現場より、
可能であればフレームワークをしっかり創って周知して、積み木でさっさと創って、
飲みに行こうぜ!っていう環境のほうが生産性高い気がするなあ。
そういう国に住んでてそこで働いてるんだから、郷にしたがえよ、って
いわれると、まあその通り生かされてるので逃げられず、
なのです(´;ω;`)へるぷみー。
( ´・ω・`)いままでとこれからを比べる生活
ぱんかれ
Re:激しく同意 (スコア:1)
知ってる積み木で怪我をしても知ってる痛みだが、知らない積み木で
怪我をすると、軽傷ですむのか致命傷なのか分からない。
そういう意味ではリスク回避されていると言えるが、チャンスも
回避されている。
Re:激しく同意 (スコア:2)
まるで
「自転車にのる練習して、こけたら痛いじゃないか。
自転車に乗れるようになったら練習するよ。」
と言い訳している小さな子供のような、エライ人たちですね。
Re:激しく同意 (スコア:1)
プロジェクトの合間でそういった新しい道具の調査や評価を行う必要があるんですね。あらかじめ「知ってる積み木」にしておくべきなのでしょう。プロジェクトでぶっつけ本番で「知らない積み木」を使って大事故をやらかしても、お客さんは何ら同情することなく、損害賠償を請求してくることでしょう。それで、そういった事前評価をするための費用工数を認めてくれない会社の姿勢を嘆いたのが元コメントだと思われます。
ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:4, 興味深い)
flocial:
もっと社会の深層の問題。マの卵の育成過程に無駄が多すぎる。
その無駄をようやくクリアして大学出た、そのタイミングで仕事にありつけなきゃ「負け組」で、運が良ければベンチャーに拾ってもらえるけどだいたいはネットカフェ住まいのIT日雇いになっちまうんだぜ。
その後も年功序列とか、とかく「やる気」をそぎ落とす仕組みばっかりだし。
n00kie:
禿同!
何年も前に日本のハードウェアメーカーで仕事したことがあるけど、1フロア埋め尽くす勢いのプロジェクトチームから必要資料引き抜いたら3人で彼ら以上の仕事ができた。
思うに彼らの大きな問題点の一つは不適切な人間を管理者に任命してて、その権威や考え方に誰一人疑問を呈さないところにあるんじゃないか。
seanalltogether:
関係あるかは判らないけど・・・
何年か前ソニーがE3でPS3を公開したとき、(確かクタラギが)「プログラマがPS3の全性能を発揮するよう習熟するまでの間、10年にわたってPS3は現役プラットフォームであり続けるだろう」とドヤ顔で言ってたと思う。
その頃、ジョン・カーマックのような有名3D開発者はXBoxの整備された開発環境を激賞していたような・・・
・・・気力が尽きたw
RYZEN始めました
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:2)
これはまあ、ハコを売る立場かどうか、ってのもあるんでしょうね。
似たような例では、セガサターンを売っていた頃のSEGAが、あるゲームソフトについての説明で「これでもセガサターンのハードの性能をまだ半分も使ってないんですよ」と言っていたケースがあります。鈴木裕氏だったかな?
「いや、そこはソフトのウリを説明するシーンなんだから、(ハードの活用度について言及する必要があるなら)如何にハードの性能を引き出したかをアピールすべきじゃないの?」と当時びっくりした記憶があります。
ゲームビジネス以外でも、ある方面ではハードに比べるとソフトウェアを軽視する傾向はあるかもしれませんね。日本だけが特別かを論じられるほどに他の国の事情を知っているわけではないので、比較はできませんが。
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:2)
>ソフト開発者にとっては自慢したいことかもしれないが、上のセリフ言われたらどんなにすばらしい物でも「これで限界か」で終わりだ。
何を勘違いしているのか知らないが、ビジネスの場では「将来の夢」なんて無価値だよ。
#勘違いハード屋さんのグチか?
「このハードの限界はまだまだこれからです!(キリッ)」なんて言おうものなら、
「まだ限界を引き出せてないのか。まずは限界を引き出せるようになってから来てよ」
「限界を出せるのはいつ?来年第二 四半期を予定?
その間は性能が出せない欠陥品なんだからその分値引きしてよ。」
とか言われてもおかしくない。
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:2)
限界を引き出せてなかろうと、面白ければそれで良いんでしょう。ゲームなんだし。
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:2)
bluedanieru:
日本の高等教育自体がマの育成には向いてないよ。
"~~認定"とか"~~標準適合"とかいった「長所」を保証する肩書ばかりを重視してて、くそったれな(Get Shit Doneユーティリティのことを考えると「脱線せずに」? どうもダブルミーニングな気がする)プログラミングをやることなんてどうだっていいのさ、畜生め。
rheide:
5年ほど日本で働いた経験から、ちょっとばかり付け加えられると思う。彼らのプロジェクトチームには本当に少しの訓練されたマしか居らず、その中で真に生産的なマは更にほんの一握りだ。で、チームは十把一絡げに偉いさんの命ずる不毛な仕事をやらされてる。
でだ。彼らの評価基準では、冴えたやり方でさくっと仕事を終わらせたマより、あーでもないこーでもないとうんうん残業してる方が評価が高い。そりゃーデキるマだってやる気をなくしてだらだら仕事するさ。
minikomi:
(上手く訳せない。誰かボスケテ)
Sandman:
言語障壁って言われてもなあ。現実として英語はこの業界の共通語なんだし、習得する難易度がそれほど高いって訳でもない。必要なら共通言語を身につける努力はしなくちゃ。
俺は別に英語ネイティブじゃないけど、最新技術を追っかけるのに必要だから英語を勉強したし。うちの国の誰かが翻訳してくれるのを待ってたとしたら自分のスキルはまだ全然だったろうね。
kazuya:
同意同意。英語使えなきゃやっていけないって。
mtts:
ネイティブじゃないっつってもなんしか英語系のネイティブなんでないの?
英語とかけ離れた母語使ってる人の場合どうすりゃいいのよ。
RYZEN始めました
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:1)
(mtts氏の指摘に対し「クロアチア人だけど何とかなったって」「中国人だったらそうはいかんだろうよ~」といったやりとり)
guard-of-terra:
言語障壁ってもんについてだけど、SunのJVM公式解説書は全部日本語訳があるんだぜ?
…まあ、逆に言えば言語と解説書とのセットを一部だけ訳されてても困るってことかも。
日本じゃプログラミングは職人芸と見なされてて、尊敬はされるにしてもその成果をよそで使うとか他者が横でチェックするとかは考えられてないんだ。整理された資料とかあまり作らないもんだから、うだうだ遠回りして無駄の多い仕事をしてる。これがIT関係者おそらく全員の災難じゃないか?
pwim:
ちょっと待った。日本じゃプログラミングは誰にでもできる汚れ仕事って思われてる節もあるぜ。
flocial:
あーあるある。IT企業の求人に「文系・初心者歓迎。1からプログラミングを教えます」って書いてあったりな(藁
で、そんなマの年収が250~400万ってとこ。円だぜ、ドルじゃないぜ?
日本で年収750~800万円以上得てるのは創業者とか重役くらいさ。
----
danbmil99:
衛生研究所がやり過ぎるってのは日本の企業文化さ。彼らにかかっちゃ開発ツールを使うのはなにがしかの虚弱体質の表れなんだ。
そうしてせっせと車輪を再発明してるってこと。
T-R:
そうそう。チーム全員一致でCMS使わせてくれという訴えに対して、「うちの自家製と言える部分が減ってコンペに不利じゃないか」と返したCEOがいやがってさ。即刻逃げたよ。
bane:
芝居がかったプレゼンを考えなきゃ。
「何千行というコードの中に千単位の機能を実装してやりましたよ、わはははは(中身なんて何もないけどな!)」
RYZEN始めました
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:1)
kazuya:
しっくりくるなあ。
確か日本で3Gネットワークが立ち上がる頃、それに絡んだ富士通のプロジェクトに噛んだことがあるよ。世界の最先端を突っ走る巨大プロジェクトなんだし、さぞ凄腕が集まってると思ってたんだ。
とーんでもない。
確かに何十人という「技術者」は居たけど、おおかたはCでプログラミングすることさえできやしない連中で。なお悪いことに、元々用意されてるコードがスパゲティもかくやってレベルで、読み解く間にソフトウェア開発にまつわる怪談を総なめにできたさ。
なんでこんなことが起こったって?
元請け様が技術者の頭数に対して報酬を出してたからさ、マジで。そりゃ誰でも安上がりな無能者の軍団を編成するわ。
で、富士通様は問題解決には更なる技術者の増援が必要と考えてた、と。なんという悪循環。
どうにかしようとはしたけど、しがないマの一人に過ぎない立場ではどうにもならず。得たものといえばアーランを使いこなす経験を積めたってことかな、お察しの通りそれまで使われちゃ居なかったけど。
----
fieldforceapp:
富士通のシンビアンチームはdocomoの全面サポートを受けてるけど、そのために即応性が失われてる面もあるね。なんせ春と秋とに15機種ずつなんて開発してんだから…
しかも新機種開発はハードウェアの機能強化が中心でソフトウェアなんて必要悪としか見られてないし。
だから、これは単に開発環境をどうにかすればいいって話じゃなくて、会社として「多機能でかつ行儀の良いソフトウェア」に対して価値を認めることがまず前提じゃないか。
モバゲーとかグリーあたりはまずそのすばらしいハードウェアに対するドライバを書くことからはじめてるみたいだし。
----
pkteison:
なんで歳を基準にマの能力を規定しちゃうわけ?
(以下、「実年齢が問題じゃなくて「古典派」マが役に立たないんだ」「ここで問題になってる日本の社会構造は、中世ヨーロッパのギルドみたいなもんだ」などと集中砲火w)
RYZEN始めました
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:1)
富士通をACCESSにしたら、あら不思議。
オレの体験談が一丁上がり。
(アーランはないけど)
特に巨大スパゲッティは壮観だったな。
あんな下手糞なプログラムじゃ、小さい機能を一つ追加するにも
コードの解読だけで何ヶ月かかるかわかんね。
世間じゃガラケーがAndroidに負けた理由をいろいろ推測してるけれど、
「自ら作ったスパゲッティプログラムの重みに耐えきれずに自壊した。」
というのが一番大きいんじゃないかと思ってる。柳京ホテルもビックリ。
ケータイメーカーにしてみれば、Androidは渡りに船で救世主だったわけだ。
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:1)
私は富士通で5年ほど携帯開発に携わっていましたが、特別に読みにくいコードではありませんでしたよ。(開発チームに依るのですが・・・)
しかし、ドキュメントの作成方法が稚拙で、とてもその後の開発に役立つものではありませんでした。
世間じゃガラケーがAndroidに負けた理由をいろいろ推測してるけれど、 「自ら作ったスパゲッティプログラムの重みに耐えきれずに自壊した。」 というのが一番大きいんじゃないかと思ってる。柳京ホテルもビックリ。
ケータイメーカーにしてみれば、Androidは渡りに船で救世主だったわけだ。
上述から、コードの品質が製品戦略上の問題点になることはありませんでした。
メインストリームをガラケーからスマホに転換させた理由としては、キャリアの意向ですね。
また、SymbianからAndroidに変わったからといって、生産性が良くなったということはないですよ。
結局は巨大プロジェクトを管理するためにウォーターフォールモデルを採用し、素人集団で効率の悪い開発を続けるしかないのです。
元記事のコメントが言うように、人月方式でやってる以上、これは変わらないでしょうね。
ACCESSさんなどのサードパーティーベンダのコード品質が悪いのは、移植性を保つための弊害が出てると感じました。
C言語で無理矢理オブジェクト指向やってたりしたのを見たことありますが、結構厳しいですよね。
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:1)
トンデモ訳したコメントの元発言者さんにリプをもらうのってなんか変な(ry
誤解を与えるとしたら訳文の責ですね。原文を追っていけばその辺は読めるんですけど、読み解いた前提で訳してはダメだということで。
#だから僕はH(onyaku)ができない
RYZEN始めました
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:1)
何度か「マ」と訳されているのはMA=Master of Arts(日本の修士号に相当)のことではないでしょうか?
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:1)
あーいえ、済みません2ch語だったか。
プログラマのつもりで書いてます
RYZEN始めました
Re:ハッカーニュースのコメントを抄訳してみる。誤訳指摘歓迎。 (スコア:1)
翻訳としては下の下に違いない(なんせEmc2の英語力なんて高校の定期試験で赤点免れるのがやっと)んで、
直接英語を読んでみることをお勧めしますよ。
「英語はITエンジニアの国際共通語で、わからないとやっていけない」んですし。
RYZEN始めました
既定路線 (スコア:3)
いまうちの客に入れてるシステムの中にjdk1.4にstruts1.1をIE6で、という
もういまさらどうにもならない環境がありますが、じゃあこれを入れ替えるか、というとそうはならない
ようするに新しいもの(新製品ではない)を必要としている市場、とそうではない市場ってのが分かれていて
日本の中小企業の大多数は新しいものを必要としてない市場でしか食っていけないんですかね
まあ理由はいろいろあるんでしょうけど…
乱暴にいってしまえばイノベーションを必要としない開発はスケジュール通りに実行しやすいですから
#それでもデスマは無くならない不思議
Re:既定路線 (スコア:3, 興味深い)
まぁ、お客さん毎に色々な事情もあるんですけどね。
と言うよりかは、イノベーションを必要としない(寧ろ拒否する)お客様が多いというのもあるんじゃないですかね。
コンサル&SE:ほら、こうすれば、今までの(Excelで管理していた)手間がなくなって、業務が効率化できますよ。
お客さま:え、Excel使えないの? 不便だなぁ。Excelから読み込んで、Excelに書き出してよ。
SE:Excelで何を…?
お客さま:データを(見るん|印刷する)だよ。
コンサル&SE:sigh…(何のために…?)
みたいな(笑)。
「新しいやり方です」と言うと露骨にイヤな顔をされ、コンピュータ上で手作業を再現したがる。
画面/データ上でステータス確認すればいいようなものでも、印刷して帳票に残してファイルしたがる。
最早イノベーションとか言うレベルじゃなくて、変化を好まない(変化について行けない)と言うべきかな。
結局、SEとプログラマは「業務/データをコンピュータ的に効率よく捌くシステム」ではなく「現行の手作業を再現するシステム」を作るという、コンピュータの適用業務としてはかなり不本意かつ非効率な仕事を延々とやらされる羽目になるわけです。
そしてお客からは「前のほうが良かった」「面倒くさくなった」云々と怨嗟の声が聞こえてくる…(笑)。
# 救われないプログラマに光を…
Re:既定路線 (スコア:1)
お客さんだとまだ金銭関係が分かりやすいからいいけど、問題はコスト勘定と評価尺度の曖昧な社内だと思う。
昔、職場のWebシステムを作っていた人が、週間レポートの提出に、
せっかく作成したWebシステムの表グラフを百枚くらいのスクリーンショットに取って
Wordに貼り付ける作業を命じられて、ノイローゼになってた。
#たしかに不毛でも間に合わせの一回限りならまだ分かるんだけど、誰も見やしないグラフ、百枚を毎週はつらいわね。
上司が工場の感覚の人だから、部下がいよいよ精神的に参ってきても、
一枚スクリーンショットを取るのに何秒かかるとか議論して、もっと業務を効率化しないととか、いい気分で説教してた。
中間管理職的な性質も強いから、誰も見やしない書式のレポートの提出に強くこだわってたな。
おまけに毎日二時間くらい不毛な会議に使ってて、職場のコミュニケーション足りないとか、万事がこんな調子で。
異動になったのでその後どうなったか知らないけど。
この例ほど酷くはなくても、少なからず日本的なIT系はこういう傾向があると思う。
Re:既定路線 (スコア:1)
低スキル問題ありだけど使い続ける必要のある担当者には一定程度の手順と(半)自動省力化の必要性を示す必要もありましょう。
もちろん非該当の担当者に対して発言権を有する側にいる条件が成立なら「もういいよ。帰れ。」という処遇もありですね。
Re:既定路線 (スコア:1)
既存パッケージで実現可能な部分まで新規開発するのは、もったいないでしょうし、既存パッケージといえどもカスタマイズができないほどガチガチに仕様が固定されているとは限りませんし。問題は、既存パッケージでも実現できる機能だけど、既存のやりかたに固執して、新規開発してしまう場合でしょう。ひょっとしたら、既存パッケージのやり方のほうが合理的かもしれません。業務の改善の良いきっかけになるかもしれません。体を服に合わせることが、ダイエットになるかもしれません。
要は、レッテル張りにより思考停止することなく、正しく価値判断を行うことが大切だということでしょう。「保守的」=「悪」では無いでしょう。
Re:既定路線 (スコア:1)
あちこちから突っ込みが入ってるけど、ここの話って担当者の性格や適性の話じゃないですよね。「そういう性格じゃなければノイローゼにならないから問題ない」ってわけじゃなくて、ノイローゼにならない性格だとしても、やらせてる仕事の内容に問題の根があるわけだし。
LIVE-GON(リベゴン)
Re:既定路線 (スコア:1)
私がそういうコメントを入れたのは(#2027482)の例が悪いから。
内容が不毛+「担当者がノイローゼになるような業務の量」で読む人に「日本的IT系の非効率さ」を訴えようとしてるけど、量的にピンとこない。しかもこれが「酷い例」なんでしょ。
Re:既定路線 (スコア:1)
だとしたらそう書けばよかったのでは? 量的にピンとこない悪い例えである点を指摘せずに、さらに量的にピンとこない反論をしているだけかと。
内容が不毛なのも、どこ点が不毛なのか指摘しないと、その反論やその後の議論も不毛になります。
LIVE-GON(リベゴン)
Re:既定路線 (スコア:1)
>>私がそういうコメントを入れたのは(#2027482)の例が悪いから。
>だとしたらそう書けばよかったのでは? 量的にピンとこない悪い例えである点を指摘せずに、さらに量的にピンとこない反論をしているだけかと。
何から何まで言うのは場所を取るので、投稿する前に削ってます。
とりあえず先ほどの反論でご納得いただけたということでこの件は終わりでいいですね。
>>内容が不毛+「担当者がノイローゼになるような業務の量」で読む人に「日本的IT系の非効率さ」を訴えようとしてるけど、量的にピンとこない。しかもこれが「酷い例」なんでしょ。
>内容が不毛なのも、どこ点が不毛なのか指摘しないと、その反論やその後の議論も不毛になります。
おっとっと。「内容が不毛」は、(#2027482)の言っている「業務内容が不毛」って意味で書きました。
↓訂正しましょうか。
『(#2027482)の言っている「業務内容が不毛」』+「担当者がノイローゼになるような業務の量」で読む人に「日本的IT系の非効率さ」を訴えようとしてるけど、量的にピンとこない。しかもこれが「酷い例」なんでしょ。
Re:既定路線 (スコア:1)
納得したので本件については終わりでいいです。今後はピンとこない点を指摘せず遠まわしに言って、さらなる脱線をさせることがないとなおありがたいです。有意義な議論が希望なので。
LIVE-GON(リベゴン)
Re: (スコア:0)
>イノベーションを必要としない
このことに限った話じゃないでしょうね。誰もイノベーションなんか必要としてないんですよ。
必要としているのは、自分が仕事のミスをしないこと。
他のみんながやってるんなら自分も仕方なくやる。その程度でしょう。
誰も進んで新しいことをするリスクをとりたくない。
Re: (スコア:0)
世界中どこだってお金が余っている所の方が珍しくって、新しいものなんて絶対に必要でない限りいらないって
言うのは日本だけじゃないと思うよ。
だから市場とかのせいではなくて、
プログラマの負担を下げるためにIE6使うのやめようよ、その方が後々のコストは安いよ。って
顧客を説得できる営業やコンサルが日本では極少なのがホントのところだと思うよ。
# 多くの日本のコンサルがコネだけで生きているといっても過言でない
## って私の隣の席の人が言ってました。ええ私じゃないですよ。
* だけ (スコア:2)
>> You are restricted to a subset of frameworks, good or bad, that you can explain to your Japanese unilingual boss.
(その質が良かろうと悪かろうと)日本語しか読めない(日本語しか情報源が無い)上司でも説明を聞いて分かるフレームワークに選択肢が限定される。
>> A Mormon Japanese dude (read: English literate, world-focused, non-Otaku, non-loner mindset) coupled with an excellent framework that gained fame world-wide (Rails).
「モルモン教の日本人」(と書いて「英語に長けて、世界を考え、非オタクで非ぼっち」読む)と、(Rails という)世界的な名声を得た素晴らしいフレームワークの組み合わせだ。
>> incorrect initial assumptions (IE: Japan is the source of all sorts of world class code),
間違った初期前提(我が国があらゆる世界クラスのコードの発信地である、つまり国産至上主義のこと)
Re: (スコア:0)
しかしJapan is the source of all sorts of world class codeなんて初期前提が本当に日本に蔓延してるかなあ?
Re:* だけ (スコア:1)
前提というか、「~~のプロジェクト専用に1から組まれたもの以外信用できるか」
というお偉方は結構居るんじゃないでしょうか。
「前のプロジェクトで作った成果を流用できる? 何を言っているのかね、きちんと組み給え。
流用なんかした分には予算を付けられんぞ。」なんて話もありそう。
RYZEN始めました
Re:* だけ (スコア:2)
まあそれは /.J にいる人にとってはあらためて書くまでもない常識的なこととして。
で、当のまつもとさん曰く「ただし、私はオタクで一匹狼です [twitter.com]」とのこと。
# で、小崎さんから「非ぼっちは否定しない。と [twitter.com]」とかつっこみが入っていたり、と。
Hiroki (REO) Kashiwazaki
なんだ、それだけでいいのか (スコア:2, おもしろおかしい)
>Google 翻訳に頼らずにすむような訓練をすればいい。それで改善されるはずだ。
よーしパパ、今度からExcite翻訳を使う事にする!!
最初からフレームワークなら (スコア:2)
最初は誰かが作った機能
その機能にいくつかの機能が追加される
そんでもって次には各機能間の連携だとか外部との連携
こんな感じで作られたりしてるものは多いと思う。
ここで最初の機能がフレームワークとやらを使って作られていれば多少なりとも改善されたかもしれない。
かと言って今からフレームワークに変更するということにはならない。
コンコルド効果とかいうやつかな。
ソフトウェア開発に限ったことではない (スコア:1)
無形報酬として誰も彼もが「昇進」というただ一つの価値を無邪気に信じ込んじゃってたので、もろにピーターの法則にハマって組織が腐ったってだけ。
解決策は階級と職制を分離すること。これは世界中で用いられているピーターの法則避けだ。会社ではあまり用いられないがなー。
# 訳文の「解決策」は既に自分でそれを否定してるという(ry
そして、今は亡き「悪態のプログラマ」を思い出した。
いささか乱暴に要約すると「顧客の商品だから」という理由でクソなフレームワークを強制されてキレる話だ。
おそらく、優秀な人間が目先の仕事に割り当てられ、フレームワークなどの共通部分には残り滓が割り当てられるという愚行の結果だろう。
教育やライブラリ/フレームワークなど再生産部分にこそ優秀な者を当てなければならないのだが。
...目先の仕事を片付けることだけは優秀ってのも多いから、一言で「優秀」とかいうのは危険な考えだが、これも罷り通ってるな。
「優秀禁止」とかしなきゃいけないかも試練。代わりに「適性」を使えと。
敢えて書こう (フレームの元 -2) (スコア:1)
部門名じゃないが、繰り言なんて無意味だ。
日本の「自称プログラマ」の半分以上は工学的な教養もない「IT土方」だろ
実態は手配師でしかないソフト開発会社でその日暮らしで成長も無し。
生産性が低いのも、結果として待遇が悪いのも、当然の帰結。
悔しかったら自分で勉強して「出来るヤツ」になって一目置かれりゃ提案も通るよ。
幸いこの業界は凄い設備が無くても大抵の自習はできる。自分を変えろ頑張れ。
プログラマーが悪いのではない (スコア:1)
プログラマーの能力は悪いかもしれないが、それはあまり重要な事ではない。
本来の良いプログラム・良いシステムが良しと評価される環境、およびその環境で働けるプログラマの相対数が
圧倒的に少ない事が問題だろう。
それは、技術と技術者を従える上司と会社が、全体として技術と技術者の評価に明るくない事に起因する。
そしてそれは、技術に明るい人材が、全体として上に立とうとしない、または事業を興そうとしない事に起因する。
しかしそれは、当然の事のように思う。
技術に最も興味がある人間は、技術に直に触れる職業に就きたがる。金や地位よりも、興味を求めるのは自然な事と思われる。
日本と外国とどこが違うのかは解らないが、もしかすると、世界一般のレベルで見ると日本の職人は謙虚すぎるのではないだろうか。
報酬や支配を求める貪欲さを持たない事が、技術者の地位の低下、ひいては環境の悪化に繋がっているのではないだろうか。
ライブラリの利用にたまに不安を感じることが (スコア:1)
アルゴリズムの手元での検証に行列計算のライブラリ等を使っています。
使っている際に,ライブラリ内で行われている計算の原理と実装を理解してないと
火傷することがあるんじゃないかな,ということを何度か感じました。
現時点では誤差の出方がライブラリの採用しているアルゴリズムで違ったり,式の定義が微妙に違ってるとか,
その程度なので使おうと思ってドキュメントを見てる時点で気付いていますが・・・。
怖いからといって数値計算の部分を全部一から丁寧に書いていると
目的の検証に辿りつくまでに非常に時間がかかってしまいます。
でもライブラリの中身をよく理解しないでライブラリの関数に丸投げしてしまうと,
いつかアルゴリズムが自分の手元を離れて利用されるときに事故が起きる気がします。
道具に頼っていると道具で作りやすいものしか生み出せなくなってしまうのではないか,という漠然とした不安もあります。
適当な距離感が良く分からなくてたまに勝手に悩みます。
Re:ライブラリの利用にたまに不安を感じることが (スコア:1)
(アプリケーションの元になるというより,ある種の計算を正確にやらせるだけ)
のため,不安を感じたのかもしれません。申し訳ないです。
例えば逆行列を数値計算するとき,アルゴリズムが違うと,
行列の中身によって誤差の出方が変わってしまうようです。
反復計算によるアルゴリズムになっていた場合は
行列の中身によって正確な解が出ない可能性もありました。
また,例えばある窓関数が,知ってる窓関数と同じ名前なのに微妙に式が違っていたりしました。
無知由来の軽い話なので,軽くドキュメントを見ただけで回避できますが,
いつかどこかでもっと深い部分に気付かずに火傷しないかな,と感じてしまいました。
元記事書いた人による日本語解説 (スコア:1)
元のblog postを書いたJawaadさんによる日本人のための補足:
http://www.tokyomuslim.com/2011/10/jp-to-my-fellow-japanese-programmers/ [tokyomuslim.com]
んー (スコア:0)
こんなとこ?
>良くも悪くも人はフレームワークのサブセットに制約されていて、日本語しかしゃべれない上司に説明することができる(*)。
良くも悪くも人は、日本語しかしゃべれない上司に説明できるフレームワークのサブセットに制約されている。
>非ぼっちの習慣(*)
非一匹狼な姿勢
>日本はあらゆる種類の world class code のソースである、とか(*)
日本はあらゆる種類の、世界クラスの規範の源である、とか
ボクの考えた訳文 (スコア:0)
訳文 「日本語しか話さない上司にも理解できる狭い枠組みに縛られている.これには良い面も悪い面もあるのだが.」
frameworks はソフトウエア工学における "framework" のことでは無いと思う
良くある日本論 (スコア:0)
良くある外人が見た日本論だな。
少し訓練すれば、Google翻訳に頼らずにすむと考える時点で終わっている。(少し訓練すれば欧米人が他の欧州系言語をGoogle翻訳に頼らずにすむ程度に学習することは可能)
以下、アスタリスク部分へのコメント
* 日本語しかしゃべれない上司に説明することができるフレームワークのサブセットに制約されていて、
* モルモン教徒の日本人ということではなく、「英語文献を読み、世界に注目し、非オタクで、孤立的でない性格」を有する人々をモルモン的と比喩していると思われる。
日本人の優れたRubyist たちがいることは素晴らしいが、Rubyの人気は彼ら(日本人のRubyist)によるものではない。
* 当初の誤った思い込み(すなわち、日本はあらゆる種類の世界レベルのコードの源泉である)
Re: (スコア:0)
Rubyの開祖、まつもとゆきひろはモルモン教徒だから、モルモン教徒の日本人でおかしくない。
(今のところ)元組み込み屋ですが(Re:組み込み系 (スコア:3, すばらしい洞察)
なんつーか、泥縄式のプログラム設計が横行しすぎでしたよ。
会社によっては非常に整然とてたところもありましたが。
なので、うごけばいーだろ。的なプログラムと言うのが本当に多くて、考えを纏める余裕自体が認められにくい傾向がありますね。
まぁ、そう考えるとSymbian OSという選択は悪くないんですよ。設計段階での工数は最小化できるでしょうから。
新しい機械に移植するのに莫大な手間がかかると言う現実を無視すれば、いい選択であるに過ぎないですが。
どこかでレガシーコストを切り捨てて、新しいOSで新しい思想性のミドルウェアと旧プログラムとの互換レイヤAPIを構築しとかないと先がないんだけど、そういうある種の撤退戦略と言うのに人と金を投入すると言うのは嫌がる偉いさんが多すぎですから。
外国はともかく日本ではハイリスクなことだという経営判断が極めて普通ですから。
その上、折角ミドルウェアを新しく作れても、設計に関わる上位工程の人(大抵国策企業の研究室とかそういう筋)が頭が悪くて(婉曲)こんなもん使えるか(#-_-)とちゃぶ台ひっくり返したくなるような使用や設計の物を平気で下流工程に出してくるという別の問題もある。
そんななので、元組み込み屋としては本当に小一時間問い詰めたくなるようなことが結構あるのですが...
Re: (スコア:0)
> ではケチョンケチョンに否定されるための前準備として、貴方の考える最高の組み込み系開発について語ってみたまえ。
海外の組み込み系の仕事教えてもらうのに、なんでそれが必要なの?
って、否定するためって書いてあるか。なんだかねぇ
Re:組み込み系 (スコア:1)
そこで嬉々として語りだすのがドMな日本のプログラマだと聞いていましたが、違うのですか?
Re:組み込み系 (スコア:1)
日本語の仕事しか出来ない→どんなに効率悪くしか開発できない案件でも受けざるを得ない
世界中の仕事を受注可能→フレームワークを使えば効率的に開発できる美味しい案件だけを選り好み可能
残る複雑すぎてフレームワークを使えないような一品物案件は、そういうのを得意とする高給チームを持つ会社が引き受け、 そうじゃないただただ単純な工数が必要で割に合わない案件は、人件費が安い国へ流れる。
Re:記事と主題のつながりがわからない (スコア:1)
>その答えって「新しいフレームワーク、新しい技術を使え」ってことでしょうか?
というより、製品A,Bがあったとして。
製品A = A用独自フレームワーク(「Aフレ」) + 「Aフレ」用部品
製品B = 既存フレームワーク + B用既存フレームワーク追加(「Bフレ」) + 「Bフレ」用部品
AはB に比べれば、成長することはないという話なのでは。
理由は以下です。
(1)「Aフレ」は成長しないが、既存フレームワークは成長する(オープンソースなどであれば)
(2)(「Bフレ」は公開することで、成長できる。「Aフレ」はほとんどの場合公開することはないため
「Aフレ」の知識が増加することはない。
(3) 「Aフレ」用部品を開発していることはプログラマにとって何の得点でもないが
「Bフレ」用部品を開発していることはプログラマの得点になる
>個人的には、コーダー自身がその「リスク」も「コスト」も責任を負うつもりでなければ
>結果的にコーディングの知識のない人への「他責」に終始して、
>何のイノベーションも起きない気がします。
今現在、コーダ自身がリスクもコストも責任も持たされている思いますが。
持ってないのは権限でしょう。
コーダは、「イノベーションが起きない」仕事をさせられること自体が「リスク」でしょう。無駄な時間を失いますし。
しかも仕事以外の知識は増えないわけですから。
「コスト」は時間という形で払ってます。
責任がないって、、ことはないでしょう。今現在でさえ、仕様変更があったらコーダが拒否できるのですか?
出来ないでしょう。なんらかの「よりよくする」責任を(なぜか)持っているということです。
この問題に関しては、「他責」にせざる得ないと思いますね。