「CTO・オブ・ザ・イヤー2016」受賞のCTOに聞いた、プログラマーとしてのキャリアの歩み方
常駐フリーランス→CTOへ。「プログラミングで世の中を良くしたい」Repro CTO 橋立友宏氏

  • このエントリーをはてなブックマークに追加

メイン画像

毎年11月に開催されるスタートアップ企業の祭典「TechCrunch Tokyo」では、数々のトークセッションや話題のVRに関する展示のほか、技術によるビジネス貢献度が最も高い企業のCTOを選出する表彰イベント「CTO・オブ・ザ・イヤー」を行っています。2016年度に同賞を受賞したのが、モバイルアプリ向けマーケティングツールを開発・運営するRepro株式会社のCTO・橋立友宏氏です。

新卒では大手SIerに入社し、その後小規模な受託会社の正社員を経て、フリーランスとして参画したReproでCTOに就任するという変わった経歴を持つ橋立氏。これまでの経歴やRubyプログラマーとして活動してきた経験から考えるRubyの強み、プログラマーに求めるマインドなど幅広くお話を伺いました。

<この記事の要約>
1.新卒で入社した大手SIerは、プログラマーとして成長できないと感じ転職した。
2.“フリーランスとして生きていく”のではなく“武者修行のつもり”でフリーランスに転向。
3.Rubyの強みは、開発スピードの速さとコミュニティの交流が活発なところである。
4.CTOという肩書きではあるが、今後もプログラマーとして技術を磨き続けたい。

 


 


橋立 友宏(はしだて ともひろ)氏
1984年生まれ、神戸大学法学部卒。Repro株式会社にはもともと業務委託として参画していたが、2016年7月より同社のCTOとして勤務している。TwitterやGitHubのアカウント名はjoker1007。「パーフェクトRuby」「パーフェクトRuby on Rails」の執筆メンバーのひとりでもある。



<橋立氏の「CTO・オブ・ザ・イヤー2016」当日の登壇スライドはこちら>

何をやってたら「CTOなってしまった」のか/橋立友宏

新卒で入社した大手SIerは、プログラマーとして成長できる環境ではなかった

-まず、橋立さんの経歴について教えてください。

新卒で大手SIerに入社しまして、インフラ寄りの、サーバー構築などを行う部署に配属になりました。そこには2年半くらい勤めましたが、ちょっと性に合わなくて。

いわゆる大手にありがちな、開発は下請けに発注して自分は進捗管理などをメインに行う環境だったので、自分で手を動かすことができなかったんですよ。生活は安定していましたし、給料も良いんです。

でも、このままの状態で働いていてもプログラマーとしては楽しく働いていけそうにないと感じました。


-SIerではプログラムを書く機会はなかったのですか?

業務という形ではほぼ書いていないですね。でも、仕事の合間を見て業務改善に繋がるwebシステムを作っていました。例えば、同じ部署の若手が部内サーバーの管理を担当していたんですが、管理台帳がエクセルだったんです。それだと運用するのがすごく面倒くさいので、ボタンひとつで申請が完了するシステムを作りました。

あと、業務上必要になる様々な申請書を出すための手続きについても、自動化するコードを書きましたね。自分の仕事じゃないので、これらはある意味サボりになってしまうんですけど(笑)。

それで、上流だけじゃなくて自分でコードを書けるところに行きたいと思って、小さな受託開発会社に転職しました。そこではRailsを使った開発を行っていたのですが、規模が小さかったことや人手が足りていなかったこともあって、設計から実装まで全部自分で担当していました。

フリーランスに転向したのは、転職して3年半経った頃です。フリーランス時代は個人で受注する案件の他に3つの企業に常駐しまして、その3つ目の企業がReproでした。

私が参画しはじめた時期からReproの事業が急成長しはじめていたので、事業の成長に合わせた技術面でのサポートを行い、一段落ついたところでまた次の場所を探そうかなと思っていたんです。でも、僕の仕事ぶりをCEO・平田や当時のCTO・三木がえらく評価してくれていたみたいで。

会社を次のステップに成長させていくためにも、是非CTOになってもらえないかと声がかかったんです。それで、フリーランスから一転、2016年7月からはCTOとしてReproに勤務しています。

“武者修行”のつもりでフリーランスに。Rubyコミュニティでの繋がりから案件を獲得

-フリーランスになろうと思った理由は何だったのでしょうか。

転職先の受託会社は社員3人ほどの小さな会社だったので、受注できる仕事の量や納期にも限界があり、タイミングが合わないと仕事を断らざるを得ない状況になることがありました。

そうかと思えば、自分が持っていた技術を活かせる仕事がなく、しばらく手が空きそうになることもあったんです。だったら、自分で仕事を探しに行った方ができることが増えるんじゃないかというのがひとつの理由です。

また、Web系で良く利用されているRailsを使って開発はしていても、業務系のアプリケーションに近い所ばかりで仕事をしており、サービス運営に関わる様な可用性やアクセス負荷に関する設計・構築を業務で経験していなかったんです。

そういった点で自分の経歴が少し偏っている気がしていたので、もう少しサービス開発を行っている企業や、Rubyの開発案件を多く経験できる企業を見てみたいという思いがありました。

「ずっとフリーランスとして働いていこう」というよりは、「ちょっと武者修行する感覚で、いろんな現場のいろんな仕事がしてみたい」という気持ちが強かったですね。


-フリーランス時代は、案件の獲得はどのようにして行っていたのでしょうか。

知り合いからの紹介がほとんどです。以前から地域のRubyコミュニティによく参加したり、カンファレンスなどで発表したりしていたので、エンジニアの知り合いも増えていました。

フリーランスになるという決断ができたのは、そういったツテから仕事を得られそうだったから、というところもありますね。

フリーランス転向に限らず、SIerから受託会社に転職することになったのも、コミュニティで知り合った前職の社長に声をかけてもらったことがきっかけでした。以前の職場からは、フリーランスになってからも案件を受注していたんですよ。
 

Rubyコミュニティを通じた出会いが、転職やフリーランス転向のきっかけになったという。


-なるほど、フリーランスになる前から案件は確保できるだろうという予測が立っていたわけですね。橋立さんは書籍「パーフェクトRuby」「パーフェクトRuby on Rails」の執筆も担当されていますが、執筆に至った経緯はどのようなものだったのですか?

実は、本の執筆もコミュニティ繋がりの知人からの紹介なんですよ。もともとは知人が「パーフェクトRuby」の執筆メンバーの一員だったのですが、仕事がものすごく忙しくなってしまって、締切りまでにどうしても本を書く余裕がなくなってしまったんです。それで、その人が僕に代役を頼みたいと声をかけてくれて、僕としても是非協力したかったので依頼を受けることになりました。

Rubyの強みは開発スピードの速さと、コミュニティの交流が活発なこと


-橋立さんがRubyを使うようになったきっかけを教えてください。プログラミングは独学で学んだのでしょうか。

プログラミングは完全に独学ですね。大学は法学部だったのでエンジニアリングとは無縁で、趣味でプログラミングを始めたのが20歳くらいのときでした。1番最初に触ったのはRubyじゃなくてPHPで、よくあるLAMP構成で簡単なwebアプリケーションを書くようになりました。Rubyは情報系の大学に通っていた友人に教えてもらって、実際に使ってみるとPHPよりすごく楽しそうだと思って。ちょうどRuby on Railsが世の中に出たばかりの頃です。


-Rubyのどういったところが好きなのでしょうか?

Rubyは「プログラマーが楽しく、気持ちよく書ける言語」だとよく言われていると思うんですけど、僕も最初に触ったときその通りだなという感想を持ちました。やりたいと思ったことがそのまま表現できるメソッドがあらかじめ用意されていたり、直感的なコードで処理が完了できる言語デザインになっていたりするんです。

考えていることをサクサク形にできる感覚が、プログラミングを楽しいと思える下地を作ってくれたと思います。また、Railsやgemのエコシステムが充実しているところやライブラリの作りも好きですね。

さらに、Rubyはコミュニティがたくさんあって、エンジニア同士の交流が活発な言語なんです。山手線圏内だけでもおそらく7~8個はありますし、Reproのメンバーと元CTO・三木も「Shinjuku.rb」というコミュニティを運営しています。

他の言語と比べて人と集まってわいわいやるのが好きな人が多いのかもしれないですけど、そういうコミュニティの活発さが僕は好きで。コミュニティでの出会いをきっかけに面白い人と仕事をする機会も得られたり、技術面でも色々と教わったりできます。僕は浅草に住んでいるので、「Asakusa.rb」にはよく参加していますよ。


-今現在、橋立さんはRubyでの開発をメインで行っていると思うのですが、今後、企業がRubyを導入するメリットはどこにあると思いますか。

繰り返しになりますが、Rubyをきっかけにプログラマーがコミュニティに関わっていく機会が増えるのはメリットだと思いますね。Rubyを採用している企業で、特にRubyコミュニティとの関わり方が上手いなと思っているのはマネーフォワードさんです。

もともと現場でRubyを採用している企業なのですが、Rubyコミュニティに対する支援を行いながら、エンジニアの採用活動や会社のアピールにも繋げています。


-技術的な面ではどうでしょうか。

技術面でいうと、初期開発のスピード感はやはり強力だと思いますね。Ruby on Railsは登場から約10年経過しましたが今も第一線で活躍していて、webシステムを作るときの主要な選択肢に入ってくると思います。開発効率の高さはRubyの強みだと思います。


-今、他の言語を使っている人が新しく学ぶ言語としては容易だと思いますか?

いや、簡単ではないと思います。すでに他の言語を使っていて、エコシステムを何度も作ったことがあるとか、コードの仕組みを理解している人なら問題ないかもしれませんが、webプログラミングの経験が浅い人が始めようとすると難しい言語ですね。

一見、フレームワークがプログラマーの作業を省略して楽をさせてくれるように見えますが、その裏側でどんなコードが生成されているのかわかっていないと使いこなせないんですよ。サービスを運営する中でデータトラフィックが増大してすぐに破綻してしまった、というのはよくある話で、最初に動くシステムを作れたとしても、後から痛い目を見ることが多々あります。

使いこなせるようになるには、Rubyに限らずどの言語にしてもシステム開発の基盤となるSQLやRDBをはじめとした幅広い知識が必要になってくると思います。

プログラマーに必要な精神は”ジョジョ”から学んだ

-今後のIT業界で伸びていきそうな言語は何だと思いますか?

うーん、個人的にはRustやElixirが気になっているんですが、現実的に今後伸びていくのはGoだと思いますね。Goはコンセプトレベルで新しいという言語ではなく、現在良く使われている既存の言語の延長線上にある言語だと思います。その上で、シングルバイナリで動作してクロスコンパイルも容易なので、実行環境に対する依存がとても少なく済みます。

そういった意味でとても現実的な言語だと思っており、僕も最近よく行っているアプリケーションのコンテナ化などとも相性がいいです。

アプリケーションがコンテナで動くようになると、余計なものは出来るだけ排除して対象となるアプリケーション単体だけを内包した専用のコンテナを構築したくなります。その時に、コンテナの中にコンパイル後のバイナリだけ置いておけば動作するというスタイルはとてもわかりやすいし、イメージサイズも軽量化できます。

ReproではRailsアプリケーションをコンテナで動作させるようにしていますが、依存するライブラリやコンパイル環境自体をある程度コンテナ内に含める必要があり、イメージ構築が複雑になったり、イメージサイズが大きくなったりする傾向にあります。

今は機械学習がすごく流行っているのでPythonやRも伸びるのかもしれないですが、僕個人はあまり興味がないというか、僕がちょっと勉強したとしても太刀打ちできない分野だと思っているので、動向だけチェックしている状態です。言語を使えるようになるだけならできると思いますが、そこから新しくツールを生み出すのは難しいだろうなと感じています。


-橋立さんはRepro社で採用活動も行われていますが、どんなエンジニアと働きたいと思いますか。

“行動で解決する姿勢”を持った人がいいと思いますね。仕事をしていると時間が足りないという事態は誰にでも起こると思いますが、それを長時間働くことで無理やり乗り越えようとするんじゃなくて、効率的な開発を行うためのライブラリを作るとか、省略化できるコードを見つけて自動化させるとか、自ら工夫して仕事に取り組める人がいいですね。

僕はプログラマーとして、ソフトウェアで世の中を良くしていきたいと思っているので、自分の作ったものが自分や周囲の人、ひいては世の中の役に立つことの楽しさを知っている人と働きたいです。

僕は『ジョジョの奇妙な冒険』が大好きなんですけど、アバッキオというギャングの元同僚警官の名台詞があって、彼は「大切なのは真実に向かおうとする意志」だと言うんですよ。一つひとつの行為は小さなことでも、真実に向かっていく意志があればいつか必ずたどり着くはずだと。この精神はプログラマーにとってもすごく大事だと思っているんです。

プログラマーが作っていくものは、これから先どんどん複雑化していきます。ただ、複雑化していく技術に自分が対応していくだけだといつか限界が来て、結果的に自分自身は少しずつ後退していってしまう。

エンジニアリングは、現状維持するだけでもポジティブな意志が必要になる世界だと思っています。作業効率にしても自分が作っているものにしても、より良くしていこうという意志を持って働いてほしいですね。

 

「CTOオブ・ザ・イヤー」の登壇でも、「人生における大事なことはジョジョに学んだ」と発言するほどの『ジョジョ』ファン。


また、プログラマーとしてだけでなく、もうちょっと広い視点の話をすると、人との会話を通して物事の本質は何なのかを考えられる能力を持っている人はいいですね。

自分ひとりが頭の中で考えて構築できるものって限界があるので、他者から得た情報と自分の考えを組み合わせて、自分で考えられる範囲を広げていく力がこれからは必要だと思っているんです。

普段から他者の考えていること・感じていることをその人の言葉を通して聞いて、自分の中に取り込んでいける人はプログラマーとしても成長していける人だと思います。

今後もプログラマーとして、技術を磨ける環境に身を置きたい

-レバテックではエンジニアの転職支援や、フリーランスエンジニア向けの案件提案サービスを行っています。橋立さんは正社員とフリーランス両方の経験をお持ちですが、それぞれのメリット・デメリットはどこにあると思いますか?

正社員でも大企業とベンチャーとでだいぶ違ってくると思うのですが、大企業だとセーフティーネットがあるので、体調を崩したり一定期間働けなくなったりしてもすぐに職を失うことはありません。

福利厚生も充実しているので、生活をしていく上で安心感があることがメリットですね。また、会社自体が資産を十分に持っていることが多いので、リスクを取らずに会社の資産を使って新しいことにチャレンジできる可能性があります。

ただ、デメリットとしては会社員だと個人の意思ではどうにもできないこともたくさんあります。体制が気に入らなかったり、自分の意に沿わない仕事をやらなければならなかったりすることも往々にしてあります。僕はそれが嫌で、大企業は退職しました。

ベンチャー企業の場合は一発当てる博打のような側面があって、自分のやった仕事の結果がそのまま会社やチームメンバーの生活に直結するので、いいプレッシャーというか、本気になって仕事に取り組めるところがあります。会社の成長を肌で感じることができるのはベンチャーならではですね。


-フリーランスはいかがでしょうか。

フリーランスのメリットは何より自由度が高いことですね。企業常駐であっても働き方は参画先の企業と交渉次第のところがありますし、週3日だけ仕事をするという選択もできます。また、空いた時間を自分の勉強時間に充てたり趣味を楽しんだりできる上、短期的に見て会社員よりも高い収入を得られる可能性が高いところもメリットですね。

会社員の場合、劇的に給料が上がることはないと思いますが、フリーランスの場合は交渉次第です。その交渉が大変な部分ではあるんですけどね(笑)。自分の仕事に対する価値を自分で決めるのは意外としんどいものです。

あと、作業内容や社風が合わないなと感じた場合は、案件から抜けることも比較的ストレスなくできると思います。

デメリットとしては、フリーランスだと会社での立場が正社員とは異なるので、セキュリティ要件が厳しい現場だと、仕事上関与できない部分が出てくる場合があります。Reproくらいのベンチャーの場合、現時点ではフリーランスも社員も関係なくチームメンバーの1人といった認識で仕事ができますが、大企業だとフリーランスが担当できる範囲が明確に決まっている場合もあるので、自分にとっていい経験が得られない可能性はあります。


-ブラックボックスが出来あがるんですよね。
    
そうなんですよ。例えば本番環境のデプロイ周りの改善などは、フリーランスという立場だと責任が取れないので手を出せないんですよね。ただ、僕の場合はフリーランスになったからといって会社との関わり方や作業内容に大きな変化はありませんでした。


-ありがとうございました。それでは最後に、橋立さんはプログラマーとして、今後どんな道を歩んでいきたいか展望を教えてください。

僕自身としては、これからもプログラマーとして活動していきたいと思っています。今はCTOという肩書きで仕事をしていますが、会社のフェーズ的にも成長期であることから、僕自身が実際に手を動かして開発をする、というのを結構やっています。

CTOにならないかと声をかけてもらったときも、マネジメントを行うポジションとしてのCTOだと僕としては辛いので、技術面でのサポートをメインでやらせてほしいという交渉をしたんですよ。僕はやっぱり、自分で悩んで考えて何かを作り上げることが好きなんです。

とはいえ、今後自分に求められる立場というのは変わってくる可能性もあるので、一概には言えないんですけど。Reproが今より大きくなって、CTOに求める役割が変わってきたら、今の肩書きは別の人に託した方がいいかもしれないとも思っています。


-マネジメントよりも、技術面に力を入れていきたいということですね。

そうですね。あまり肩書きや立場にこだわりはなくて、技術力を磨いていくことにフォーカスしていきたいと思っています。でも、僕より少し年上の先輩エンジニアの方々が、最近は人事部長や技術顧問という立場にシフトしている例も多くて、僕も考え方が変わればマネジメント領域に足を踏み入れるかもしれないです。ただ、今の気持ちとしては開発と技術に力を入れて、新しいサービスやシステムを生み出していく道を進んでいきたいですね。



これから先も、プログラマーとして技術で世の中に貢献していきたいと考えている橋立氏。確かに、ITエンジニアは経験を積んでゆくとプレイヤーからマネージャーへのシフトチェンジを求められることが多いかもしれません。会社に求められる役割と自分が全うしたい役割にギャップを感じているエンジニアにとって、橋立氏の考え方は共感できるものだったのではないでしょうか。

橋立氏のように「様々な現場を経験してスキルアップしたい」、「技術者として自らの手でwebサービスを開発したい」など、自分の希望するポジションで仕事をするためにフリーランスという働き方を選択する方は多くいます。自らの人脈で案件を獲得するのは難しいと感じている人は、レバテックフリーランスのようなエージェントサービスを利用して案件を見つける方法もあります。

また、初めてフリーランスへの転向を考えている方には、無料の個別相談会も行っています。具体的にどんな案件があるのかはもちろん、フリーランス転向にあたって必要になる手続きについてなど、不安や疑問を解消する場としてご利用ください。プロのコーディネーターが一人ひとりの希望や状況に合わせて丁寧にサポートします。

レバテックフリーランスのサポートを利用する

  • このエントリーをはてなブックマークに追加

案件探し・フリーエンジニアになるためのご相談はこちら!簡単60秒無料会員登録

レバテックフリーランスが選ばれる3つの理由

ご利用者インタビュー

大阪での求人・案件の取引も始めました!

正社員求人・転職支援も行っております

クリエイター向け求人・案件はこちら

お悩みコンテンツ

おすすめコンテンツ

企業様向け情報

協業について

案件掲載について

メールアドレス必須

ご希望のメルマガ情報必須

  • お探しの言語(最大3件まで)

    検索キーワードを入力してください

個人情報の取り扱い」「利用規約」に同意の上、「同意してメルマガ登録」ボタンをクリックしてください。

送信中...

プライバシーマーク

© 2014-2017 Leverages Co., Ltd.