Podcast番組 | tenntennさんがプログラミングを始めた理由(ゲスト:上田拓也(@tenntenn)さん)

『エンジニアストーリーbyQiita』(現『QiitaFM-エンジニアのキャリアを深掘り』)は、「エンジニアを最高に幸せにする」というQiitaのミッションに基づき、エンジニアの皆さまに役立つヒントを発信していくPodcast番組(無料・登録不要)です。毎回、日本で活躍するエンジニアの方々をゲストに迎え、キャリアやモチベーションに関するお話をしていただきます。

今回の記事では、上田拓也(@tenntenn)さんをゲストにお招きした回について、配信の模様をご紹介します。
※2024年3月配信時当の内容を記事化しています。

Podcastで聞く

プロフィール

出演ゲスト

tenntenn(上田拓也)
一般社団法人Gophers Japan代表

ナレッジワーク所属。バックエンドエンジニアとして日々Goを書いている。GoogleDeveloperExpert(Go)。一般社団法人GophersJapan代表。GoConference主催者。大学時代にGoに出会い、それ以来のめり込む。人類をGopherにしたいと考え、Goの普及に取り組んでいる。複数社でGoに関する技術アドバイザーをしている。

X(Twitter):https://twitter.com/tenntenn
Qiita:https://qiita.com/tenntenn

番組ホスト

清野隼史(きよの たかふみ)
Qiita株式会社

アルバイトを経て、2019年4月にIncrements(現Qiita株式会社)へ新卒入社。入社後はQiita、QiitaJobsのプロダクト開発や機能改善等を担当。2020年1月から「Qiita」のプロダクトマネジメントとメンバーのマネジメントを行う。2025年4月よりプロダクト開発部部長として開発組織の統括を行う。
X(Twitter):https://twitter.com/getty104
Qiita:https://qiita.com/getty104

プログラミングはいつから始めた?

清野:今回のゲストは、プログラミング言語「Go」のカンファレンスであるGo Conferenceを運営する、一般社団法人Gophers Japan代表でGoogle Developer Expertのtenntennさんです。よろしくお願いします。

tenntenn:はい、よろしくお願いします。普段はGo Conferenceの運営とかをやっています。

清野:tenntennさんとお送りする1回目のテーマは「プログラミングを始めたきっかけ」です。tenntennさんといえばGo Conferenceですごくいろいろなことをやっていらっしゃると思うのですが、そもそもプログラミングを始めたきっかけや、どういうキャリアを今まで描いてきたのかなどを深掘りしていきます。まず最初に、プログラミングをいつから始めたか、お伺いしたいです。

tenntenn:プログラミング自体は多分中学生くらいだと思うのですが、小学校ぐらいから、パソコンクラブみたいなところでパソコンを触りはじめました。中学生のころには家にパソコンがあったんですけれど、自分のパソコンはなかったです。親がだいぶ昔に使っていた「MSX」というキーボードだけのパソコンみたいなものと古い本があって、それに書いてあったゲームのプログラムをベーシックで入力してゲームを作るところからプログラムを始めたかなと思います。

清野:小中学生くらいからってことは、今ではどれくらいプログラミングをやってらっしゃるんですか?

tenntenn:30年はいってないと思いますけど、20年以上かなと思いますね。

清野:じゃあプログラミングをずっとやってらっしゃるんですね。プログラミングを始めたきっかけは小学生くらいのクラブ活動だったと思うんですけど、そのクラブに所属している方たちはみんなやってたんですか?

tenntenn:いや、小学校の頃はゲームをやるなどが中心で、パソコンを触って遊ぶようなクラブでした。そのときにタイピングしたり、タイピングゲームで遊んだりしてタイピングができるようになりました。

清野:そこからプログラミングへ関心が変わってったのって、何かきっかけとかあるんですか?

tenntenn:家にMacがその時代からありました。今のmacOS10みたいなものではなくて、macOS9や8の時代ですね。もう博物館とかでしか見れないと思うんですけれど(笑)。透明のやつとか、もっと前のものもありました。父親が割と物好きなタイプです。その頃、多分みんなMicrosoft Windows 95とか98を買っている時代に、結構高かったMacも買っていた感じですね。

清野:当時、プログラミングを勉強しようとなったときの情報のキャッチアップの仕方は、どういう感じだったんですか?やはり本がメインなんですか?

tenntenn:その頃、中学生とかの場合はもう、本に書いてあることもよく分からずに、家にあった本をそのまま写すっていうことで、プログラムをしてましたね。なので、情報を得ること自体もよく分かっていなかったと思います。

清野:じゃあ、プログラミングの本自体も、すでに家にあったんですね?

tenntenn:そうですね。そのMSXっていうパソコンの使い方の説明と、ジョイスティックを使った簡単なゲームのプログラムが書いてある本でしたね。

清野:元々備えつけ本で真似するところから始まってるみたいな感じなんですかね。

tenntenn:そうですね。ファミコンの世代だったので家にファミコンはありましたけれど、親に取り上げられるなどしていて、「いかにゲームをするか」を多分考えてパソコンクラブに入ったとか、自分でゲームを作ればどうにかなると思ったとか、そういう感じだと思います。

清野:勉強しようと思ってやってるというよりも、遊びの一環としてやっていたみたいな感じなんですかね。

tenntenn:そうですね。

清野:僕も大学はコンピューター系なんですけれど、知り合いには自分でゲームを作りたいとかをきっかけにしている方も多かった気がしますね。

なぜプログラミングを始めたのか

清野:そこから、中学でプログラミングを色々勉強している中で、本格的にプログラミングやコンピューターサインスみたいなことを勉強しはじめたのは、高校や大学からですか?

tenntenn:そうですね。進学を推している工業高校へ行くことになりました。あまりどの学部かは意識していなかったですけれど、入試の直前とか、願書を出す直前になって「情報科が良いんじゃないか」と選んで、そこからずっと情報科ですね。

清野:じゃあ、最初はプログラミングを仕事にしていくぞみたいな感じで進学していたというわけではないんですかね。「強いて言えばこっちかな」という感じで来たんですか?

tenntenn:いや、それすらなくて。親が結構電子系の人間だったので、どちらかというと電子工作とかもやっていたんですよね。それで、電子工作は向いていないという自覚が自分でもありました。それを考えたところ、親には相談せずに、願書では情報科を第1希望に変えて出したんですよね。

清野:なるほど。そこからコンピューターサインスやソフトウェアの世界にどんどん入っていったんですね。

tenntenn:そうですね。だから最初は、あまり何も考えずに選んだ感じでしたね。

清野:そこからソフトエンジニアにキャリアとして進んでいくのは、大学卒業してからですか?

tenntenn:そうですね。大学も情報科でした。情報科には電気電子がくっついている情報科とか、結構色々な情報科があると思うんですけれど、ほぼ情報しかやっていない学科に進学しました。就職先としてはSIerやソフトエンジニア、Web系の職業とか色々あり、その中でって感じですね。

清野:高校や大学でプログラミングをより深く勉強をしていた感じなんですかね。

tenntenn:そうですね。高校では自分のパソコンはなかったので、工業高校出身の方は記憶の片隅にあるかもしれないですけど、ポケコン(ポケットコンピューター)っていうなんか関数電卓みたいなやつがあって、それでBASICやCでプログラムを組むようなことやっていました。それも本があまりなく、そのポケコン専用の説明書にすべてが書いてあるような形だったので、説明書をあとが付くくらい読んでいましたね。

清野:じゃあ本格的に開発を始めたのは、仕事として始めたというイメージですか?

tenntenn:仕事として始めたのは…。大学では工学部で情報系だったのでプログラミングは勉強していて、アルバイトでC#やVBで組んでいまして、そのアルバイトの中では割と稼いでいた方かなと思います。勉強時間よりは、ソフトウェアエンジニアとしてコードを書いて稼いでいた時間の方が、長い気もしますね。

清野:独学で開発はアルバイトを含めて始めていって、そこからキャリアとして進んでいったような感じなんですね。新卒の頃はどういうことをされていたんですか?

tenntenn:1社目はスマートフォンのゲームを作る会社に就職しました。私が入社したときくらいからちょうどゲームの事業を始めたような会社で、私としてはあまりゲーム作る気で入ってたわけではなかったんですけど、ゲームの案件に配属されました。今のスマホゲームとはちょっと違っていて、どちらかというとスマホの中のブラウザで動かすゲームって感じですね。

清野:実際やっていたのも、Web開発に近いんですか?

tenntenn:最初の頃はそうですね。私もバックエンドやフロントエンドのエンジニアとして開発していたんですけれど、開発言語はJavaScriptとかだったので。

清野:新卒でゲームに携わっていて、大変だったエピソードや面白かったこととかありますか?

tenntenn:新卒の最初の案件は運用案件に配属されることが会社では一般的というか、普通に考えたら割とそうかなと思うんです。配属されて1ヶ月経ったかなくらいのときに急に呼ばれて、入社する直前に私がすごい勉強していたとか、多分コントリビュートもしてたと思うんですけど、そういうJavaScriptのライブラリがあって、それができるぞっていうことに気づいたらしいですね。それで新規案件に連れてかれて、あまり今ではないと思うんですけれど、1つの会議室に開発メンバー全員詰め込まれるような開発スタイルがあって、そこで開発するという、新卒1年目としてはかなり異例の開発スタイルだったと思います。

清野:だいぶ体力使いそうな開発の仕方をしていますね。

tenntenn:最初のタスクも、先輩の社員が「分からなかったからこれ調べといて」みたいなのだったので、結構ヘビーな開発現場だったかなと思います。

清野:実際やってみて大変だったと思うんですけど、やりがいとかはあったんですか?

tenntenn:そうですね。リリースするまではかなり大変だったんですけれど、リリースしたときはやっぱりお客さんの反応とかはあって楽しかったかなと思いましたね。

清野:今だとtenntennさんはGoまわりで色々なことをやってらっしゃる方という印象が強いんですけれど、メインの仕事としてそういう方向にキャリアとして進んでいくタイミングってあったんですか?

tenntenn:Go自体は大学生の頃からやっていて、就職する前からGoをやっていたんですけれど、その頃はGoで就職するというか、全くそういう感じはなかったです。PHPとかJavaScriptとかを書けるっていうので就職しているので。

清野:そうなんですね。最初の頃はGoを書いていなかったんですね。

tenntenn:Goが正式にリリースされたのが2012年で、私が就職したのが2013年で、まだ1年も経ってない状態だったので誰も使っていなかったですね。

清野:当時は「そもそもGoって何?」くらいの感じだったんですね。そこからGoで活動していこうとなったきっかけはあったんですか?

tenntenn:その次に転職したのはメルカリです。そこでGoを使って開発ができるということで、そのときいた社員さんにリファラルで誘っていただいて転職したので、完全にGoで転職したという感じです。

清野:じゃあ、どっちかというと、Goで色々やっていくぞと思って転職したというよりも、お誘いがあって、そこから変わっていったような感じなんですかね。

tenntenn:そうですね。その頃は片手で数えるほどぐらいしかGoをやっている会社さんがいなくて、今有名な会社さんとかも、まだそのときはGoを使ってなかったと思いますね。

清野:メルカリさんも結構早めにGoのところを色々やっている印象は僕もありましたね。

tenntenn:でも元々はPHPなので、私が入った頃はまだPHPでしたね。

清野:そこからどんどんGoに変えていったような、そういうタイミングで入ったんですか?

tenntenn:そうですね。メルカリがグループ会社を1つ作っていて、ソウゾウという会社だったんですけれど、そこが結構スタートアップっぽい動きがありました。そのときのCTO的な方と、メルカリ側の進太郎さんですね。その子会社というか、グループ会社で新しいプロダクトを作る際にどんな言語を使うのかという話になったときに、これから将来性のありそうなGoってどうだろうというのでGoが採用されて、メルカリの中でGoが使われはじめた話を聞いて、乗っかったって感じですね。

清野:そうなんですね。Goでプロダクト開発を始めていくタイミングでジョインされたみたいな?

tenntenn:うーん。私が入ったのはちょっと遅くて多分半年ぐらい遅れてると思うんですけれど。

清野:でも半年ぐらいで入ってるって感じですね。

tenntenn:Goをやったことのあるエンジニアとしては多分2人目のタイミングとかでした。

清野:当時のメルカリさんって、Goまわりの開発って、どうキャッチアップしていったり、学んだりしていたんですかね?

tenntenn:すでにGoをやられてる方が社内には何人かいらっしゃったのもありますけれど、私が入ったグループ会社の方では、完全に私が教えるという形を取っていました。

清野:ナレッジシェアをしていくところから、tenntennさんが色々やってらっしゃったって感じなんですね。実際そのあたりの取り組みしていくことで、Goを採用していってメルカリさんでどういう変化が起こりましたか?

tenntenn:そのときは、そのグループ会社、ソウゾウの方はほぼ100%バックエンドをGoで書いていましたし、それがある程度きっかけになってメルカリ本体の方も、今だとバックエンドはほとんどGoだと思います。

清野:それだけGo自体のパワーとか恩恵を、メルカリさんは今、全体的に力として持てている状態で来れている感じなんですね。今はメルカリさんにはいらっしゃらないと思うんですけど、また新しい挑戦を始めたきっかけってあるんですか?

tenntenn:今はナレッジワークという会社にいるんですけれど、特にメルカリに不満があったわけでもなく、単純にミッションに共感するところがありました。人ができるようになるみたいな、Qiitaとかにも通ずるものがあるかなと思うんですけれど、「誰かができるようになる」がミッションにある会社に行ったら、その事業を中心に自分の仕事がこれまで以上に自分の軸と重なるかなと思って転職しました。

清野:今やってることと、メルカリさんにいたときにやっていたことに違いとかあるんですか?

tenntenn:1つは開発をやってることですね。メルカリにいたときは開発をやっているときもありましたけれど、ずっとはやっていなくて、辞めるときは全然やっていませんでした。今はプロダクト開発もやっています。

ただやっぱりコンテキストスイッチが激しいので、イベントやコミュニティの運営をやっている方も結構体力使うので、一般的なエンジニアよりかは開発はしてないと思いますけれど、多少増えたって感じですね。

清野:開発に戻ってみて、やっぱ自分はここら辺が得意だなとか苦手だなって、あるんですか?仕事の仕方とか。

tenntenn:既存のコードをいじるのは割と得意かなと思いますね。今CTOが開発したコードを触ることがあって、キャッチアップは大変だと思うんですけれど、読みやすいのもあって、ささっと修正入れられるかなとは思いますね。

逆にインフラまわりの知識は、私がバリバリにバックエンドエンジニアだったときからだいぶ時間が経ったので、多少のキャッチアップはしてるけども、現場のエンジニアよりは弱いかなと思いますね。

清野:じゃあ新しい挑戦をされながら、今また新しいキャリアを描いてらっしゃるってことですね。

開発以外は普段はどのようなことをしてる?

清野:ちょっと話が一気に変わるんですけど、開発以外のときは普段どういうことやってらっしゃるんですか?

tenntenn:私のいるチームはイネーブルメントグループというところです。イネーブルメントは誰かができるようになることを指しています。一般的なエンジニア界隈でいうイネーブリングチームは、どちらかというと開発をしやすくするってところで、ツールを作ったり開発フローを改善したりが多いかなと思うんですけれど、私のチームはどちらかというと、ひとりひとりの成長みたいなところも成長に入っています。どちらかというと社内のエンゲージメントを高めるイベントをやったり、社外に対するブートキャンプをやってみたり、そういうことをしています。

清野:イベント運営やコミュニティ運営まわりを、またちょっと別の回でも深くお伺いしていきたいなと思います。tenntennは今北海道に住んでらっしゃるんですよね。

tenntenn:はい、北海道に住んでます。基本的にはリモートワークをしていて、少なくて月に1回東京に来るという感じは取ってますよ。

清野:北海道にはずっと住んでらっしゃるんですか?

tenntenn:いや、コロナ禍で、2020年ぐらいに引っ越しました。それより前は東京ですね。

清野:北海道に引っ越した理由はあるんですか?

tenntenn:東京は2020年ってだいぶ住みづらい時期で外に出にくかったんで、北海道の方が家も広いし、土地も広いっていう感じで、そっちの方が住みやすいんじゃないかなってなって北海道に移りましたね。

清野:僕もちょっと地方に住んでみたい憧れがあるんですけれど、実際に住んでみてどうですか?エンジニアとしての働き方とか住みやすさとか。

tenntenn:1つはもう友達がいなくて寂しいってのはあるんですけど、土地が広いし、特にコロナ禍においては車を走らせれば観光地がたくさんあって、かなり息抜きになるかなと思いますね。飛行機にも電車にも乗らずにすむので、誰にも会わずに出かけられるのは、コロナ禍では非常に助かりましたね。

清野:確かに北海道だったらどこでも観光地みたいな感じですもんね。東京の人からしたら。お仕事の働き方とか、そのあたりの差とかはありますか?

tenntenn:リモートワークは結構長くなったのであまり苦にはならないですし、今の会社は出社もある程度あるので、人間関係を作るのも上手くいってるかなと思います。あとは創業機からコロナ禍で、会社の仕組みとしてリモートワーク前提の仕組みになってるので、元々リモートワークがなくてリモートワークに移った会社よりは、柔軟性が高いかなと思います。

清野:今のお話だと、出社自体もされてはいるんですかね

tenntenn:月に1回集まっていて私はそれで出社しますし、遠方じゃなくてあの東京都内とかの方は、週に1回火曜日に集まるような形を取っています。

清野:飛行機の移動は大変じゃないですか?

tenntenn:もう何の感想も抱かなくなりました。もう慣れてしまって。

清野:そこも慣れてくるんですね。冬は寒くないですか?北海道。

tenntenn:冬は寒いですね。今はちょうど12月中旬ぐらいですけれど、朝はマイナスとかいってましたね。

清野:冬の北海道って過ごしやすさとかどうですか?

tenntenn:全く過ごしやすくないですね、超寒いです。ただ家の中は、東京より暖かいです。私の住んでいる地域は割と雪は少ない方なんですけど、雪が深いところに行くと本当に大変。

清野:tenntennさん、本日はありがとうございました。次回もtenntennさんとお送りします。

tenntennさん出演の第2回「Goについて」を聞く
tenntennさん出演の第3回「エンジニアのコミュニティ運営のコツ」を聞く

さいごに

「エンジニアストーリー by Qiita」は、近年高まるエンジニア向けPodcastのニーズに応え、エンジニアのキャリア形成に有益な情報を発信しています。興味のあるテーマを見つけて配信を聞いてみましょう!

配信一覧を見る

  1. Qiitaニュース | 【検証】夜泣き対応で絶望したので、娘の泣き声を最新LLMに「翻訳」させてみた
  2. Qiitaニュース | プログラムに1文字加えて本番環境のバッチ処理を4倍遅くした