oRo Engineer note C#.NET大好き篇
今回は、個性豊かなオロエンジニアの「個人的興味」や「技術者としての原点」を掘り下げるコンテンツをお送りします!
よく読んでいたのは"携帯電話の取扱説明書"
ーだいぶ昔のことかもしれないのですが、コンピュータに興味をもったり、プログラミング(のようなこと)を始めたときのことを教えて下さい
ものごころつく前から、父親がパソコンで設計の仕事をしていました。父はパソコンやプログラミングに興味があったようで、自宅には父親の自作PCとプログラミングの本が数冊ありました。
私は読書好きで、小学生の頃に一番好きだったのは『エルマーとりゅう』シリーズ。他にも『ハリー・ポッター』とか『辞書』とかを読んでました。
ー『エルマーとりゅう』懐かしいですね~! でも、『辞書』を"読む"というのはマニアックですね(笑)
何より面白かったのは『携帯電話の取扱説明書』でした。寝室の本棚にあったので、寝る前、『説明書』片手に母親の携帯電話をいじってました。
その延長だったと思うのですが、ある時、寝室の本棚から『プログラミングの本』を見つけて、書いてある手順通りにやったんです。そうしたらプログラムが動いたんですよ!そこから『プログラミングの本』をひたすらに写経していましたね。これが小学生の頃ですね。
ーこれが小学生の頃の話ですか!そのときの開発環境はどんな感じでした?
当時、OSはWindows XPかMEでした。プログラムを動かしていたのはjavaアプレット。プログラミング環境はコマンドプロンプトとメモ帳でした。
ー貧弱ですね(笑)
小学生時代ですから(笑) そのころはまだ変数の概念は理解できていなかったんです。エラーがでたら『本』と見比べ続けるということをしていましたね。でも楽しかったんですよ、本当に。それ以降は、勉強そっちのけでプログラミングに熱中してしまい、高校生のときは勉強成績がボロボロでした…
大学時代 ~ 就職活動 ~ 仕事の話
ー大学時代や研究のことを教えてください
愛媛大学の情報工学科に進み、コンピュータサイエンスに関する多くのことを学びました。入学前に想定していた内容(アルゴリズムやコンピュータの仕組みの勉強)の通りで、とても楽しかったですね。
ただ、研究はとても苦労をしましたね。設定したテーマに関する先行研究が少なかったり、うまく進まなかったりで教授に詰められて… 結果、院試勉強をする気力もなくなり、就職活動に流れていきました。
ー就職活動についてはいかがでしたか
私が就職活動を始めたのは大学3年次の終わり際で、エンジニアとして就職活動するには遅い時期だったんですよね。で、自分が好きなC#や.NETを使っている会社も多くなくて… 実は「オロを落ちたらどうしよう…」と不安でした。結局、オロに内定をもらったので他社は一切受けなかったです。好きな言語が使えること、そして大きなプロダクト(『ZAC』)を扱えることが魅力的で決め手でした。
ープログラミングを仕事にしてみて、気がついたことはありますか?
プログラミングに限った話ではないのですが、「先生がいない」という感覚、別の言い方をすると「所属組織の中で、特定の領域について自分が一番詳しくて、一番できる状況が生まれる」という感覚は、仕事をしてからの気づきですね。
ー具体的には、どんなシーンだったんですか?
これはオロでの話ではないのですが、大学時代にWeb開発のアルバイトをしていて、そこでクレジットカードに関する機能の開発を担当しました。その領域の知見や開発経験のある社員さんがいなかったので、私が自分で調べて自分で実装するという状況になりました。いま考えれば当然なんですが、「自分でなんとかしなきゃいけないんだな」という感覚になりましたね。で、さら仕事を続けていくと「自分が一番詳しくてできる領域」が生まれて、頼られるようになるんですよね。これは仕事をして気づいたことですね。
ー確かに、大学の学部生のときには先生が必ずいますよね。それは仕事環境との大きな違いですよね。
いまはオロに入ってから3年ほど経ちますが、この組織においても「自分が一番詳しい、できる」という領域は少しずつ増やせています。直近だと、CI(継続的インテグレーション)周りの構築をかなり頑張りましたので、いまはCI周りの相談が全て私に来るようになりましたね。
"Kubernetes"にハマっています
ー現在、熱中していることは何ですか?
だいぶいろいろやっていますが、技術的な話では”Kubernetes"ですね。
ーえ? くーばーねてぃす?(※インタビュアーはノンエンジニアです)
はい。
これ、けっこう面白いんですよ。ファイルを書くだけでサービスが立ち上がるんです。今は”Kubernetes"をベースにしてどんなことができるのか、というのを探求しています。
私の探求活動は、過去に『携帯電話の取扱説明書』に熱中したのと同じ構図で、色々な機能や可能性がある技術的テーマを選んで、あれやこれやを試して「これできるじゃん!」と掘り下げていくんです。これがとても楽しいんですよね。
普段からいくつかのテーマが並行して走っていますが、しっかりと時間をかけるメインテーマがあります。メインテーマはだいたい、気になったツールやライブラリをとにかくいじることになります。それでいまは”Kubernetes"なんです。
ちなみに少し前のメインテーマは"Arduino"でした。「電子工作したいなー」というノリで買ってきて、いろいろなことを試し続けていました。
ー探求テーマを定めて掘り下げるのは、いつからやっているんですか?
思い返すと、最初は中学生のときで、"WPF"(Windows Presentation Foundation)のバインディングがわからなくて、ずっと追いかけていましたね。あと、"MVW"(Model-View-Whatever)関連の話を考えていましたね。
現在の話に戻りますが、実はもうひとつ追いかけているテーマがあります。それは最新のUIの構築についてです。"MVW"の話をしましたが、いまは"MVU"(Model-View-Update)がアツいんです。
ーえむぶいゆー?
はい。"MVC"(Model-View-Controller)→ "MVVM"(Model-View-ViewModel) → "MVU" という順で登場しました。
ーほうほう。
代表的なところは"React"ですが、状態を渡されて、UIのツリー構造を返す関数群を合成してUIを作るのが、いまのところ楽だな~という結論に至っています。"React Hooks"を使ってどうするのかという感じですね。いろいろいじってきた結果、いまは1日あれば1サービスを作れるくらいまでにはなりましたね。
ー素人質問ですみません。その「1サービス」ってどんなものを指すの?
自分が思い描いた「この機能が欲しい」という1つのかたまりですね。例えば『カウントダウンタイマー付きtodoリスト』とか『日本語の文章に対して、ユーザーが英文を入力したら正解かどうかを判定する機能』とか。1日でできるのは3画面くらいですが、「あったらいいな」を1日で形にできるのは、良いペースかなと思っています。
ーこれは土日に作るんですか?
そうです、週末ですね。楽しいからやっちゃうんですよね。
実は”Kubernetes"の探求は、同期の吉田くんとやっているんですよね。土日にチャットをしたりしてますね。あとは、オロにCTF部がありまして、そこで集まって知見を交換したりしてますね。
エンジニア人生を歩むことを決めたのは、中学生の頃
ーエンジニアになろうと思ったのはいつ頃ですか?
中学生の頃にソフトウェアを作れるようになって、「仕事にするのはこれしかないだろうなぁ」と思っていましたね。やっていて楽しいし、仕事になりそうだし、これでメシが食えたらいいなと。
ーこの年齢で、そう思えるってすごいことですよね。
中学生の頃は本当に熱中していて、毎週土日は夜9時~朝6時までずっとプログラミングをしてましたね。
ー夜9時~朝6時!?
ええ。なんでここまで熱中していたかというと、実はこの時、中学校の授業で使える「画像への書き込みができる電子黒板用アプリケーション」を一人で開発していたんです。
私の中学校は、当時にしては設備が比較的新しくて「電子黒板」が導入されていました。ただ、現在のタッチスクリーン式の電子黒板とは違って、テレビにセンサーをつけることで専用ペンで画面に線が書ける(画面への書き込みができる)というものでした。
で、数学の先生が教科書のコピーをテレビに写して、その画面に線を書き込んで授業をしていたんですね。
ただ、問題があって、16:9のテレビ画面では教科書の縦が全部映らず切れてしまう。となるとスクロールをしないといけない。ただ、画面への書き込みをしているので、スクロールをしたら線が画像には追従しないんです。
だから私は、画面への書き込みではなくて、画像への書き込みができるソフトウェアを作ることにしたんです。で、幸運なことに、数学の先生が理解のある方で、私が作ったソフトを実際に授業で使ってくれたんですよね。
ーなんとー! それはすごい!!
実はこれが、私史上最も時間をかけて作ったソフトで、完成度が一番高いものですね(笑) 約1年、毎週バージョンアップを繰り返しました。授業を見ながら改善点を考えて、土日に実装をして、翌週もっていって使ってもらう、でまた改善点を考えて…というサイクルをひたすらに続けていました。
自分が作ったソフトを実際に使ってもらえるのは本当に嬉しかったですね。エンジニア人生に進む原体験はこの時ですね。
ーもし、この数学の先生がいなかったら、エンジニアになっていなかった?
いや、エンジニアにはなっていたと思います(笑)
でも、この経験が決定打でしたね。
自分の好きなことで、問題を解けるのは最高に楽しい
ーこれから先、追いかけていきたいこと何ですか?
具体的な技術テーマで言えば、既に探求している”Kubernetes"、それから"Dapr" "Open Telemetry"とかですね。あと、C#と.NETが好きでずっと追いかけているので、これからも追いかけていきたいですね。
ー自分の好きな技術的テーマをとことん突き詰めたいってことですね。
はい、そうですね。個人的には「いじっておもしろいツール」とか、「これってどうやったらできるんだろうというテーマを純粋に考える」とか、エンジニア人生の原点から続く好奇心の道を走り続けたいです。
ー突き詰めた技術や知見を用いて、社会や組織や困っている人の役に立てたいという思いはいかがですか?
それは当然ありますし、自分の好きなことで難しい問題や課題を乗り越えられるのは最高に楽しい瞬間ですね。中学生の頃の「電子黒板ソフト」の話もそうですし、オロに入社してから取り組んだCI周りの構築も、自分の好きなことで目の前の問題を解いて貢献できた経験ですね。
ーCI周りの構築には、伊吹さんが追いかけてきた技術テーマが組み込まれているんですね!
はい。私がCI周りの構築に関わったのは、入社して1年目の夏ごろです。自らやってみたいと手を上げて、1週間で仕上げました。普段は全然残業しない人ですが、そのときは朝8時から夜10時くらいまでフルで時間を投下して、熱中してやっていました。
ー自分の好きなことで貢献できるって幸せですよね。
自分の好きなことと私の目から見えている課題を組み合わせて、「こうやったら解決できるんじゃないか」というアイデアは日々いろいろ浮かんでいます。製品開発チームでも、現在関わっている大きなプロジェクトが一段落すれば、そのアイデアを実行に移せるタイミングも出てくると思います。
ーさらなる楽しみがありますね!!
ーさて、最後に採用告知のような質問ですが、オロの製品開発エンジニア
として向いている、楽しめる人はどんな人だと思いますか?
製品開発チームでは、『ZAC』の開発に関する様々なプロジェクトが走っています。ユーザーに提供する機能開発はもちろん、CI構築のように開発環境を良くするための開発、速度改善やパフォーマンスチューニングといった非機能要件に関する開発などがあります。自分のやってみたいテーマが出てきたときに、手を上げて筋を通せばやらせてもらえる環境かと思います。
『ZAC』は比較的大規模なシステムに分類されると思うのですが、そのシステムの上から下まで(フロントエンドからインフラまで)を触ることができるのもとてもユニークで楽しめるポイントだと思います。
こだわりの技術的テーマがあったり、これまでの職歴で積み上げてきた技術領域がある方、スキルとこだわりを生かして大規模なシステム開発をしたい方、ぜひオロに来てください~。
ーありがとうございました! 本日は製品開発のエンジニアにどんな人がいて、どんなふうに仕事を楽しんでいるのかを具体的に知ることができました!!
ーオロでは、『ZAC』をともに開発する「製品開発エンジニア」を新卒・中途双方で募集しております!
・
・
・
あ、すみません。もう少し話したいことがあるんですが・・・
もうちょっと喋っていいですか??
ーえ!? も、もちろん良いですよ!
→インタビュー延長戦を近々アップします!お楽しみに~!
この記事が気に入ったらサポートをしてみませんか?