![見出し画像](https://assets.st-note.com/production/uploads/images/140076762/rectangle_large_type_2_98c841d9ce4426ff64311c95ee6aeaef.png?width=1200)
SIerエンジニアのキャリアアップのためのスキルとテクニックを考える
「SIerで求められるスキル」「SIerでステップアップするには」「SIerで出世するには」「SIerでのエンジニアの生存戦略」の4つのテーマで、エンジニアがSIerで生きていくポイントを考えてみました。
1. SIerで求められるスキル
技術スキル
プログラミング言語:
Java:SIerの多くのシステムで使われており、Webアプリケーションやエンタープライズ向けのシステム開発に適しています。例えば、ECサイトの注文処理システムや社内の在庫管理システムで使うシーンなんかがよくある事例です。
Python:データ処理や機械学習の分野で特に重宝されています。顧客のデータ分析プロジェクトや自動化ツールの開発に向いています。たとえば、データクリーニングやビジネスレポート生成を自動化するプログラムなんかも作れます。
ネットワーク知識:
TCP/IPプロトコル:会社内外のシステムがどう接続され、データがどうやり取りされているかを知るための基本です。メールやWebアプリケーションの通信にも欠かせない知識になります。ファイアウォールを使って外部からの不正アクセスを防ぐ技術も、初心者にも必須の分野になるかと思います。
クラウド:
AWS (Amazon Web Services):企業のシステムがAWSでホストされているケースが増えています。例えば、静的なWebサイトのホスティングや、EC2でサーバーを立ち上げて、アプリケーションを実行するなどが多く見受けられます。
クラウドは当然AWSに限りませんが、(正確なデータではありませんが)やはりAWSが多く次いでAzureが多い印象です。AWSかAzureのどちらか片方に詳しくなっておけば「Azureを扱うのは初めてだけど、これはAWSで言ったらあの機能か…」みたいな感じで応用がきく分野だと思います。
ソフトスキル
コミュニケーション:
オンラインミーティング:今やオンラインミーティングは多くの企業で常識になったと言えます。Zoom、Microsoft Teamsなど企業ごとのポリシーで使い分けられ、日常のちょっとした会話からプロジェクトの打合せまで様々なシーンで登場します。
プロジェクトの打合せでは、画面越しに技術的な内容を簡潔に説明することが求められます。たとえば、Zoomのブレイクアウトルームでチームメンバーに進捗を共有し、タスクの優先順位を決めたり…といった使い方が頻繁に行われています。
プロジェクト管理:
Trelloの活用:Trelloを使えば、タスクボードを使い、プロジェクト全体の進行状況を可視化できます。例えば、タスクを「To Do」「In Progress」「Done」の列に振り分けていくことで、誰が何をしているのかが一目で分かるようになります。
ここではTrelloを例にあげましたが、もちろんどこのSIerでも使われているわけではありません…。こういった管理ツールは、社内で活用を促す立場になるとみんなから喜ばれます。
2. SIerでステップアップするには
専門性を磨く
得意分野を見つける:
データエンジニアリング:データの収集・加工・分析のプロセスを担うエンジニアです。例えば、日々のログデータを集計し、売上の傾向を可視化するダッシュボードを作るなどの作業が含まれます。
資格を取得する:
AWS認定クラウドプラクティショナー:クラウドの基本概念を理解し、AWSのサービスを使ったインフラ構築に関する基礎知識が身に付きます。
AWSでもAzureでも、クラウドの資格を持っておくと役に立つシーンはきっとあります。それに資格取得の報奨金を出してくれる企業も多いと思います。
リーダーシップを育む
プロジェクト経験を積む:
小規模プロジェクトのリード:例えば、システムの部分的な改善プロジェクトでリーダーを務めることで、チームをまとめ、目標を達成する経験が積めます。
金額や人数は小さなものでも全く問題ないです。まずは1つでも小さな経験が、社内の実績や自分のちょっとした自信につながります。
ビジネス視点を持つ
クライアントの課題を知る:
業界レポートを読む:クラウド導入のトレンドやAI技術の普及に関するレポートを読むことで、クライアントが抱える課題や需要を理解できます。知らないことばかりであまり理解できなくても、キーワードをなんとなく拾い続けることで、ユーザーさんとの会話や気づきにつながります。
3. SIerで出世するには
経営視点を身につける
プロジェクトの収益に責任を持つ:
予算管理:プロジェクトの予算オーバーが生じないように、リソースの配分やコストの見積もりを計画することが大切です。例えば、ベンダーに見積もりを依頼し、契約内容を確認するなどの作業が必要です。
これも小さなプロジェクトでまずは1つでも経験を積むことでピンとくると思います。予算に対する責任や、社内外に説明する責任が求められます。
プロジェクト成功率を上げる
モニタリングを強化する:
進捗ダッシュボード:ExcelやGoogleスプレッドシートでタスク進行状況をリスト化し、グラフで進捗を可視化するなどの方法で、定期的に確認しましょう。
品質を重視する:
コードレビュー:ペアプログラミングやコードレビューでバグや設計上の問題を早期に発見し、プロジェクト全体の品質を向上させます。例えばGitHubを使っている環境なら、プルリクエスト機能で他のメンバーのレビューを受けるのがおすすめです。
ネットワークを築く
社内で協力する:
他部署と連携:プロジェクトが他の部署とも関係する場合、スムーズな連携のために積極的なコミュニケーションが重要です。例えば、マーケティングや営業部門と共同でユーザー調査を行うと、より価値あるシステム提案が可能です。
4. SIerでのエンジニアの生存戦略
スキルを幅広く持つ
継続的に学ぶ:
オンラインコース:CourseraやUdemyなどで興味のある技術の基礎から応用まで学べます。Pythonを勉強しようと思ったら基本から機械学習まで、目的に合わせて幅広くコースが用意されています。
幅広い技術を得る:
データベースとプログラミングの組み合わせ:バックエンドシステムでよく使われるSQLの基本を抑え、JavaやPythonと組み合わせてデータの検索や加工を行うなど、データ分析に役立ちます。
柔軟な対応をする
プロジェクトの変化に対応する:
スプリントごとの改善:アジャイル手法のスプリントでは、各サイクルで改善点を見つけ、次のスプリントに反映します。例えば、過去のスプリントで納期に遅れた原因を調べて、タスクの優先順位を見直すことで、遅延を防ぐ策が考えられます。
自己ブランドを築く
得意分野を強化する:
Noteやブログで発信:特定の技術分野に関するTipsや事例を記事にまとめることで、他のエンジニアからフィードバックをもらえます。例えば、自分のプロジェクトでの経験や技術スタックの選び方を紹介すると、読者の関心を引くことができます。(最近これを強く思うようになり、私もnoteで発信してみたくなりました…。)
コミュニティに参加する:
勉強会:オンラインやオフラインで開催される技術系の勉強会で他のエンジニアと交流し、知識をシェアする場を見つけましょう。技術について深く議論することで、新しい視点や技術への理解が深まります。
まとめ
トレンドを取り入れたスキルやコミュニケーション力を強化し、実際のプロジェクトでの経験を通じて自分のスキルセットを広げていくのがなによりだと思います。勉強会やオンライン学習を活用して他のエンジニアとも一緒に成長し、学びの楽しさを分かち合うと、知識スキルの向上だけではなく精神的にも豊かなキャリアへ近づくと思います!