- ベストアンサー
プラグラマから選べる将来
高卒プログラマ2年目です。(その他ITとは無縁な技術職3年) 今回将来に不安を覚え、プログラマについて質問させていただきます。 この先どのような道を選んでいけばいいのかの参考にさせて下さい。 入社当初はプログラマ一本で十年、二十年食べていくつもりだったのですが。 どうにも残業休出が多かったり、先輩社員の給料がやけに少なかったりと色々大丈夫なのかと思い始めました。 日本では プログラマ→SE→? のような工程を経て給料が上がっていくという話を聞いた覚えがあります。 他にもフリーでやっていくなんていう話も聞きます。(相当険しい道らしいですが) 少なくともこのままプログラマとしてだらだらやっていくのは得策ではないようですので、何らかの指針を持っておきたいと思います。 個人的にプログラマとしての仕事内容には満足しています(過度な労働時間を除けば) ただもう少し給料ほしいな、とか足場を盤石にしたい(プログラマは人が余っているようですので)、転職時に有利な肩書(?)とか考えた場合。プログラマにはどのような選択肢があるのでしょうか。 また、それらの選択肢を選ぶにあたって必要なものは何でしょうか。 以上です。 長くなって申し訳ありません。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
> まずプログラマからSEに進むには何をすればよいでしょうか。 > このままプログラマとしての仕事をこなしていけばよいのでしょうか。 それはあなた次第です。 フリーになってプログラマ一本でやっている人も確かにいますから、 あなたがどの道を選択するか、ですよね。 >PMBOK準拠のPMPとか、確か情報処理の試験にもプロジェクトマネージャありますね。 これはマネージャー経験者でないと絶対に合格できませんから 現状では検討する必要はありません。 > 最も必要とされる実務経験に関しては望んで得られるものではないので > (アサイン先の面接は別ですが)、今ひとつ何をすべきか判りません。 あなたが最も必要とされる実務経験とはどのことを仰っているのでしょうか? やはり一番身近かつ現場に最も近いプログラマでしょうか? プログラミングの勉強というのは最近では基本的に無償で出来ませんか? プログラミングの書籍も沢山書店にあるので、プログラミングはやろうと 思えば無限に勉強できると思います。 やれるものの幅を持たせて広く浅くでいくのか、これなら任せろって 狭く深く行くのか。 前者は知識が浅い分、えせプログラマになりやすいと思います。 SEの知識に幅を持たせないならば、提案力、危機管理能力などは、 書籍で知識を有することができます。 しかし、知識を有したところでそれが活かせるかと言ったらそうではないし、 だからといってその機会を簡単に得られるかと言ったらそれもまた違います。 ですから、知識を有した上で、マネージャーやSEが取った行動を知識に 当てはめる、それをパターンとして覚える。 (雑談の中からプロジェクトの現状を聞き出して、こうだからああした という会話をするのも良いです) 実際に自分がSEなどを担当する際に最適だと思われる手段を選択する。 効果を分析する、良し悪しに関わらず、今後の課題を掲げ、次回の糧とする。 現時点で行える最大限のPDCAサイクルをこなすことです。 周りが見えた上で行動出来ることが増えてくると自然に作業する内容が 管理方面に変わっていきます。 ちなみに仕様書から工数を算出し、見積もりを行う方法については プロジェクト管理も交えて、WBS、ファンクションポイント法がよく 挙げられます。 他にKKD法(経験、勘、度胸)なんてのもありますけど。 どれか1つの方法だけで算出すれば良いというものではありません。 場合によって行えるものとそうでないものが存在するし、根拠がないから という理由でも、実際は最も正確な工数を導き出すこともあります。 それらの方法論についても、SE本に記されているものが多いです。 http://www.aerith.net/design/wbs/wbs3-j.html http://www1.ocn.ne.jp/~matsuo3/ifpug/sld018.htm http://www.sophia-it.com/content/%E3%83%97%E3%83%AD%E3%82%B0%E3 %83%A9%E3%83%A0%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E6%B3%95 http://www.thinkit.co.jp/cert/project/1/4/2.htm 書籍を読んでみて礎を手に入れるのは、それらを実践することが出来ない環境ならば結構有効な手段だと思います。 仕事でも個人的でも、プロジェクト管理と見立ててアローダイアグラムとか 作ったり、原価率などを求めて金の計算をしたりして覚えていくのも良いでしょう。 あと、内部の工数算出には人の生産性を考慮しても構いませんが、 外部へ提示する資料には考慮してはなりません。 それは機能に対する工数としては明らかに逸脱しています。 お客さんにこちら側の内部事情は関係ないので。 まあ、プログラミングも管理も、興味がないと勉強しないとこですけどね・・・。
その他の回答 (6)
はじめまして、よろしくお願い致します。 あなたが今後SEにならないと将来は職がなくなります。 自己啓発で情報処理などの国家試験取得をしましょう。 プログラムが発達して、フローチャートを入力すれば自動的にプログラムが生成されるプログラムが開発されます。 すなわち、あなたの職はなくなります。 以前、プログラマーしていました。(大手の下請け業者でした)
お礼
>プログラムが発達して、フローチャートを入力すれば自動的にプログラムが生成されるプログラムが開発されます 話には聞いていました。 間違っていたらすみません。 実用化は大分後になると考えていましたが。(少なくとも10年20年先の話?) また、自動生成では速度を追求できないため組込み(ネイティブ言語)などのスペシャリストであれば今後もやっていけるのではないかと踏んでいました。 いわゆるえせプログラマ、パンチャーレベルのプログラマは淘汰されていきますでしょうが。 >すなわち、あなたの職はなくなります。 スペシャリストになる自信なんて到底ありませんので、こちらの道をたどることにはなりそうですが。 >自己啓発で情報処理などの国家試験取得をしましょう。 資格取得が一番堅実な道のようですね。
- chubou3
- ベストアンサー率23% (264/1130)
>上司が極めて優秀なので 上司にもっと失敗する可能性が有るぐらい難しい仕事をやらせて貰えるように話すればいいのではないでしょうか? >「論文の何か」とはなんでしょうか。 プロジェクトマネージャとかシステム監査等の論文が有る情報処理試験です。 テクニカルと論文試験は全く畑が違うので、どちらも持っている人は結構少ないのです。(といってもどれか一つでも持ってる人は少ないですが...)
お礼
>上司にもっと失敗する可能性が有るぐらい難しい仕事をやらせて貰えるように話すればいいのではないでしょうか? なるほど、確かに仰るとおりですね。 失敗したときのことを考えると正直怖いですが。 >といってもどれか一つでも持ってる人は少ないですが... ということはプログラマである私がいきなりテクニカルなどに挑戦するのは無謀のようですね。 とりあえず情報処理技術者試験から始めてみようと思います。
- chubou3
- ベストアンサー率23% (264/1130)
まぁとにかく難しい仕事に挑戦し続けることです。 どんな方面でも良いので、難しい仕事を選んで先にこなせば良いかと思います。 気難しい上司、技術的に社内の誰も出来ない仕事、厄介な客先 これらの事項を解決できれば、momonnger様にとってレベルの高いスキルと実績をつけることが可能です。 情報処理試験もいいかもしれません。 テクニカルエンジニアを2つ程と論文の何かを取れば変な人で無い限り職に困る事は無いでしょう。
お礼
>厄介な客先 プログラマなのであまり顧客と対話する機会は多くありません。 精々仕様書の確認くらいのものでしょうか。 >技術的に社内の誰も出来ない仕事 上司が極めて優秀なのでおそらくありませんし、そういった仕事が来た場合上司が受けないと思います。 >気難しい上司 私の場合その上司達がすごく出来た方なので部下がすることは落ちてきたものを処理するだけです。 >情報処理試験もいいかもしれません。 >テクニカルエンジニアを2つ程と論文の何かを取れば 以上の資格取得を目指すべき、ということですね。 しかし「論文の何か」とはなんでしょうか。 資格のようなものでしょうか。
- kata9999
- ベストアンサー率37% (25/66)
>管理能力やコミュニケーション能力というのはどのようにすれば身につけられるでしょうか。 >例えば私は仕様書から見積もりを出すことが苦手です。 見積もりを出すのはとても大切なことです。これを間違えるととんでもないことになります、いわゆるデスマというのは見積もりが甘いことから来ることが多いです。それと、顧客が修正依頼をだしてきたときにもデスマは発生しますので、それも考慮に入れて顧客と折衝したり見積もりをだします。 >自分ならこれくらい掛かる、というのもそうですがメンバー全員の能力を把握して見積もりを出すなんてすごい芸当だ、といつも感心しながら上司の仕事振りを見ています。 例えばの話ですが、誰か一人、基準的な能力を持ってる人を選びます。その人をAさんとして1とします。そして、他の人の能力を計数化しておきます。それに工数を掛ければいいですね。もっとも、わかりやすいのは自分を基準とすることですね。自分ならこの仕事は何日で出来るとか把握しておいたらいいです。 例) Aさん:1 Bさん:0.5 Cさん:0.8 Dさん:0.7 工数見積もりが20人日としたら、Aさんに10人日、Bさんに0.5人日、Cさんに0.8人日、Dさんに0.7人日という具合に仕事を割り振ります。 しかし、基本的にみんなプロなんですから通常は同じ基準として考えればいいと思います。こういった割り振りが必要になるのは新人に渡す場合とか内部事情を知らない外注が入ってきたばかりのときとかこういった割り振り方が必要になってきます(係数を0.5にするとか)。 >実務経験が一番なのはわかりますが、それ以外に出来ることはないのでしょうか。 大変に難しいかもしれませんが、なにか、社交的な趣味をもつことがいいと思います。私の場合、音楽をやりました。ライブやセッションでほかのアーチストやプレイヤーとの接触やお店の人と仲良くなったり、なにより人前で演奏したり歌ったり喋ったりすることで度胸が付きましたね。これは仕事にも役立ったと思います。ストレス解消にもなるし。
お礼
最近ではJAVA VB.NET VB6.0とSQLServer OracleServerなんてものを扱ってきました。 新規や修正などが主で保守は経験したことがありません。 経験の浅い言語や業務内容に関してはこの言語では自分ならどのくらいの工数が発生する、というのも中々予測できません。 見積もり以外にもSEとして必要とされる能力は多々あるでしょう。 社交性に関しては、趣味といわれると難しいものですね。 これといって浮かぶものがありませんので・・どうしたものかな。
- kata9999
- ベストアンサー率37% (25/66)
プログラマーは年を取ると厳しくなります。できるだけ早く次のステップを踏むことをお勧めします。 選択肢としては、 (1)SE (2)プロジェクトマネージャー (3)営業 (4)フリーでプログラマー (5)コンサルタント 通常は(1)→(2)というステップを踏むことが多いです。 いずれのステップにせよ、技術的なことよりも管理能力やコミュニケーション能力が必要になってきます。管理能力もコミュニケーション能力も持とうとしない人は残念ながら将来は厳しいでしょうね。 稀ですがフリーになってプログラマー一筋でやる人もいます。が、これにしたって営業活動が必要になります。
お礼
>いずれのステップにせよ、技術的なことよりも管理能力やコミュニケーション能力が必要になってきます。管理能力もコミュニケーション能力も持とうとしない人は残念ながら将来は厳しいでしょうね。 管理能力やコミュニケーション能力というのはどのようにすれば身につけられるでしょうか。 例えば私は仕様書から見積もりを出すことが苦手です。 自分ならこれくらい掛かる、というのもそうですがメンバー全員の能力を把握して見積もりを出すなんてすごい芸当だ、といつも感心しながら上司の仕事振りを見ています。 実務経験が一番なのはわかりますが、それ以外に出来ることはないのでしょうか。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
SE以上に会計に強くなる。折衝が出来る。 プロジェクト計画が立てられ、プロジェクトをそつなく回せる。 まあつまり、SEの過程を踏みつつ、マネージャークラスの技術を 身に付けていけば、それが出来る人は少なくてどこも欲しがって いたりするのでプログラマよりはいいと思います。 資格はPMBOK準拠のPMPとか、確か情報処理の試験にもプロジェクトマネージャ ありますね。 プログラマのまま行きたいなら、セキュリティとかネットワークの 資格あると結構いいのかもですね。 あとはこういう火が噴いたプロジェクトがあって、こういう風にプロジェクトを 回して成功させた、という内容があると結構いいかもしれません。 (まあ、マネージャー方面のお話になりますが) 私はまだマネージャークラスには程遠いですが、過度な労働は 知っています。 ですから、自分がマネージャーになり、下の人間に異常な苦労は させない仕事の仕方をやってあげたいと考えています。 フリーは自分が社長兼営業です。 経営・営業を学び、自ら行動しなければなりません。 自分の腕一本に懸かってくる為、やはり大変のようです。
お礼
>SEの過程を踏みつつ、マネージャークラスの技術を身に付けていけば まずプログラマからSEに進むには何をすればよいでしょうか。 このままプログラマとしての仕事をこなしていけばよいのでしょうか。 >PMBOK準拠のPMPとか、確か情報処理の試験にもプロジェクトマネージャありますね。 当面はこちらの資格取得に専念すればよいのでしょうか。 最も必要とされる実務経験に関しては望んで得られるものではないので(アサイン先の面接は別ですが)、今ひとつ何をすべきか判りません。
お礼
>あなたがどの道を選択するか、ですよね 失礼、現状フリーへの道はSE→プロジェクトマネージャの道とそれほど差異はないものと認識しました。 ですので当面はSEを目指してみようと思います。 >これはマネージャー経験者でないと絶対に合格できませんから そういう資格もあるんですね。 私は資格の多くは実務と直結しないものと思っていました。(完全な私見です。XML系は割と実用的でしたが) とりあえずこの資格に関しては考えないことにします。 >実務経験とはどのことを仰っているのでしょうか 私が欲しい実務経験はプログラマ、SE両方です。 >プログラミングの書籍も沢山書店にあるので、プログラミングはやろうと思えば無限に勉強できると思います。 構文を学ぶのと顧客のニーズに対応するのとはまた別物の印象を受けました。 上手く説明できませんがプログラミングの経験ではなく、プログラマの経験といった感じでしょうか。 >前者は知識が浅い分、えせプログラマになりやすいと思います。 SEはおそらくえせプログラマ(悪い意味ではないです)が多いのではないかと思います。 SEとプログラマの役割は完全に別物であり、SEはその言語での可能不可能を理解していれば良いと考えております。(言語レベルに落とした上での「極論」です、他にも必要なものはご教授頂いた通り多々あります) プログラマは逆にSEが突き詰めなかった部分の言語を理解している人材のことであると考えています。(オブジェクト指向なども含め) >周りが見えた上で行動出来ることが増えてくると自然に作業する内容が管理方面に変わっていきます。 このままプログラマとして続けていき、周囲の状況を理解しながら仕事をしていけば自然SEとしての仕事が回ってくる、ということでしょうか。(もちろん会社の状況や私の能力的な問題はありますが) >WBS、ファンクションポイント法 これは勉強できそうですね。 自分が貰った仕様書から自分で工数を出してコーディング、終了まで一連の流れを実践なんてことができそうです。(締めに余裕があればですけど) >お客さんにこちら側の内部事情は関係ないので。 ~人月なんて言葉もありますからね。 >プログラミングも管理も、興味がないと勉強しないとこですけどね・・・。 そういうものですか、仕事なので学ばないと食べれないと思うのですが。