現在大学2年生の理工学部生です。プログラマになりたいのですが、どのような知識・スキルがあるとプログラマになったときに有利でしょうか。参考となる本、サイトなども歓迎です。ちなみに学科は情報系ではありません。

【現在の状況】Windowsユーザーで、Linuxは少しだけさわれます。言語はVBやC#なら書けます。Cは多少。今考えているのはCやC++でWin32 APIを学ぼうかと考えています。また、FEを来年受けようと考えています。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/11/28 13:31:41
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答8件)

id:freemann No.1

回答回数335ベストアンサー獲得回数55

ポイント33pt

アルゴリズムとデータ構造について知っていると有利になると思います。

明解C言語によるアルゴリズムとデータ構造

明解C言語によるアルゴリズムとデータ構造

  • 作者: 柴田 望洋 辻 亮介
  • 出版社/メーカー: ソフトバンククリエイティブ
  • メディア: 大型本

Visual C#.NETによる 明解 アルゴリズムとデータ構造

Visual C#.NETによる 明解 アルゴリズムとデータ構造

  • 作者: 白井 豊
  • 出版社/メーカー: ゆたか創造舎
  • メディア: 単行本(ソフトカバー)

id:sensepicker

アルゴリズムとデータ構造は肝ですね。確かに勉強する価値あるかも。

2009/11/25 17:02:15
id:hiko4karasu No.2

回答回数106ベストアンサー獲得回数1

ポイント26pt

どんなプログラマになりたいですか?

OS上で画面に映るソフトウェアだけがプログラムではありません。

 

OS上で動作する、ワープロソフトなどのアプリケーション。

通信制御、ネットワークなどの機器同士をつなぐソフトウェア。

BIOSなどの機械を直接制御する、ハードウェアに近いもの。

 

など。

 

基本的にはC言語をなんの問題もなく使いこなせるようになっていて、アセンブラと結合くらいできて、いまの大学の専門知識を広く知っていればいいと思います。

id:sensepicker

確かに一般的なソフトウェアだけじゃないですもんね。考えてみます。

2009/11/25 17:01:48
id:azuco1975 No.3

回答回数613ベストアンサー獲得回数16

ポイント10pt

普通にみえて、プログラマーから程遠い知識と経験を蓄えてるほうが有利です。

>CやC++でWin32 APIを学ぼうかと考えています。

時間の無駄。ゲームプログラマーになりたいのならこの路線もいみある。

id:sensepicker

そうですか。様々な分野の知識を吸収できるように頑張ってみます。

2009/11/25 17:01:07
id:sirotugu40 No.4

回答回数449ベストアンサー獲得回数14

長時間残業に耐えれる体力と根性

ほかは採用時には問われません。

id:sensepicker

労働条件は悪いようですね。よく考えてみます。

2009/11/25 17:00:28
id:westa1 No.5

回答回数15ベストアンサー獲得回数0

プログラマーは芸術家であり、職人だ

こういうのを一度読んでみるといいでしょう

id:pa999 No.6

回答回数2ベストアンサー獲得回数0

ネットを使ってしらべる

id:pigle No.7

回答回数84ベストアンサー獲得回数2

ポイント30pt

プログラミング言語C 第2版 ANSI規格準拠 (単行本)は読んだほうがいい。

あと、結構英語でマニュアル読む機会があるので英語の勉強はしたほうがよい

id:TAK_TAK No.8

回答回数1136ベストアンサー獲得回数104

ポイント31pt

情報処理技術者試験の勉強です。

これは、(合格できなくても)勉強した内容は実務にも大いに役立ちます。

http://www.jitec.ipa.go.jp/




超ハイレベルなプログラマを目指すならば、

こういうコンテンストの問題に取り組むことです

http://www.acm-japan.org/icpc-j.html

  • id:kn1967
    SE(現在のSEは肩書きだけで、実際はプログラマ)や、
    プログラマは全般的に給与安いし、労働条件良くないよ。
    技術は上辺だけ学んでおいて、
    話術や権謀術数を磨くほうが賢いかもしれないね。

    VBやVCの基礎があるなら.NETかな。
    意外とまだ技術者が少ないようなんだよね。
    インターネット系だとオープンソースが多いけど、
    イントラネット系だと強いよ。

    この本がいいとか、これが良いとかってのは、その人を見ないと判らないし、
    不適当な場合もあるから、ざっくりとコメント欄ね。
  • id:practicalscheme
    「プログラマ」とひとくちに言っても、業界によってやっている内容も求められる技術もかなり異なります。ある業界での常識が別の業界では全然通じないとか、ある業界では尊敬を集めさえする技能が別の業界では全く役に立たない、ということはざらです。
    参考: http://japanese.joelonsoftware.com/Articles/FiveWorlds.html

    多少強引な例えをすれば、「プログラマになりたいからプログラミングを勉強しなきゃ」というのは「外資系(or英語圏)で働きたいから英語勉強しなきゃ」みたいなものです。そりゃ出来ないと困りますが、重要なのはプログラミングなり英語なりを使って何をするかってところですよね。あ、ちなみにプログラマになるなら英語は出来た方が何かと便利だと思います。多分。

    まだ2年生なら、とりあえずどんな業界があるのかを積極的に調査してみるのが良いのではないでしょうか。業界によってはインターンを受け入れてたりアルバイトで潜り込めるところもあります (そういったチャネルが無い業界もあるので、インターンやアルバイトの経験だけでプログラマ全体を判断するのも危険です)。理工学部ならカリキュラムの一環で企業見学などが組み込まれているかもしれません。大都市だとプログラマの勉強会が毎週のように開かれています。プログラマのオンラインコミュニティもあります。そういうところに顔を出して話を聞き、質問していると次第にイメージが掴めてくるんじゃないでしょうか。
  • id:t-wata
    プログラマになるのはお勧めしません。楽しくないことが圧倒的に多いし、待遇も良くないです。

    自分ひとりでフルスクラッチからプログラミングするのは楽しいですが、他人の書いた何をしたいのか良くわからないコードのバグを修正するのは苦痛です。
    人の役に立つ、便利なアプリケーションを作って、使ってもらうのはうれしいですが、これといって何の役に立つかわからない、しかし開発は面倒なアプリケーションを作るのは苦痛です。
    デバッグして問題を見つけ、直してちゃんと動いたらうれしいですが、次から次へと既存部分も含めて意味不明なバグが尽きないと苦痛です。
    自分の好きな開発環境を使って開発できると楽ですが、よくわからない独自ツールを使わないとビルドできないような構成で開発するのは苦痛です。
    設計すべてにかかわって、中身のわかっているアプリケーションならトラブル対応はまかせてくれ、と言いたいですが、ブラックボックスで無駄に複雑なアプリケーションのトラブル対応は苦痛です。
    自分が綺麗だと思えるコードを書くのは気持ちいいですが、変な修正履歴やコメントをソースに追記したり気持ち悪いコーディングルールに従ってコードを書くのは苦痛です。
    要求どおりのプログラムを計画通りに開発できると達成感を得られますが、プログラムができあがってある程度テストを終えてから要求が変わったり(でも納期はかわらなかったり)するのは苦痛です。

    職業プログラマの仕事は、ほぼ後者、苦痛な方です。プログラミングが好きな人ほど向いていない職業ですよ。
  • id:sensepicker
    みなさん、ありがとうございます。
    会社勤めのプログラマーは苦痛なことが多いようですね。
    いろいろ調べたり、インターンに参加したりして情報を集めることにします。
  • id:kn1967
    はてなで手抜き回答を乱発しているような輩の回答を真に受けないというのも必須。
    (誰とはあえて言わないが、回答欄のほうにも出現しているので、
     ポイント配分で、貴殿のスキルも知れようというもの。均等配分は厳禁ね。)
  • id:sensepicker
    id:kn1967さん、忠告ありがとうございます。
    ポイント配分、気をつけます。
  • id:BlueSkyDetector
    もし、プログラミングが好きでプログラミングを極め、楽しみたいのならば、自社のためのプログラムを自社で作成している会社をおすすめします。
    特にOSSを利用している会社は、より技術を重視する傾向があるように感じています。

    なぜ上記のようなことを書くかというと、他社(他者)のためにプログラム作成するとなると説明が必要です。
    特に素人にもわかるような説明ができる能力が必要となります。
    また、逆に相手の業種の業務を知らなければ、業務をプログラムにすることができないため、相手の業務の知識も必要になります。
    と、こんなふうにプログラムだけに集中することはできないし、集中すべきではありません。

    逆に自社のために自社で開発している会社は、技術がわかる人間が多く、素人相手にコミュニケーションする時間は減らすことができる傾向があるように感じます。
    そこではプログラムなどの技術に集中することに対して推奨されることはあっても、止められることはほとんどありません。

    その上で、C言語を勉強し、OS・コンパイラあたりのコードを読みまくるというのは良い経験になると思います。
    次に、読んだコードをちょっと変更・拡張して遊んでみて、その次に自分でゼロからコードを書いてみてはどうでしょうか。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません