• ベストアンサー

プログラマーに必要な事

私はプログラマーの卵です。 プログラマーの皆様、プログラマーに必要な要素は何だと思われますか?言語の知識やスキル以外で 何が大事だと思われますか?今後のためにも教えていただけるとありがたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • magid
  • ベストアンサー率73% (49/67)
回答No.6

他の方々と重複する部分もありますが、いろいろな職場での意見を知るのも参考になるかと思いますので、うちで重要視されているものを挙げてみます。 まず、好奇心。 と言っても知識をただ増やすばかりの頭でっかちな好奇心ではなく、自分でやってみる、どうなっているのか解析してみる、という実践的な好奇心です。 会社の課長クラスの人から「新人がこの先延びるかどうかは、暇なとき何をして遊んでいるかを見ればだいたいわかる」と聞きました。ネットサーフィンばかりしている人は、いろいろな用語を知っていたりして一見知識がありそうではあるけれども、あまり延びないそうです(しかし、このタイプが多いらしい)。延びるのは、余っているマシンを使って何かしてみようとしたり、フリーのツールをダウンロードしてきて中身を調べたりして遊ぶ人なのだとか。 次に国語能力。 プログラマと言えば仕様書がつきものですし、上級の仕事をするようになればチーム間の調整をするようになるでしょう。文章を書かずに仕事をするということは、まずあり得ません。このとき、論理的でわかりやすい文章を書く能力があるかどうかで、はかどり具合はもちろん、仕事の品質まで相当変わります。 そして英語。 必要でない仕事も多いのですが、最先端のものを開発しようとすると、どうしても資料が英語のみということになりがちです。こうした仕事が回ってきたとき、辞書を引き引き資料を読んでいたら、さっぱり仕事になりません。資料に限らず開発ツールや試験ツールに海外製品しかない、という場合もあります。また仕事で直接必要ないとしても、調べものをするのに英語の資料まで含めて検索できるかどうかで、効率がまったく違います。 いざ必要になったときにすぐ身につくものではありませんから、必要ないうちからできればこつこつ学んでおくことをお勧めします。英会話力や書く能力はとりあえず二の次で、仕事で重要なのは英語の読解力です。

その他の回答 (6)

  • us123
  • ベストアンサー率26% (10/38)
回答No.7

新しい技術や方法が次々に考え出されるので 継続して学習を続けることも必要だと思います 可能であれば、自分のテーマを研究しプログラム技術に貢献することだと思います

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.5

1.好奇心旺盛であること 入門書の類に記述されているのは、あくまでも良く使用される 機能のみを抜き出したダイジェスト版に留まります。 他にどんな使いかたができるかリファレンスマニュアルも参照 してチェックおきましょう。 また他の人が作成したプログラムで、自分が今まで知らなかった 物で便利だと思う物は取り入れましょう。 逆に、不便な物はどうしたら良くなるか考えましょう。 2.ものぐさであること 数十~数百ステップですむプログラムを、数百~数千ステップもの 大作プログラムにしてはいけません。 多くの場合、無駄な重複が繰り返されていたり、簡単なコマンドで 済む事をわざわざ複雑な処理で記述していたりされています。 数百~数千ステップもの大作プログラムを作る事に苦労を感じて いないのなら、それを改善しようとする気も希薄になり、結果として 体力勝負、残業時間勝負ということになります。 体力を消耗し、頭の回転力・判断力が落ちた状態で、無駄の多く長大 なプログラムを扱うことは、判断ミス・修正洩れを起こす原因となり さらなる残業スパイラルへと誘います。 どうすれば楽な仕事ができるか(さぼるのではなく)考え・実行しま しょう。 3.復習を忘れずに 新人の間は、毎日の仕事で次々と新しい事がでてくると思いますが 新くやった内容は、記憶が鮮明な内にその知識を確実なもにして おきましょう。 全てを理解する事はできないにしても、少なくとも、全く同じ事を 指示された時に、前回より効率的に早くできる程度には。

noname#39970
noname#39970
回答No.4

他にも書かれちゃってて重複だけど 1。体力 健康第一。健康の第一歩は充分な睡眠から。 2。アルゴリズム 構築方法の考え方が高水準であれば言語仕様書や関数リファレンスが有れば組める 3。解釈(分析)能力 相手の言ってる事 相手に伝えるために必要な語 障害の状況

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.3

常日ごろ思うことを2点ほど挙げておきます。 一点目は洞察力です。 これはちょっとやそっと訓練したからといって身に付くものではない。 例えば学生時代に数学の問題を何題もじっと考えて解く。 この考えるという作業の時間の積み重ねが大切なのです。 結局我々システム屋は分析屋だということです。 洞察がなければ分析には及びません。 2点目はビットに強くなれ これはヤフー掲示板でどなたかが言っていましたが名言だと思いました。 おおよそコンピュータの世界は2進数に支配された世界です。 2進数はコンピュータの世界観そのものともいえるかもしれません。 次の命題について考えてみてください。 数値変数AとBの中身を入れ替え(SWAP)せよ ただし他に変数は使ってはいけない。 この問題は普通はA=C、B=A、C=Bと退避用の変数Cを使うところですが これを一切使ってはダメという問題です。 XORやANDなんかの論理演算で色々考えていると解が見つかります。 腕試しのパズルだと思って問いてみて下さい。

  • bizen1
  • ベストアンサー率17% (15/88)
回答No.2

・体力と忍耐力。これは必須です。 以下のものはスキルの部類だとは思いますが ・文章作成能力。プログラマーも詳細設計書等の作成はあるので、いかに内容をまとめて見やすく書けるかが重要です。 ・システム全体の流れを把握する能力。SEの仕事のようにも思えますが、プログラマーにも必要だと思います。 一つのシステムを動かすために何本もプログラムを組むと思いますが、効率良くプログラムが作動させるように前後の流れをできるだけ掴むことも重要です。(前後のプログラムは自分が作るとも限りません) いかに前後のプログラムとの連携が取れるかが大事です。

  • fiveend
  • ベストアンサー率28% (15/52)
回答No.1

コミュニケーション能力です。 プログラマーといえど、仕事をするのは人間同士。しかもチームで作業することが多いです。 将来SEになればクライアントとも綿密に打ち合わせが必要となります。おそらくどの方も同じことを言うと思いますが、 プログラミングが出来る、というのはスキルであり仕事のツールのひとつに過ぎません。将来どのように進むかはわかりませんが、コミュニケーションが取れないとデバッグばっかりやらされますよきっと。