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

偉大なソフトウェア開発者になるには何が必要か 99

ストーリー by headless
and-the-best-that-you-can-hope-for-is-to-die-in-your-sleep 部門より
本家/.「Ask Slashdot: What Makes a Great Software Developer?

偉大なソフトウェア開発者(単に優れたソフトウェア開発者でもいい)になるには何が必要だろうか。Michael O. Church氏のQuoraへの投稿では長いリストになっている(LifeHackerにも転載されている)。偉大な開発者は仕事を通じて学ぶことを恐れず、キャリアを積極的に管理し、ソフトウェア開発の政治(彼は「CS666」と呼んでいる)を知り、可能であれば仕事を早く切り上げ、長期にわたって使われるテクノロジーと一時的な流行を見分けることができる。これらは彼の挙げたポイントの一部に過ぎない。一方、Salsita Softwareのブログで同社の創設者でCEOのMatthew Gertner氏が、結局は「経験を積んだプログラマーと開発者はゆっくりすべき時を知っている」という点に収束されると指摘している。皆さんの場合、偉大な開発者とそれほどでもない開発者をどうやって区別するだろうか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 「ゆっくりすべき時を知っている」

    というのがピンとこなかったので少し補足。

    The corollary is that the market rarely moves as fast as you expect. With rare exceptions, if you create something with a solid foundation that is usable, maintainable and meets a real need, it will be as relevant when you finally bring it to market as it was when you came up with the idea, even if it took you much longer than you anticipated.

    結局マーケットは開発者が思っているほど早くは動かない。だから、急いでメンテナンスできない製品を作るよりも、時間をかけてでもしっかりしたものを作ることが重要、らしいです。

    あせっても良いことはない -> ゆっくりやることが大事

    ということでしょうか。

  • by plauda (46850) on 2015年02月01日 0時09分 (#2753681)

    ソフトウェアとは、問題が何かを定義できた時点で、技術的な問題の大半はクリアされている。
    偉大な開発者はフォースを信じて、愚かな開発者は人力ブルートフォースを信じる。

    問題を技術で解決するのではなく、科学的に分析し、技術的に解くことだ。
    技術でなく、科学技術を信じることが最低ラインだと思うなー。

    誰でも解ける問題を解いても仕事にはなるが、誰でも解ける問題を解いているうちは偉大にはなれない。
    答えが分かっている問題を解いても偉大にはなれない。
    偉大な問題に出会えなければ、どんなに技術があっても偉大な開発者にはなれない。
    そういう意味では、最先端の分野に触れる仕事でキャリアを積むことが、偉大な問題に出会う第一歩。

    偉大な問題に出会って、誰よりも早く解けばよい。そのための努力を惜しまないことだ。
    その人が偉大な開発者かどうかは、少し一緒に仕事をすれば、直ぐに分かる。

  • ユーザーは常に想定外の使い方をする。

    • 究極的には真っ白な仕様書から、ユーザが何をしようとしているのか読み取れる超能力者か……。

      冗談はさておき、具体的には、日々ユーザの使用法を研究・分析していて、
      それから想定外の使い方のエッセンスを簡潔にまとめることができ、
      仕様書をチェックするプロセスの中で、想定外の使い方に対して、プログラム、あるいはマニュアルに
      どんな修正をすべきか、適切に不備を指摘できるエンジニアが偉大ということなんでしょうね。

      つまり、……という行間を読める開発者が偉大で、一方で行間を生み出す開発者は……(野暮なので以下略※まるでブーメラン)。

      親コメント
      • > 究極的には真っ白な仕様書から、ユーザが何をしようとしているのか読み取れる超能力者か……。

        まあ当方、立場的にはユーザー側なのですが、日曜プログラマーです。

        システム開発の現場にユーザー側で立ち会っていると、(うちの職場は)仕様書なんかほとんど作れないユーザーばかり。
        エンジニアの方が一生懸命聞き取りをして、頑張って設計をしていますが、ユーザー側で自分がやっていることをほとんど
        言葉で説明できず、結果、ほんとエンジニアには超能力が要求されますね。

        親コメント
        • 元のコメントが仕様書に限定していましたから、その流れでコメントしました。
          白紙から作る立場の人から、そういうコメントもあるかなと思っていました。

          ユーザーから、要件を聞き取り仕様を起こす場合、ヒアリング能力、
          工数見積もり能力、仕様調整能力、それと設計書の作成能力etcなど、
          複数のスキルに明るい人材(いわゆるスーパーマン)が必要でしょう。

          そういう人材が、ゼロから仕様書を作る場合、目の前にユーザーが
          いるのでしょうから、「想定外の使い方」について聞き取る場ぐらいは
          あるはずで、いわゆるスーパーマンが最終的に「想定外の使い方」が
          明文化されていない仕様書を作るんですよね?
          逆に作れるなら、わざわざ行間を読む必要もないし、ヒアリングするのですよね?

          「ほんとエンジニアには超能力が要求されます」というより、
          「ヒアリング能力」が要求されるといった方が、しっくり来ます。
          「ヒアリング能力」なら磨けば誰でも伸ばせますが、「超能力」は誰でもは無理でしょう。
          本当に「超能力」と形容したい何かがある現場なのでしょうか。

          親コメント
  • この手の質問って、「成功するには何が必要か?」って訊いてるのと同じでは?

    "成功する理由"はないけど(成功する条件は絞り込めないけど)失敗の原因は、割と楽に発見できる。
    失敗する要素を可能な限り取り除くリストを作成すると…際限なく長いリストが出来上がる。

    # やってはいけない事のリストと評価条件の検討に時間をかけると、肝腎の開発作業(事業)が進まなくなって失敗するというオチかしら?

    --
    notice : I ignore an anonymous contribution.
  • 出来なかったので偉大にはなれませんでした。
  • by ei (19798) on 2015年02月01日 1時23分 (#2753695) 日記
    、そして広く深い経験 (被教育を含む) かと。
  • by eukare (2230) on 2015年01月31日 18時57分 (#2753555) 日記

    偉大になんてならなくてもいいさと考えるんだ

  • by Anonymous Coward on 2015年01月31日 20時49分 (#2753603)

    ここ見てるようじゃあちょっと厳しいんじゃないかなぁ...

  • by Anonymous Coward on 2015年01月31日 22時22分 (#2753651)

    「偉大な男になろうとするな、ただの男であれ。いずれ歴史が判断してくれる。」ってワープ航法技術の発明者が今から約60年後におっしゃいます。

  • by Anonymous Coward on 2015年02月01日 11時51分 (#2753762)

    作ったものがたまたま流行ったら、他人から偉大だと言われる。
    能力はあんまり関係ない。たまたま。

  • by Anonymous Coward on 2015年01月31日 18時35分 (#2753548)

    ヒゲをはやしているかどうか。

  • by Anonymous Coward on 2015年01月31日 18時42分 (#2753551)

    ひとつのプロジェクトをこつこつとやっていけるか

    • by Anonymous Coward on 2015年01月31日 21時00分 (#2753609)

      成功するまで続ける根気が必要だと思いました

      親コメント
    • by Anonymous Coward

      1人・約20年間で、主にC++で数十万行のコードを書いたという話を聞いた事があるけど
      やはり体力と根気は外せないと思った

  • by Anonymous Coward on 2015年01月31日 18時57分 (#2753556)

    信者かな……

  • by Anonymous Coward on 2015年01月31日 19時01分 (#2753558)

    なかったら作ろうとする姿勢。
    繰り返して入れば技術力上がるし、無いものを作るわけで利用者も増えてそのうち必須になる可能性がある。
    基本中の基本

  • by Anonymous Coward on 2015年01月31日 19時27分 (#2753566)

    その望みに俗っぽい響きが否めない。

    ベスト3に絞った方がネタとしては面白そう。

  • by Anonymous Coward on 2015年01月31日 19時28分 (#2753567)

    偉大なソフトウェア開発者の定義に、某systemdや某pulseaudioの作者とかは含まれているんだろうか、

    広く使われるソフトウェアor使わざるおえないソフトウェア作る以外に偉大なソフトウェア開発者とやらになる方法はないだろう。
    プログラマ個人の経験やら能力には再利用性がないから。大多数の人間には何を作ったか以外どうでもいい事でしかない。

    • by Anonymous Coward

      1万人で1億行のソフトを書くことにこそ価値があるのだ
      一個人の技量なんてどうでも良い

  • by Anonymous Coward on 2015年01月31日 19時35分 (#2753572)

    また、この形容詞は「ソフトウェア」と「開発者」のどちらに係るのか。
    # この一文を読んだだけで、少なくともプログラマとしては優れていないと感じる…

    • by Anonymous Coward

      日本語に不自由な方ですか?

    • by Anonymous Coward

      「偉大なソフトウェア開発者」を、「偉大なソフトウェア」の開発者と解釈する奴は
      日本語の勉強をやり直してこないと、まともな仕様書さえ読めないぞ

      • by Anonymous Coward
        それは「まともじゃない仕様書」を書くヤツに先に言ってください
        • by Anonymous Coward

          まともじゃない仕様書を書く奴を教育するのと、
          まともじゃない仕様書を解釈する能力を身につけるのと、
          どっちが可能でどっちが不可能か、まさか知らないわけじゃないだろ?

    • by Anonymous Coward

      自分がある程度知識のある分野ではこういうことに悩むことって少ないですけど、出てくる語出てくる語が初耳なときには、自分もこういう修飾関係に悩まされます。
      一通りの意味にしか解釈できないような文章だと、そういうときに助かりますよね。

  • by Anonymous Coward on 2015年01月31日 19時50分 (#2753581)

    初志貫徹が成功の秘訣です!なんて言ったところで
    その影には無数の"頑迷で頭の固い無能"と呼ばれてしまった失敗例が潜んでいるわけで

    ジョブズやゲイツが悪どいことを何度も重ねていながら、
    最終的には"機転の効いた""抜群のセンス""したたか"という言葉に飾られるのもまたしかり

  • by Anonymous Coward on 2015年01月31日 21時17分 (#2753619)

    10億くらい使ってステマさせたら偉大ってことにしてもらえませんかね。

    適当に消息不明のプロジェクトとかに名前ねじ込んで貰うとか。
    あとはゴーストライターに発言考えて貰う。

typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...