• ベストアンサー

プログラマーで「使えない人」のレベル

よくブログや掲示板等に使えない人が入ってきたとか書いてありますが どれくらいのレベルの人の事を言っているのでしょうか? 具体的なエピソードやその人の人物像とか教えてください。 適性についてはFizzBuzzの話と代入や再帰・ポインタがわからない人の話がありますが 「事前に」パターンを経験していたり深く考える時間があればクリアできると思うのですが、 初出で一瞬で理解できない人以外はだめってことなのでしょうか? 新卒時に異業種に就職してしまった事も年齢的にも、もうプログラマーにはなれませんが、 自分は結局どのレベルだったのかなと考えたりしています。

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

現場によって必要なスキルの種類やレベルは変わってきますので一概には言えません。 ある現場でエースとされていた人が別の現場に移るとお荷物になったということもよく有りますよ。 ですが、どんな現場でもダメだろうというレベルの事例は何回かありましたね。極端な例かもしれませんが。 ■ 事例A (中途採用) ・オープン系の経験3年で「参照」「ポインタ」という言葉を知らない。  (もちろん概念も知らない) ・月を2桁の文字列で取得して無条件に上1桁を削除。  (10月はエラーになり、11月は1月として処理される) ・ファイルアップロード機能のテスト作業で、ファイルがアップロードされたか否かを確認しない。  (サボっていたのではなく、画面を確認すること以外思いつかなかったらしい) ・仕様書の作成を担当したが、一切の相談・調整無しに(他の人の担当である)コーディングを実施。  (理由は「仕様書は苦手でコーディングは得意だから」) ・本人はベテランで優秀なつもり。(そう言っていた) ■ 事例B (発注先、作業者は1人) ・最終納品物に文法の間違いによるコンパイルエラーが含まれていた。 ・仕様でレスポンスがPNGとされているプログラムで「PNG」という文字列を返していた。(とんち?) ・規則性も無い様々な(間違った)値を出力するようになっていた。  (SQLで、GROUP BYに存在しないせず一意にもならないカラムをSELECT句で指定していた為) ・画面を一目見ておかしいと分かるバグが最後まで残っていた。  (住所欄に金額が表示されているような感じ) > 初出で一瞬で理解できない人以外はだめってことなのでしょうか? というより、その人にとって初出ということが問題でしょう。 少し経験が有れば、FizzBuzz を処理する上で必要な知識・スキルは得ているはずですし、再帰・ポインタ(または参照)などは少し複雑なことをする際に調べたり使ったりしているはずです。 再帰やポインタの概念を理解するのに時間が掛かることはよく有ることです。はなから理解できる人の方が少ないと思いますよ。

noname#163110
質問者

お礼

回答ありがとうございます。 年数に応じたスキルや知識が足りないということですね。 なんかAの方は相談しないタイプ、 Bの方は一人で背負ったあげく未完成納品だったのでしょうか? こういった事例ってそのまま別業種にも当てはまりますねw 自分にもこういった要素は少しあるので気をつけようと思いました。

その他の回答 (4)

回答No.5

問題の切り分けができないと、デバッグができないかもしれませんね。 FizzBuzzが表示されない原因がprintfにあったとして、forばかり調べている人とか。 そういう人にプログラマーの適性があるかどうかは、、、わかりません。 虫さされが原因なのを、不治の病と勘違いする医者だっていますから。(病院を二転三転してやっと原因が分かるとか。それでも医者は医者です。 どうでもいいですけど、そういう誤診って無意味な治療費も支払わなきゃならないんでしょうか。1日で直る薬を出さずにゆっくり回復させて治療費10倍とか、ありそうで。) ------ >「事前に」パターンを経験していたり深く考える時間があればクリアできると思うのですが、 経験した物を経験として積み上げる能力があるなら、 たとえ初出でわからなくても、プログラマーとして活躍できるようになると思います。 (適正とは別問題ですから。) 昔は「年上を敬え」という言葉がありました。 それは経験を経験として積み上げているから、能力は若人よりは上だからです。 若くして諸先輩、師匠を超える能力がある人は、それがわかった時点で独立してますよ。(老害がなければ出世していた。) スタートした年齢が同じなら年上=経験量が上ですが、 今のプログラマーは、中学、高校から本格的にプログラミングを勉強しています。 つまり、社会人1年生になった時点で、業務経歴5年程度を持っているということです。 経験量が違いますから、とてもではないですが追いつくのは難しいですね。 ------- >ただ、ライブラリの存在を知らずに力技で車輪の再発明を >やってしまうとかありそうでw シェア争いという言葉もありまして。 ブラウザが3つも4つも、、、音楽ソフト、絵描きソフト、テキストエディタ、、、等々、たくさんの車輪の再発明があります。 青い物を赤くしたら「再発明」かどうかは知りませんけど。 既存ライブラリがあるのに、自分が作成した物を使ってもらうために全く同じ機能の物を作るというのは、よくある話です。 アレンジしたり、機能追加ならまだわかりますが、「全く同じ」というのもたくさんあります。 他人が書いたコードは読みづらいと言いますし、同じく、他人が作ったルールは従いづらいこともあります。 使いづらいライブラリ、使いやすいライブラリがあるなら、使いやすいライブラリを作るために再発明も結構だと思います。 ライブラリを使う能力、ライブラリを作る能力、、、一概には言えないと思います。

noname#163110
質問者

お礼

回答ありがとうございます。 切り分け能力、経験として積み上げる能力ですね >中学、高校から本格的に 確かに。仕事にするには興味を持つのが遅すぎたと感じました。 でも当時の自分がプログラミングやっていても 今とさほど変わらないレベルのような気もw ある数日間の集まりで若い方と同じ課題のプログラミングをしたのですが、最初は何もないところから作るものだったので、予習をしていた私のほうが数時間差で勝っていました。 そこでは作った物は後の課題に使い回すので、そのうち使い回すコードの場所を探すのに時間がかかり、若い方に数時間差つけられるようになりました (若い方が覚醒したのかどうかは分かりませんがw) そういう経緯もあり、使えない人っていうのがどういう意味なのかと思った次第です シェア争い・・・言われてみればそうですね 自分の理解のために再発明する人もいますし いまちょうど再発明(現在は劣化版状態)していて 無駄だと思って沈んでいたのですが、ちょっと希望が持てました

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

#3です。 > あと、昔はアルゴリズムを考えるほうが大変でしたが > 最近はどこどこのライブラリからとか記憶力のほうが大事なのかなと思います。 分野によりますね。 その「どこどこのライブラリ」を開発する仕事だとしたらどうでしょう? 既存機能のパッチワークしかできないようなプログラマは、それこそ使い物になりません。

noname#163110
質問者

お礼

再度ありがとうございます。 そうですね。そう考えれば分野によるところが大きいですね。 全部がネット上に転がっているわけではないですからね。 ただ、ライブラリの存在を知らずに力技で車輪の再発明を やってしまうとかありそうでw まあそれもその場限りの対策だけしてきた者に含まれますね・・

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

まず、その人物の単価によります。 例えば、時間あたりの人件費が1000円以下なら使えるけれども、とても数千円は出せないという場合もあるからです。 次に、即戦力を期待するのか、ある程度の教育期間があるのかにもよります。 例えば、ウェブアプリケーションの開発経験が豊富にある有能なプログラマーだとしても、彼に即戦力として16ビットマイコン、OS無しの環境で制御プログラムを開発しろといったところで、即戦力としてはまったく使い物になりません。 逆に、キーボードも打てないような素人であっても、数か月教育期間に費やせるのであれば使い物になる場合もあります。 そしてもうひとつ重要なファクターがあります。 それは、使う側の能力です。 相手の能力が少々低くても、使う側が有能であれば何とかなるケースは多々あります。 ところで... > FizzBuzzの話 これはあまりにも有名になってしまいましたからね。 事前に問題が分かっていれば、答えを丸暗記してきて対応する輩は少なくありません。 FizzBuzzはすらすら書けるのに、もっと簡単なはずの100以下の7の倍数を列挙するプログラムが書けないといったことがあったりするものです。 > 「事前に」パターンを経験していたり深く考える時間があればクリアできると思うのですが、 > 初出で一瞬で理解できない人以外はだめってことなのでしょうか? 試験対策だけした者と本当に実力がある者は違うということです。

noname#163110
質問者

お礼

回答ありがとうございます。 使用者と本人の能力と道具のバランスなんですね。 確かに異業種ではありますが、そのバランスには苦労しました。 >100以下の7の倍数を列挙するプログラムが書けない やっぱり算数の要素ですかね? 適性検査の際に算数の難しい問題ばかりが出たような気がします。 物理とか数学が得意だったのですが意味なかったですw あと、昔はアルゴリズムを考えるほうが大変でしたが 最近はどこどこのライブラリからとか記憶力のほうが大事なのかなと思います。 いずれにしても多くの経験=実力には勝てませんが・・・ (子供の頃から好きでやっていた人は全然ちがいますよね)

  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.1

理解できていない部分があった際に、チャンと質問して疑問を解消してから作業を進めずに勝手に解釈して先に進んでしまう。 経験が無い少ない人の作業量が進まないのはある意味当然なので、チームリーダはその辺を見込んで作業割り当てをする。 でも勝手な判断で間違った方向に進んでしまった作業を後戻りして軌道修正するのは見込んでいない。 質問できない人、自分の進捗度合いを客観的に把握できない人は困る。

noname#163110
質問者

お礼

回答ありがとうございます。 作業者の分かったフリとリーダーの采配というところですね。 普通に仕事をしている方が振り回されるというのがわかりました。

関連するQ&A