- ベストアンサー
プログラマーの転職について
当方30代後半の男です。プログラマーをしていますが、向かないような 気がしています。 言語は道具(ツール)であってどんな言語でも基本は一緒といいますが 自分はそう思えないです。 どんな言語を使いこなせればプログラマーとして食べていけるのでしょ うか?それとも言語は関係ないのでしょうか?
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
#5です。 前回は、 > どんな言語を使いこなせればプログラマーとして食べていけるのでしょうか? の回答になっていなかったので、一応具体的な言語を挙げたいと思います。 もしどれかひとつの言語ということであれば、やはりC言語だと思います。それも、特定の開発ツールに依存した使い方ではなく、C言語であればどんな環境でもプログラミングできるようになることです。(VisualStudioで、しかもIDEしか使えないとかは論外)。 確かに、自分が属している職場や分野等の状況によっては、言語が何であるかは重要ではないこともあるでしょう。しかし、その場合には、言語と同じかそれ以上に、プログラマも(道具みたいなものなので)誰でもよいということが多々あります。 しかし、たとえばOSやデータベースエンジンをVBやPHPで開発しようという馬鹿はいませんし、そんな開発が「とりあえず○○言語も使えます」レベルの人の手に負えるはずがありません。(どこかのエキスパートが作ってくれた)便利な部品を組み合わせるだけの開発に携わるか、その便利な部品等を作る「どこかのエキスパート」になるかによって、おのずと方向性は違ってきます。 > プログラマーとして ということであれば、目指すべきはやはり後者ではないでしょうか?
その他の回答 (7)
- dekopa-
- ベストアンサー率42% (161/378)
>言語は道具(ツール)であってどんな言語でも基本は一緒といいますが 一般には、言えると思います。 ただし、「プログラミング言語を1つ覚えれば基本はマスターしていると言えるか?」と聞かれたら否です。つまり逆は成り立ちません。 新しい言語を簡単にマスターする人、というのは、自分の中に「ひな形」を作っていて、新しい言語の新しい構文を、それと比較することで理解します。 例えば、VB.NETの「For Each」文をみて「ああ、イテレータか」とか「○×言語のforeach文と一緒か」と理解すれば、即使いこなせます。 ライブラリも一緒です。「ああ、○×パターンを実装したのか」とか「△□のライブラリと一緒だな」とか、知っている物と比べることで同じ部分、違う部分を把握します。違う部分だけ覚えれば、学習時間は短くなります。 「どんな言語でも一緒だよ」と言っている人は、特定の言語から独立して「一緒」の部分、つまり概念自体を把握しているのです。 その為には、特定の言語に依存しない概念を多く勉強することが大事です。例えば昨今の言語は、オブジェクト指向設計の「パターン」を構文として実装していたりしますので、広範な知識があると学習が容易です。 >どんな言語を使いこなせればプログラマーとして食べていけるのでしょ うか?それとも言語は関係ないのでしょうか? 今の会社を離れる気が無いなら、今使っている言語(あるいはその会社でメインで使われている言語)を覚えれば当面安泰です。 転職したいなら、VB.NET, C#.NET, Javaあたりを覚えれば転職先は見つかります。もちろんピンキリですが。 オールマイティになりたいなら、どんな言語でもマスターできるようになってください。
- lv4u
- ベストアンサー率27% (1862/6715)
>>言語は道具(ツール)であってどんな言語でも基本は一緒といいますが 自分はそう思えないです。 「基本」は同じ、でも新たな言語をそれなりにマスターするのに数年要するケースもあるとも言えます。 ですので、「基本は一緒でA言語をマスタしている」だから「B言語も短期間でマスターできる」という結論にはなりませんね。 特に、仕事でプログラミングをする場合、質問者さんのような意見になるのも理解できます。 >>どんな言語を使いこなせればプログラマーとして食べていけるのでしょうか?それとも言語は関係ないのでしょうか? プログラムに限らず、高いレベルを理解していれば、低いレベルのことも理解するのは容易といいます。 ですので、一般的に「プログラマに優しい言語」「学習容易な言語」ではなく、「何でもできて高速、だけど習得が相当難しい」といわれるC++言語の持つ機能をフルに使いこなしていれば、プログラマーとして、このさき10年くらいは食いっぱぐれは無い気がしています。 たとえば、VBしか解らないプログラマには、C言語の障壁は高いでしょう。C++なんて到底無理です。でも、C++を使いこなすプログラマならVBを始めて使っても、すぐにマスターしちゃうと思います。 もちろん、いきなりC++言語は無理ですので、C言語を十分マスターしてからC++言語にすすむべきですが。 それから、プログラミングはシステム開発全体工程からすれば、1/3から1/4程度?を占めるに過ぎません。 顧客訪問してプロポーザル、要件定義とかDB設計や運用設計など、一般にSEが行なうとされる多くの工程があります。そういった工程もこなせるようになれば、「プログラマはインドにいるから、お宅に国内で上流工程とそれ以降のプロジェクト管理などまかせるよ」なんて仕事ももらえる可能性もありますね。 言語の話と同じですが、上流工程までこなせれば、仕事が減ろうとも、どこかの工程で食べていけるでしょう。 ですので、C++言語をマスタすると同時に、プログラマに限定せず、SEをめざすってとこでしょうか。
- jacta
- ベストアンサー率26% (845/3158)
特定の言語しか使いこなせなくても、それでやっていける可能性はあります。ただし、その言語を使わせたら右に出るものはいないぐらいのスキルが必要なのはいうまでもありません。 多くの言語を使いこなせる代わりに、誰でもできるような仕事しかこなせないよりは、その方がずっとましです。
- don_go
- ベストアンサー率31% (336/1059)
>言語は道具(ツール)であってどんな言語でも >基本は一緒といいますが 業務の内容をアルゴリズムに落とす事さえできれば 後は各言語のコマンドに置き換えるだけなので言語 が何であろうと特に気にしていません。 #コーディング規約で特に指定されていなければ、 #変数名・モジュール名、アルゴリズム等も言語に #関係なく同様なパターンにしますし... >どんな言語を使いこなせればプログラマーとして >食べていけるのでしょうか? どんな言語でも使いこなせれば、食べていくのに困り ません。 今注目を浴びているJavaや.NETにしても、いずれは 仕様が変わったり、別の言語が出てきたりするのは 容易に予想できます。 そういう中で、この言語しか使わない(使えない)まま で済まそうというのであればやはり >向かないような気がしています。 ↑は気のせいではないのでしょう。
お礼
回答ありがとうございます。 アルゴリズムに落として、後は根性で完成できるのかもしれませんね。
- CXI00554
- ベストアンサー率27% (57/205)
私はIT企業の資材部でここ数年ソフトウエア製品外注の調達業務をして います。その前はjava/C++/370アセンブラなどでエンジニア・プログラマ として20数年間仕事をしていました。 はっきりいって、「この言語だけしかできない」という人は論外です。 どのソフトハウスでもプログラミング・Web技術でも少しでも多くの経験者 を求めているはずです。私の会社から受注するために。 エンジニアとしての経験上、全く新しい言語を使わねばならない局面は 必ずやってきます。それを乗り越えられなければ仕事が来ない状況にな るからです。それこそ勉強の毎日です。 来た仕事をなんとしても完遂するためには特定の言語にこだわらず、その 仕事で必要な言語・テクノロジを身につけて下さい。 話は脱線しますが、たとえばSQL に関連するRDBの分野に強い人は強みがあ るとは思います。言語を超えた普遍的なテクノロジだからです。 少々厳しい意見になってしましましたが、お役に立てれば幸いです。
お礼
回答ありがとうございます。 >はっきりいって、「この言語だけしかできない」という人は論外です。 もちろんそんな意識ではどの企業でもやっていけませんね。
30代前半、IT業界のものです。 中小企業で働いているので事情が違うと思いますが。 私個人的には、言語は何でも構わない派の意見に賛成です。 結局、お客様に何らかのサービスを施すとき。 たとえば、 ・組み込み、高速処理系 C言語、C++言語 ・Webで B to C系 低価格・無償ライセンス系のPHP、Java… ・Webで B to B系 .NET、ASP ・Windowsサーバ系 .NET、VB と選択できますが、結局どれも変数があって、データ放り込んで 結果を出すためのものでしかありません。 素人でも玄人でも組めるわけで、玄人と素人の違いは、「儲かる プログラムの組み方」がわかるかどうかだけだと思います。 ここでいう「儲かるプログラムの組み方」というのは保守性が高く、 オブジェクト指向とか抜きで第三者にわかりやすく、制作スピードが 速いという意味です。 ですので、個人的には、フリーだ何だも流行っていますが、結局IDEの 一番使いやすい、MS系のソフトにBtoBに関しては軍配があるのではと 考えています。 しかし。 結局はソフトは「サービス」であり、言語云々は何でもいいと 思います。 ともかく、 ・できるだけソースコードを書かず ・如何に安価で簡単で ・ユニークなサービスが提供できるか? ということだと思います。 たとえば、本OK-Waveサイトが、C言語でポインタ駆使してカッコよく 書かれていようが、PHPでスパゲッティになっていようが、我々 利用する側はどうでもいいはずで、提供側も、ソフトウェアという よりも、そのコンセプト、ビジネスモデルで儲けているわけです。 よって言語だなんだは、言語メーカの販売戦略で、プロパガンダに しか過ぎないと思います。 それよりも、どんなソフトを作ったことがある、お客にこんなに メリットがあった、業務知識があるなど、「ソフトの意味」を 知っているほうがはるかに素晴らしいと思います。 ソフトなんてこれからは作る時代ではなく、たぶん買う時代に なるんじゃないかなぁ。
お礼
回答ありがとうございます。 >結局はソフトは「サービス」であり、言語云々は何でもいいと >思います。 わかりました。参考にします。
- okg00
- ベストアンサー率39% (1322/3338)
基本的にはどんな言語でも一緒だと思います。 一部の言語ではオブジェクト指向などで発想の転換を求められることもありますが、あまりに言語仕様に依存したガチガチな仕様だとあとあとのメンテを考えて難しいことはしない傾向にありますし。 シェアの多い言語はどこでも要求されるが、使える人も多い。そうでない言語は要求される事が少ない。 あとは、ヒューマンスキルだと思います。質問者さんは30代後半との事ですので、こちらを考えたほうがよろしいのでは?
お礼
回答ありがとうございます。 ヒューマンスキルも大事ですよね。ある程度の年齢ならこれもはずせないですね。
お礼
回答ありがとうございます。 失礼ながらまとめてお礼とさせてもらいます。 ほとんどの方が特定の言語だけを覚えていても仕事にはならないという事 でした。アルゴリズムや実装のしかたを覚える事で複数の言語を使いこなす 事ができるというものでした。