パスワードを忘れた? アカウント作成
6468200 story
プログラミング

プログラマの実力は経験だけではあがらない 57

ストーリー by reo
好奇心でしょう 部門より

ある Anonymous Coward 曰く、

きしだのはてなでの「プログラマの実力は経験だけではあがらない」という指摘が話題になっている。

/.J 読者の皆様は「実力」を上げるため、どのような努力をしているのだろうか?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 最終的には (スコア:5, すばらしい洞察)

    by miyuri (33181) on 2012年10月12日 11時28分 (#2249820) 日記

    「実力とは何か」、「レベルの高いプログラマとは」のような言葉遊びになってストーリーは収束する。

    • by ksiroi (24990) on 2012年10月12日 11時35分 (#2249835) 日記

      実力とは → 経験の量
      レベル → 知識量と引き出しの多さ

      って話題になって収束っていうかループしそうw

      // ここで「レベルの高いプログラマ」と並行して「強いプログラマ」というものを提唱するっ!
      // 自発的に勉強するのが強いプログラマだ!
      //// そして話題は混沌へ(:>^

      親コメント
      • by Anonymous Coward on 2012年10月12日 14時42分 (#2250066)

        アマゾンアソシエイトリンクだから・・・てか内容を見ても、それを狙ってる!
        本の紹介で稼ぐ為に書いたブログだろ、同時に3冊も紹介するなんてあまり見かけない
        前半の文章はおまけで、後半の本の紹介が狙いである。
        ってことで、前半で
        新しい分野の本をかって実力をつけましょう。って煽っている。
        新しい分野を選ぶとまだ購入してない可能性が高い、
        有名どころだとすでに購入されているから、紹介しても誰も買わない
        考え抜いた末、今回の記事が出来上がったわけです。

        親コメント
        • by Anonymous Coward

          はてブで上級コーダぶって高額な専門書をアフィる手法は数年前まで流行りましたねぇ…。

    • by Anonymous Coward

      言葉遊びにならざるを得ないよね、抽象的すぎて
      結局「わが社における」「わが業界における」っていう限定条件をつけないと、実力として求められる方向が違いすぎるしそもそも評価できないよ
      考えるだけ時間の無駄だよね

  • by Anonymous Coward on 2012年10月12日 11時42分 (#2249848)

    自分が働いてるような底辺の現場では、プログラムが趣味ってだけで頭ひとつ抜ける感じですね。
    PHPの入門書一冊も読んだことがないような人がPHPのコードのレビューをやっていたり、Javaで参照型とプリミティブ型の区別のあいまいな10年選手が飲み会の席で「Javaに関しては若手が育ってなくて安心して任せられないんだよ」のようなことを言っていて、びっくりしたりとかそんな感じだから。

    • by Anonymous Coward

      仕事って、基準が「顧客が文句言わない」あたりにあって、外面さえ
      よければ中身はどうでもよかったりしますからね。コピペで終わったり。
      趣味として、プログラム”道”を究めたいというモチベーションは
      悪くないのでしょう、たぶん。ときおり顧客の要望とバッティングしたりしますが。

  • 今まで使ったことのない言語とか技術で同じものを作ってみる
    もちろん同じものじゃなくてもいいんだけど。

    # 確かに経験から学ぶ事は多いけど、「新しい経験」を積んでいかないと実力は上がらないと思う

    • さすがに手続き型言語であれば2,3日で使えるようになるだろうから、言語を変えることはあまり意味がないでしょ。LispやPrologでも数日の範囲では?

      電子回路設計とか、機械設計をやってみるとか、せめてそのくらいの違いがないと。

      親コメント
      • by Anonymous Coward

        さすがに手続き型言語であれば2,3日で使えるようになるだろうから

        ミサワ的な。

        2,3日や数日(?)でできるのは、既にその人にとってそれは新しい経験ではないという事でしょう。

    • ちょっと違いますけど、やったことのない分野の何かを作るのもいいですよね。 Web しかやったことがない人が、組み込み系(リアルタイム系)をやってみるとか。

      それまでは全く問題にもならなかったことが、問題になったりして、それまで蓄積していたノウハウだけでは対処できない場合もあるでしょうから、考える訓練になりますし、そこで身につけたことを、その後に活用できるかもしれませんよねぇ。(´・◡・`)

      親コメント
      • by Anonymous Coward

        >ちょっと違いますけど、やったことのない分野の何かを作るのもいいですよね。 Web しかやったことがない人が、組み込み系(リアルタイム系)をやってみるとか。
        私の師匠のお言葉は「技術は良く噛んで食べろ」でした
        自分の領分の外だと思ってる事象が実は自分が専門としていると思い込んでいる処にイロイロ作用するのだと言うことと思います。

    • by Anonymous Coward

      それもまた「経験」だよね。
      同じ「経験」でも同じような作業の繰り返しばかりじゃ実力にはならんだろうけれど。

  • by arlz (45121) on 2012年10月12日 11時06分 (#2249787)

    趣味でプログラムを書くようにすると
    「業務で書いているものは(仕事している気分になるので)嫌だ」
    の精神で、自然と自分にとって新しい何かを探すようになるので有効かと。

    そこで得た知識もなんだかんだで業務に生かすようになり、
    今まで趣味でやっていたことが急につまらなくなって別のものを探す。
    そんなループで自然と応用力がついていったように思います。

  • by Anonymous Coward on 2012年10月12日 11時08分 (#2249791)

    記事内のプログラマってプログラマじゃなくて、ただのメンテナじゃんね。
    プログラムしてないのにプログラマだなんて全世界のプログラマに失礼だと思わんのかね。

    いやでも俺はプログラマだし、っていう勉強しないアホは「いやでも俺人間だし」っていう飼い犬と同じじゃないか。

  • by reininn (35924) on 2012年10月12日 11時22分 (#2249805)
    実力とは、実際に仕事をする力のこと。
    頭が良くても、体が言うことを利かなかったら話にならない。
    適度な運動や睡眠時間の確保も計算してスケジュールを立てて
    病気になって作業不能な状態になることを避けることが重要である。
  • 前回とだいたい同じ内容だから、前回と同じ方式でやればいいや。
    と、いう結論を即座に出さない。

    #大忙しであわあわしてないときに限るが……

  • by Anonymous Coward on 2012年10月12日 11時01分 (#2249781)

    向上して壁に当たっての細切れの繰り返しの印象。
    まあ、最近は仕事のサイクルも速くて色んな人に会いやすくなってるから
    それほど深刻になる必要はないかも。

    やっぱ、優れた他人に触れる(ソース上だけでなく話したほうが良い)、経験で処理できないものを
    書籍等を参考にしながら突破することが、壁を超える手段だと思う。
    自分の内部なんて小さい世界だからね。

  • by Anonymous Coward on 2012年10月12日 12時42分 (#2249935)

    私みたいな金勘定中心の受託開発ソフトを作る場合だと、
    「せめて簿記二級相当の知識は欲しいよね」という感じはあります。

    #で、面白くなって簿記一級に挑戦するという…

    • by Anonymous Coward

      最近は業務知識ってつけないでプログラム作ったり、設計したりするの?
      保険業の仕事請けるために、アクチャリーに資格まで取ってしまった先輩がいたけど。最近はそういうのが少ないのかな?

      • by Anonymous Coward

        営業とSEは必須。
        プログラマは言われた通りに書いてるだけならいらない。

        • by Anonymous Coward

          SEも一部に業務知識が必要な人はいるでしょうが、大半は言われたとおりに作業するだけですよ。

          • by Anonymous Coward

            そうか、コーダーの話だったのか。

  • by Anonymous Coward on 2012年10月12日 12時47分 (#2249942)

    こんなのプログラマに限らず当たり前だと思うがどうか。
    経験と、新しい知識の比率は別にしてさ。

    大抵のまともな業種には、定期的に勉強会なりセミナーなりが行われていて、それらに行ってくることになるだろ。
    製造業。悪名高き「改善活動」だがこれは一種の勉強会であって、日常の業務から外れてやってる勉強だ。
    各地の地場産業センタ、あるいは商工会のような所は、会員向けに多くの格安のセミナーを実施している。
    学校の先生などはそう言う事を延々と続けられる典型のような職業だし、大抵の公務員も公務員向けのセミナーに参加している。
    農業ですら、毎日同じ事を延々とやり続けているように思われがちだが、独立系の農家はもちろん、農協に出荷している従来からの農家でも、農協がかなり盛んに勉強会やら講習会やらをやっていて、多くの場合該当する作物の勉強会にでることが義務づけられている。
    伝統工芸、伝統産業も同業者が集まって行う集まりは非常に盛んだ。

    やってない奴は脱落していくのも同じだろう。
    やらなくてもやって行けてるというのは、よほど特殊な業種であるか、あるいは、経験だけしか無い奴だから、そんな奴でもできる仕事しか与えられていないと言うことを、順序逆に受け止めているだけに過ぎないと思う。そして経験だけの奴でもやれる仕事というのは、経験がマニュアル化された瞬間、あるいは機械化された瞬間、お払い箱になる事だろう。

  • by Anonymous Coward on 2012年10月12日 12時56分 (#2249951)

    言わんとしていることは、ものすごくあたりまえのことのように思えます。
    あえて単純化すれば、

    1. 勉強する(2回目以降は前回の経験もベースに出来る。ネタ元の記事はここについての方法論のような気がする)
    2. 経験する(ネタ元の記事では「作業の習熟度」が上がることのみに重点を置いているが、ここでも様々なことを学べるとは思う)
    3. 経験から学んだことを次に生かすために1.に戻る

    というスパイラルを繰り返すわけですよね。
    職場や業種によっては2.からスタートすることもあるでしょうが、全体のループ構造は同じことでしょう。
    それを2.だけでループしてたら成長が限られるのは自明の理のような気がします。
    そして「単純作業ではない」仕事(広義のプログラマも含む)にとっては、2.の前に1.があり、成長してレベルアップすることが非常に重要になるんだと思います。
    フィールドでモンスターを倒して稼いできた経験値(2.のプロセス)で、教会に行ってレベルアップ(1.のプロセス)するようなゲームシステムで言えば、経験値ばっかり稼ぐけどレベルアップをしない人は強くなれないわけですね(ほら、そこ! 食料の消費が増えるからレベルアップしないとか言わない!)。

    # 但し現場では、忙しさを理由言い訳に2.だけのループで成長をさせようと無茶なことを言うんですがね。

    • 学而
      でしたか。
      子曰、 「学而時習之。 不亦説乎。(ry

      親コメント
    • by Anonymous Coward

      同じレベルの仕事をしてると、その仕事で必要な技術力の上限があるので
      レベル差による取得経験値が1とかの状態になっちゃうんですよね。
      まあ、ゲームと一緒でもっと高レベルの敵がいる場所に移らないことには。

      • by Anonymous Coward

        その通りですね。
        ただ、現実社会は、ゲームと違って経験値を得てレベルを上げることが重要ではない場合もあるってことでしょうか。
        要は、その場所でのパフォーマンス(スライムを狩っているだけかもしれない)と、インカム(収入)が見合っていれば、その場に居続けることもありってことですよね。
        我々はゲームの主人公たちとは違い、魔王を倒したり世界を救うのが目的ではなく、ご飯を食べていくことが目的なわけですから。

  • by Anonymous Coward on 2012年10月12日 22時47分 (#2250437)

    才能で出来ています。

  • by Anonymous Coward on 2012年10月12日 10時54分 (#2249769)

    ひたすらコミュ力()しか評価されないのに

  • by Anonymous Coward on 2012年10月12日 11時25分 (#2249810)

    「つぶしがきく」という意味なのかな。

    というかよく見たら元記事のタイトルは

    > プログラマの実力は経験だけであがらない「ことがレベル格差につながる」

    であって、格差を気にしないならどうでもいい話だよね。

    • by Anonymous Coward

      >「つぶしがきく」という意味なのかな。

      違う、トータルの生産性とでも言える能力。
      三倍の速度で仕上げるとか、三倍の価格でもソフトが売れるとか。

        > 格差を気にしないならどうでもいい話だよね。

      今の処は、所得とか労働時間とかいった格差を気にしないならね、
      日本の底辺プログラマに、将来も仕事があるかはわからんが。

    • by Anonymous Coward

      優れたスキルを持ちながらコンピュータサイエンスの素養がない人は既知の事柄の再発明を繰り替えしてたいへんもったいない
      自明な事柄の積み重ねでつまらないけどちゃんとコンピュータサイエンスを学びましょうとということですかねえ

  • by Anonymous Coward on 2012年10月12日 11時40分 (#2249842)

    現在の自分が見えてないものを吸収できるように、古いこと、新しいことにも常に目を向けておくべきですね。
    # 車輪の再発明をして、しかもその車輪が不様な出来だったりするともう…

    • by Anonymous Coward

      QCやCSの活動を「なんでこんなことしなくちゃならないの?」と小馬鹿にしてる奴はだいたい仕事をさぼりたい奴だなと判断している。

  • by Anonymous Coward on 2012年10月12日 12時51分 (#2249947)

    上達しないのは当たり前。
    スポーツ選手を考えてみれば分かる。 ただ、だらだらとやっててもうまくならない。
    技術を磨く練習をしないと。

    • by Anonymous Coward

      > 技術を磨く練習をしないと。
      いやそれを経験と言ってると思うんだけど。
      ただ、「技術が磨かれる……」という意味だとまた話が違ってくるし。

      要するに、誰でもやればできるってもんじゃない、ということかと。

  • by Anonymous Coward on 2012年10月12日 13時39分 (#2250002)

    経験なんか積まなくてもいいから
    「プログラマ力養成ギプス」でも付けてろ

  • by Anonymous Coward on 2012年10月12日 13時45分 (#2250013)

    タレコミがだいぶん言葉足らずで元ソースもとりとめないエッセイだから、
    てんでんバラバラな自己解釈が並んでますね。

    元記事は、単なるJava脳が一皮むけたくて書物に頼り始めたような印象しか受けませんでした。
    コーディング以外の開発要素を「言葉遊び」と切り捨ててるうちはプログラマとしての「実力」も偏向したままでしょう。
    とにかく言われた仕様どおり作れれば良いんだろという観点ならばJavaのIDEにだけ精通しててもそれはコーダとして実力が高いと言えますし、
    性能の良いショートコードを迅速に書ける能力をどれだけ高めようとも仕様を切れず工数を見積もれないのはエンジニアとしてクズだと思います。
    大事なことは、単なるコーダから脱却してもう一段メタ的なドメインを見据えることじゃないでしょうか。

    「同じ処理をさまざまな言語で書いてみよう」というのはよく言われることですけど、
    これって結局は自分のプライマリ言語との比較論で終わってしまうんですよね。
    義務感で演習問題に取り組んで「~言語は書きづらい」だのといった先入観の助長に努めるよりは、
    さまざまな言語で書かれた巨大なソフトウェアのソースコードを眺めるほうが発見は多いと思います。
    自然言語処理、処理系、物理演算、画像処理、…といったアプリケーションを自ら設計・実装してみて
    もっとも歯がゆく感じる箇所だけを切り出して別言語と連携してみる、というのも視野の拡がりを実感できますね。

    まあ、「実力」という手段にあまりふりまわされて目的をないがしろにしないよう気をつけましょう。

  • by Anonymous Coward on 2012年10月12日 14時03分 (#2250032)

    プログラマの実力ってなんなんだよ
    システムをコード化できるかどうかか?
    そんなんコード化可能なシステムかどうかにかかってくるだけだろ
    結局システム設計者の実力次第
    それとも最適化か?
    高可用性か?
    なにを指して実力と呼ぶかで、それを身につける経験とはなにかが決まるだろ

    • by Anonymous Coward

      こういう因縁をつけられた時に、ささっとかわせる能力のことです。

      • by Anonymous Coward

        そういう自虐的なエンジニア哀歌みたいなやつ、いいかげん飽きたよ。

        技術的な話題になってくると水を差して煙に巻こうとする。
        実力の無いベテランがミーティングで用いる常套忍術だな。最後は火遁。

  • by Anonymous Coward on 2012年10月12日 16時30分 (#2250166)

    ましてや書き込むなんて論外

  • by Anonymous Coward on 2012年10月12日 20時15分 (#2250353)

    あるのは才能のみ

    • by Anonymous Coward

      「才能を信用する」というのも意味分からんですが。

    • by Anonymous Coward

      脳みその性能ができる人と俺とでは明らかに違うなと思うことはありますねえ・・・・

      ・一度に頭のワーキングメモリに情報の断片をたくさん置ける。
      ・情報の断片同士が自然にリンクする。
      ・それらを頭の中で言語化・グラフ化可能な構造に醸成する。

      なんて感じの思考の動きがなかなかうまくできない。
      紙上スケッチとかExcel表なんかで中間的な補完資料を作って可視化したりしないとまとまらない。
      最終的にはこなせるけど頭の中だけでやってる人ほどスピードが出ない。

typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...