1. エンジニアストーリー by Qiita
  2. #004 設計とエンジニアキャリ..
2022-09-23 20:42

#004 設計とエンジニアキャリア〜READYFOR ミノ駆動さんが設計やリファクタリングを専門にするまで〜

READYFOR株式会社にてバックエンドエンジニア/アプリケーションアーキテクトを務めるミノ駆動さんがゲスト。『良いコード/悪いコードで学ぶ設計入門 』著者のミノ駆動さんと番組ホストの清野隼史が 「技術的負債とリファクタリング」「Web系未経験からのギャップ」「“乳化”という組織ビジョン」「設計を当たり前にした世界観」といったテーマでお話しします。

<ミノ駆動さんのQiitaページ>
https://qiita.com/MinoDriven
<Twitterハッシュタグ>
#エンジニアストーリー
<メッセージフォーム>
https://forms.gle/ZgRruUzqG6b8DGNCA

See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

00:00
今回のテーマは、設計とエンジニアキャリアです。今回は、設計とエンジニアキャリアについて、それぞれにまつわるゲストの方にお伺いしたいなと思っています。
はい、というわけで、ゲストには良い行動、悪い行動で学ぶ設計専門著者でREADY4株式会社のミノ駆動さんにお越しいただきました。
ミノ駆動さん、よろしくお願いします。
はい、よろしくお願いします。
はい、自己紹介をお願いしてもよろしいでしょうか?
はい、READY4株式会社でバックエンドエンジニア、アプリケーションアーキテクトを務めております。ミノ駆動と申します。よろしくお願いします。
はい、よろしくお願いします。
はい、ということで、今日はですね、ミノ駆動さんと色々、設計とエンジニアキャリアについてお話ししていければと思っています。
まずはですね、READY4株式会社さんで具体的にどういうお仕事をしていらっしゃるかお伺いしてもよろしいでしょうか?
はい、アプリケーションアーキテクトとして設計全般を推進しております。
READY4にはレールズのシステムが巨大化してきて、流石負債がひどくなってきたので、それを何とか解決してほしいということの依頼から入社したという流れですね。
それで、流石負債を解消するための設計もそうなんですけども、他にも全般的な設計のサポート、他のエンジニアさんに対する設計の助言とかサポートだったりとか、
今後の機能をどう追加していくか、そのためにはどういうふうに設計レベルで拡張性を向上させればいいかみたいな感じの検討とか、
モデリングだったりとかっていう設計全般をやっております。
この後でまたREADY4株式会社さんについてのお話をいろいろお伺いしたいなと思うんですが、まず最初に美野工藤さんのキャリアについてもうちょっとお伺いできればなと思っています。
今、READY4株式会社さんには何年前ぐらいなんですかね、入社されたのは。
入ったのは去年の4月ですね。
そうなんですね。その前はまた別の会社さんにいたということで、もともと美野工藤さん、ウェブ系からキャリアを始めていらっしゃるわけではないんですかね。
そうですね。僕は新卒では電子系の会社に入りまして、その後大手の電気会社に入っているキャリアで、
組み込み系とか組み込みソフトウェアとか、もしくはWindowsアプリケーションとか、どっちかというと組み込みのほうのキャリアが十数年あるような状態で、
近年、3年前にウェブ系のほうに転職したという形です。
03:02
そうなんですね。じゃあウェブ系は本当にここ数年ぐらいで入ってきているってことなんですね。
そうです。
ちなみにウェブ系のこの会社に業界を変えていらっしゃると思うんですけど、きっかけってどういうところだったりしたんですか。
きっかけはTwitterで泣き言を言ってたっていう話なんですけど、組み込み系の会社にいた時に、自分の設計とかソフトウェア開発業務っていうのがうまく立ち行かなくて、
Twitterで泣き言を言ってた時期があったんですね。
僕は前職クラウドワークスなんですけど、クラウドワークスの当時の役員さんが僕のTwitterのツイートを見ていたようで、
僕も設計とかリファクトとかいろいろやってるみたいな感じのところを見ていたらしいんですよ。
そこで僕の方に声をかけてきて、ちょっとうちで設計困ってるんだけど興味があったら話聞いてみませんかみたいな感じで、
そのゲームがあって、そこで勧誘されてそっちの方に移ったって感じですね。
そうなんですね。あんまりそこら辺のお話知らなかったので。
ちなみになんですけど、ある意味でウェブ系未経験のところから違う業界から入ってらっしゃると思うんですけど、ギャップとかありました?業界の違いの。
むちゃくちゃありました。
自分が通用するスキルっていうのは本当にソフトウェア工学的な設計スキルっていうもう1本だけであって、
組み込み系にいた頃はデータベースとかもほとんど触ったこと、経験とかもなかったですし、
もちろんウェブ独自のフレームワークだったりとか、ウェブ系の開発では当たり前とされてるような技術っていうのがほぼ知らないような状態で、
今でもそのAWSとかどっか何みたいな感じでよく分かってなくて、少しずつ噛み砕いてやってるっていうような感じです。
今でもかなりギャップっていうのは感じております。
そうなんですね。
三野駆動さんといえば設計っていうイメージ、結構多くの方が持ってらっしゃると思うんですよね。
そこで質問させていただきたいんですけど、そもそも設計の分野に興味持ち始めたのはいつなんだろうっていう、
そこ実はあんまり知らないなっていうのがあるので、ぜひお伺いできればなと思ってます。
僕が設計に興味を持ち始めたのは何年前でしょうね。
かれこれもう12年、13年ぐらい前じゃないかなっていう。
13年前。
に記憶しております。
その時にとある大きな開発規模にして40人から50人ぐらいの大規模なソフトウェア開発プロジェクトにアサインされたんですけども、
06:00
そこのプロジェクトっていうのは設計っていうものがまともにやられてなくて、
ただ仕様書だけがボンとあって、その仕様書通りに動くものをただただひたすら実装するっていうようなことが繰り返されてたような、
そういう現場であって、ものすごいバグが出たんですよね。
どっかのバグ直しちゃら、その表紙でまた別の部分がバグになっちゃったりとかっていうことが、
日常茶飯事で、だからそのとき、そもそも設計っていう概念が僕の中でそのときなかったんですよ。
なくて、でもなんでこんなにバグだらけになるんだろうとかっていうので、すごく苦しいな時期があったんですね。
それでなんか職場、今困ってるんだけどなんかいいことが書かれてる本がないかなと思って、
職場の本を探せたらば、ファウラーさんのリファクタリングっていう本を見つけて、
その中にコードが読みやすくなるとか、バグの発生を抑えられる設計があるっていうことを見つけて、
これ今自分が直面しているその課題を掛けするものそのものじゃないかっていう、
そこで初めて設計っていうものを知って、いざそれでその設計、実際にリファクタリングしてみたりとかそういう設計に取り組んでみたところ、
すごく面白かったので、そのままずっと設計っていう思いっかけで突き進んできたって感じですね。
へー、そうなんですね。じゃあきっかけはもう自分自身が抱えている課題っていうところをきっかけに、
そこを解決していくための設計、リファクタリングっていうところに出会って、
今日までずっとやり続けてるってことなんですね。
そうですね。あと加えて、周囲にそれを誰も解決しにいこうっていうふうになった人はいなかった。
だからこう、僕がやらなかったら一体誰がやるんだみたいな。
40人も50人もいて誰も着目してなかったんで、
であればもう自分からやっていくしかない。
自分からやっていかないと、今目の前のそのトルジェクトの大きな課題というのは解決できないみたいな感じで、
自分で勝手に盛り上がって設計勉強してきたっていうような感じのところもあります。
設計って今でいうと、ある意味で基礎的な概念ではないですけど、
プログラミングだったり開発をやってたら、設計もちゃんとやっていかないといけないぐらいのものにはなってきてるかなと思うんですけど、
10数年前に三野工藤さんが初めて設計だったりリファクタリングに触れた当時って、
そこの設計周りの技術的なところの認知度というか、
ポピュラーさみたいなのってどんな感じだったんですかね。
当時使ってたのはC-SHAPだったんで、その勉強してたプロジェクトっていうのは。
C-SHAPって言ったらオブジェクト思考なんですけども、
ちゃんとオブジェクト思考の流儀にのっとって、
例えばソリッド原則を守って、ちゃんと関心人ごとにカプセル化するとかっていうような、
今でこそ設計をちょっとでもかじったことがあれば、できるできないはともかく、
その辺の意味とかニュアンスで、設計のニュアンスで、今となってはもうちょっと広く伝わってるんじゃないかなと思うんですけど、
09:05
当時としては組み込みの現場だったっていうのもあって、
組み込みって基本的にC言語なんですよね。
C言語とかプラプラとか、要はレジスタとかそういうものを直接扱うのは大抵はCとかになるんで、
すると社としても基本的にソフトウェア開発って言ったらそういうオブジェクト思考じゃなかったんですね。
今はどうかもわかんないですよ、前の会社が。
ただ少なくともオブジェクト思考じゃない、いわゆる手続き型言語的な、
とか、いわゆる昔ながらのフローチャート図を書いてその通りに実装するみたいな。
そういう感じだったんで、設計するって言っても全く設計しなかったわけじゃないんですけど、
例えばその設計行為って何なのって言った時に、フローチャート図書いたりとか、シーケンス図書いたりとか、
言うようなことをしてて、要はちゃんとクラスを設計するっていうものは全くなかったです、僕以外は。
そうなんですね、今だと想像つかないですね、そこの部分。
確かに組み込み系だとC言語使われているところ、今も結構多かったりすると思うので、
確かにそこら辺は僕自身プログラミング始めた頃はオブジェクト思考言語が普通に主流になっていて、
でもそこ前提でのオブジェクト思考設計みたいなの、本も普通にあるし、探せば学べるぐらいの感じだったので、
当時の雰囲気を知ることができてとてもありがたいです。ありがとうございます。
IT、インターネット業界に強い転職アプリ、グリーンは、今話題のテック企業、プロダクト開発、DX案件など、
グリーンだけの良質な求人を数多く揃えています。
正式オブ前に企業の中の人とカジュアル面談ができるので、仕事内容やメンバーのことをしっかり理解した後に先行に進めます。
カジュアルに始める転職活動にグリーンをご活用ください。
じゃあちょっとまた次の話題に移らせていただくんですけど、
みのくどさん、お仕事以外での活動で、結構ツイッターとかで風刺的な動画みたいな投稿されていらっしゃるじゃないですか。
僕はいつも拝見して、マネージャークラスのやつとかすごい僕、ああなるほどなみたいな、よく見たりしてたんですけど、
あの活動みたいなのを始めたのっていつ頃ぐらいからなんですか?
あれは2年半ぐらい前ですかね。
それより前に、プログラミング以外の社会風刺動画みたいなのをちょいちょい作ってまして、
12:02
それでバズってて、僕は自己顕著力の塊なので、
そういう動画作って、自分の作ってる動画がバズってて面白いみたいな感じで楽しんでたって部分はあるんですね。
一時、これってプログラミングの風刺動画にも使えたりするんじゃないっていうふうにちょっときらめいたことがあって、
出しちゃえばバズったっていう流れですね。
そうなんですね。
いつもあれをきっかけにして、僕も実は設計に興味を持っていろいろ勉強を始めたりしていたので、
ユーザークラスのやつとかもですね、すごいいつも拝見させていただいてます。
最近はちょっと作ってないというか、次のネタないかなと思ってはいるんですけども。
また何か覚えてたらまた作りたいと思います。
ありがとうございます。楽しみにしています。
では続いてですね、Ready4さんについていろいろお伺いできればなと思うんですが、
Ready4さんは組織ビジョンで入荷っていうところを掲げてらっしゃると思います。
この入荷っていうのを、みのことさんもブログを書いてらっしゃると思うんですけど、
もうちょっと詳しくお伺いできるとありがたいなと思っていて、
入荷っていう言葉をReady4さんが掲げている理由とか背景みたいなところをぜひあればお伺いしたいです。
はい。入荷って僕がReady4に入ろうって思ったきっかけとなった価値観であるんですけども、
弊社のVPOEの人が考え出したコンセプトであって、
これっていうのはエンジニアリングと他のビジネスとか、
ビジネスサイトの人たちとかが一緒に巻き込んで、
一緒にやっていこうっていうようなそういうコンセプトのこと、組織ビジョンのことを入荷というふうに言っています。
自分として何でこれがいいかって思ったらば、
システムのアーキテクチャの品質を高めるっていうところを主軸にしているので、
アーキテクチャの設計するのは非常に大事なコンセプトだなっていうふうに思ってReady4に入ったんですね。
何でそれが必要かっていうと、
アーキテクチャっていうのはシステムで、
要はビジネス側で何かしら実現したいだったりとか、
こういうことを実現したいっていう要求があって、
それをテクノロジーによって実現したいとか、
自社の強みを活かすっていうような形でアーキテクチャを形作っていくので、
結局のところ、自社の強みは何だろうとか、
ビジネスってどういうことを実現したいんだろうっていうことを正しく知らないと、
正しくアーキテクチャの設計でできないんですね。
よくあるのが、ビジネスとエンジニアリングが分断してしまってるのが多いに、
ビジネスサイドから単に仕様書だけが渡されてきて、
エンジニアリングはそれを見て単に実装して、
作ったものが全然そういうつもりじゃないんだけどだったりとか、
それが実際に顧客にリーチするものじゃなかったとか、
15:03
そういう残念な開発ってよくあると思うんですよね。
それっていうのは本当にエンジニアリングとそれ以外が分断してるのがために、
ちゃんと要求通りのものが作られなかったっていうところが問題だと思います。
だからちゃんとした設計をするためには、
その辺のビジネスだったりとか利害関係者がどう思ってるのかっていうようなところを
ちゃんとうかがいしてるっていうのはものすごく大事だと思ってて、
それを実現できるなと思って、
実際それは今の設計でもすごく助かってますし、
ちゃんと品質を高めることにつながってるなっていうふうに思ってます。
今お話の中にもあった通り、
エンジニアってビジネスから結構遠い存在になってしまってる会社さんが多いと思うんですよね。
言われたことをタスクとしてやっていって、
思ってたのと違うみたいな、よくある顧客が本当に欲しかったものみたいなイラストとかあったりすると思うんですけど、
そこを会社としてしっかり取り組んでいこうっていうのをやってらっしゃるのはすごいなっていうふうに感じました。
ちなみにちょっとお伺いしたいなと思うのが、
その取り組み、エンジニア側からそういうのやったほうがいいよねっていう課題を持ちつつ、
そこってビジネスの人たちとも一緒に取り組んでいかないといけないところかなと思ってまして、
そこをエンジニアだけではなくて、ビジネスの人たちからもそういうところを課題として感じて一緒に取り組んでいこうって、
文化を作っていけている理由とかってあったりするんですかね。
理由っていうか、システムを作る側としては、
先ほど申し上げましたように、
顧客にリーチするものをちゃんと作りたいんだっていうところがあるんで、
知らないと何のために作ってるのかわからないっていうのはあります。
逆にビジネスサイドの人はシステムの中身がどうなってるのかっていうところが、
ちょっとお伺いすることができないっていう部分はあるので、
そこは若干情報の非対称性はあるかなという感じのところはあります。
ちょっとお答えになりましたでしょうか。
ありがとうございます。
そこの非対称性を是正すること自体をやっていかないといけないよねっていうのを
ビジネスのメンバーの人たち自体も感じているってことですよね。
その認識は多分全社が一致していると思っていて、
だからいずれにしても皆さんそれぞれでやっている仕事の内容って違いますし、
何に対してどう思っているのかって皆さんそれぞれ思っていることって違いますので、
その辺の非対称性って当然あると思うんですよね。
だからこそちゃんと目線合わせしようとかっていうような活動はやってます。
ぜひそういう文化、自分たちも作っていきたいなみたいなことを今感じた視聴者さんも
多くいると思うので、ぜひヒントにしてもらえたらなと思います。
では続いてですね、
美濃駆動さんのエンジニアとしてのモチベーションみたいなところについて
いろいろお伺いしたいなと思っています。
18:01
美濃駆動さんって何をモチベーションに、
今エンジニアリングだったり設計というところをやってらっしゃったりするんですか?
今はちょっとまた最近考えは変わってきたかなっていうふうに思っていますけども、
やっぱり最初に設計っていうものに触れた時っていうのは、
ちゃんと設計しないとものすごく修正が大変だしバグだらけになるし、
なんでみんな設計に対して取り組まないんだみたいな感じで、
怒り駆動でブリブリになってたっていう部分があって、
最近までそれがずっと続いてきたっていうか、
それを原動力とかモチベーションにやってきたっていうものはあります。
最近は本を出版してっていうところがあって、
それまでは結構自分とか自分の周りだけの世界のシステムの
設計がちゃんとなればいいなっていうふうに思いましたけど、
でもやっぱり世の中見渡してみると、
いまだに多くの現場において技術的負担で苦しんでるっていうとかが
どんどんたくさんあると思いますんで、
だから今はやっぱり広く、
やっぱりそういういろんな設計っていうのが当たり前になっているような、
そういう世界観っていうか、
ちゃんと設計しっかりやりましょうねっていう、
それをちゃんと当たり前にできるようになりましょうねっていうところの
世界がどんどん広がっていけばいいなっていうようなモチベーションで取り組んでいます。
まさにやっぱり良いコードが増えていけば、
世の中も良くなっていくというか、
良いソフトウェアも増えていったり、
改善が早く進んでいったりすると思うので、
そのミノ駆動さんの思いに共感しながら、
みんなで設計みたいなところもより勉強したり、
磨いていけるといいなっていうのを今お話聞いて感じました。
ミノ駆動さん、今日はありがとうございました。
まだまだお話ししたりないので、
次回もミノ駆動さんとお送りできればなと思っています。
本日はミノ駆動さんのキャリアについてというところと、
レディフォーさんについての文化みたいなところをいろいろお伺いできたと思います。
レディフォーさんの入荷みたいな文化は、
本当にいろんな会社さんで取り組んでいきたいなみたいなところを持っていたりする方も多いと思うので、
今日お話しさせていただいた内容、
ごヒントにいろいろ取り組んでいっていただけると僕も嬉しいなと思っています。
さて、この番組では感想や質問、リクエストなどお待ちしております。
番組詳細欄にあるリンクよりお気軽にご投稿ください。
Twitterではハッシュタグエンジニアストーリーをつけてツイートしてください。
そしてApple PodcastやSpotifyのPodcastではレビューもできますので、
そちらにも感想を書いてもらえると嬉しいです。
Kiita株式会社はエンジニアを最高に幸せにするというミッションのもと、
エンジニアに関する知識を記録、共有するためのサービスKiita、
21:00
エンジニアと企業のマッチングサービスKiitaJobs、
社内向け情報共有サービスKiitaチームを運営しています。
ぜひカタカナでKiitaと検索してチェックしてみてください。
お相手はKiitaプロダクトマネージャーのKiyono Toshifumiでした。
20:42

コメント

スクロール