ここまで来たあなたは、SEになろうと思って勉強を進めてきました。
プログラムを書いてみて、バグを修正しながら動くようになった。ネットワークやデータベースの仕組みを知り、知らなかったことからたくさんの恩恵を得ていると分かった。など、たくさんの気づきと学びがあったことと思います。
そして、そろそろSEへの就職・転職を考えている頃かもしれません。
どういう仕事が自分に向いているのだろう? どこまで身につけたら、転職してもいいのだろう? 様々な疑問を持ちながら、いつチャレンジしようかと悶々としていることでしょう。
そこで今回は、不安を払しょくするためにも「ここまでは身につけておいてほしい」というラインを提示したいと思います。
これから紹介する基準をすべて満たしている人は、企業との面接の際に、「ここまで身につけていたらあなたには将来性があるから採用候補だ」と多くの企業で感じてもらえるラインかと思います。
このラインを満たしていれば、あなたは企業に選ばれる側から企業を選ぶ側になれるでしょう。
結果的には望む企業に就職できる可能性が高まり、あなたの理想のキャリアステップに大きく前進することができます。
プログラミングやITの勉強を楽しめている
一番最初に来る基準はココです。
スキルでも経験でもありません。スキルや経験が足りなくて採用で落とされるのは、経験者採用の場合です。未経験者採用の場合、考慮されるのはそれまでのあなたの実績や経験と、今将来性です。ITを楽しめない人には、どうしても将来性を感じることは難しいということです。
就職・転職に関わらず、「あなたがこの業界に居続けることを楽しいと思えるかどうか」はあなたの今後を大きく左右します。
これから何十年とこの仕事に携わっていくことを想定して、どれだけ仕事を好きになれるかは仕事選びの段階として非常に重要なポイントです。
稼ぎがいいとか業界全体が伸びているからとかいう理由ではなく、「他の仕事と給料や働き方の条件をすべてそろえたとしても、この仕事はより魅力的か?」の視点で自分を見つめ直してみましょう。
就職・転職する前にプログラミングやITの勉強をしておくことを勧めた一番の理由はこれです。
この業界の仕事を好きになれるか? 楽しく働き続けている自分をイメージできるか? これらの質問にYesと答えられるのであれば、次のチェックポイントです。
プログラミングの仕事が、自分に向いていると思える
このポイントは、プログラマーとしてのキャリアを始めるにあたってスムーズにスタートできるかどうかの基準です。
前述したチェックポイントは、SEという仕事に対するあなたの興味の強さを表します。
それに対してこのチェックポイントは、「あなたにとってSEが向いているかを示す一つの指標」と言えるかもしれません。
どの仕事も、好き嫌いにかかわらず向き不向きはあります。
好きだけれども苦手な仕事に就くと、何かトラブルが起きた際、好きの気持ちだけでは乗り切れない状況が待ち受けています。嫌いだけれども得意な仕事に就くと、手を抜くことばかり考えて成長が遅くなってしまいます。
好きかつ得意なことが見つかれば、これから直面するであろう複雑な用語やシステムの世界にも楽しみながら何とかして対応しようとするでしょう。
そのためにも、分厚いプログラミングの本を1冊用意するようにお伝えし、すべてを読み切るように伝えました。
- 分からないという状況に対して、自分はどういう反応を示すのか?
- 何時間もパソコンの前に座ったまま本と画面をにらめっこしていることにどう感じたか?
- 論理的に考え続けることに、大きなストレスを感じたか?
これらの質問は、どれもSEに向いているかを知るために重要な質問です。
SEには、分からないことを論理的に解決していくことが求められます。
顧客の要望をどうやってシステムとして形にするか? どのようなデータを保持するか? どうすれば使いやすいシステムになるか? これらすべてに理由をつけて考え抜き、決断を下すことが求められます。
その過程で、何時間も1つのことを一人で悩む場面もたくさんあります。
それらのストレスを楽しめる、乗り越えられる、もっと論理的に考えられる人に成長したいと思えるのであれば、SEという仕事は向いているでしょう。
プログラミングの基礎を理解し、使える
ここからはスキル面の話ですが、あなたがSEの仕事に向いているかどうかの基準の一つにもなるかもしれません。
この仕事で求められることをすぐにイメージ出来て理解できる人ほど、向いているのは確かでしょう。
しかし、すぐに理解できなかったとしても、落ち込む必要はありません。
あなたの理解力には、それまで似たような考え方に慣れ親しんでいるかどうか、友人との会話で似たような話を聞いたことがあるかどうかも影響してきます。最終的に理解できているのであれば、問題ないでしょう。
初めのスキル面は、プログラミング力です。
どこまでが基礎の範囲かと言われると難しいですが、以下のコードを書ければキャリアのスタートとしては上出来です。
- 1~100までの奇数の合計を算出する
- 引数で渡された文字列に、いくつ「の」が含まれているかをカウントする
プログラミングの本でいうと、演算子や制御構文を理解できている状態です。変数の型、分岐、ループの基本と使い方は理解できていることになります。
本にあるそれ以降の範囲は、読んで存在は知っている程度で問題ありません。
このレベルまでは、実際にシステムを作った経験がなくても独学で理解できる範囲です。
IT未経験から新卒で入社した私も、会社に入るまでにこれらの理解はできるようにしておきました。フローチャート(アルゴリズム)にどうやって書き表すのか、ある言語(私の場合はJava)ではどうやって記述するのかを理解したうえで入社したため、入社後の研修や業務でもかなりスムーズに適応できたことを覚えています。
基本情報処理技術者試験の内容を理解している
資格を取る必要はありませんが、資格に求められていることは理解できている必要があります。
SEやPGの仕事はプログラムを書くだけではありません。
データベース、ネットワーク、セキュリティ、法律、サーバーやPCに関する知識も持っていることを前提にされます。
その知識を網羅的に扱ってくれているのが、基本情報処理技術者試験です。
用語をすべて暗記しろとまでは言いませんが、用語を聞かれて少し調べれば、「あ!あれのことか!」と思い出せるぐらいにはなっていると良いでしょう。
新卒での就職の場合は、入社してから勉強するということ知識面は免除されるケースもありますが、入社してすぐの4月の試験に合格することを求められるので、入社前に学んでおいて損はないです。
ここで合格することで、あなたは上司に自分で学ぶ力があることと、成長意欲があることを示せます。
転職の場合は、基本情報処理技術者試験の知識を持っていることが望ましいです。
今までのキャリアを一度脇に置いてこの業界に転職しようとしているのであれば、それ相応の覚悟とやる気を持っていると期待されて当然です。その人がITの勉強すらしていないと知れたら、相手はあなたを雇うことを躊躇してしまいます。
意欲があることを示すために資格を取るというのも、一つ有効な方法でしょう。
(転職であれば)何か1つシステムを作ったことがある
新卒採用ではここまで求められることは少ないですが、転職であれば面接時に聞かれるケースも多いようです。
その中で企業側が求めている理解や経験は、以下のようなものです。
- システム開発全体の流れ
- 複数人でシステムを作るうえでのプログラムや進捗の管理方法
- サーバー構築やデプロイなどのプログラミング以外の知見
簡単なアプリを作ってみたり、ハッカソンに参加してみたりして、一度経験を積んでおくことも大切なことです。
ここまでの経験を持っていれば、あなたは転職時に非常に有利な立場になれるでしょう。
面接時に話す際には、なぜそのシステム構成にしたのか、なぜその言語を選択したのか、等を含めて説明できれば、さらにGoodです。
まとめ
まとめると、以下のチェックリストが出来上がります。
これらのチェックリストにYesと答えられる量が多ければ多いほど、あなたはSEになってからのキャリアをスムーズに歩めていけるでしょう。
就職や転職してからの最初の評価を高め、そのまま希望のプロジェクトに参画して楽しく成長できる環境を手に入れることも可能です。
反対に、一つもチェックが付いていないのにSEになってしまうと、楽しくもなく向いてもいない仕事を苦痛に感じるかもしれません。
そのまますぐに転職しようとしても、入社してすぐに転職する人を雇いたいと思う企業は多くありません。元の業界に戻ろうと思っても、前と同規模の企業に転職できるとも限りません。
結局、前よりも満たされない環境に落ち着く危険性が高いと言えます。
最初のキャリアは何よりも重要です。
焦って失敗しないためにも、落ち着いて1つずつチェックを積み重ねていきましょう。そして、自分の希望を叶える就職・転職を手に入れましょう!