プロが教える店舗&オフィスのセキュリティ対策術

はじめまして、質問させていただきます。

プログラマをしていますが、この職業では
手に職が付かないのではないかと思っています。

テレビで職人同士が対決する番組を見ていたのですが、(矛盾という番組です)
プログラマを何年も経験したとしても、その人にしか出来ないといった
技術が身に付かないと思います。

このまま今の仕事を続けて良いものかと悩んでいます。
現在20代前半ですが、もしプログラマを辞めたとしても、
大学を出ていないため、再就職は厳しそうです・・・。

プログラマ(SE)を続けて手に職は付くのでしょうか?
もし手に職が付くのであれば、その方法(習慣、努力の方法)を教えてください。

★私の詳細★
IT業界:3年目
業務:制御系ソフト開発(C言語)
所有資格:基本情報技術者、Sun Javaプログラマ
言語:C、Java、VB、JavaScript

仕事では検査(単体~機能)や雑用が多く、身に付くことが少ないため
プライベートで気になったことを勉強しています。
現在はネットワークスペシャリスト取得に向けて勉強中。
会社は人材派遣会社のようなところで、請負と言っていますが、客先常駐です。

アドバイスをお願い致します。

A 回答 (4件)

>仕事をして、何かを効率化すれば、その分、人の作業は減り、仕事が減り、自分にマイナスのことをしている気がします。



こう考えてみてはどうでしょう?
効率化して人の仕事が減れば、その分の時間で人間しか出来ない創造的な事をする時間が増える。
逆に考えれば、本当の意味で手に職を付けるとは、効率化出来ない仕事を身に付けるということだと思います。
    • good
    • 1
この回答へのお礼

> 効率化して人の仕事が減れば、その分の時間で人間しか出来ない創造的な事をする時間が増える。

そうですね、本来この仕事はもっとクリエイティブな仕事だと思います。日々発生する問題や作業をこなしていただけの自分が情けないです。

時間に余裕をもって、じっくり考える時間が作れるように仕事の仕方を変えてみます。

お礼日時:2011/10/31 22:36

プログラミングを含めたシステム開発のスキルは、確かに「ほこ×たて」に出てくるような分かり易いものでは無いかも知れません。


ですが、厳然として存在すると思います。

一例を挙げれば、質問者さんが一番良く知っている言語のコンパイラ(またはインタプリタ)を作れと言われた場合、十分な時間が有ったとしても作れるでしょうか?
仕様については、これ以上無いぐらい知っているはずです。もし分からない仕様があっても簡単に調べられます。入出力もファイルだけです。出来るか出来ないかはプログラミングのスキルだけの問題ですよね?
おそらく出来ないんじゃないでしょうか?出来るためにはかなりの勉強・修行が必要と言えるのではないでしょうか?ありふれたコンパイラ・インタプリタでも、それを作るスキルは相当なものです。

また、ドナルド・クヌース、リチャード・ストールマン、ジェームズ・ゴスリング、ポール・グレアム、ジェイミー・ザウィンスキー、リーナス・トーバルズなど、世界的に有名なプログラマを考えてみれば、手に職ついていないなど、間違っても言えないでしょう。
肩書きは大学教授だったり、研究員だったりしますが、皆、自分で高度なプログラムを書いています。


さて、手に職を付ける方法ですが、まずは下記の様な方法が思い当たります。まあ月並みですが。

■ 読書

2000年以上前からあるオーソドックスな方法ですが、低コストかつスキマ時間でも出来る優れモノです。
かばんの中に一冊入れておけば、通勤時間にパケット代を使って携帯で暇つぶしする必要も無くなります。

お勧めの書籍は後述します。


■ 毎年一つ以上のプログラミング言語を習得する

「達人プログラマー」のA.ハント/D.トーマスが提唱している方法です。
言語は今まで自分が使っていたものと違えば違うほど良いとされています。
たとえば scheme, Haskell, smalltalk, Erlang などはいかがでしょうか?


■ 勉強会に参加する

私は参加したことが有りませんが、都市部では多くの勉強会(または読書会)が開催されている様です。
気になるテーマ+「勉強会」で検索すれば、見つかるかと。
(例:「Java 勉強会」「オブジェクト 勉強会」)


■ プログラミングコンテストに参加する

Google Code Jam など、毎年、数多くのプログラミングコンテストが開催されています。
一般の社会人が参加できるもの、オンラインでさんかできるものも結構有るようですので、腕試ししてみるのも良い刺激になるのでは?
http://code.google.com/codejam/japan
http://www.atmarkit.co.jp/fjava/column/andoh/and …
http://www.itmedia.co.jp/enterprise/articles/090 …
http://www.amazon.co.jp/dp/4839931992



=== お勧めの書籍 ===

※ システム開発で手に職を付ける方法自体を扱っている本
 http://www.amazon.co.jp/dp/4873114039/
 http://www.amazon.co.jp/dp/4873114608/
 http://www.amazon.co.jp/dp/4894714418/

・コードコンプリート
http://www.amazon.co.jp/dp/489100455X
特定のプログラム言語に依存しない原則・技術を基礎的な部分から学べる本。

・達人プログラマ
http://www.amazon.co.jp/dp/4894712741
要件定義からプログラミングまでの、原則・心得的なこと。

・珠玉のプログラミング
http://www.amazon.co.jp/dp/4894712369
アルゴリズムやテクニックを分かりやすく楽しめるように紹介した読み物。

・Coders at Work プログラミングの技をめぐる探求
http://www.amazon.co.jp/dp/4274068471/
一流プログラマによる一流プログラマーへのインタビュー集。

・リファクタリング
http://www.amazon.co.jp/dp/4894712288/

・人月の神話
http://www.amazon.co.jp/dp/4864010056

・デザインパターンとともに学ぶオブジェクト指向のこころ
http://www.amazon.co.jp/dp/4894716844

・Java並行処理プログラミング
http://www.amazon.co.jp/dp/4797337206

・計算理論の基礎
http://www.amazon.co.jp/dp/4320122070/

・ビューティフルコード
http://www.amazon.co.jp/dp/4873113636/
    • good
    • 0
この回答へのお礼

root139さん、回答ありがとうございます。

確かにコンパイラを作れと言われたら、できそうにありません。
読書ですが、本は人並み以上に読むほうです。

私は興味を持つと同じ道を納得行くまで延々と続ける気質があるので、ネットワークの勉強が終わったら読みたいです・・・といつもなら返答しますが、それでは何年後になるのか分からないので、並行して読書したいと思います。

偶然ですが「・デザインパターンとともに学ぶオブジェクト指向のこころ」は数ヶ月前に買いました。
1/3を読んだところで他事に手を出していましたが、引っ張り出してきて全部読もうと思います。

お礼日時:2011/10/31 22:41

IT業界に20年以上います。



確かにプログラマでは、その人にしか出来ないといった技術を身に付けるのは難しいでしょうね。理屈から言えば、他の人には思いつかないようなロジックを考え付いて、システムリースを大幅に削減できるプログラムとか、処理時間を大幅に短縮できるプログラムとかを常に作成できるような技術が考えられますが、現実には無理でしょう。

やはり、プログラムを作る側から、どういうプログラムを作るかを決める側に向かった方が良いでしょうね。
    • good
    • 0
この回答へのお礼

botakuさん、回答ありがとうございます。

SF好きでこの仕事を始めたのですが、正直弛んできています。会社の待遇とか仕事内容、自分の能力で悩むことが多いです。

仕事をして、何かを効率化すれば、その分、人の作業は減り、仕事が減り、自分にマイナスのことをしている気がします。

手に職つけて、この先の自分の人生を安心させたいです。
そのために努力したいですが、何をしたら良いのか・・・。

まずは詳細設計ができるようになることを目指してみます。

お礼日時:2011/10/30 23:23

同感ですね。


プログラマーは指示された内容をコード(言語)に変換し、デバックするだけ。
もし、将来はやりの言語が変わったら、今までの経験はゼロに成ります。

現に、私も過去にアセンブラー(これは当然CPUが変われば内容が変わります)、BASIC、Cと変わって来て、幸いな事にこの10年ずっとCですが、もし、採用される言語が変わればアウトです。
今もBorland-CからEmbacadero-Cに変わっただけでうまく行かない状態に成っています。

将来の事を考えるならプログラマーからSEへの道に行かれた方が良いと思います。
SEでしたら未だ顧客依頼の内容をいかにコンピューターシステムに乗せるかでそれなりの知識は必要としますが、システム構築能力はコンピューターの内容が変わろうと普遍でしょうから。

ただ、日進月歩の技術の進歩について行ければの話ですが。

私は歴史の先生がうらやましいです。ずっと同じ事を教えて行けばいいのですから。たまに新発見で史実が変わる事もありますけれどね。
技術者の場合、例えばコアメモリーはこんな動作をするなんて話しても、今のコンピューター技術者にはコアメモリーが何であるか分からないでしょうからね。
あれっ、これってアドバイスじゃなくて愚痴ですね。失礼しました。
    • good
    • 0
この回答へのお礼

TinyPineさん、回答ありがとうございます。

> 将来の事を考えるならプログラマーからSEへの道に行かれた方が良いと思います。

やはり、この業種で長生きするためには、SEにならないといけないんですね。
私は今の会社しか知りませんが、私の会社の「SE」という人たちの仕事を見ていても、顧客と折衝して、詳細設計→実装→ダウンロード試験(機能試験)と作業をしています。
これってSEなんでしょうかね?

顧客もシステム屋なので、どうもシステム構築といった感じには思えません・・・。
制御系ですが、メモリもプロセッサもすごい豪華で、普通のPCのアプリケーション開発とあまり変わらない気がしており、制御系なのに専門的なことが身に付かないと感じています。

設計に関して身に付けることがたくさんありそうですが、未経験の私は当分検査をやらされそうです。

お礼日時:2011/10/30 21:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!