- ベストアンサー
入社前に勉強しておくべき事
今年3月に電子系の専門学校を卒業して4月にプログラマーとして働きます。 残り2ヶ月とありませんが、入社までに技術的な事で「これは身につけておいた方が良い」というもの何でしょうか? 今のスキルですがC,Java,PHPの基本的な構文くらいしか分りません。 就職先の企業は未経験者でもOKでしっかりとした研修もありますが、今できる事はなるべくしておきたいと思います。 ちなみに会社の事業内容は 金融・証券システムの開発をはじめとした HOST系、オープン系、ネットワーク系環境でのシステム設計・開発をしています。 開発環境は メインフレームからワークステーション、WindowsやUNIX、Linux等のOSを使用した環境で 言語はCOBOL,VisualBasic,C言語,Java PL/I,PL/SQL,Developer/2000です。 宜しくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
プログラマーではなく通信屋なので、とりあえず専門家ではなく経験者にしました。 なんかレガシー系からオープン系まで、全部、見ている会社なんですね。これは、大変なことです。どの部署にいくか、どんな案件を営業が取ってくるかによって、全然違う世界を見ることになるでしょう。 特定分野にフォーカスするより、色々な世界を、広く浅く学んでおくと、後で役に立つかもしれません。具体的には、以下のようなものが思いつきます。 ●マイクロソフトの.NET Framework プログラム開発と実行環境です。プログラミングが楽になるという触れ込みですが、実際は重たいソフトに仕上がることが多いです(日本人は限られたハードウェアリソース内でどうやって高速に動くソフトを作るかという発想の人が多いのですが、アメリカ人はソフトウェアの設計思想に合わせてハードのスペックを上げていけば良い、という発想が見え隠れします)。Vistaでのプログラミングを語る上で、.NET Frameworkの知識が必須となるケースは確実に増えます。 ●通信技術 himatabiさんはプログラミングには強いようですが、物理層や通信の知識があまりないようです。古典的なコンピュータのインタフェイスであるシリアルケーブルの世界やモデムの概念が分からないと、単体コンピュータのソフトは作れても、レガシー系システムの全体像は分かりません。また、新しいタイプの通信手段としても、イーサネットやIPの知識があるほうが望ましいと思います。できれば、一昔前のATMやフレームリレー、特殊なところではFDDIなども。JavaやPHPをやっているということはWebプログラミングは出来るという意味だと思いますが、IPの下で動いているイーサネット、ATM、フレームリレー、FDDIなどレイヤ2プロトコルの知識がないと、システム全体の挙動が理解できない時があります。たとえば、上に上げたレイヤ2プロトコルは、ATMを除き、すべて可変長フレームでデータ転送を行うものであり、フレームの最大サイズを表すMTUの概念を持っています。MTUの概念は、IPにもあります。様々なネットワークを組み合わせて動かしてみると、特定のサーバとクライアント間のみの挙動がおかしいといったこともあり、原因はMTU値のずれと設定の問題であることがあります。本当を言えば、レガシー系プロトコルを理解するにあたり、X.25の知識があったほうが望ましいのですが、これは今さら本気になって勉強するようなものとも思われず、適宜、職場の先輩に聞いてください。 ●他OS 業務内容に携帯型端末のソフト開発が含まれるようであれば、OSとしてトロンとシンビアンの基礎知識があるのも悪くありません。 ●Ciscoルータ Ciscoルータが他社ルータと根本的に違うところは、IP以外のLANプロトコルをサポートしていることです。メインフレームではIBMのSNAなどのプロトコルを使うこともありますし、Macであれば当然、Appletalkを使います。SNAやそれに類似するプロトコルを用いたメインフレーム系システムを、新しいシステムに統合する時の手段として、Ciscoルータを用いてGREトンネルをはり、IPネットワーク上のトンネルでSNAを流してしまうというテクニックがあります。類似の思想で、L2TPの新バージョンというものがあり、これはネットワーク機器メーカーの間では、ちょっとしたホット・トピックです。 ●非Windows/Unix系システムで、現在、Windows上で動くもの ノベルはディレクトリサービスの出来が良く、マイクロソフトのアクティブ・ディレクトリに負けない根強い人気があります。ただし、マイクロソフトはノベル対抗策をきっちりと打っているので、Windows Serverを触っているうちに、「あ、これがノベルからMSへの乗り換えを促進するための仕組みなんだ」と気付くことがあるでしょう。LotusやCitrixも侮りがたい存在です。LotusやCitrixの場合、昨今のWindows系プログラミングにありがちな、イベントが発生するたびに特定のアプリケーションポートを開くという方式ではなく、特定ポートを一度開いたらデータを流しっぱなしというスタイルがありえます。(Citrixのことは正直に言うとあまり確信をもてないのですが、古い世代のLotusは間違いなくLotus専用ポートを開きっぱなしにします。最新版の挙動は知りません)Citrixはプロトコルとして見るだけでは不十分で、シン・クライアントという思想のネットワーク構成にあたっては、第1選択肢となる存在であることを理解する必要があります。
その他の回答 (4)
- da-te
- ベストアンサー率37% (3/8)
こんばんは。 基本的なところで抜けがちな点をひとつ。 nullチェックと、参照型変数の開放、ですね。 単体テストレベルの話ですが、結構忘れられているので。 #時間が経ってから出てくる出てくる・・・。
お礼
ありがとうございました。
- jjon-com
- ベストアンサー率61% (1599/2592)
>「これは身につけておいた方が良い」というもの何でしょうか? 匿名掲示板にて曖昧で一般化された回答を求めるよりも, 関係者・担当者から直接回答を得るのがもっとも確実だ,という社会人的態度。 企業によって得意分野・専門技術は異なりますから。 「入社までの残り2か月を有意義に使いたいんです」と企業の担当者にアピールしたけれど断られた,というのなら話は別ですが。
お礼
今度会社に問い合わせてみます。 ありがとうございました。
- izuminv
- ベストアンサー率0% (0/3)
言語を1つ新しく覚えて(例えばrubyなど)、その言語でソフトを完成させてみるのがよいかと(これは時間がないとできません) 今すぐには役立たないですが、長い目でみるとその経験が役に立つ日がきます。 # 正直言うと、技術的な事は現場に入れば必ず身につくので、それより、上司やクライアントへの接し方などの対人スキルの方が重要かと
お礼
やはりコミュニケーションは大事ですね。 ありがとうございました。
- venzou
- ベストアンサー率71% (311/435)
技術的な事の基礎は学んでいるので、応用は現場で学んだ方が早いと思います。 開発環境として挙げられたものは、広範囲で、今から全てを学ぶ事は不可能ですし、自分が担当する業務が決まってなければ、的を絞る事も出来ないと思います。 未経験の環境、言語を担当する事になるかもしれません。0からのスタートになるかも知れませんが、習熟の早さは、今まで学んで来た基礎知識が、どれだけ身に付いているかに依ります。 今出来る事は、今まで学んできた事の復習、再確認だと思います。 あと、学ぶべき事は、金融・証券などの、クライアントの事業内容かな。 技術的な事だけではシステムは作れません。対象の業務についても知る必要があります。金融・証券系と分かっているなら、その分野の勉強をした方が良いと思います。 たぶん、専門学校では学んでないと思うので、苦手な分野なのでは? 基本的な用語などは理解しておかないと、話についていけないかも・・・(^^;
お礼
ありがとうございました。 簿記を勉強してみようと思います。
お礼
そうですね、通信に関してはあまり勉強する機会がなかったので これを機に少し深いところまで学習していきます。 細かいご説明など、とても参考になりました。 ありがとうございました。