次世代のエンジニアを目指す人に伝えたいこと(IT業界を15年経験してみて) 

#はじめに
【TechTrain】 アドベントカレンダーも中盤に入ってきました。
IT業界を15年経験してきて自分なりに語れることはできるので、
次世代エンジニアの方々に伝えたいこと(伝えられること)をいくつか書いてみます。

**１．IT業界をざっくり説明**
**２．経験しておいて良かったこと**
**３．仕事をするうえで大事なこと(自分が大事にしていること)**


###自己紹介
2019年12月時点で、IT業界15年目のフリーランスエンジニアです。
10年間受託開発メインの開発会社にて会社員を経験、2014年9月からフリーランスをやっています。
分野としては、医療・製造・販売・物流・人事を主に経験しています。
業務系システム、基幹系システムの経験が長いです。
副業としてもセールスエンジニアをやってます。
2児の父です。PTA活動も楽しくやっています！

#次世代エンジニアに伝えたいこと

##１.IT業界をざっくり説明

IT業界と一口に言っても、多様な業界、職種に溢れています。
自分のやりたいこと、キャリアパスを考える前に、IT業界全体をざっくり知ることは大事だと思います。
(僕は30歳くらいまで意識せずにやっていましたが、早く知っておくに越したことはないかなと・・・)

以下、僕の観点でまとめました。

####1.1 業界について
IT業界は、以下の感じで分けられるかと思います。
(間違っていたり、足りない部分もあると思うのでそこはご了承をお願いしますｍｍ)
　・メーカー：
　　　例）NEC、富士通、ソニー、東芝、日立、IBM、Apple、トヨタ、日産など
　・ソフトウエア：
　　　例）マイクロソフト、オラクル、トレンドマイクロ、サイボウズなど
　・SI・コンサル：
　　　例）NTTデータ、野村総合研究所、日本IBM、アクセンチュアなど
　・クリエイティブ（インターネット・Web）：
　　　例）Google、サイバーエージェント、Amazon、DeNA、Facebookなど

ちなみに僕が経験している業界は、メーカー(医療系システム、販売系システム、物流系システム、製造系システム)、SI・コンサル(基幹系システム)、クリエイティブ(人事系システム)です。

####1.2 役割と職種について
上記の業界の中で、
役割を持った人がチームを組んでプロジェクトを回すわけですが、
役割を持った人の職種としてはざっくり以下となります。

　・提案、営業：
　　　ITコンサル、セールスエンジニア、カスタマーサクセス
　・要件、管理：
　　　PM(プロジェクトマネージャー、プロダクトマネージャー)、ディレクター
　・設計：PL(プロジェクトリーダー)、SE(システムエンジニア)、デザイナー
　・実装：プログラマー
　・環境(ネットワーク、セキュリティなど)：
　　　ネットワークエンジニア、セキュリティエンジニア、
　　　データベースエンジニア、ミドルウエアエンジニア
　・保守・運用：
　　　サポートエンジニア、カスタマーエンジニア
　・その他：
　　　研究開発、品質管理、社内SE(社内SEは業務範囲が広いのでその他の括りで)
　
####1.3 商流について
上記までの業界、職種は＜横の軸＞(領域と領域の中の役割)を表していますが、
併せて大事なのが、「商流」という＜縦の軸＞です。
　　
以下、IT業界における商流です。


 ・発注元：メーカー、各大手企業、中小企業、
　　　　　ベンチャー(情報通信業、製造系、物流系、金融系、保険系、クリエイティブ系など)
　↓
 ・元請け：大手sIer、大手コンサルティング、大手エージェント、
　　　　　中小企業(受託)、ベンチャー
　↓
 ・2次請け：元請け大手の子会社、中小企業(受託)、中小規模エージェント
　↓
 ・3次請け：中小企業(ses )、中小規模エージェント
　↓
 ・4次、5次・・・・・これ以降は3次請けの仕組みと変わらず。

商流が上流であれば提案・要件など生み出す側、下流に行くと受ける側となります。

自分のやりたいこと、キャリアを考える時に、とても大事なポイントなので、
今やっている仕事(会社)の商流はドコかを意識することもとても大事かなと思います。

ちなみに僕は、会社員時代(中小受託)は、元請け～2次請け、フリーランスでは、元請け～4次請けまで経験しています。

##２．経験しておいて良かったこと
僕は、今はプロジェクト管理や、ベンダー管理、顧客折衝、要件、基本設計を中心とした業務を行っていますが、プログラマーから徐々にキャリアを積んできました。
15年の経験を振り返って、こういう経験は今も活きているなと感じているものを紹介します。
　
####2.1 役割(職種)について
役割は、チャンスがあれば全部やることをお勧めします。
僕の場合：プログラマー→システムエンジニア→PL→PM
　　　
開発会社だと、プログラムを作ることから始めます。
徐々に、システムの詳細設計、機能設計、要件定義、プロジェクトの管理と、
業務の幅が広がっていく訳ですが、少なからず自分の好きな役割、やりやすい役割が出てくると思います。
ですが、チャンスがあれば全てのポジションを経験してみることが大事かなと思います。
プログラマー⇒PMまでやれば、
次のステップ(コンサル、カスタマーサクセスなど)に行く事も、
またはPL、システムエンジニア、プログラマーに戻ることも簡単なので。

####2.2 開発について
言語は、流行り廃りがあるので、その時々で学べば良いと思いますが、
開発において普遍的なものと思うものを挙げます。
(業務系システム経験がメイン、サーバーサイド経験がメインなのでそちら寄りです)
　＜技術系＞
　　・SQL、DB周りの知識
　　・ファイル読み書き
　　・Log
　　・通信周り(FTP、SFTP、SCPなど)
　　・非同期処理
　　・ユニットテスト
　　・バッチ処理
　
　＜その他＞
　　・ソース管理(Git、svn、VSSなど)
　　・チケット管理(backlog、redmineなど)
　　・設計書(詳細設計書、IF設計書、システム構成図、DB設計書など)
　　・チーム開発(WBS作成、スケジュール管理など)
　　（これらは当たり前ですね・・）
　　・運用管理ツール
　　・ETLツール
##３．仕事をするうえで大事なこと(自分が大事にしていること)
改めて振り返ってみて、仕事に対する姿勢、想いとして大事なことは何かと考えたときに、僕は以下の事を大事にしています。

　　・他人事ではなく自分事としてすべての仕事を行う
　　・作り手目線ではなく、使い手目線を心がける
　　・大きなゴールと小さなゴールを作る
　　・全体像を意識
　　・システムではなく、まずは業務を理解
　　・期限は守る(無理ならリスケ)
　　・即レスを心がける
　　・質とスピードのバランス
　　・自分を客観的に見る
　　・自分の意見はしっかり伝える
　　・相手の気持ちを理解し、行動する
　　・対話と信頼を比例させる
　　・配慮はしても遠慮はしない
　　・頼ることに責任を持つ
　　・感謝の心を忘れない

#さいごに
15年、IT業界を経験してみて一番感じることは、
「システムも結局は人と人の繋がり」が大事ということです。
システム(プログラム)は、手段であり成果ではありません。
(もちろん技術ありきの仕事なので、技術がある前提)
成果を出す為に、相手との会話、付き合い方、信頼が何よりも重要です。

次世代エンジニアの皆さんには、＜技術×人＞はセットとして常に意識して欲しいなと思います。

TechTrainでは、次世代エンジニアを心から応援してます。
僕もIT業界を盛り上げて、次世代に繋げていきたい思いがあり、お手伝いさせていだいてます。
困ったときに気軽に聞ける信用できる相手がいるってすごく心強いですよね。

現在、TechTrainを利用しているユーザーが経験を積んでメンター側に周り、
新しいユーザーを教えていくことによって、日本のエンジニアの技術は間違いなく上がっていきます。
明るく元気に楽しく仕事ができるIT業界にしていけたら最高ですよね。

以上、
ざっくりと次世代エンジニアの方々へ伝えたいことを書きましたが、
少しでも皆さんの参考になれば幸いです。

おしまい