【IT】一流プログラマーになるためには「1万時間の法則」ならぬ「3万時間の法則」が適用される [田杉山脈★]
■ このスレッドは過去ログ倉庫に格納されています
一流の人物は例外なく1万時間の練習に打ち込んでいるという「1万時間の法則」は、勉強やスポーツ、芸術などの分野で広く知れ渡っています。プログラマーのBreck yunitsはこの法則を信じて1万時間をプログラミングに費やしたのですが、実際に効果があるのかに自信を持てず、自身が尊敬するプログラマー25人に「あなたはプログラミングに何時間費やしましたか?」といった内容のメールを送ったとのこと。そして、返信があった5人の回答をGitHubに公開しています。 GitHub - breck7/30000hours: How many hours have you spent practicing programming? https://github.com/breck7/30000hours ◆ドナルド・クヌース:5万6000時間 数学者・計算機科学者であるドナルド・クヌース氏は1938年に生まれ、初期のコンピューター「IBM 650」に出会って以来、50年以上プログラミングに携わっている人物です。クヌース氏はアルゴリズム解析の分野を切り開いた第一人者であり、プログラミングについて記された書籍「The Art of Computer Programming」の著作者としても知られています。また、「時期尚早の最適化は諸悪の根源である」といった言葉でも知られ、ソフトウェア開発の初期段階で最適化を行うべきではないとの考え方を持っています。クヌース氏は記事作成時点で存命中であり、スタンフォード大学で教べんを執っています。 ◆ロブ・パイク:3万時間 ロブ・パイク氏は1956年に生まれ、1995年に「Limbo」、2009年に「Go」というプログラミング言語を開発したことで知られています。「UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている」という言葉を残しており、自身のプログラミングに対する信条として「プログラミング5か条」というものを掲げていることでも有名な人物です。また、3万時間を達成するに至った自身の勤務時間も公開しています。 ◆ピーター・ノーヴィグ:3万時間 1956年に生まれたピーター・ノーヴィグ氏も3万時間をプログラミングに費やしたとのこと。Googleで研究責任者を務めたこともあるノーヴィグ氏はAIやロボット工学の分野で活躍しており、NASAが開発した宇宙機「ディープ・スペース1号」の自律制御システムを設計しています。また、ノーヴィグ氏は1万時間の法則を提唱したマルコム・グラッドウェル氏に倣い「Teach Yourself Programming in Ten Years(プログラミングの独習には10年かけなさい)」と題したエッセイも執筆しています。 ◆スティーブン・ウルフラム:5万時間 1959年に生まれ、ソフトウェア会社「ウルフラム・リサーチ」のCEOを務めるスティーブン・ウルフラム氏は5万時間をプログラミングに費やしたとのこと。ウルフラム氏は1986年に数式処理システム「Mathematica」を開発し、セル・オートマトンの研究を行っていることで知られています。また、ウルフラム氏は自身の活動の記録を細かく取っていることでも知られ、2002年に出版した自身の著書「新しい種類の科学」に「これまでにキーボードを1億回打鍵し、マウスを100マイル(160km)分動かした」と記述しています https://gigazine.net/news/20210404-5-programmers-30000-hours/ >>304 必修化とか受験に使えば増えると言うならみんな国文学者とか数学者になるわw 日本の一般的なエンジニアでこのラインに達する人は殆どいない 思考するプログラミングは最初の数年のみで、あとは如何に素早くネット上にある誰かのメモを見つけてほんの少し手を加えるだけの仕事になる >>1 もともとセンスのないやつが何時間やっても無駄 ウルフラムのMathematica触ったことある データ構造とかキレッキレで基地外レベルに凄かったけど 数学者以外に誰が使うねんって思った これは正しい プログラムだけじゃなく 全ての事柄は場数に比例する 俺は才能が無いなんて思わず 場数を踏めばなんとかなる事は多い 勿論、才能云々もあるし どうしようもない事も有るが 大概は場数で乗り切れる とにかくわからなくても先に進んで また戻って繰り返す事が大事 3万時間費やしてもそれに見合う給料がもらえない職業 >>287 そうなの? 家賃が高すぎて車で寝泊まりしてるって聞くけど 今はKiCADカキコ、半田ゴテ握り、クリーンアーキテクチャーでアプリカキコできるレベルでないと食えないからなぁ。 アーキも新陳代謝激しく、山頂が見えない登山と同じ。 まっ それでも仙人目指してガンガレ。 一流のPGってなんだ 言語作れるとかフリーウエアで有名になるとか? ならほぼいないんじゃね 俺の経験から言えば時間なんていうほど関係ないかな それよも高い数学英語力がなければいくら言語だけ覚えても遠からず高い壁を超えられなくなり 誰でもできるような簡単なお仕事しかできないで終わる感じ 後はその上で理論的思考が得意かそうでないかの向き不向きくらい 日本の優秀なエンジニアは見合った給料もらえないからサボることで給料の方に合わせるようになる 結局自分がわからないものを評価できない上が潰してんだよな >>1 コーディングは技術であって一流もくそもない ちゃんとマネジメントが出来るようになってくれ 必要なのはそういう人材 >>322 コーダーとプログラマーはまったく違うよ 大手SIerはプログラミングもマネージメントもできない手配師ばかり。 まっ ユーザーインターフェースやシステムリンク考えるのと、フォルダー構成や、リソースをどこから持ってくるかなどという話は違うからな。 より抽象レベルの高い上位ができるようになった方がええ。 >>320 その数学英語理論力を付けるために時間が必要と言う訳よ >>293 お前は、ただ揚げ足取りしたいだけで質問に答えてないレスをした。 そういう頭の悪いヤツの回答読んで損した。 >>321 英語ができない時点で世界的にみて劣悪プログラマー >>318 そうエンジニアとかいっちょ前に名乗ってるがちょっとしたウェブ職人に過ぎない 昔から考えると分野が広くなりすぎて、時間がかかるようになっとるわな。 問題はその広がった分野のいたるところから出てくるから広く知っておかないと問題解決に時間がかかる。 一流になるのに一万時間必要な事と 今走り続けてる一流が三万時間やってることって矛盾してなくない? >>3 そもそもステップアップするもんじゃないぞ 全く別もんだ 3年必死こいて勉強して使えるようになったら別言語とかよくある COBOLやってUNIXやってWindowsに移ってWEBに移って・・・って会社の都合でやらされる そして20代後半になると開発からは遠のきコンサルとか実質営業とかの仕事をやらされる 日本のSEが技量低いのはそんなのばっかりだから 言語なんて1か月あればサルでもできる 難しいのは作るときのアーキテクチャやフレームワークを理解することだと言ってるだろ 特に英語しか情報がないものが多いのでそこで挫折するやつが多い 高校から、遅くとも20歳までにはそれなりの数のプログラムを書いているでしょうね 区分とかいうクソみたいな言葉を使って分岐するのをやめろ データの構造すら満足に構築出来ないのもやめろ、1本クソみたいなレコードだけで考えるな 本当のPGは、やっぱ機械の世界でいう「マザーマシン」を 作れる奴だろね。 たとえば、コンパイラ/OS/デバッガ等。 それらマザーマシンを作るためのツールというか理論を 研究してるのが、コンピュータサイエンティストとか 云われる学者。 だから、文系でも成れる世間一般で云うPGとは 機械工みたいな職人だよ。 だから、訓練時間が 大きく関係する(=このスレの主題)。 コンテクトスイッチディスパッチャーとWindows並みのイベント駆動やメッセージパッシングでGUIの組み込みファームウェアなんてあちこちでやっているだろ? 作っているのは、一人か二人だけど、それだけ一流の人はいるという事。 それとまた違う一流は、現場に入って、ユースケースUMLからオブジェクト、ビヘイバーから必要なフォーマットまでシステム企画、制作できる人達。 カンパニーカードと福利厚生、クライアントシステムや銀行口座をリンクした企業ファイナンス等を作っているのがそういう人達で、わずかながら日本には居る。 コンパイラはRuby以後は研究者しか知らないが、居ることはいる。 RoRの制作者にもお会いしたことがあるがその辺のPGとはやはり違う。 まぁ 日本のPGにお願いしたいのは、せめてSOLID原則ぐらい守ってくれよなという事。 >>336 知ってると思うがその3つ以外の超専門職のコンピュータサイエンティストもいるぞ >>3 ジョブチェンジっていうか打ち合わせ、見積、契約、設計、プログラミング、テスト、納品、謝罪全部やってる >>337 Solid原則ってのググったが2年程度の経験があれば自然に身につくものばかりだな >>3 SEつか個人事業主で商談からプログラム、経理まで 全部やってる人はどんどん増えてる >>312 それは素人のレベル プロとして、職業として、あるいはそのレベルのプログラミングの話をすると適正が大きい事がわかる エクセルのマクロを組む、末端の規模の小さいアプリを作る、その程度なら適正によらず大抵の奴が一定の訓練学習で対応可能 しかし規模が大きくなったり、パフォーマンスやセキュリティ、再利用性、可読性、メンテナンス性まで考慮したコーディングになるとセンスというか素質や適性要素がどんどん高くなってきて、向いてない人は何を何年やっても無理なわけ ある程度以上高いレベルのプロを目指すならスポーツ選手や芸術家になるのと同じで早めの適性の判断が重要になるよ >>314 そんな極端な例を挙げてもなぁ 普通のやつは部屋くらいは借りてるよ >>317 PGってのは日本では殆ど差別用語化してる 世界ではソフトウェアエンジニアとか開発エンジニア 単なるコーダーでは無い >>326 哀れなPGさんだったんだね、可哀想に… >>327 それは極論過ぎる Googleだって英語苦手だけどコーディングに傑出した才能を持っているやつなんていくらでもいる バランス良くなんて本質的にはどうでもいい、バランス欠けていても特化した能力があればいい世界 >>344 増えるかどうかもわからんよ 数学の授業受けて数学嫌いになる奴はアホほどいる >>350 極論でもないぞ もはや最新技術もフレームワークも 英語直接読んで追っかけられんとどうにもならん 日本語出るまで待ってたら2周は遅れるし 今後は更に酷くなるだろう >>351 そういうのも込みで増えるかどうかで言えば増えるわな >>352 英語なんてわからなくてもコード読めば分かるからな レベルの高いやつほど余計な説明は不要だからね 凡人だけだよ、英語がどうのって言ってるのは >>354 レベル低いと自分で言ってるようなもん コード読んでもそれが意図した挙動かバグなのかは ドキュメント読まんと分からんだろ まあ地頭ですよね 130以上の言語IQと圧倒的WMC 文系にも出来るとか言って募集してる学校や企業はやべえ >>353 根拠は? 上にも書いたけど学校で強制的に教えられたから嫌いになるとかよくある話だぞ あと愛知 創作活動としての表現力、自由度の高さ だからこそ構造デザイン力が問われる 同じく構造デザインを必要とする経営、マーケティングとも相性が高い >>349 ちゃんと会話する癖をつけよう? 揚げ足取るために生きてる訳じゃないでしょ >>359 一般論として全くやらない、から、必須でやる、となれば理解度も経験値も増えるわけだし、そちらを選択する人間も増えるだろう 逆に増えないと今後得る方が不自然で、そちらこそ根拠を示すべきじゃ無いのw >>350 特殊ケースを一般化しないようにしませう 日本人がユーチューブとかに上がってるプログラム動画をみてもなにを言ってるか分からんのは圧倒的不利 >>363 負け惜しみお疲れ コードなんてどんなに読んでも所詮コードよ 設計意図とか目的とかを正しく理解せず 計算式だけ正しいか確認してるようなもん それが分からないうちは全然ヒヨッコだわ もっと実務経験つもうな >>3 seは土木で言うと施工管理だろ プログラムのスキルいらないじゃん てか出来ないから工程管理だろ 今は違うのか この5人は超超一流だろ 一流になるのに3万時間とかいってはいないよな 勝手な解釈してるやつは論理が破綻してるからもしプログラム作ったことあるにしても最低のプログラマーなんだろな 正直いって学習したときの年齢を無視してるのは論外 10代の1時間は 20代の2時間に相当し 30代の5時間に相当し 40代の20時間に相当し 50代の50時間に相当する 未だにトップレベルになれんわ。 小学生のころプログラミング始めて、それなりの大学の情報系卒業して、上場企業でずっとプログラム書いてて年収1000万越えたとこまで来たけど、まだ世界のトップレベルにはほど遠い。 >>350 Google Japan のマネージャーに英語下手が多かっただけじゃね 俺は英語から入ったから、出来ないとパズルすぎね?とか思っちゃうけどw >>354 コード読んで初めて知るようじゃ遅い 開発段階でエンジニア連中とコミュニケーション取れないと 最先端の情報は手に入らない 英語が出来た方が圧倒的に優位なんだけど、大多数の日本人プログラマーにとっては 英語の方がハードルが高いという不都合な真実w これでもだいぶできるようになったほうだよ 20年前は大手企業の現場でも 「英語の資料しか無いので作業できません。和訳資料用意してください」 が通ってたんだから >>370 じゃあ増える(だろう)って事でいいんだね ならこのくだらんやり取りも終わりだ >>383 > じゃあ増える(だろう)って事でいいんだね 実に低能らしい理解力だな まあ根拠なくそう言い張ってりゃいいんじゃね?w >>97 PMもコンサルもSEも営業も、pg書いてくれる人を見下すんだよねー。 >>375 素質の問題だよ 素質がないと何年やろうがトップレベルにはなれんし、なる必要もない IT業界にいて思うことは、つまんねーことでマウント取る猿ばっかだよなってこと それは、底辺の5chでも変わらんのねw >>387 まぁプロコン問題なんて素養あるやつは学生でも解くし 何年プログラムしてても経験で解けるもんじゃないからな >>381 30年近く前、田舎の弱小IT企業でさえ、英語のマニュアルだったぞ 欧米製の大型使うシステムだったから 元は大手がぶん投げて、結局田舎までたどり着いた しばらくして和訳マニュアルが出てきたけど、 IT素人の翻訳だからゴミだった >>388 コミュ障天国だから温かい目で見て静かに距離を取ろう 入札のプレゼンに来たSEに、 「行数で良いですが、あなたはこれまでどれくらいプログラムを書きましたか?」 と尋ねたい。名刺の肩書がアーキテクトとかいうSEもいるが。 情報処理試験のPMとか、会社でもステップ数で工数やバグ摘出件数見込んでるけど、外国でも本当にやってんのかな? 日本の大規模プロジェクトだと、たいていPMとか数字集めと鉛筆ナメナメに時間使ってるけど >>394 まぁ事前計画が最重要されるお国柄だわな 計画段階で「バグ見込み件数」とか求められるからね ステップ数はアホと思うが 他に馬鹿でも納得する指標がないからしゃーない んで計画と一致しないと見込み違い叱責されるから 「あとバグxx件の予定だからこれはバグにしよう」とか 「検出時期ずらそう」とか「不具合じゃない仕様だ」とか 数字合わせ遊びに奔走することに 海外だとまず作ってみて検証して 市場が受け入れ可能なほどにバグ取れたらリリース なんてノリじゃないかね知らんけど >>393 おまえは今まで食ったパンの枚数をおぼえているのか? >>395 とっくに中抜き万歳チェック杜撰なお国柄になっとるよ >>395 バグが少なくても「テスト不足が疑われる」って怒られるのマジ頭おかしいよな。 工業製品作ってるときの品質管理法を流用してるんだろうけど、プログラムのバグが正規分布に従って発生するかよ。 >>397 どっちかと言うと中抜き屋が 「自分ら仕事してます」アピールする為に使われるのが ステップ数元にしたバグ出し計画&進捗表と思うぞ 実際発注元はその進捗表を元に 「進捗は計画通りですボス」とかやってたり なんか全員で喜劇をやってる気がしてくるが ところがどっこい、これが現実…! >>394 定量評価するための指標としてはコードの行数やステップ数は大きな基準の一つだし、他に変わる指標がない場合が多いからしょうがない ステップ数以外の指標も使えばいいだけの話であってステップ数を使わないのは逆におかしいし、それをアホ扱いする方がアホ >>401 いやモジュール単位で改変率*複雑度とか 内部ではやってても偉い人がそれじゃ納得せんのよ 「この計算式の根拠は?」「どっかで採用実績あるの?」とか 聞いてきてメンドクセ、ってなるから 結局対外的にステップ数に落ち着くって話 >>399 コーディングなんて組立作業とたいして変わらんよ ネジ締めの代わりにキーボードと言うボタン押してるだけやし 大して変わらんがまぁいくらか複雑な抽象作業なので少しはアタマが必要だがまぁその程度 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる