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

プログラマーになったばかりの頃に知っていたらよかったと思うことは? 113

ストーリー by headless
遠路 部門より
本家/.「Ask Slashdot: What Do You Wish You'd Known Starting Out As a Programmer? 」より

プログラミングを始めたときに、「職業」としてはあまり意識していなかった人も多いと思う。しかし、困難を乗り越えて経験を積み、コンソールを前に数十年がたってみると、このような長い道が続いていることを最初に知っていればよかったと思う。そこで、昔の自分や現在プログラミングを始めようとしている若者たちに対し、どのようなアドバイスができるだろう。Andrew C. Oliver氏はプログラマーになったばかりの頃にあまり意識していなかったことについて、いくつかの考えをまとめている。皆さんの場合はいかがだろうか。

Andrew C. Oliver氏が早いうちに知っていればよかったと考えているのは以下のようなものだ。

  1. 人の名前を覚える
  2. 見方を変えて問題を解決する
  3. マーケットと自分の仕事に合わせて言語や技術を選ぶ
  4. ソフトウェアの面で大きな革新が起こることは比較的少ない
  5. 仕事の連続ではなく、職業だと考える
  6. 週に40時間以上働く
  7. 自分で難しくしない限り、プログラミングは難しくない
  8. コミュニケーションの仕方を学ぶ
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2014年08月23日 18時34分 (#2662715)

    大学院とかで研究としてプログラミングをする人
    企業の中でも新しいアルゴリズムを研究するような人
    ゲームを開発する人
    組み込み機器の開発をする人
    Webアプリを開発する人
    業務システムを開発する人
    言われたコードを書くだけの人

    「プログラマー」になったときは、何も知らずこれらの区別もついていなかったが、SIerで数年仕事をするうちに、どうも俺がやりたかったのは↑の方の分野で、後になって違うルートに変更するのは非常に難しそうだ、ということに気づいてしまった。
    その事実をプログラマーになる前に知っていたら、違った人生もあったのではないかと思うと、いまでも残念に思うことがある。
    これからプログラマーを目指すという人には、自分が目指すルートが何なのか、認識したうえで、同じ過ちをしないようにしてもらいたいと思う。

    注)1990年代の話です。今の人はネットで事前にそういう実情に触れられるから、よい時代になったもんだ。

    # 脱SIerだけは果たした。

    • > 違った人生もあったのではないかと思うと、いまでも残念に思うことがある。

      馬鹿馬鹿しい。環境がそれをやらせてくれるなんてのは勘違いもいいところだろう。やりたいことが分かっているならやるだけだ。今やらないのは怠惰でしかない。学部レベルの知識から出発して丁寧に解説してくれている専門書は山ほどあるでしょう。

      親コメント
  • by HomuraAkemi (46038) on 2014年08月23日 19時32分 (#2662751) 日記

    ウォーターフォール型開発か、アジャイル開発か。

    この違いは、プログラミングと言っても雲泥の差があります。

    私がこの職に就いたとき、後者の手法しか知りませんでした。
    もちろん「アジャイル」という言葉は後から出てきたものですが。

    子どもの頃から、パソコンにパッケージ(主にゲームやワープロ)を
    インストールして(あるいはフロッピーから直接起動して)利用する
    というコンピュータの使い方しか経験が無く、特定のシステムのために、
    専用に設計されたプログラムを、注文して開発するということを、
    根本的な概念から知りませんでした。

    10代~20代の頃は、ソフトウェアといえばパッケージという固定観念を持っていました。
    受託開発というものを知ったのは30代になってからで、ウォーターフォール型開発
    という言葉を知ったのは、30代後半です。

    そんなわけで、私が就職するときは、自社ブランドパッケージ会社しか考慮していませんでした。

    私とは正反対に、在学中から学内のシステムにログインして計算機を使っていたとか、
    就職したところが、はじめからSI屋や受託開発屋だった、のような方もいるかもしれません。

    受託系の話題を見るたびに、厳しい話しか出てこない印象があります。
    その点、自社ブランド製品なら、開発者にかなり自由な裁量が与えられ、
    設計に口出し(アイデアを助言)することができます。

    もはやアジャイルという言葉すら死語になりつつある感がありますが、
    それが度々話題に上がっていた数年前、そのさらに10年ぐらい前から、
    アジャイルという言葉を知らずに、それに相当する開発スタイルで、
    今までやってきました。

    初期段階ではほとんど設計を行わず、作りながら踏み固めていく感じです。

    もし、初めて経験した職業プログラミングが、ウォーターフォール型開発だったら、
    と想像すると、ぞっとします。たぶん今頃、この業界から足を洗っていたかもしれません。
    そもそも、趣味で始めたプログラミング。その趣味を嫌いになっていたかもしれません。

    39歳のとき転職しました。もちろん自社パッケージ屋です。面接の時に初めに聞いたのは、
    どちらの開発スタイルかということです。もし、設計工程と実装工程とテスト工程が完全に
    分離されたスタイルだったら、今の会社には入らなかったでしょう。

    若い頃は無知で、受託開発なんて知りませんでした。
    その無知のおかげで、今でもこの業界で食っていけてると思っています。

  • プログラム:8進数に気をつけろ

    ハードを利用する場合:故障での遅延を折り込んどけ

    マネジメント:SEに進化しろと言われるが、実際はジョブチェンジで、後衛から前衛になるので、それが自分にとって最良なのか考えておけ

    くらい?

    # 良い職場かどうかは、お客様先常駐が多いので、あんまり関係ないかも、とかもあるかも?

    --
    M-FalconSky (暑いか寒い)
  • プログラマーはソフトウェア技術者と呼ぶべきだと思う。コードを書く人はコーダーと呼ぼう。

    コーディングは自体は難しいものではない。コーディングはスキルであって、職業だとは思わないことだ。
    プログラムを作るのは、問題解決の手段にすぎない。コーディングの問題だけを解決する職業につかないことだ。

    顧客のシステム・要件などを深く理解し、正しい「問題」を作れば、正しい「回答」(コード)を生み出すことができる。
    問題を正しく認識すれば、システムで変化する領域と、変化の少ない領域が把握でき、
    顧客のビジネスの変化に追従しやすいコンポーネント分割ができる。
    開発期間の大半を占めるテストのフェーズで効果的なテストケースを抽出できる。

    気持ちよく使われて初めてプログラムの存在意義がある。
    そのために、顧客とシステムとの関わりを知る、技術(道具)を知る、サイエンスとして研究し自ら新しい技術を生み出すなど、
    「コード」より「問題解決」側に視点を持って行った方が良いと思う。

    (……科学技術とは言うけれど、ITの分野だと「技術」だけに偏重しがち。
      既存の言語を覚えるとか「技術」の範疇だ。「科学」の事も忘れないでやってください。
      全員技術者になってしまったら、日本発の新しい技術は生まれなくなってしまう。)

  • たとえば文字セット――シフトJISが通じるのは日本だけ。
    たとえば時刻――国内で時差がないのは日本を含めたアジア諸国だけ。
    リアルタイム・オンライン処理では、トランザクションが3桁、4桁の伸びを示す瞬間がある。それをどうクリアするか。
    そして顧客は「想定外」の入力をしてくる――バリデーションは脆弱性対策の第一歩。

  • by NOBAX (21937) on 2014年08月23日 17時26分 (#2662679)
    プログラミングはプログラムを作る手段
    プログラムはIT実現の手段
    ITは戦略実現の手段
  • 人によって習熟には差があると思うが、アレコレと手を出さずにとりあえず1つの言語でだいたいのことが出来るようになっておけばと思った。

    # 1つの言語ができれば他の言語も似たようなものであると気づいたからだけど

  • Javascript が動かなかったり、CSS がバグだらけだったり…
    でも OS バンドルはなくならないんだよね。

  • by minemo (41273) on 2014年08月23日 18時08分 (#2662702) 日記

    >6. 週に40時間以上働く

    なんでやねん

    >8. コミュニケーションの仕方を学ぶ

    馴れ合いになるから程々に

    • by miishika (12648) on 2014年08月23日 19時14分 (#2662737) 日記
      「大勢の前で怒鳴りつけて萎縮させ、思い通りに操る」ことしか考えていない上司も多いから、コミュニケーションは大事ですよ。
      親コメント
    • by firewheel (31280) on 2014年08月23日 19時50分 (#2662759)

      >>6. 週に40時間以上働く
      >なんでやねん
      米: 週に40時間以上働く
      日: 週に40時間以上残業する
      だよね。

      親コメント
    • by Anonymous Coward

      仕事の時間だけしかやらない場合、自分の可能性を上司に任せることになるといいたいようですよ

  • by Anonymous Coward on 2014年08月23日 19時08分 (#2662728)

    COBOLを覚える

  • 客が怒り出す一歩手前のモノを、可能な限り短時間でつくれ。

    # 不具合あっても、とにかく早く納品してエンドユーザに弄らせた方が面倒が少ないから

    --
    notice : I ignore an anonymous contribution.
  • by Anonymous Coward on 2014年08月23日 19時29分 (#2662748)

    ひとつは自分の興味分野。もうひとつは、実際に金を払ってくれるひとの興味分野。

  • 「客の問題を解くために」使う技術として「プログラミング」というものを捉えておけ。

    そのほうが儲かる。

    # Google ってその典型例だと思うんだ。

    --
    fjの教祖様
  • by Anonymous Coward on 2014年08月24日 1時32分 (#2662878)

    人の名前を覚えることが病的にできません。
    いっつも相手は自分の名前を覚えてるのに、こっちは四苦八苦。
    それなりに良い年なので営業トークとかできないと拙いのですが、
    名前すら覚えられないんじゃあ話になりません。

  • by Anonymous Coward on 2014年08月24日 3時28分 (#2662896)

    即転職するのが最良の方法だと言うこと

    そのために転職サイトはまめにチェック
    合う合わないが強烈にある職種なので無理に続ける必要は無い
    まして心身を病むほどのものではない

    それと日本に限った話かもしれないけど、一労働者としても労働三法に労安衛法と労契法辺りは一度目を通しておくと良いかと
    #この辺がしっかりしてればブラック企業に肉体的・社会的に殺される可哀想な人は少なくなるはず

  • 「知ってるだけ」でどうにかなるような事はね。

  • by Anonymous Coward on 2014年08月23日 17時32分 (#2662685)

    ただし、良く描かれている部分は。

  • by Anonymous Coward on 2014年08月23日 17時41分 (#2662687)

    > 7. 自分で難しくしない限り、プログラミングは難しくない

    すみません。
    おっしゃるとおりですぅ。

  • by Anonymous Coward on 2014年08月23日 17時55分 (#2662697)

    「プログラム書いて飯食うなんて考えるのはやめて,他の仕事にしとけ!」 の一言かも.

    • by Anonymous Coward on 2014年08月23日 19時48分 (#2662758)

      「プログラマって職業はITカーストの下から二番目だ!(最下位はコールセンタ・ユーザーサポート)」っと言っておこう〜

      親コメント
      • by Anonymous Coward on 2014年08月24日 0時22分 (#2662857)

        カーストの上の方までもれなくヌケサク揃いでエンドユーザが使いづらいものを作ってくれるので、俺らの仕事が無くならずに済む。
        ありがたいことです。

        親コメント
    • by Anonymous Coward

      プログラミングが好きだから多少給料が安くてもって言う奴には近づかない
      それを食い物にするやつもいるから、それにも近づかない

  • by Anonymous Coward on 2014年08月23日 18時09分 (#2662703)

    脳の容量に限界があるものだということにしてあまり手を広げすぎない、、、かな

    • by Anonymous Coward on 2014年08月23日 18時42分 (#2662719)

      若い人にそういっちゃいかんだろ。
      若い時は理論とか概念とか実体がないものでもいくらでも頭に入っていくよ。多少知恵熱が出る程度で。
      歳くうと頭痛がするようになる。そりゃそうだ、頭の血管も老朽化している。
      そうなるまでにどれだけ詰め込むかが勝負だ。
      ただし、(やり方を)覚える必要はない。どうしてそうするのか理解する、これが重要。

      親コメント
  • by Anonymous Coward on 2014年08月23日 18時17分 (#2662706)

    駅員さんに渡してさっさと忘れること(オリバー違い

  • by Anonymous Coward on 2014年08月23日 18時27分 (#2662708)

    「もう手遅れだ」とか。

    こんなところにこなきゃ もう少し
    ましな人生歩めたはずだが
    もう遅い
    プロセスの起こし方殺し方
    なまじコードが書けたから
    紙切れ一枚で地獄行き…

typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...