LifeHack

1人前のシステムエンジニアになるために勉強した5つのこと

SE(システムエンジニア)になるための必須条件とは何でしょうか?

医者や教師と違って必須資格は存在しませんし、SEの肩書をもっている私でも改めて何を勉強したらよいか分からないのが実態です。

そもそもSEという職業について、友人や家族から「何をしているの?」ってきかれても、「システムを・・・う~ん」なんて感じで、結局うまく説明しきれませんよね。

ですが

「この人に聞けば何とかなる!」

「この人が作ったシステムは抜けが無い!」

「この人の説明はわかりやすい!」

なんて評価されている人と、そうでない人の違いが明確に存在するのが事実です

この記事では、そんな「一人前のSE」になるための勉強法や、取得するべき資格、読むべき本、知っているべきサイトをまとめています。

文系大学卒の自分が、様々な人の助けを借りて「なんとか一人で仕事ができるようになるまでやったこと一覧」を解説していきます!

はじめに:「心構え」的な話

全ての学習は「前提知識」を必須とする

どの学習をするにも、どんなスキルを身につけるにも、根本的に意識すべきなのが「前提知識」です。「そんなの当たり前だよ」「今さら何をいっているのか。。。」と思う方も大事なところなので、お付き合いください。

早速ですが、以下の文章を読んでみましょう。

統制勘定は簡単に言うと「 補助元帳に転記される際に自動的に総勘定元帳に転記される勘定のこと 」です。

https://it-biz.online/sap/accounting-code/

これは、本ブログでSAPシステムの設定方法について解説したときの内容の一部抜粋です。

正直言うと自分でも「不親切な説明だなあ・・・」と思いつつ、こう説明する以外に方法が思い当たらないものです。

とは言いつつ、やっぱりこの文章は、SAPを知らない方や、SAPを知っていても簿記の知識がない方にとっては何が何だか分からないですよね。

引用した説明文を理解するには、簿記の「補助元帳とは?」「総勘定元帳とは?」「転記とは?」「勘定とは?」が分かっていないといけません。

もっというと「自動的に」の文言すら、説明する側の勝手なイメージかもしれません。その点の事前共有が必要になったりするかもしれません。

前提知識が無いと何も分からない

あらゆる知識・ノウハウには、それを理解するための前提知識が必ず存在します。その前提の知識がないまま、先輩・上司に教えてもらおうとしても「結局何を言っているか分からない・・・」なんていう状態に陥りがちです。

「メモを取らないからだ」「理解しようとしていないからだ」という指摘――。確かにそれはそうかもしれませんが、私自身はメモを取って必死に理解をしようとしても、結局何も理解できない!(*_*; なんてことが日常茶飯事です。

仮に、メモを取って業務後に必死に勉強しても、前提知識がなければその知識・理解は「砂上の楼閣」です。つまり、その知識は1年後に忘れますし、何より応用が利きません。逆に言えば

あらゆるノウハウの前提知識を学べば大体のことはパッと理解できる

ということです。つまり、これから紹介する本やサイトは私の経験で「もっとも根本になっている前提知識」です。そんな本読む必要ある?ってなりますが、私も読む前は同じことを感じてました。ただ、今はわざわざ記事を書いて説明する側です。それでも、疑念を払いきれなければコメントかTwitterからお寄せ下さい。

それでは、ここからやっと本題に入ります。

1.ビジネスライティングを学ぶ

え?いきなり、なんで? SEのスキルが知りたくてページを開いたのにだまされた!

って方が9割かと思います。(逆に「うん、その通りだ!」と思う1割の方は読み飛ばしちゃってください。)

理由① SEは意外とコミュニケーション大事

イヤホンを耳につけてひたすらコーディングをしているのがSEのイメージだとしたら、完全に誤りです。SEの仕事の半分は、クライアントとのコミュニケーションです。

開発・設計、仕様変更、運用・保守、どのフェーズをとっても、相手の話を聞き自分の意見を納得させる。できるSEはみんなこのコミュニケーションが上手です。

たまに、自分語で話して自分語で納得して作業を進める人がいますが、あれは完全に罠だったりするんですよね。後から「全然話が違うじゃん!」ってことが想像以上に結構あります。特に、初めてのプロジェクトや初めての現場に行くと「あるある」なのですが、その現場特有の言葉の使い方・言い回し。これ、普通分からないです。現場独自の意味があったり、常識と異なる使い方をしていたりするので、結構コミュニケーションに苦労します。

またSE同士では、メールやチャットでの会話が主流となります。その際に、自分の言いたいことが説明できない、相手が言っていることが分からない、なんてことはよくあります。もっというと、同じ文章を読んでいるのに、自分と相手の認識が違っている可能性も非常に多くあります。これが、プログラミングの設計段階で起こっているとしたら恐怖ですよね。その意味で、ライティングの基本を理解し、分かりやすく説明できる能力をつけておくのは非常に重要です。

理由② ライティングスキル=思考スキル

あるとき気付いたのですが、コーディング・設計がうまいSEは何故かコミュニケーションスキルも高いな、と。最初はその因果関係、よくわからなかったのですが、これ実は

ライティングスキル=思考スキル

ってことなんじゃないか、と気付きました。どういうことかというと、結局その人の思考回路って文章に形として現れてくるんです。逆に言えば、文章のスキルが身についてくれば、自然と思考スキルも高まってくるということです。SEのスキルが如実に表れる「設計書」を見たとき、できるSEは「分かりやすく」「漏れがない」のです。

ただのSEではなく、部下がいてチームをまとめるレベルのSEになりたいのであれば、間違いなくビジネスライティングスキルを磨くべきです。ビジネスライティングのスキルは、そのままSEとしてのスキルに直結します。

実際に読んだ本はこれ1冊だけ

知っている人たちにとっては、超・有名な本です。

マッキンゼーをはじめとした著名なコンサルティングファームで得た著者の気づきとノウハウが、この1冊に凝縮されています。

この本の主題は
①大枠を伝えて詳細情報を伝える
②詳細情報を全体の中に正しく位置付ける
③常に聞き手・読み手のことを考える
という3点に凝縮されています。

逆に凝縮されすぎていて、私は1回で全てを理解できませんでした。今でも定期的に読み返しています。が、逆に言えば「これさえ読んでおけば間違いない」ということです。頑張って何冊も読むより、この1冊を暗記レベルで理解できれば、今まで何とも思わなかったコミュニケーションの一つひとつにツッコミができるようになります。

あとは、いかにしてそれを「自分の骨肉」とするか、です。なので、私はこれ以外の「コミュニケーション系書籍」は読んでいません。1番の良書をひたすら読み続ける、という形で学ぶのがおすすめです。

まさかの1つ目に紹介した内容が「ビジネスライティング」でしたが、それだけ重要であると感じています。分厚いので持ち運びはお勧めしませんが、ベッドの横に常に必携しておきたい書物です。

2.業務への理解を深める

SEとプログラマーの大きな違いの1つに、設計書を書くか書かないかという観点があります。プログラマーとしての役割が「設計書を基に実装する」ことに主眼が置かれているのに対して、SEは「設計書を作成し、かつ実装も行う」ことが守備範囲となります。

したがって、できるSE(つまり綺麗なロジックを考えられるSE)になるには、どういう業務で利用される機能なのかということを大雑把でもいいので知っている必要があります。

実際のプロジェクトで、いきなり「請求書作成機能」を作ってください、と言われても「なんとなくこんな感じの機能だな」とイメージできるのが、できるSEの条件です。この「なんとなくのイメージ」ができるかどうかで、現場独自の業務のヒアリングのスピードが格段に違います。

これは、「はじめに:『心構え』的な話」の章で説明した通り、前提知識の有無による理解するスピードの違いという話です。なんとなく、一般的な業務が分かっているだけで、その後の学習のスピードが段違いに異なります。

できるSE(業務もシステムもわかるSE)になるには、前提知識としての一般業務の流れを理解しておく必要があります。

読んだ本はこれ

① ある程度業務経験がある方向け

上級者向けです。ですが、最終的に理解しておきたいレベルはこの本です。この後もう1冊別の書籍を紹介しますがそちらはこの本を読むための「前提知識」を付けたい方向けです。

業務知識を身につけるには「その業務経験を積むしかない」と言われていましたが、この本がその常識をちゃんと覆してくれました。第5版まで出版され続けており、長く読まれているだけの価値はあるな、と。

逆に言うと、日本全国で読まれているだけあって、この本の内容自体がスタンダードになりつつある側面もあります。ので、最終この1冊だけ全て理解できれば、その状態が「業務を理解している」と言えます。

② ①の前提知識となる本

この本は、①で紹介した本の「前提知識」を身につけるための本です。この本だけでは、実際の業務説明の抽象度が高すぎて現場で即戦力とはなりません。

しかし、その抽象度の高さから割と大体の業務の説明がキチンとされています。私は、①の本を読んでしっくりこなかったのでこの本で勉強したのですが、この本を読んで前提知識が身に付いた状態で、①の本に戻ると驚くほど「読んでいて面白い本」に変身します。私はこのタイミングで、前提知識の重要性を実感し始めました。

やったことはこれ

実際の業務の「ゴールを明確に意識」することです。(抽象的ですみません。)

業務知識をつけるといっても、やたらめったら本を読んでいるだけでは何も成長しません。 しっかり自分の頭で考え「業務のゴールを知る」ことが重要です。。

例えば、経理部門の人たちのゴールはなんでしょうか?取引を全て正確に記帳することでしょうか?請求書の発行や、入金の確認でしょうか?

一応どれも個々人単位の業務でみれば正解だと思います。そのうえで、経理部門全体のゴールをあえて私は経理部門の最終的なゴールは「財務諸表を正確に作成すること」です。つまり、財務諸表の作成という最終ゴールに向かって「取引の記録」、そのための「請求書発行」があり「入金の確認」があるととらえています。。

業務の最終ゴールを知る

このことによって、全ての業務を一連の流れで理解・推測することができます。もし、設計する機能の業務が分からないものであっても、前提知識を蓄えたうえでその部門の業務の最終ゴールが分かっていれば、なんとなく推測することができます。

仮に「0円の金額を入力する」的な業務があるとします。もし、経理部門の最終ゴールが「財務諸表を作ることだ」という視点も、一般的な業務の前提知識もないと、「なんじゃそりゃ!!!!」「全く意味が分からない」って状態になってしまいます。

ここでもし、前提とゴールが頭にあれば、「ああ、財務諸表には関係ない業務だな。ってことは、内部共有のためのメモ的な使い方をするのかな」なんてことが推測できますね。

業務の基本知識+各業務の最終ゴールの意識 で業務への理解が深まり、SEとして綺麗な設計・漏れがない実装が可能になります。

3.基本情報技術者試験を受験する

さて、ここからいよいよSEっぽいことの紹介に突入です。

基本情報技術者試験とは、経済産業省主管の国家資格です。この資格を保有していると、IT全般の幅広い(※深くはない)知識・スキルを有していることの証となります。詳細は公式サイトをご覧ください。ここでは、自分自身が勉強に取り組んだ理由と、合格して実感したメリットを書いていきます。

基本情報技術者試験受験の動機

基本情報技術者試験を持っている人は、知識にむらが無い、と感じたことが受験の動機です。

SE・ITコンサルとして活躍している人は、それぞれが自分の専門性を持っており、その分野のエキスパートとしてスキルを売っています。そのうえで、できるSEとできないSEの違いは、他の分野の知識もある程度知っているかどうかで変わります。

実際の現場では、守備範囲が明確に分かれているわけではないことが多々あります。というのも、例えばバグ一つをとっても「それがコードのエラーなのか、サーバーのエラーなのか、はたまたユーザの入力ミスなのか」分からないという状況が発生するからです。

普通のSEとして作業をするのであれば、自分の専門分野のみのボールを拾い続けていればいいのです。しかし、1人前SEのとして1つのチームを回していくためには、自分の専門以外の知識も持っている必要があります。そこで、超・おすすめされたのが「基本情報技術者試験」でした。

基本情報技術者試験に合格すると

思考の幅が広がる

結論、一気に思考の幅が広がります。それまでは、アプリケーション層(プログラミングメイン)の知識しかなかったため、バグの原因調査に時間がかかりました。構文エラーになっていないしショートダンプもしていない、つまり自分では解決しようがない・・・と結論づけていた事象に対しても、インフラ的な観点からの調査・推理が可能になります。

この試験を受験する、みたいな行動を起こさない限り、IT全体の俯瞰地図が頭の中に出来上がらなかったかもしれません。

SEとしての基本知識が網羅的に身につく

SEとしてのIT基本知識が大体身につきます。もっと言うと、基本情報技術者試験で学んだ「範囲」さえ知っておけば、IT全般でクライアントとの話や説明ができるようになります。先輩SEや、上司の会議に初めて参加したときでも、大体理解できるようになります。

試験自体は詰込みで合格可能ですが、その知識がめちゃめちゃ役に立つことを保証します。

ある程度認められる

今や高校生までもが合格する試験となっていますが、それでも合格率は3割程度。当日受験しなかった人を母数に含めるとさらに合格率は下がります。

そんな資格を持っていれば「ああ、ある程度分かるやつだな」と認定されます。会話のレベルも少しだけ挙げてもらえるかもしれません。専門的な知識やスキルを積極的に教えてくれる先輩ができるかもしれませんし、転職にも有利ですし。持っていて「社会的な損は全くありません」。

基本情報技術者試験の勉強法

本ページをご覧になった方からたくさん質問が届いたので、こちらのページに合格体験記をまとめておきました。1週間で合格できます!

過去問道場をひたすら繰り返す

https://www.fe-siken.com/

こちらのサイトの過去問道場をひたすら繰り返します。この神のようなサイトで、過去問を倒し続けます。

このサイトが神である理由
① 解説付き!
② 出題範囲限定可能!(苦手な分野だけやりたいとき)
③ 無料!!!

もはや訳が分かりません。なぜか、会員登録も不要・無料で利用可能なので馬鹿みたいに使い倒しました。

4.プログラミングしてみる

やはりこれです。実際に手を動かす以外にプログラミングの仕組みを覚える方法はありません。百聞は一見に如かずです。

言語はぶっちゃけどれでもいい

自分に合う言語(javaとかcとかのやつ)はどれか?なんて考えていると、何も始まりません。言語は何百種類もあるんですから。なので、大事なのはどの言語を学ぶか?ではなく、どれだけ楽に始められるか?です。

でも、本当になんでもいいの?

なんていう質問もあるかもしれませんが、なんでもいいんです。プログラミングしてみること自体に価値があるからです。実際に1つの言語を習得すれば、大体のプログラミング言語の勉強の仕方が分かり、そこからできるSEへの窓が開かれます。なので、最初の1つをできるだけ早めに始めることが何よりも重要です。

事実、プログラミングをしていると全プログラミングで共通する「基本思想」みたいなものが身についていくのが実感できます。変数とか、定数とか、データ型とかオブジェクト指向とか。この「基本思想」は他のプログラミング言語でも十分応用できますし、最初の言語を基に派生して考えることができるようになります。

では、実際にプログラミングするにはどうしたらよいのか?ここからは、具体的な方法を解説します。

プログラミングの学び方

プログラミングの「環境」と「参考書」を整える

プログラミングを実際に学ぶにはまずは実際のコーディングする環境が大切です。ここでいう環境とは「エコロジー」的な意味ではなく、コーディングすることができる画面のことです。

すぐにできるのが「VBA」ですね。いわゆるExcelとかを自動化する際に利用される言語のことです。

VBAであれば、Microsoft Officeがインストールされていれば、いつでもどこでも誰でもプログラミングを経験することができます。また、VBAであればネットに膨大な量の情報が置いてあるので、「参考書」も整っています。

私もはじめはVBAで勉強しました。参考書も買ったのですが、あえて紹介はしません。なぜなら「ネットのほうが分かりやすい!!!」からです。VBAを勉強する際には、googleを常に立ち上げておくことです。まさに「google先生」の出番です。

実際にやったのはこれ

今って、オンラインで学べるプログラミングスクールが結構多く存在しているんです。無料のものから、有料のものまでいろいろな種類がありますが、私は(結果的に)有料のオンラインスクールで勉強しました。

VBAで挫折(なんか楽しくなくてやめました・・)した私でも、楽しく学べたのが、こちらのサイトです。

  • チャットで質問できる
  • 質問が分かりやすい
  • 変な質問(初心者っぽい質問)にも丁寧に答えてくれる
  • コースがかなり豊富
  • 1週間無料で体験できる!!!

1週間無料でやってみて合わないならやめてしまおう、と思っていたのですが結果的に1コースを最後までやり遂げちゃいました。他のオンラインスクールは私自身もやってみたことがないのでおすすめできませんが、このサイトであれば、このページの主題「1人前のSEになる」道が必ず開けます。

1週間やってみて、というか3日やってみて合わないな、となれば他のオンラインスクールを探してみてください。

さいごに:5.一旦「始めてみる」

私が1人でSEの仕事をできるようになるまでにした4つのことは

① ビジネスライティングスキルを身につける
② 一般的な業務知識を身につける
③ 基本情報技術者試験を勉強する
④ プログラミングする


だけです。

その上で、この4つ全てに共通して重要なポイントが

すぐにやる!!!

という1点につきます。画面をじっと見つめて、座っているだけでは何も始まりません。次の行動をする前に、今このタイミングで何かを始めるということが重要です。何故なら、人間スタートしないとスタートしないからです。

実は私も本腰を入れて4つのアクションを取るまでに「1年半」かかっています。1年半もあれば、上記4つのアクションははるか昔に達成していたはずです。最も大切な「一旦始めてみる」精神がないと、1人前のSEにはなれないことだけは確かです。

本ページを閉じたその瞬間から、行動を開始してみてはどうでしょうか?

コメントを残す


CAPTCHA