人材サービスのdodaが公表している「転職求人倍率レポート」によると、求人倍率の全体平均が2.31となっている中、IT・通信の技術系職種は9.68(数値は2021年7月時点のものを引用)。
調査対象となった主要職種の中で、ソフトウェアエンジニアは最も求人倍率の高い職種の一つとなっている。あらゆる業界がIT化・デジタル化していることを考えると、この傾向は当面続くだろう。
この将来性の高さもあって、近年は就職・第二新卒の転職でも人気だ。人材不足が続いているため、いわゆる文系学部に通う学生や、未経験の若手社会人が、この仕事に就くためプログラミングを学ぶという話もよく聞くようになった。
しかし、ソフトウェアエンジニアとして働くには、プログラミングの知識があれば十分なのか? 優秀な開発者が持つワークスタイルとはどんなものなのか?
これらの疑問を解消するため、Googleで働く安田絹子(やすだ きぬこ)さんに話を聞いた。
自身も大学に入るまで、プログラミング未経験だったという安田さんのキャリアを通じて、エンジニアのステップアップに「必要な学び」を知ろう。
—— 安田さんは、学生時代からソフトウェアエンジニアを目指していたのですか?
いえ、私がプログラミングに初めて触れたのは、大学1年の時なんですね。情報系の学部ではなかったものの、必修科目でプログラミングの授業があったので、そこから勉強し始めました。
自分でプログラムを書いて、初めて「Hello, world!」した(※1)のもこの頃。当時はソフトウェアエンジニアという仕事があることすら分かっていませんでした。
※1:プログラミング初心者が、文字列を表示させる最もシンプルな構文として学ぶテスト文言。画面に「Hello, world!」と表示させるのが一般的。
—— そんな状態から、ソフトウェア開発にハマっていった理由は?
純粋に「コンピュータで何かを作るのは楽しい」と思ったからです。
プログラミングスキルを学び始めて3カ月くらいがたち、授業で自由課題を出すことになった時は、簡単なゲームを企画して徹夜で開発したりしていました。
if文(※2)のような簡単な構文を使ってみて、「こうやって動くのか」と発見するだけでも、楽しかったのを覚えています。
※2:プログラミングで使う構文の一つで、「もし○○だった場合は××する」という条件分岐を指定する際に使う。
そうこうしているうちに、コンピュータプログラムを習得すれば何でもできそうだという感覚を持つようになり、どんどん開発にハマっていきました。
勉強がてら、友だち同士で使うチャットツールみたいなものを自作したり、海外の有名大学がコンピュータサイエンスの授業で使う論文を読みあさったり。
オープンソースで一般公開されているOS(オペレーション・システム)のソースコードなども、自然と読み込むようになっていました。
—— エンジニアになりたくて勉強したというより、好奇心をかき立てられて学んでいったら仕事になった、という印象ですね。
ええ。例えば優れたプログラマーが書いたソースコードをのぞき見すると、普通は何十行とコードを書かなければ動かないものを、数行で動くようにしているんですね。
アルゴリズムに関する論文でも、有名なものを読むと「こんなに賢い問題解決の方法を考え付く人がいるんだ」と驚くわけです。
私も、そういう感動を生み出す側の人間になれたらいいな、という思いは常にありました。
なので、大学を出た後は大学院に進み、コンピュータシステムの研究者をしていた時期もあります。
ただ、実際に仕事をしてみると、実験や計測のためだけにプログラムを書く日々をつらく感じるようになり......。
もともと自分や周りの人が使えるものを作るのが好きだったこともあって、ユーザーや顧客企業が見えるソフトウェア開発の仕事に転職することにしました。