ITエンジニアの『研修』でやる内容を経験者が紹介!
「研修を受けたら仕事できるようになるんですか?」
読者の方からこんな相談メールがよく届きます。
大抵の会社は新入社員や他業種から中途入社した人に対して「研修」をします。
私が新卒で入った会社では3ヶ月ほど新入社員研修をして、現場に入るという流れでした。
もちろん、これは会社によります。いきなり現場に放り込まれて、OJT(オン・ザ・ジョブ・トレーニング=実地で覚える)で仕事を覚えてくパターンもあります。
そんなわけで、ITエンジニア(プログラマー・SE)の研修内容を紹介します。
Contents
研修内容をざっくり紹介
- コンピュータの基礎
- プログラミングの基礎
- データベースの基礎
などを教えている会社が多いと思います。
コンピュータの基礎ってこんな感じ!
コンピュータにはCPU(中央演算処理装置)とメモリーと外部記憶装置があって、それらが連動して動いています。
他のコンピュータと通信するためにTCP/IPという通信プロトコルがあります。これはOSI参照モデルというネットワーク階層モデルを実装しています。
みたいな話です。この説明だけだと、「は?」って感じかもしれませんが、研修では図などを用いて分かるように丁寧な説明がなされます。
プログラミングの基礎ってこんな感じ!
プログラミングの基礎では、プログラミング言語の構文やソフトウェア技術の基礎を学びます。
例えば、プログラミング言語にはif文という処理を分岐させる命令があります。
num1 = 120 + 34; if (num1 == 154) { console.log("num1は154です"); } else { console.log("num1は154ではありません"); }
これは、JavaScriptというプログラミング言語のコードです。英語みたいですよね。
プログラミングを知らない人でもなんとなく意味が想像着くかと思います。
ifの他にwhile文というのもあります。こちらは処理を繰り返す命令です。
num1 = 1; while (num1 <= 100) { console.log(num1); num1 = num1 + 1; }
num1が100以下の間、繰り返すというものです。
while (num1 <= 10000) {
と書けば1万回繰り返すことが出来ます!
ほとんどのプログラミング言語は英語をベースにしていますし、構文も似通っています。
先程のif文の例をPHPというプログラミング言語で書くと
$num1 = 120 + 34; if ($num1 == 154) { echo("num1は154です"); } else { echo("num1は154ではありません"); }
num1が$num1に変わっただけでほとんど同じです。ですから、一つのプログラミング言語をマスターすれば、新たに別の言語を学ぶのは簡単です。
研修で教わる言語は、入社した会社でよく使われている言語になります。
私の場合、研修ではVisual Basicという言語を教わりましたが、仕事では別の言語を使っています。そんなパターンもありますが、特に困ることなく仕事が出来ました。このことからもプログラミング言語を一つマスターすれば、他の言語を容易に学べることが分かりますね!
続いてデータベースの話です。
データベースってこんなのです!
データベースは主に2つに別れます。
- ・リレーションデータベース(RDBと略される)
- ・NoSQL
RDBの方が使用頻度が高いので、研修では、ほとんどの場合、RDBを教わると思います。
RDBとはどんなものかというと、表形式でデータを格納するデータベースです。 Excelをイメージするとわかりやすいです。
Excelは表計算ソフトなので厳密に言えばデータベースではありませんが、イメージとしては同じです。 Excelはデータの件数に限界がありますが、RDBにはありません。
それに検索速度もRDBの方が上です。ですから、ある程度データ数が多い場合、ExcelではなくRDBが採用されます。
RDBにはデータベースを操作(データの検索、追加、更新、削除)するSQLという言語があります。
SQLでデータベースを操る!
例えば、以下のようなデータがあるとします。
【顧客データ】
名前 | 出身地 | 割引率 |
---|---|---|
木村裕子 | 東京都 | 3% |
田中誠一 | 北海道 | 2% |
荒木正和 | 大阪府 | 1.5% |
児島香菜 | 東京都 | 1% |
この中から東京都出身の顧客データを検索したい場合は
SELECT * FROM 社員データ WHERE 出身地 = '東京都'
というSQLを実行します。すると、
名前 | 出身地 | 割引率 |
---|---|---|
木村裕子 | 東京都 | 3% |
児島香菜 | 東京都 | 1% |
というデータが取得されます。東京都出身のデータのみが抽出されましたね。
東京都出身の顧客の割引率は一律で10%に更新しようという場合は、
UPDATE 社員データ SET 割引率 = 10 WHERE 出身地 = '東京都'
というSQLを実行すれば一瞬で更新できます。
名前 | 出身地 | 割引率 |
---|---|---|
木村裕子 | 東京都 | 10% |
児島香菜 | 東京都 | 10% |
この例では東京都出身のデータは2件だけですが、データが何万件あっても上記のSQLで簡単に更新することが出来ます。
ですから、データベースは大量データの処理に向いているんです。データに対して条件を指定して何らかの操作(検索、更新、追加、削除)が出来るわけです。
研修を受けたら仕事ができるようになる?
基本的に、研修では仕事に必要な内容を教えているはずです。
ただ、なんでもそうですが、何かを教わったらすぐそれが出来るようになるかというとそうでもありませんよね。
習ったことを実際に使ってみて段々と理解していくってことがほとんどだと思います。
例えば、自動車の免許を取るために自動車教習所に行きますが、座学で交通ルールや運転テクニックを学びますが、それだけで運転できるようにはなりませんよね。
教習所内のサーキットで実際に車を運転して、それに慣れてきたら路上講習があり、その後、高速道路に行く長めの講習があって、最後は試験を受けて、晴れて免許取得となります。
運転を実際にやってみたことで身につきましたよね?プログラミングも同じです。
研修では座学で、まず知識を身に着け、その後実習で何か簡単なソフトウェアを作るはずです。その中で理解が深まり、実際の仕事の現場に入り、研修で習ったことを使っていくことで、さらに理解が深まっていきます。
会社側も研修を終えたばかりの社員が一人ですべての仕事が出来るとは思っていません。
ですから、わからないことは先輩社員に聞けばいいんです。
ただ、一つ注意点があります。
先輩社員に質問する時のルール
何でもかんでも聞くのではなく、出来るところまで自分でやってみることが重要です。
任された仕事に対して、まずは自分で出来るところまで進めてみるんです。
「この機能はどうやってプログラミングすればいいかなぁ?」と考えます。考えた上でどうすればいいかわからなかったところを先輩に相談しましょう。
「~までは考えたんですけど、ここから先がどう実装すればいいかがわかりません。」
そうすれば、適切なアドバイスをもらえるはずです。
やってはいけないのは何も考えずに「この仕事どうやったらいいですか?」と聞いてしまうことです。
「何も分かりま~ん、何がわからないのかも分かりませ~ん」
は最悪です(笑)
自分でできるところまで取り組んで、壁にぶつかったら助言を求めるのがいいでしょう。
こうしていくうちに、段々と自分で出来る部分が増えていきます。
自分で何もせずにすぐ助けを求めてしまうと、自分で仕事をする力がつきません。
結構な年数仕事をしているエンジニアでも、自分ひとりで仕事ができない人っています。そういう人って、ずっと人に頼った仕事をしてきたんだろうなと思います。
そうならないためにも、まずは自分で出来る所まで取り組む、これが大事です。
検索エンジンの効果的な使い方
研修で習う内容はソフトウェア技術のほんの一部です。仕事では研修で習っていない知識も必要になります。
そんな時は検索エンジンで調べましょう。それでも分からなかったら先輩に聞けばいいんです。こうやってくことで知識もどんどん増えていきますし、自分で解決する力がつきます。
私も新入社員の頃は、自分が調べた結果だと、正しさに自信が持てないから、先輩社員を頼りたい気持ちがありましたが、今思えば、これは間違いです。
この世界に絶対的に正しいことなんてないからです。
やり方はいくつもある!
ソフトウェアの世界は特に日進月歩で新しい技術が生まれています。昨日正しかったことが今日間違いになるなんてこともよくあります。
例えば、以前はHTMLからJavaScriptの外部ファイルを参照する際にはheadタグの中に書くことが正しかったのですが、現在は画面の描画を先に行わせたほうがユーザーを待たせる時間が減るため、出来るだけ下の方にJavaScript読み込みを書いたほうが良いということになっています。
それにプログラミングの世界では、一つの機能を実装するのに色々なやり方があります。
Perlというプログラミング言語には
There’s More Than One Way To Do It.(やり方は何通りもある)
という哲学があります。
自分が考えたやり方、検索して見つけたやり方も、先輩から聞いたやり方も、それぞれ皆正解の一つなんです。
自己チューにならないためにも
人に聞くということは、その人の時間を奪うことにもなります。その質問をしなければ、その人は別の仕事を進めることが出来ます。
組織として考えてみれば、それぞれの社員が並行して同時に様々な作業を進めたほうが生産性が高いので望ましい仕事の仕方です。
そういう意味でも、出来るところまで自分でやるというのは大切です。
もちろん、調べても分からなかったら聞いていいですし、調べてやり方はわかったけど、正しいか確認するために聞くのもありです。
何も調べずに「全部教えてください」と「ここまで調べたんですけど、このやり方でいいと思いますか?」と聞くのでは大違いです。
自分で出来るところまでやる、この精神で望めば必ず仕事ができる人になれます!