見出し画像

【SEを目指す若手エンジニアへ】成長の秘訣!

エンジニアに需要が高まる中で、エンジニアとしてキャリアを築き、いち早く成長したいと考えている皆さん。
キャリアステップとしてプログラマー(PG)→システムエンジニア(SE)を目指したい皆さん。
システムエンジニア(SE)としてさらに成長したい皆さん。
本記事が、そんな方々の手助けになれば幸いです。

そもそもシステムエンジニア(SE)とプログラマー(PG)の違いは何なのか、というところから順に説明していきます。


➖システムエンジニア(SE)とプログラマー(PG)の違い

システムエンジニア(SE)は筋書きを作る仕事、プログラマー(PG)は筋書きにそって具体化する仕事

https://jna.co.jp/blog/knowledge/3560

一般的な定義では、SEはクライアントが何を求めているかを把握し、システム開発における全体の要件定義や設計、構築、管理上流工程を主に担当して、設計製造を含む開発工程全体に携わります。また、PGはSEが作成した仕様書をもとに、プログラムの設計やコーディング、テストやデバッグといった下流工程を担ってシステムの具体化を行います。

ただ、実際のプロジェクトでは、システムエンジニア(SE)がプログラマー(PG)の仕事を兼任することも多く、システムエンジニア全員が要件定義を行うわけでもありません。クライアントとの窓口となり、業務知識やシステム知識も豊富で設計を主領域とするシステムエンジニア(SE)、システム知識が豊富で詳細設計から製造を取り仕切るシステムエンジニア(SE)、そして豊富なプログラミング知識をもとに製造工程で活躍するプログラマー(PG)、といった役割分担が行われてプロジェクトが進んでいきます。

その意味では、プログラマー(PG)は詳細な仕様書をもとにコードを書き、バグを修正し、動作確認を行う人を指し、それ以外のプロジェクト全体にかかわる幅広い範囲の業務をカバーするのがシステムエンジニア(SE)とも言えます。

➖SEとPGの年収とキャリアパス

SEの場合、PGの業務を兼任することもあり、より幅広い知識や技術が必要になります。また、SEは要件定義や設計、管理など幅広い業務を担当するため年収が多くなります。
SEとPGには需要にも差があり、サイトによっては案件数に5倍以上の差があることも。
とはいえ、IT関連企業は常に人材不足に悩まされているため、どちらも将来性のある職業です。
SEとPGは仕事内容が異なることもあり、キャリアステップとしてPGからSEを目指す方が多くいらっしゃいます。

➖エンジニア共通!成長する人の特徴

・技術が好き、楽しいと思える人
・他者への貢献ができる人
・ロジカルな思考ができる人

最も重要なのは、技術そのものが好きなことです。
技術の進歩は凄まじく、常にアンテナを張り、新しい情報を収集、学び続ける必要がありますが、嫌々ながら勉強することになると苦痛でしかありません。技術者として、好奇心を持って取り組めるかということは、エンジニアの成長に大きな差を生みます。

次に、SEとPGの違いでも見たように、プロジェクト内や同僚など他者が行っている仕事への気配りや協働姿勢があるかないかで、キャリアの方向性が大きく変わります。身近な範囲でも人の役に立とうという動きをするか、個人として動いて自らの範囲を限定するか、で成長が大きく変わることになります。タスクやナレッジ(知識)の共有、後輩の育成など含め、どんなジャンルでも良いので他者の役に立とうとする姿勢が重要です。

最後に、プログラムの設計はもちろんのこと、要件定義はさらに高度なロジカルシンキングが求められます。現時点では、コンピュータが明確なロジックしか受け付けないため、曖昧な人間の考えを、抜け漏れダブり無く設計仕様に落とし込み、実装でもバグを生まないために高度な論理性が求められます。

➖SEを目指す若手エンジニア向け!成長するためにやった方が良いこと

①目標設定

効率的に成長するためには目的意識を持つことが重要です。
若手のうちは、簡単なタスクを割り振られることも多いですが、目の前課題を淡々とこなしているだけでは大きな成長は見込めません。
目的や目標が定まっていれば、戦略的にスキルを習得していくことができ、タスクへの向き合い方も変わります。
目標を立てる際に、長期的な目標とは別に、具体性のある短期的な目標を設定することをおすすめします。例えば、3カ月以内に資格を取得する、1年には○万円年収をアップさせる…などです。

適切な目標設定が難しい場合は、先輩や上司にアドバイスをもらうこともおすすめです。目標があることで何をすれば良いのか、努力の方向性が明確になります。

「長期的な目標」と「短期的な目標」を具体的に設定しよう。


②アウトプット

インプットの段階では知識はほとんど定着していないため、記憶の定着や頭の整理のためのアウトプットの段階が必要です。
アウトプットとは、実際に手を動かしたり人に伝えたりすることでより深い理解を得ることです。学んだ知識や技術、自分の考えを文章やプログラミングでまとめて表現することを習慣化することが大切です。
インプットした知識は、なるべく時間を空けずにアウトプットするほうが、知識定着において効率が良いです。学んだことは常にメモを取るようにすること、そこに自分の言葉や見解を交えて整えたら、それだけでも記事が完成しスムーズにアウトプットできるようになります。
アウトプットすることで、同時に文章力が鍛えられるので、仕様書や報告書、マニュアルなどのドキュメントを適切に作成することにも繋がり、技術力と同じくらい必要になる能力を身につけることができます。

また、若手の場合、アウトプットすることで他の人からフィードバックを受けることができたり、アウトプットするだけで評価されたりすることも多いので積極的な外部への発信をおすすめします。

「インプット→アウトプット」の手順は知識定着に必要不可欠で、早ければ早いほうが良い!
学んだことは常にメモを取るようにして、こまめにアウトプットしよう。


③苦手分野を作らない、得意な分野を作る

初めてのことに取り組むと難しく感じ、「苦手」だと思ってしまうこともあるかもしれません。しかし、いきなり「得意」になることはそうありません。
とくに若手のうちは学ぶことがほとんどで、できないことに多く遭遇するでしょう。ものごとを「苦手」に分類するのではなく、とりあえずやってみる、「伸びしろのある分野」だと考えて取り組むことが大切です。

好奇心を忘れず、常に新しく変化していく技術に食らいついていく意識を持つことで、成長し続けられるエンジニアになることができるでしょう。

「苦手」は「伸びしろ」。好奇心を忘れずに。


いろいろ紹介させていただきましたが、エンジニアとして成長する人は、何よりも技術が好きな人。
自分のためにも、会社のためにも、世間のためにも、日々目まぐるしく進歩し続けるIT業界で活躍できるエンジニアになれるよう、貪欲に取り組んでいきましょう。


▼採用情報

▼新卒情報はWantedlyで


この記事が参加している募集