記事IT技術・データ分析・AI技術のソフトウェア開発会社です。入社前のIT業界へのイメージIT業界で働くというのはプログラミングが主体で、その業務のほとんどをプログラミングが占めるものだと考えていた。実際の業務に沿った研修をうけるとその印象は全く違うものだということが分かった。業務としてプログラミングが占める割合は多くても3分の1程度であるからだ。その他の作業の占める時間が3分の2を占める。それは、お客さまとの打ち合わせやプログラムの設計書、テストなどである。設計書を基にプログラムを作るとき、だれが作っても同じプログラムができなければならない。そのためには漏れのない設計書作りに加え、相手に意図がきちんと伝わる文章を書けるようにしなければならない。会議の議事録、プログラムの設計書や、テストをするための仕様書など多くの資料を作成する必要があるため、IT業界で働くにはプログラミングスキルだけでなく、文章力が重要となってくるのだ。OFFJTの研修について弊社ではIT企業の他社と比べてかなり長い、OFFJTによる研修時間を設けている。SEとしての基礎を作るために最初の研修が非常に重要なものであると考えているからだ。OJTとの違いは実際の業務に従事しているか否かということである。OFFJTではお客様との取引はなく、会社にとって利益が生じないものであるが、OFFJTでの研修メリットは多くある。ミスを恐れることなく課題に取り組むことができる。→実際の業務だとミスをすると多額の損失を被る。専属の先輩社員がいるため何か行き詰ったときやわからないとき、いつでも質問することができる。→実際の業務だと忙しくてゆっくり質問をする時間がない。全体の業務を理解するため上流工程から作業をすることができる。→設計図の作成は豊富な経験と知識がないとできないが、OFFJT下の課題は大きなプログラムではないため作成することができる。OFFJTの研修とは、実際に業務を行うための準備をするための時間だと思う。この研修によって、いろいろなことを経験できたため、この後の自分の成長スピードに影響があることは間違いないと確信している。新入社員研修の途中2ヶ月(4月~5月)が終了しましたが、今後ご入社いただく方への参考のため途中経過を公開します。当社の研修はハンズオンを含めたOFFJTで行われています。社会人マナーとして上座、下座について教わった。上座、下座は部屋の中だけの話かと思っていたが、実はエレベーターの中やタクシーの中、さらには円卓など様々な場所で上座、下座が存在することを知って驚いた。プログラム研修プログラマーが想定していない値を入力されたときプログラムはエラーをスローする。場合によっては意図していない動作をすることもある。これらに対処するために例外処理が必要となる。C#には例外処理のためにTryCatch文があるが、今回はそれを使わずにIF文で一つずつ行われたくない作業を禁止するという作業を行った。この研修によって例外処理の大切さ、TryCatch文の便利さを実感することができた。何度か個人的に仮想環境を構築しサーバーを稼働させたことがあったためあまり詰まることなく研修を受けることができた。C#を使用してデータベースにアクセスしたことはなかったため、良い経験となった。これからの業務でデータベースにアクセスしないことはないのでこの経験を業務で活かしていきたい。基本設計書の作成から製造、単体テスト仕様書の作成、単体テストの実行と、プログラムを作成するうえで必要な作業を一通り体験することができた。今回、上流工程から作成してみたことで基本設計書の大切さを実感できた。自分の作成した基本設計書の通りに製造を行うと不備や漏れがあり基本設計書の修正をおこなわなければならないという場面が多々あったからだ。実際の業務ではこのようなことはあってはならないため、不備のない書類を作成するよう心掛けたい。勤怠管理システムと仮想環境の導入(実践に近い環境での研修)勤怠システムはPCでICカードを使用して勤怠情報をサーバーへ記録しブラウザ上で管理者がそれを承認するという仕組みである。PCへの導入は難なく成功したが、サーバー上のデータベースの構築とTOMCATによるウェブへの公開に手間取った。先輩社員に聞きながら、エラーメッセージを検索し、対処することで導入に成功することができた。(実践に近い環境での研修)改修にあたって、軽減税率制度に対する深い知識が必要となった。国税庁のHPなど信頼できるページの情報や公式のパンフレットなどを熟読し理解を深めた。自分が触ってきたプログラムの中では大規模なプログラムのため、変更しなければならない点はわかっていてもどこをどのように変更すればいいか、どのように変更すれば効率がいいかなどがわからないため相談しながら行っている。改修点をまとめ終えたら実際に改修を行っていく予定だ。1.の(1)と(2)は過去に記述があります。2ヶ月間におよぶ新人研修を受講しました。その内容を纏めてみました。Studioの操作方法やformアプリケーションの構造、C#の構文、SQLを理解することを目標に取り組んだ。フローチャートや基本設計の書き方も習得した。(2)Windows上にLinux(CentOS)を搭載し、ネットワーク・OS設定をすることで、仮想環境構築について理解することを目標に取り組んだ。Linux上にMySQLやTomcatを導入する方法も取得した。(3)社内向けアプリケーションである日報システムの再構築を通して、DB設計や基本設計、単体テスト・結合テスト・エビデンスの取り方の習得を目標に取り組んだ。(4)勤怠システムの公休・有給取得に関する改訂に取り組んだ。改訂後は単体テスト・シナリオテストを行い、本番化の作業も行った。(5)勤怠データを設定した条件でCSVに出力するツールの構築に取り組んだ。指定された形式でデータを抽出することができ、完成後はテストを行い、問題がないことを確認した。私見(1)惑星衛星表示システムや日報システムでは、ラベルやテキストボックス、ボタンを使った簡単な画面を作成しただけなので、勤怠システムのような実用的な画面の作成もできるようにしたいと思った。(2)仮想環境の構築に関しては、何度か構築を行っていくことで、手順を覚えることができたが、また仮想環境を構築するときのためにメモを残しておく必要があると感じた。(3)日報アプリケーションの再構築に関しては、初めはdataGridViewにデータを反映させる方法が難しく感じたが、dataGridViewの扱いに慣れてくるとデータの反映が容易に可能になった。入力チェックのテストが足りなかった部分もあるため、今後何か開発する際にはもっと考慮をするようにしたいと思った。(4)勤怠システムの改訂に関しては、初めはシステムの規模が大きいため自分に改修なんてできるのだろうかと思っていたが、改訂箇所のコンポーネントをひとつひとつ見ていくことで、改修箇所を見つけることができ、改訂もすることができた。実際に本番化の作業をすることで、システムを改訂したという実感が湧いてきた。Studioの操作方法やC#の構文を活かして、早めに完成させることができた。テーブルの結合やサブクエリを用いて抽出したいデータを取得することができ、SQLに関して少しだけ自信がついた。まとめ・新人研修および研修終盤の業務を通して、プログラムやシステムに対する理解が深まったと感じた。基本設計からテストまでの一連の流れを経験できたことは、今後大いに役に立っていくと思う。分からないことや知らないことはたくさんあると思うので、研修が終わっても自分から学んでいく姿勢が大切だと思った。工学部出身/Y.D研修課題OS構築技術とネットワーク設定の習得が目標です。MySQL仮想環境構築の研修では、Windows上にLinux(CentOS)を搭載し、その上にMySQLを導入し、firewall設定・ポートの解放を行いその確認をおこなった。苦労した点は構築がはじめてで学ぶことも多く、復習して慣れていくことが大切だと感じた。firewall設定やポートの解放などネットワークに関する用語知識などもあまりないため、本などを参考にして勉強することで自分のものにしたい。仮想環境は、今使っているPCの中に別のPCがある感じで、不思議な感覚を覚えた。これらのことは、教える側に立ったときにきちんと説明できるように理解しておきたい。環境が構築できたのち、各々の設定がうまく出来たかどうか確認するためにSQL文を発行してテストを行った。SQLは簡単なSELECT文で取得してくるという経験はあったのでこの部分の研修は割とすんなり進めることができた。サブクエリは初めて使ったので、使いこなせるようにしたい。次の知識を習得することが目標です。Studioは初めて使ったが、以前使っていたeclipseと似たところもあるので、早めに操作に慣れたいという思いがありました。C#を使ってのコーディングも初めてだったが、Javaと考え方や記述方法が同じ部分もあるので、応用していきたい。簡易アプリケーション作成の際に、入力チェックの書き方に悩み時間がかかってしまったので、時間がかかるようならすぐ質問するようにしたい。2次元配列を用いて惑星衛星を表示するアプリケーションを作っているが、インデックスの番号と配列の数がごちゃごちゃになってしまって整理するのに時間がかかった。小さい規模の配列なら紙に書いて視覚的に確認しようと思ったが大きくなるとそうはいかなかった。フローチャートは前職の研修の時に書いたことはあったが、実際に使うようなものは書いたことはないので、もっと深く覚えるようにしたい。基本設計は初めて書くので参考にしながら書いた。誰が読んでも理解できるような文章で書けるように心がけたい。研修中に見つかった課題(1)JavaがわからないJavaで開発を行うのが初めてなので、言語への理解が乏しい事に加えてEclipseの開発に便利な機能やフレームワークについての知識も先輩社員の方に聞くことに加えて、本やGoogle頼りで知識を補わざるを得なかったのが大きな課題の一つです。(2)先輩社員の方が作った大規模なプログラムをカスタマイズした経験がなかった教授や先輩のプログラムを修正する機会はありましたが、個人が数週間で組む規模のプログラムなので、システムをほぼ全部理解するのに時間はさほどかかりませんでした。勤怠管理システムは初めて見る大きさの規模を持つプログラムだった為、まずシステムの構造を理解する事に最も多くの時間を取られました。それに加えて、今回追加するシステムオプション機能は、利便性向上のために勤怠システムの基本設定をお客様自身で設定し、勤怠システムの様々な箇所に反映させる必要があります。そのため、勤怠管理システムの構造を隅々まで把握していないと意図しない実装をしてしまい商品としての価値を損なわせる恐れがありました。これを回避する為にはやはりコードを隅々まで読み込まなければいけないのですが、ここでもやはりJavaへの理解の乏しさから理解が遅れた(時間がかかった)ように感じました。3.私の感想さっぱりわからない中でも手探りで試行錯誤するのは楽しかったです。実際に勤怠管理システムを触る前に1回は自分でJavaを使ってWebアプリケーションを作って、自分の中にもう少し直接応用出来る知識を蓄えておきたかったというのは感じました。それさえあればもう少し早く作業が進んだのではないかと思います。レポート記2ヶ月と半月が終わった時点のレポートをご紹介しました。3ヶ月目は実践に近いところで、先輩社員のもとで勤怠管理パッケージのコンポーネント化に取り組んだときの状況です。大学院でPythonを用いた研究をしていましたが、今回のような比較的規模の大きなプログラムは初めてで戸惑いも大きかったようです。そのため、当社の2ヶ月にわたる教育研修プログラム(研修の中にはJavaプログラミングのコースもありました。)をこなした上で、先輩社員のフォローのもとで実践に近い形でとり組んでいます。当社の勤怠管理システムにはデータ分析・可視化などの機能が搭載されており、オンプレミス型(サーバー方式)、クラウド型いずれにも対応しています。情報工学科出身/F.A研修2ヶ月めの研修が終了した時点のレポートをご紹介します。2ヶ月目は机上研修からより実践に近いところで研修をおこなっています。(一部4月度の内容も含まれています。)環境は全てテスト環境を自身で作りました。ついて知らないことが多かったので、構築には苦労しました。インターネットで調べたり、教えて頂きながらどうにか構築することができました。studioを用いたが、使用方法を理解するまではもたついていましたが理解できるとスピードアップが図られました。TODOリストの作成DataGridViewに正しく情報を反映させることに時間がかかりました。Form間を移動することと、DBにアクセスすることは片方ずつならば比較的簡単にできます。両方とも実装するとなるとどうコードを書けばよいか分からなくて苦労しました。ソフトウェアテストの研修ソフトウェアテストは作業内容を理解し、効率的に行うことに苦労しました。TomcatをCentOSに導入する作業は講義を受けましたが、講義と実践は異なり、単純作業も多く、教わったとおりにいかなくて苦労しました。自分でやってみることを痛感させられました。この先間違いなく必要になると思うので、確実に理解しておきたいところです。他の部分に影響を及ぼさないようにコードを書き換えて、標準化する作業は初めてのため難しく、苦労しました。本当に重要だということを痛感しました。苦労した部分は、確実に自分の力になってきていることを実感できており、やりがいを感じました。新入社員研修3新入社員研修は前に書いたとおり様々な講座があります。新入社員はそれら各々の講座について理解度や難易度を具体的に記述してくれていますが、ここでは社員それぞれが感じた総括的なことを抜粋して掲載します。新入社員研修1ヶ月目の感想です。/M.Y研修全体を通していち番思うのは、研修内容はどれも初めてやることで楽しい、ということです。社会人歴1ヶ月未満です。システムエンジニアとしてのスタートラインを越えたかも怪しい状態です。そんな状態ですから当然未知のものばかりなのですが、それを既知のものに変えていく過程がとても楽しいのです。誰でも一意に読み取ってくれる文章はどう書けばいいのだろうかとか、腰が痛いであるとも思います。そちらの方が多いです。その中で試行錯誤していく過程、そして解決し、未知を既知に変えた瞬間に楽しさを見出せる限り、続けられると思います。情報工学科出身/F.A・研修の教え方が丁寧で、全体的に理解しやすいと感じました。・Windowsフォームのアプリケーションを作成する作業はやりがいを感じました。書いたプログラムが想定した動きをしたからです。・毎日少しずつでも勉強しようと思います。・将来的には幅広く様々な事を出来るようになりたいと考えています。新入社員研修2新入社員研修も順調に進んでおります。用いて、本格的なプログラミング研修に入ります。複数の言語を用います。弊社でも、新入社員研修が始まりました。IT技術の習得は、データベースの理論と実際の構築、仮想環境の構築、Java研修と盛りだくさんです。学生から社会人になりソフトウェア開発に実践的にとり組むための研修だけでも彼らにとっては大変なものです。研修はその次の工程で学びます。我が社の頼もしい人材です。