私は事務職から開発SE(SE)になりました。IT業界は全くの未経験で、特に突出した技能もない平凡な一般女性です。それでもSEになれました。そう、平凡な人間でも、未経験でもSEにはなれるんです!
この実体験が誰かのお役に立ちましたら幸いです!
未経験からSEになろうと思ったきっかけ
SEになる前、私は営業事務として働いていました。お客様からの問い合わせに電話で受け答えたり、事務として書類処理を行ったりと、プログラミングとは全く無縁の生活を送っていました。
そんな私がなぜSEになろうと思ったのか。それは「将来、自宅で仕事をしたいから」という、なんとも出不精な理由です。
この時はプログラミングについて何もわかっていないので、「SEって人手不足だから、きっとすぐなれるだろう」「スクールとかもあるし勉強には困らないだろう」と思っていました。現SEの人が聞いたら卒倒しそうですねw
正直、こんなに甘い世界かと言われればNOです。
ただ、今現在私はSEとして働けています。
要はきっかけがどうであろうと、続ける事ができれば、SEになれるのです。SEが人手不足であるのは紛れもない事実なので、少しづつでも実力をつけていけば、必要とされる日が必ずきます。
それをぜひ念頭において、この先の記事を読んでください。
プログラミングを学ぶ
学習方法の選択肢
兎にも角にもスキルが無ければSEにはなれませんので、プログラミングを教えてくれる場所を探しました。一人で学習することも考えましたが、調べても専門用語だらけで何から手をつけていいかわからなかったため、それは断念。
選択肢は2つありました。
- お金を払ってスクールでスキルを学ぶ
- IT会社に入社し、導入研修でスキルを学ぶ
私は後者を選びました。お給料を貰いながら学べるほうが良いに決まっています。
このあたりの選択は人によって変わるでしょうが、自己学習よりも人に教わる事を断然お勧めします。
理解が早まるという利点もありますが、スクールでは学習後に就職先を紹介してくれるところもあるので、次のステップに進みやすいです。導入研修も言わずもがなIT企業に入社しているわけですから、研修が終われば何かしらのプロジェクトに参画することになります。
この業界では「今までどんなプロジェクトで何をしてきたか」という「経験=自分のスキル」がとても大切になってきます。なので、まずは何でもいいからプロジェクトに参画する事が始めの一歩になります。
プログラミングを学習する時は、人から学べる環境を選ぶこと!
採用面接のコツ
というわけで、早速、転職サイトから企業に応募し、なんとか合格。とりわけIT知識の勉強などはしておらず、一般的な転職活動の準備しか行っていません。応募した企業の試験内容は面接だけでした。性別でひいきされるような質問も特にされませんでした。が、後から聞いた話だと、面接で落とされていた人も多かったそうです。
面接で重要視していたのは「ITの知識」よりも「コミュニケーション能力」です。
先輩曰く、プログラミングだけできても、この業界で生きていけない。チーム内で情報共有ができずに仕事どころではなくなるし、何より、これから知識を学んでいくには必ず周りに助けを求める事になるため、コミュニケーションがとれない事には成り立たない、と言われました。
実際にこの業界で働いてみると、まさに先輩のおっしゃる通りだと実感しています。
ITの知識なんてほぼ0でしたが、お客様の電話対応をする日々や、同僚とのおしゃべりなどは無駄ではなかったのだな、としみじみ感じました。
SE初心者に必要なのは、IT知識よりコミュニケーション能力!
1ヵ月の研修
プログラミング言語を理解する
無事、IT会社に入社できた私は、一緒に入社した人と一緒に1ヵ月の研修を受けることになりました。ここで私は地獄をみます…
まず、開発SEを目指す人にとって最初の壁は「プログラミング言語を理解する」事です。プログラミング言語とは、例えばロボットに「ボタンが押されたら右に進め」など、機械に色々な指示をするための言葉です。SEはこれを書いているんですね。
このプログラミング言語が曲者で、色々なルールのもと書かれており、しっかり理解した上でルールに沿って書かないとプログラムが動いてくれません。たとえば、下の画像はプログラミング言語で書かれたプログラムの一部です。
これは「ポケモンの名前を順番に表示する」という指示をしているプログラムです。意味わかりませんよねw
多くの人は、まずここで躓きますし、ここでSEになることを断念する人もいます。しかし、一つ一つ階段を昇るように理解していけば決してできないことはありません。慣れないものばかり目に入るので、はじめは頭に入りにくいのです。
社会に入りたての新入社員が、ビジネス用語ばかりの会議に出席させられて、議事録を作れと言われても「何言ってるかわかりませんでした」という感想文を作りたくなるあの感覚ににています(多分)
プログラミングは理系分野ではない
しかし、プログラム「言語」というように、これは言葉なのです。数学や物理のような計算力は求められていません。必要なのは相手が何を言っているか把握できる「理解力」なのです。
事実、私は数学はぜんっぜんできません!(因数分解ってなんでしたっけ?)
ただ、お客様の電話対応をしてきたので、お客様の求めることに対する理解力は人並みにあります。そのおかげで、ボロボロになりながらもなんとかプログラミングの基礎を習得することができました!
しっかりとプログラミングの仕組みを理解できる方法で講師の方が教えて下さったのも、基礎を習得できた大きな要因です。(ただしスパルタ☆)どんな事を勉強したのか、機会があれば別の記事にまとめてみようと思います。
ともかく、ここで言いたいのは「プログラミング言語は理系のものではない」「根気強く理解しようとすれば必ず習得できる」ということです。これは忘れないで下さいね!同じ地獄をみたときに、きっとあなたを救ってくれると思います。
プログラミング言語を習得するのに必要なのは読解力!文章を読むのと同じ!
ここまで読んでもプログラミング言語のイメージがうまく湧かない人も多いと思います。下のサイトの説明がわかりやすかったので、お時間があれば参考にしてみて下さいね。
プログラミングとは何か?を世界一わかりやすく解説 | テックキャンプ ブログ
ITシステムエンジニアの種類
今まで「SE」という表現をしてきましたが、それはシステムエンジニアの総称。私が就いた仕事は、正確に言うと「開発SE」と呼ばれています。ここでエンジニアの種類について簡単に触れておきましょう。エンジニアの中でも専門分野があり、おおまかに3つに分けられます。
開発エンジニア
いわゆる「プログラマー」の代表格。ロボットを動かすシステムや、ネットショップの在庫管理のシステムの作成など、プログラミングを専門にするエンジニアです。
インフラエンジニア
開発エンジニアが作成したプログラムを動かすための土台作りをする人です。システムが正常にうごくように、サーバーやネットワークを管理するエンジニアです。
テストエンジニア
開発が終わったシステムに不具合がないか、文字通りテストをする人です。テストエンジニアによって製品の品質が左右されます。
テストエンジニアからスタート
研修を終えて、わたしはテストエンジニアとしてプロジェクトに参画することになりました。WEB系システムのプロジェクトでしたので、テストはWEB画面のボタンをクリックしたり、という事が主なのでプログラミングの知識はほぼ必要ありません!
上の人の考えとしては、まずはテストエンジニアからスタートして、プログラミングのスキルがついてきたら開発ができるプロジェクトに参画させよう、という考えです。
しかし、考えても見てください。仕事でプログラミングを一切行っていないのに、どうやってスキルが身についたと判断できるのでしょうか?「最近、プログラミングを勉強しているんです!」と口で言っても、実際にどれだけ勉強しているかなどわかりません。開発エンジニアになるには、「自分でプログラミングをしたものを上司に見せる」ことが一番の近道なのです。
はじめてのプログラミング
プログラムは隙間時間で作成
というわけで、なんでもいいから1つプログラムを作ってみようと考えました。幸い私の仕事は、常に案件があるわけではなく、手が空いている時間も多かったです。上長も私がプログラミングを勉強していることは知っていたので、空き時間にプログラミングの勉強をすることを許可してくれました。
もし皆さんが「え…仕事中に勉強?そんなこと許されるの?」と思っているのであれば、IT業界ではその心配はあまり必要ないでしょう。というのも、基本的にIT業界は学習意欲のある人にはとても好意的です。知識をダイレクトに仕事に還元しやすい業種なため、日々学習することはとても大切だということを先輩達は知っています。
また、独特の知識を学びたいという人間がそもそも少ないこともあり、学びたいと言われるだけでちょっと嬉しいものなんです。まあ、もちろん通常業務はきちんとこなさなければいけませんが…。
作成したプログラム内容
業務の隙間を見つけて、コツコツ作りつづけること1ヵ月。ついに完成したのが「時間あたりの使用データ量を算出するPCアプリ」です。名前だけきくと、とってもカッコいいハイスペックツールにきこえますね。ですが、中身は全くもってそんなことはありません!
みなさん、小学校の頃に「みはじ」って習いませんでしたか?そう、「道のり×速さ=時間」でお馴染みの計算式です。実は「1時間あたり、どれくらいのデータ量を使用したか」というのもこれに当てはめれば簡単に計算できます。「データ転送速度×時間=データ量」となるわけです。
ちなみに、これをプログラミングで書くとこんな感じ。
とってもシンプルですね!
蓋を空けてみれば内容はとても簡単ですが、これも立派なプログラミングであり、「私、プログラミングを勉強してます!」というアピールになるんです。
「でも、PCアプリってどうやって作るの?速度や時間を入力する画面ってどうやって作るの?」と思うかもしれませんが、これもとても簡単。また別の記事にまとめてみますね。
といわけで、このプログラムを上司に提出したところ、見事、誠意が伝わり、開発部門へと配属になりました!実はここからがめちゃくちゃ大変だったのですが、それはまた別のお話、、、
プログラムは全部ひとりで作成しなくてもOK!わからないところは調べたり、周りにききながら少しずつ完成させよう!まずは完成させるのが大事!
プログラマーになるためにやるべき事まとめ
色々と紆余曲折してきた道のりのなかで、プログラマーになるために大切だったと感じたことをまとめてみました。
-
まずは臆せず、IT業界に飛び込んでみる!
-
ITの知識は独学だと理解が難しい。遠慮なく先輩に聞くこと
-
何でもいいから1つプログラミング製品を作成してみること
特に大切なのは、兎にも角にもIT業界に飛び込んでみることです。
IT業界が全くの未経験で、いきなり開発エンジニアになることは、まずありません。
あるとすれば新卒採用か、新卒同様に年齢が若い人です。
私のように新卒とは言えない世代が、開発エンジニアになるには、まずはIT業界での経験を少しでもいいから積みましょう。
私はIT業界に入ってから8ヵ月くらいで開発エンジニアになりました。が、はじめは特に開発エンジニアになりたいと強く思っていたわけでもなく、アピールに取り組んだのは2ヵ月くらいです。しっかりと目的をもっていれば、もう少し早かったかもしれません。
さいごに
少しはみなさんの参考になりましたでしょうか?
かなり独特な業界なので、IT業界を目指している人は不安が尽きないと思います。
大変な事も多く、日々勉強の毎日ですが、そのぶんやりがいも多くあります。
自分で書いたプログラムが動いたとき。
お客さんが実際にプログラムを使用しているとき。
今までできなかったことができるようになったとき。
これらの瞬間は、今でもよく覚えているものです。
はじめにもお伝えしましたが、少しづつでも実力をつけていけば、必要とされる日が必ずきます。
性別に、年齢に引け目を取らず、自分らしく働けるよう一緒に頑張りましょう!
ここまでお読みくださり、ありがとうございました!