「開発インターンの経験がなくても大丈夫」 950万DLのアプリを開発・起業した閑歳孝子が見出した、"花開く"技術者の条件
2021/12/09
会員登録すると
このコラムを保存して、いつでも見返せます
950万ダウンロードを記録する家計簿アプリ「Zaim」を個人開発し、それをもとに起業した、株式会社Zaim(以下Zaim社)代表取締役の閑歳孝子氏(GitHubアカウントはこちら)。エンジニアとして“成功”を収めたといえるキャリアだが、実は新卒での就職先は出版社。社会人になってから本格的にプログラミングを学んだ、“大器晩成型”エンジニアだ。
自らの経歴や、周囲のエンジニアの活躍を振り返り、エンジニアとしての成功に「プログラミングを始める時期は関係ない」と断言する閑歳氏。そんな閑歳氏が見出した花開くエンジニアの条件と、転身を支えた学習法に迫った。【松本香織、橘菫】
1. プログラミング学習に、本はほぼ読まなかった。エンジニアと協業の機会を作り、実践的に習得
2. エンジニアとしての基礎力を上げるには、1つでもサービスを「作り切る」ことが重要
3. いつプログラミングを始めたかは関係ない。没頭できる情熱があれば、エンジニアとして花開く
4. 「女性だから」家計簿アプリを作ったわけではない。男女は関係なく、その気になればいつからでも挑戦できる
プログラミング学習に、本はほぼ読まなかった。エンジニアと協業の機会を作り、実践的に習得
――社会人になり、エンジニアとは別の仕事をしながら、プログラミングなどの開発スキルを学ぼうと思ったのはなぜなのでしょうか。
閑歳:大学時代から「自分で手を動かしてものを作れるのはかっこいい」と、エンジニア職に憧れを抱いていたのですが、当時は漠然と、自分には難しいだろうと思っていて。だから最初は「自分もちょっとかじってみたい」という程度でした。
――本格的に学び始めたのは、新卒就職後2社目のシステム受託開発会社でWebディレクターを務めていた時とのこと。別の職種で働きながら、どのように学んだのですか。
閑歳:在籍していた会社のシステム開発業務の中で、設計図などのドキュメントをクライアントに納品することがありました。ただ社内のエンジニアには「ドキュメントを書くより、プログラミングしている方が好き」という人がいたので、そうした業務を自分が引き受ける代わりに、技術的な質問に答えてもらっていました。
たとえば、サーバーを立てる時の手順書を作るとすると、隣でエンジニアがコマンドを打ち込んでいるのを見ながら書き取り、「それはどういう意味で、なぜやるのか」と聞いていく。次はそのドキュメントを見ながら自分でサーバーを立ててみる。それを繰り返すことで、エンジニアの仕事を覚えていきました。
――本などで勉強することはなかったのですか。
閑歳:1冊だけ読んでみたのですが、自分は本を読んでも頭に入らないタイプだと感じました。だからプログラミングができる人が書いたコードを読み、「きっとここはこういう意味だ」「じゃあここを変えてみよう」と、実際に触りながら覚えていく方法をとりました。同じ会社のエンジニア、それから大学時代の友人のコードを見て学ぶことが多いです。
――「自分には難しいから、かじってみる」程度で始めたにもかかわらず、「エンジニアに転身しよう」と思うようになったのは、何かきっかけがあったのですか。
閑歳:学ぶうちに「もしかしたら自分でも、プログラミングでモノづくりができるかも」と思った瞬間があったのです。Rubyというプログラミング言語で書かれた、Webアプリケーションフレームワークである“Ruby on Rails”を、手探りで触ってみていた時のことです。
その中に、自動でファイルなどのひな型を生成する“scaffold”というコマンドがあります。それを実行してみると、「こういうものを作りたいんでしょう?」と言われているかのように、勝手にファイルができあがっていって。それを見て、このまま勉強していけば自分にもできそうと希望を持ちました。
エンジニアとしての基礎力を上げるには、1つでもサービスを「作り切る」ことが重要
――その後、3社目のベンチャー企業にエンジニアとして採用されますが、職務未経験で採用された秘訣(ひけつ)はなんだったのでしょうか。
閑歳:よく社長が雇ってくれたと思いますが、自らサービスを作った経験があったことで、技術力を信頼してもらえたように感じます。
当時、自分の結婚式で使おうと思い、「Smillie!」という写真のスライドショーサービスを友達と作っていました。エンジニアになりたい人は多くても、目に見えるかたちで「作り切る」人は数%くらいですから、それが“名刺”代わりになったと思います。
――サービスを作り切ったことが、大きく可能性を広げたのですね。
閑歳:はい。サービスを人に使ってもらえる形まで100%作り切るという経験は重要だと思います。
エンジニアにとって、8割くらいの完成度のプロトタイプを作る過程はとても楽しいのです。けれど、人に使ってもらう前提で、最後の1~2割を作り上げるのはすごくつらい。「自分以外の人が使った時、これでは理解できない」「不具合を起こしたら駄目だ」「今後の運用を考えて品質管理しやすいコードにしなくては」……。こうした「詰めの作業」が最後の1割に含まれているのです。
――その後、フルタイムで働きながらZaimを開発されています。働きながら技術力を高めたり、実際に開発をしたりするのは大変だったのではと思います。
閑歳:技術力を高めるという点では、「苦労して時間を捻出した」という感じではなかったですね。特に学び初めのころは、映画を観たり、旅行に行ったりと同じように、趣味、または習い事をやっているくらいの温度感で開発をしていました。
ただ個人でZaimを作った時は大変でした。当時は、エンジニア向けのピッチコンテストに出ることにし、それまでにリリースすることを友人に宣言していたので、3~4カ月は仕事しているか、寝ているか、開発しているかという生活。先に目標を口に出すことで自分を追い込む側面はあったかもしれません。
いつプログラミングを始めたかは関係ない。没頭できる情熱があれば、エンジニアとして花開く
――プログラミングなどの開発スキルを習得すると、キャリアの幅はどのように広がるのか、改めて閑歳さんの経験を踏まえて教えてください。
閑歳:まず、エンジニアなど技術に関わるキャリアを構築することができ、職業選択の幅は広がりますよね。またそうでないとしても、少なくとも自分の経験してきた業界でいえば、開発の経験は、自らを差別化する武器になります。言い換えれば、キャリアのベースを形作る基礎的な知識ですね。
例えば、Zaim社のような、エンジニアが多く在籍する会社で、基本的な開発の知識・考え方があれば、スムーズに彼らと合意形成ができます。また、私がエンジニアとなる前に勤めていた記者職のように、一見ITに関係がないような現場でも、「開発に関する領域の記事の執筆はあなたに任せる」というように、ほかの人とは異なる強みだとみなされるでしょう。
こうした観点からいえば、異なる業界を2つ以上経験したことにも意味があったと感じています。結果的に開発スキルと関係ないように見える他のスキルの「組み合わせ」により、できることの幅は想像以上に広がりましたから。
――プログラミングの未経験者の中には、閑歳さんのようにエンジニアに憧れを抱きつつも、経験者と比べて「今から始めても……」と気後れしてしまうような人もいるのかと思います。
閑歳:プログラミング学習のスタートの早さは、問題ではないと思っています。これまで、最初は何も知らなくても、メキメキと伸びていく人をたくさん見てきました。
思い切ってプログラミングを始めてみると、「すごく楽しい」「やり続けてもまったく苦ではない」「寝るのを忘れて調べ物をしてしまう」という人がいます。そういう情熱が持てるのであれば、例えば就職活動の時点で、開発インターンなどの経験がなかったとしても、十分に花開いていきます。
周りのエンジニアを見渡しても、勉強や開発業務に費やしている時間は長いけれど、それを楽しんでいて「努力」と捉えていないような人が多いですから。逆に、そうでないのに、無理に続けていくのは苦行になってしまうかもしれないですね。
「女性だから」家計簿アプリを作ったわけではない。男女は関係なく、その気になればいつからでも挑戦できる
――少し毛色の異なる質問となりますが、閑歳さんは“女性エンジニアのロールモデル”として取り上げられることも多いように見受けます。仕事をしていて女性であることの強み、または難しさを感じたことはありますか。
閑歳:仕事上、性別は関係ないと思いますし、「女性だから」という側面を自分から出すつもりはありません。Zaimを作ったことに対し、「家計簿をつけるのは女性が多い、だから女性目線で開発をした」というふうに受け取られるようなこともありますが、自分の意識ではそうではないのですよね。これは単に自分がお金を管理することが好きだったから、作ったサービスです。
ただ、エンジニアの世界で、女性の数が少ないことで、男性に比べて「目立ってしまう」ことはあるかもしれません。
――「目立つ」とどのようなことが起こるのでしょうか。
閑歳:人によって感じ方は異なると思いますが、例えば数が少ないために、「優遇されている」とみられたり、実際にキャリアに有利に働いたりする場面もあるかもしれません。一方で、自分は感じたことはありませんが、少数派となる「生きづらさ」を感じる人もいる可能性があります。
――では改めて、今プログラミングを学びたいと思っている“後輩”に助言をいただけますか。
閑歳:前述した通り、男性か女性かなんて関係なく、大切なのはその人が「プログラミングを始めてみて、どれだけ好きになれるか」です。ただ、実際に1人で学び始めると、その好き嫌いを判断する前に、つまずいてしまうこともあります。
具体的には自分のPC上で開発に必要な状況を整える「環境構築」が難しく、挫折する人が多いです。ですから、最初はその部分を、周囲のエンジニアスキルがありそうな人にお願いし、教えてもらいながら取り組むのがいいでしょう。
また、「検索のこつを身に付ける」ことも意識するといいですね。現在はインターネットで得られる情報だけで、ある程度のスキルの習得は可能です。ただ、何も知らない状態だと、検索方法もわからない。これも、プログラミングができる人にどう情報を探しているかを教えてもらうといいですね。
――キャリアという観点で、かつての閑歳さんのようにエンジニア職と他職種の間で迷っている就活生もいると思います。
閑歳:現段階でほかにやってみたい仕事があれば、それにチャレンジしてみてもいいと思います。その後にエンジニアになりたいと思ったら、いつでも勉強し、チャレンジできる環境が今は整っていますから。
プログラミングに取り組んでみて、本当に楽しいと感じたら、自分で何かサービスを1つ、作ってみましょう。それができるほど情熱があれば、焦らなくても、エンジニアとしての道は開けていくと思います。
会員登録すると
このコラムを保存して
いつでも見返せます
マッキンゼー ゴールドマン 三菱商事
P&G アクセンチュア
内定攻略 会員限定公開
トップ企業内定者が利用する外資就活ドットコム
この記事を友達に教える