SEの転職

公開日:2019/02/25  更新日:2019/03/06

《IT関連企業編》新人SEがまず身につけておきたい7つのコト

デスク周りのイメージ

システムエンジニア(SE)の仕事は、プログラミングのみならず、ハードウェア、データベース、ネットワークなど、ITの知識や技術が要求されます。また、クライアントと接する機会が多いため、コミュニケーション能力が求められます。そして、クライアントとの間で交わした納品日に間に合うように着手しなければならないなど、マネジメント能力も問われます

このように、SEの仕事は要求されるスキルも高く、心身ともに大変で決して楽にこなすことのできる仕事ではありません。しかし、誰しも初めは新人の頃があるはずです。現在はマネージャーやリーダーとして活躍するベテランSEでも、新人の頃はさまざまな経験を通じて学び、成長につなげてきました

今回は「新人SEでも活躍するために身につけておきたい7つのこと」を紹介します。最初は分からないことも多く、苦労することもたくさんあると思います。筆者自身の経験を振り返りながら、「これらのことを身につけておけば、新人SEでも活躍できる」と思うことを紹介します。

基本情報処理技術者試験の知識

勉強中のイメージ

基本情報処理技術者試験とは、経済産業省が実施する「情報処理技術者試験」の1つで、合格すると「基本情報処理技術者」として認定されます。そして、多くのシステム会社では、この基本情報処理技術者試験に合格することが求められます。

SEとして仕事をするうえで、最低限のITの知識や技術が必要です。そして、最低限のITの知識を身につけていることを証明するのが、基本情報処理技術者試験に合格することなのです。

基本情報処理技術者の試験ではIT関連の用語やプログラムの設計に必要なアルゴリズム、プログラミング、データベース、ネットワークとなど、情報処理技術者に必要な基本的な知識やスキルも試験範囲となっています。また、IT関連の知識や技術のみならず、簿記、経営、マネジメントの知識も求められます。よって、この試験をクリアしているということは最低限のITに関する知識を身につけていることを認められているということなのです。

IT関連企業に就職して最初に苦労することは、「プログラム設計書に書いている内容がわからない」ということです。特にSEの仕事となると、システム設計書やプログラム設計書を書くことが求められるため、IT関連の用語やアルゴリズムなどを理解しておく必要があります。

筆者が新人SEとして現在の会社で働きはじめた最初の頃、任されたプログラムの設計を四苦八苦しながら行ったことを覚えています。また、先輩との設計書のレビューでは、手厳しい指摘を受けることも多々ありました。しかし、それでも何とかついていけたのは、新人SEとして就職した最初の年に合格した基本情報処理技術者試験の勉強を行っていたため、先輩たちが話す用語や内容を理解できたからです。

特に、基本情報処理試験の勉強を通じて身につけたアルゴリズムの知識は、プログラム設計において非常に役立ちました。もし基本情報処理試験の勉強をしていなければ、「処理の流れ」を考えることができず、プログラム設計でもっと大変な思いをしていたことでしょう。また、会議や先輩たちとのやり取りの中で会話についていくことが出来たのは基本情報処理技術者試験に登場する用語を理解していたおかげです。

おすすめのWebサイト

《基本情報技術者試験の解説サイト》 基本情報技術者試験ドットコム

プログラミングのスキル

プログラミング中のイメージ

先の基本情報処理技術者試験でも求められるスキルの1つとして、JAVA、C言語、COBOLなどのプログラミングのスキルがあります。

新人SEがまず任せられる仕事としては、プログラミングと単体テストです。プログラミングといってもいきなり新規のプログラムの作成を任されるわけではなく、多くは既に作成されたプログラムの簡単な修正を任されます

このとき、必要となるのが「書かれたプログラムを読み取る力」です。プログラムを修正するにあたり、どのような処理が行われており、それを把握することができなければプログラムの修正を行うことができません。詳細設計書とプログラムソースコードを見ながら処理の流れを把握し、適切にプログラムを修正することが必要です。

その際、「流れ図」の作成をマスターしておけば、プログラムの流れを把握することができます。「流れ図」とは「フローチャート」と呼ばれており、システムやプログラムの処理の流れを、記号を使って図式化したものです。図式化していくことでデータの流れや推移を第三者でも分かるようになっています。「流れ図」に表すことでプログラムの流れを把握するだけでなく、どこを修正すればよいのかが判断しやすくなります。

筆者が新人SEの頃、プログラムを読み取り、処理の流れを把握するのに苦労したことがあります。現場で対応できるだけのプログラミングスキルが身についていませんでした。このため、まずはプログラムを読みながら「流れ図」を書き、処理の流れやプログラム構造を理解し、スキルを高めていきました

システムエンジニア(SE)の仕事内容と必要なスキルとは?

【独学だと続かない人へ】プログラミングスクール比較9選!多忙な社会人や初心者の方にもおすすめ!

Officeのスキル

エクセルのイメージ

SEにとってoffice(Excel、Word、PowerPoint)のスキルは必須です。

Wordは要求定義フェーズでは要求定義書を記述するツールとして利用されるなど、ドキュメント作成ツールとして用いられます。そのほか、クライアントとの打ち合わせ結果をまとめる議事録の作成に使われるなど、Wordは様々な場面で用いられます。

Excelはスケジュール管理、テストにおけるバグの発生率など、データを分析する場合に多く活用されます。他にも詳細設計書などのドキュメントの作成や、結合テストやシステムテストなどのテストデータの作成にもExcelは活用されます。これらのデータを分析する際には、SUMやCOUNTといった関数を多く利用します。このため、よく利用するExcel関数を覚えていた方がよいでしょう。

PowerPointはクライアントへのシステム提案や、要件やシステム概要の確認をするときに必要不可欠です。主にPowerPointは、クライアントに対してプレゼンテーションや説明を行うための補助ツールとして使います。このため、概略図を描くなど、描いている内容を1枚でクライアントに分かってもらうための資料を作成するスキルを磨く必要があります。このようにSEの仕事をするうえで、Excel、Word、PowerPointのスキルは必ず必要となってきます。

筆者は新人SEの頃、Excel、Wordのスキルは持っていましたが、PowerPointでの資料作成の経験がありませんでした。入社時の研修でPowerPointの使い方を学びましたが、基本的な操作しか行わず、仕事でPowerPointを使いこなするようになるためにはまだまだ勉強が必要でした。このことから、上司や先輩たちが作った資料をもとにPowerPointでの資料の作り方を学び、使いこなせるようになるために時間を費やしました。

現在ではExcelやWordに加えて、PowerPointのスキルが、SEの仕事を行う上で、大いに役にたっています。

コミュニケーション能力

プレゼン会場のイメージ

SEの仕事を行う上で、クライアントや関係者とのコミュニケーションは欠かせません。クライアントへの提案を上手に説明できるかどうか、また、関係者へのシステム開発の進捗状況を上手に説明できるかどうかで、SEとしての人生が大きく変わってきます。また、クライアントの要望などを理解し、他の関係者に設計に必要な情報を正しく伝えることが求められます。

例えば、クライアントから受注したシステムの開発の際、顧客からヒアリングした要件をSEが勘違いをし、誤って間違った情報をチームに伝えたとします。そのまま開発したらどうなるでしょうか?当然、クライアントの要求と異なるシステムが開発されているため、クライアントはシステム会社にクレームを行うでしょう。

その一方で、クライアントとのコミュニケーションを通じて、クライアントがシステムに要求する業務の背景を理解して機能として提案することで、クライアントは提案を行ったSEを評価するでしょう。

このように、コミュニケーション能力は、SEとして成功するためには必要な能力のため、これを磨くことが必要となります。

情報を総合的に分析する能力

情報を分析するイメージ

ビジネスの世界では、新聞やWebの情報のみならず、顧客からの情報や日常のちょっとした気づきなどの情報を俯瞰し、それを分析して何等かの結論に導く能力が求められています。ITの世界も同様で、進捗状況の判断やバグの原因調査などにおいて、情報を俯瞰し、分析する能力が求められます

例えば、あるシステムを実行した結果、不明の数値が表示されているとした場合に、その原因がプログラミングの不具合から生じているのか、データの不整合から生じているのかを調べる必要があるとします。このとき、SEは不明な数値を出力するプログラムの仕様を解析し、入力元のデータと表示された結果をプログラム仕様と照らし合わせながら解析を行います。その際に必要となる能力が、“情報を総合的に分析する能力”です。

不具合の内容は、「すぐに原因が分かるもの」から、「原因が検討もつかないもの」まで千差万別です。特に「原因が検討もつかないもの」については、発生した現象やデータ、プログラム仕様の情報をもとに総合的に分析しながら、考えられる原因を絞り込んでいきます。そして、絞り込んだ結果をもとに、さらに分析を行いながら真の原因を特定していきます。

もちろん、原因を特定した後は、不具合が発生しないようにプログラムやデータを修正する必要があります。特にプログラムを修正する場合は、他の処理に影響を及ぼさないように修正しなければなりません。そうしないと、新たなバグを生む原因となるからです。この時も、他のプログラムの仕様を確認しながら総合的に分析し、バグを生み出さないように修正方法を考えます。

このように、SEは必要な情報を収集、俯瞰、分析、判断し、解決に導かなければなりません

マネジメント能力

団結するイメージ

新規のシステム開発において、IT関連企業はクライアントと請負契約での契約を締結することが一般的です。そこで、SEのスケジュール管理は非常に大切なことです。そのため、クライアントから受注したシステム開発を納期に間に合うように行い、プログラムや設計書をクライアントに納品しなければなりません。納期に間に合わないと、クライアントからのクレームや会社の信用問題に繋がります。このため、SEは納期に間に合うようにスケジュールを組み立て、スケジュールを管理するマネジメント能力が求められます。

また、SEは生産性を管理する業務も行います。IT業界では生産性を数値に表すのは難しいとされていますが、SEは蓄積されたデータをもとに目標となる数値を算出して、マネジメントしなくてはなりません。

この時に必要になるのが過去に開発したプログラム開発の各工程(要求分析、基本設計、詳細設計、単体テスト、結合テスト、総合テスト)でかかった工数(時間)です。過去の開発で蓄積した工数のデータをもとに、受注するシステム開発の規模や工数を見積り、妥当なスケジュールを作成します。プログラム開発に必要な期間よりも短いスケジュールでクライアントと合意するならば、その後の開発は大変なこととなります。開発に妥当なスケジュールをクライアントに提示するためにも、過去のシステム開発の結果をもとに生産性の数値を算出することは重要なのです。

実は、筆者はマネジメントで失敗した経験があります。当時、複数のクライアント(クライアントAとクライアントB)の案件を抱えており、そのスケジュールや納期はそれぞれ異なっていました。その時私はクライアントAとクライアントBの納期を勘違いし、逆の日程で覚えていました。その結果、時納期に間に合わせるためにチーム内の他のメンバーに助けてもらうことになり、チームに大きな負担をかけてしまいました。

このように、SEにはスケジュールの管理など、マネジメントするスキルも必要となってきます。

モチベーション

やる気

どの職種にも必要なことですが、SEは特にモチベーションが仕事に大きな影響を与えます。なぜなら、SEの仕事はプログラミングを含めた多くの工程は人間が考え、作業を行うことで完了するからです。

当然、モチベーションは集中力にも影響を与え、そして、生鮮性にも影響を与えます。もちろん、集中力の欠如は設計やプログラミングの品質などにも影響を与えかねません。

特に要件定義などの初期工程において、モチベーションの欠如でクライアントの要望を曖昧に理解したために、システムテストの段階で大幅にシステムを修正しなければならないミスが出るほど、取り返しのつかないことになることもあり得ます。要求分析や要求定義の工程でクライアントとの打ち合わせや会議の際、SEのモチベーションが低ければクライアントにそれが伝わり、不信感を与えてしまいます

また、モチベーションはSEとしての成長にも大きな影響を及ぼします。一般的に成長するSEは隙間時間の活用が上手いです。例えば、成長するSEは、通勤時間を活用してプログラミング書や技術書などを読み、スキルを高める努力をしています。

また、成長するSEは、今与えられている仕事に「異議」を見つけます。例えば、「将来はITコンサルタントとして活躍したい」を考えているとします。ITコンサルタントというと一見プログラミングやプログラム設計は関係ないように見えるかもしれません。しかし、クライアントに雄弁に語る技術が長けていたとしても、ITスキルを裏付けるシステム設計技術やプログラミング技術がなければ、クライアントの要求を実現した「きちんと動くシステム」を構築することはできないのです。

一見根性論に捉えられがちですが、そもそも当事者のモチベーションが低いと、それは周囲に伝わります。その結果、周囲の協力や理解も得られなくなります。また、今やっていることは、一見将来には関係なさそうに見えるかもしれません。しかし、将来のビジョンを実現するために、今仕事で取り組んでいることが自分の土台となっていることはよくあることです。このように、「やる気」は将来の自分をつくる下支えとなるのです。

若手システムエンジニアを転職させる悩みとは?

まとめ

成長のイメージ

誰でも新人の頃は不安でいっぱいです。筆者も、新人SEの頃は右も左も分からず、仕事を進める上で不安でいっぱいでした。しかし、何も心配はいりません。

そして、SEとして働き始めた頃は大変な思いをたくさんしました。上司や先輩の話す専門用語の意味が分からず、何度もその意味を確認したことがありました。しばらくして、周りが話す専門用語に慣れてきたと思ったら、次に私を襲ったのは経験したことのないプログラミング言語のコーディングチェックでした。また、クライアントから依頼を受けた内容がチームにうまく伝わらず、大幅な修正を余儀なくされたこともありました。今振り返ると、大変なSE人生を歩んできたと思います。

先輩たちの立ち振る舞いや仕事の進め方を見て、クライアントとのコミュニケーションの取り方や、スケジュールの立て方や管理の仕方、プログラム設計上の注意点など、勉強になることが多かったです。そして、先輩から学ぶことを少しずつ自分のものにし、やる気、そしてSEという仕事を楽しむ事で乗り越えてきました。

SEとして成長していくためには、日々の勉強もそうですが、先輩や同僚に相談し、アドバイスをもらいながら、ストレスを抱え込まずに前向きに仕事を進めていく事が大切です。どの仕事でもそうですが、SEの仕事もストレスが溜まります。特にクライアントの要求とスケジュールの板挟みになることもしばしばです。しかし、そんなときにこそ、先輩や同僚に相談し、時には頼ることが必要です。

これから新人のSEとして活躍するためにも、今回ご紹介した7つのコトを実践して身につけてみてはいかがでしょうか。SEとしての成長につながるはずです。


20代におすすめの転職エージェント5選

若手求人強い《マイナビエージェント×IT》 >> 公式サイトへ

IT・Web・ゲーム《ギークリー》 >> 公式サイトへ

未経験OKの求人有り《ワークポート》 >> 公式サイトへ

IT・WEBに強い《レバテックキャリア》 >> 公式サイトへ

業界最大手《リクルート》 >> 公式サイトへ

システムエンジニア(SE)の仕事内容と必要なスキルとは?

【独学だと続かない人へ】プログラミングスクール比較9選!多忙な社会人や初心者の方にもおすすめ!

《Web業界》の新人エンジニアがまず身につけなければいけない姿勢やスキルとは?

-SEの転職
-, , ,

転ストおすすめの転職エージェント

IT/WEB業界に強くとにかく内定率が高い!
《レバテックキャリアの公式サイト》

レバテックキャリア

大手エージェントの強みを生かして豊富な求人の中から転職先を選べる
《マイナビエージェント×ITの公式サイト》

マイナビエージェント×IT

豊富な非公開求人と業界を熟知した担当者が転職を強力にサポート
《ワークポートの公式サイト》

ワークポート

圧倒的な求人数の多さで転職先の幅が広がる
《リクルートエージェントの公式サイト》

【リクルートエージェント】

納得感のある転職」の実現を大切にしている人材紹介・転職エージェント
《type転職エージェントの公式サイト》

非公開求人ならtypeの人材紹介

関連記事

ノートパソコンのイメージ

意外と知られていないシステムエンジニアの仕事とは?

Contents1 システムエンジニアの仕事とは2 システムエンジニアの具体的な仕事内容とは?2.1 ▼要件定義~設計2.2 ▼プログラマーの仕事を管理する2.3 ▼テスト~納品2.4 ▼システム環境 …

面接のイメージ写真

「最後に何か質問はありますか?」に先輩たちはこう答えた。逆質問をまとめました!

「最後に何か質問はありますか?」 面接官からの問に、思わず言葉に詰まった経験はありませんか? 今回は現役の先輩エンジニア・SE・プログラマーにアンケートに答えて頂いた結果を公開します。 《質問内容》 …

様々なデバイスの画像

《Web業界》の新人エンジニアがまず身につけなければいけない姿勢やスキルとは?

Web業界は移り変わりが激しい業界であり、なおかつ多くの事を学び続けなければいけない業界です。ただ受け身な姿勢でいてはキャリアアップもスキルアップも望めません。どのような姿勢が必要で、どのようなスキル …

ミーティング中のイメージ

《面接官から見た》未経験者がプログラマーとして採用される7つのポイント!

この記事を読んでいる皆さんは、「未経験なのにプログラマーやSEを目指すのは所詮無理・・・」 「プログラマーって理系出身で特定の人(PCオタク)が目指す職種」 というイメージをお持ちではないですか? も …

様々なスキルのイメージ

システムエンジニア(SE)の仕事内容と必要なスキルとは?

Contents1 活躍の場は幅広い2 誰のためにシステムを作るか2.1 《開発システムエンジニア》2.2 《社内システムエンジニア》3 どんなシステムを作るか?3.1 《ソフトウェアを開発するソフト …

ページのトップへ戻る