エンジニアに興味を持たれているみなさんは、IT業界のエンジニアになるにはどのような能力が必要だと感じるでしょうか?
かくいう私も、大学まではコテコテの文系で、エンジニアになるまではプログラミングはもちろん、およそIT業界で働くのに必要なスキルは一切持ち合わせていませんでした。
そのため、IT業界への就職が決まった後には、嬉しい反面、本当に大丈夫なのか?自分でもやっていけるのか?といった不安な気持ちになる事も多くありました。
それでも入社後の研修や実業務を経験する事で、これまでに出来なかった知識やスキルが身に付き、エンジニアとして様々な現場で活躍できるようになって来ました。
今回は、私が大学の文系大学を卒業後、IT業界で仕事をしていく中で自分が変わった感じるポイントについてご紹介していきます。
■業務経歴の紹介
経験して来た業務によって、エンジニアとして習得する技術や知識は異なると思いますので、参考までに私の経験をざっと記載しておきます。
これまでの業務経験を経て学んだ技術としては、新人研修でJavaやJavascript、Cobol、HTML、CSS、SQLなどの基本的な言語教育とプログラムの開発研修を受けました。
私が受けた新人教育はざっと6ヶ月間で、その間にみっちりと開発に必要な知識や技術を叩き込まれました。
実際には6ヶ月間プログラミングの勉強をし続けた訳ではなく、アルゴリズムなどの基本的な座学やビジネスマナーなどの研修も詰め込まれたため、短期間で一気に詰め込み学習をした感じでした。
研修を終えた後は、自社のパッケージシステムを開発している部署に配属され、一定期間の開発実習としてJavaとJavaScriptをメインに開発作業を行ってきました。
その後は、開発に携わった製品の導入チームに配属されて顧客先でのシステム導入や稼働維持作業を経験しました。
後半は、製品開発と導入作業の両方を経て蓄積してきた知識と、人当たりの良さを買われて、顧客先での操作研修の講師や、展示会での説明員を任せてもらえるなど、業務上で様々な経験をさせて貰えました。
また、ちょっと変った経験としては、海外関連企業でのチェックリストや管理資料のドキュメント管理に関する技術支援を行ったこともあります。
繁忙期などは、他部署への技術支援や炎上プロジェクトの手伝いなどで何種類かの製品開発に携わる事もありましたが、基本的には同じ部署内で1つの製品に携わらせてもらい、技術力と製品に関する仕様理解、業務知識を向上させる事が出来ました。
1つの製品に対して様々な立ち位置で作業をさせて貰ったため、約10年ほどの短い期間内で、要件定義、企画、設計、開発、テスト、導入、稼働維持、操作研修講師やコールセンターなどのアフターフォローの対応などが体験できました。
上流工程から下流の工程まで満遍なく業務経験をつむ事が出来たので、エンジニアとしてはなかなか貴重な体験をさせてもらえたと思っています。
基本的に、エンジニアは配属されると、稼働維持担当者は客先で作業をし続け、開発部門の人は社内で長年開発を続けるというパターンが多いようですが、私は色々な作業を経験させて貰えました。
■IT業界の会社に入って、自分が変わったと思うポイント
それではここから、業務上の経験を通して私が学生の頃と変ったなと思う点についてご紹介していきます。
携わる業界や専門とする分野(システム開発/導入作業/保守/カスタマーサポート等)によって、習得できるスキルに差はあると思いますが、IT業界に入った事で変ったと感じている、私の個人的な変化について書かせてもらいます。
■開発技術/業務知識関連で身に付いたスキル
ITエンジニアのメインのスキルといえる開発技術や知識など、具体的に身に付いたスキルについて考えてみたいと思います。
1 開発技術
まず1つ目に自分が変わったと思うポイントは、開発技術が身に付いたことです。
こちらについては、ITエンジニアとして開発の仕事をする上で当然と言われてしまうかもしれませんが。最も分かりやすい変化の一つなので、あえて挙げさせて頂きました。
また、ITエンジニアはプログラミングが出来て当然と思われる方が多いかもしれませんが、サーバーをはじめとしたインフラ機器を用いた環境構築をメインでやられている方や、カスタマーサポート等の顧客対応を直接行う業務に当たっているタイプのエンジニアについては、
具体的には、私はエンジニアとしてシステム開発を行った事で、Java、Javascript、COBOL、HTML、CSS、SQL等を用いた開発技術を身に付ける事が出来ました。
一言で「開発技術」と言っても実に色々なものがありますが、私の場合は特に、実業務ではサーバー側でプログラムが動作する「サーバーサイド」型の業務アプリケーションシステムの開発を通して、JavaやJavaScriptに関する技術が身に付きました。
さらに、開発したシステムを顧客先に導入して保守作業を行った事で、データベースやSQLについても深く知る事が出来ました。
2 ハードウェア/ソフトウェアに関する知識
システム開発を行う為には、開発を行うハードやソフトウェアの組合せといった環境や、開発に使う開発支援ツール等の様々な情報を知っておく必要があります。
IT業界で仕事をする前は、コンピュータは何でも自動で計算してくれるイメージを持っていましたが、コンピュータやソフトウェアは、人間があらかじめ計算した処理や設定以上の事はしてくれません。
システムが動作する環境内のソフトウェアの組合せや設定値の内容によっては、ハードウェアやソフトウェアが正常に動作しないなどの問題に遭遇する場面も多々あります。
その為、ITエンジニアとって、自社で提供するITサービスに必要となるハードウェアやソフトウェアの種類や役割、設定値の内容に精通しておく必要があります。
また、システムの開発を行う際には、開発者自身で開発端末やテスト環境などの環境構築を行う場合も多々あります。
単に開発言語に関する知識だけでなく、開発に必要となる様々なハードウェアや開発支援ツール等のソフトウェアに関する知識が身に付き、ITエンジニアとしての自信に繋げる事が出来ました。
まとめ
今回は、文系からIT業界の会社に入って変ったと感じたポイントについてご紹介しました。
仕事についてからの伸びしろや身に付けるスキルについては、元から持っているスキルに左右されるので個人差があると思います。
私の場合には、実際に目に見える技術やドキュメント作成などのスキルというよりも、自分の物事に対するスタンスや考え方の面での変化の方が大きかった気がします。
理系の人からすると当然と思うことも多いかもしれませんが、特に以下の3つの点が最も大きな変化かもしれません。
・あたりまえの事を地道に調べて検証する、というスタンスが身に付いた。
・「物事を分かったつもり」で放置しない。自分で検証して目で見て判断する。
・正しい答えを導き出す為には、近道はない事を知った。
エンジニアは開発技術さえあればいいと考えがちですが、実際の現場では様々な能力を組み合わせて仕事を行う必要があります。みなさんも、開発技術だけでなく、補助的なスキルも併せて伸ばせるように意識しておくといいかもしれません。