未経験からITエンジニア「転職する前」に知っておきたい3つのこと
2021年7月28日(水)
転職市場における求人倍率の全体平均は、2021年6月時点で1.86。ただし、IT・通信の技術系職種の求人倍率は、平均を大きく上回る7.84だ(転職サイトdoda調べ)。
この数字が示すように、近年、SEやIT・Webエンジニアは転職市場で引く手あまたとなっている。新卒での職種別採用も進んでおり、高度な開発スキルを持つ学生を高い給与で迎え入れる企業も出始めた。
そんな時代背景もあって、プログラミングを学べる各種スクールの数は年々増加。未経験からエンジニアへの転職を目指す人は増えている。
ただ、エンジニア転職で「未経験歓迎」を謳う求人もあるとはいえ、未経験からプロのITエンジニアに転職するのは、険しい道のりなのも事実だ。
下の座談会動画で、AtCoder代表のプログラマー高橋直大さんは次のように指摘している。
逆転人生を描け!プログラミングの黄金比(月収、年収がよさそうだからエンジニアを目指すという人に対して)大学生くらいまでの年齢の人がプログラミングを学んで目指すならまだしも、大人になってからでは難しい。若い頃から寝ても覚めてもプログラミングをしてきた人とプロとして戦うには、よほど開発が楽しくて四六時中できるいう人じゃないと、いばらの道になるだけだと思う。 —— 逆転人生を描け!プログラミングの黄金比
下の記事でも、「(プログラミング学習は)頑張れば数週間である程度できるようになるかもしれないが、続けなければダメ。英語学習と同じように、使わなければいけない状況を作り出すほうがいい」という指摘がある。
【3分読解】超初心者のための、プログラミング学習法共通するのは、プログラミングそのものを楽しめるかどうかが、学習継続、ひいては仕事として継続するカギを握るということ。
加えて、上の記事へのコメントとして、マイクロソフトやグーグルでプロダクト開発に携わってきたTably代表の及川卓也さんが記しているように(参照リンク)、スキル習得自体を目的化せず「この問題を解消したい」「こういうモノを作りたい」というモチベーションで学び続けられるかも大切だろう。
これらを前提に、それでもソフトウェアエンジニアを目指したい人は、どんな心構えで未経験からの転身に臨めばいいのか。
JobPicksのロールモデルでソフトウェアエンジニアへの未経験転職を経験した人や、新卒1〜4年目の若手エンジニアの経験談から、プロとしてやっていくためのヒントを探る(注:ロールモデルの所属・肩書は、全て本人が投稿した時点の情報)。
Web企業のアトラエでソフトウェアエンジニアとして活躍するTagami Shogoさんは、法人営業(フィールドセールス)からキャリアチェンジした経験を持つ。
未経験からの転身を志した理由は、「コードを書いたり、技術に触れたりするのが楽しい」と思えたから。実際にソフトウェアエンジニアになってみて、「単に『年収が高いから』『将来性があるから』という理由で選ぶだけでは、いずれ頭打ちがくる仕事」とも感じているという。
コードを書いたり、技術に触れたりするのが楽しい、あるいは辛いけどそれを乗り越えた結果達成感や満足感を得られたというのがエンジニアとしてのキャリアを志したキッカケでした。 単に「年収が高いから」「将来性があるから」という理由で選ぶだけでは、いずれ頭打ちがくる仕事だと思っています。周りの優秀なエンジニアの方々は仕事・プライベート関係なく技術に触れています。趣味の一部のような方が多いです。 また単にコードを書くだけでなく、そこから何かを生み出して、ユーザー価値に昇華させることができるのも魅力でした。 自分の判断、技術力次第でプロダクトの向こう側にいる人を喜ばせることができる、しかもそれは何百万人という規模にもなる。 そんな職種はエンジニアだけだと思い、法人営業という職種からジョブチェンジをし、今に至ります。
Tagamiさんのコメントは、上記した未経験からのチャレンジに対するアドバイスとも合致している。
興味深いのは、「この職業でプロになるには」という問いへの答えとして、プログラミングスキル以外のポイントを挙げていることだ。
エンジニアという仕事に限りませんが、「オーナーシップ」をどれだけもつ
2017年3月に関西学院大学の商学部を卒業したのち、ソフトウェアエンジニアになったSansanのShogo Arakawaさんも、同じくオーナーシップが大事だとコメントしている。
プロダクトへのオーナーシップを持つ重要性。若いうちは技術力一辺倒にな
2人の投稿から、業務を遂行する手段としてプログラミングスキルは必要不可欠だが、技術力一辺倒でキャリア形成していくのも間違いだと分かる。
2018年3月に立教大学の経営学部を卒業し、クラウドソーシングサービスを運営するランサーズでソフトウェアエンジニアを経験したのち起業したMoriizumi Ryosukeさんも、言葉は違えど主体性の重要性を挙げている。
「コードにビジョンを乗せる」という言葉をエンジニアとして一番大切にしています。これはランサーズCTOの横井が掲げていた言葉です。一般的に既存がそうだから、仕様や要件がああだから、時間がないからなどと意志なき実装をしていまいがちですが、自分の設計やコードに責任を持ち、長期的な視点を持ち、我々が成し遂げたいビジョンを乗せた実装をすべきだという言葉です。エンジニアの三大美徳「怠慢(Laziness)」「短気(Impatience)」「傲慢(Hubris)」を一言で言ったらとも言い換えられるかなと思います。
「仕様や要件がああだから、時間がないからなどと意志なき実装をしていまいがちですが、自分の設計やコードに責任を持ち、長期的な視点を持ち、我々が成し遂げたいビジョンを乗せた実装をすべき」
Moriizumiさんのコメントを読むと、先々の拡張性や運用にも目を向けてプログラムを書くことが大切だと分かる。
言い換えるなら、手掛けるプロダクトを、顧客やユーザーが使いやすいモノに進化させ続ける姿勢が重要になるということだろう。
そのためには、自分だけではなくチームで開発しやすいコードを書くことや、「怠慢」「短気」「傲慢」という三大美徳(注釈)を重視した仕事が求められる。
注釈:プログラミング言語Perlの生みの親ラリー・ウォールが提唱したとされる。ルーティンで行うような定型業務を面倒だと感じる気持ちや、人が嫌々やっている作業を減らしたいという気持ちが、ソフトウェアで自動化・効率化するというアイデアを生むという意味。
実際に、アトラエの新卒2年目エンジニア(投稿時)である櫻井啓裕さんは、やりがいを感じた瞬間として「人間のオペレーションの最適化では到底たどり着けないパフォーマンスを発揮できるプロダクトを作れたこと」とコメントしている。
僕は現在、IT・Web業界に強い転職サイト「Green」というサービ
プロダクトの成長にコミットしつつ、チーム開発のプロセス改善にも貢献できるエンジニアが、プロとして認められるのだろう。
こうした仕組みづくりでも貢献できる「仲間に認められるソフトウェアエンジニア」になるには、純粋なプログラミングのスキル以外に何を学べばいいのか。
JobPicksのロールモデルが「未経験者へのおすすめ本」として推薦する書籍の中で、チーム開発のイロハを学べる本をいくつか紹介しよう。
グーグルやマイクロソフト、ITスタートアップで経験を積んだ共著者が、「美しく他人が読みやすいコード」の書き方をまとめた本書は、ソフトウェアエンジニアのバイブルとして愛される名著の一つ。
JobPicksのロールモデルでは、Traimmuの佐野貴之さんや、キャディの山田圭一さんが次のように推薦している。
ほとんどの開発が複数人でコードを書きながら進めていくことになるので、
コードを書いている時に、誰が書いたか分からないと思っていたら、実は数
著者のスティーブ・マコネルはソフトウェア工学の第一人者として知られる人物で、ソフトウェア開発の方法論を幅広く網羅した入門書として愛読されている。上下巻があり、上巻は設計やプログラミングの基本がまとめてある(下巻はテストやデバッグを扱う)。
推薦する森田和樹さんのコメントを読むと、本書でも、チームでプログラミングを行う上で重要な手法が学べるとのことだ。
ソフトウェアエンジニアとしてプログラミング能力は必須能力ですが、 この本はプログラミングの基礎的な部分の概念が学べる本となっています。 プログラミングは機械に命令を与えるために記述しますが、 それと同時にチーム内で一緒にプログラミングをするメンバーへ向けても書く必要があります。 ソフトウェアはその名の通り「柔軟」にアップデートできることが非常に重要で、そのためにシンプルでわかりやすいソースコードを維持し続けなければなりません。 メンバーにわかりやすく、機械にもわかりやすく書くためにはどうしたらよいのか? そういった観点について新たな気づきを与えてくれたのが CODE COMPLETE でした。
タイトルにもある通り、さまざまなプログラマーが書いた97本のエッセイが収録された「エンジニアの思考」を網羅的に知ることのできる一冊だ。
未経験からソフトウェアエンジニアを目指す上で、これから臨む仕事内容はどんなもので、仲間になる人たちはどんな思考なのかを垣間見ることのできる本ともいえる。
上記で、法人営業から転身したエンジニアとして紹介したTagami Shogoさんも、本書を次のように薦める。
こちらからほぼ全て読むことができます。 https://xn--97
コメントにもあるように、ソフトウェアエンジニアの「共通言語」を事前に知る意味でも、一読の価値がある。
> 他のソフトウェアエンジニアが語る「未経験者へのおすすめ本」一覧はこちら
ソフトウェア開発の最重要スキルとは?グーグルのエンジニアに聞く
文・デザイン:伊藤健吾、バナーフォーマット作成:國弘朋佳