#116 この度、完全に言語化しました〜自走力〜
2023/2/8 ·
-
さてここで質問ですじゅんぺいくんはい今じゅんぺいくんは駆け出しエンジニアなんですか僕は駆け出しエンジニアですわかりましたもし今後あなたが教育者になったとして新しく後輩ができましたそんな時に一番身につけてほしいものを一個あげようと言ったら何をあげます一個ですか一個です一番身につけてほしい質問力
-
この後の話題を考えてあえてずらしたりしてないですか?してません質問力、かいちくんはどうですか?高校で僕に来るの?急に全部の歯が出てきたまあそうですねタスクのコミット力ですねタスクのコミット力?やれと言われたことをありとあらゆる手を使ってやりきるじゃないですかなるほどね
-
それさえあればどうにかなると思いますなるほどなるほど広いうわー狭めますねじゃあ広いえーいいですかどうぞえーおかわりここの盛り上がりがすごいLinuxコマンドだめ絶対にやっちゃだめだよそんなそんな頭話に否定するのは絶対やっちゃだめじゅんぺーだめはいすいません質問力でもね僕も大事だと思いますよありがとうございます
-
僕はですねもう一個の軸としてですね自走力というものをめちゃめちゃ重視してるんですよ自走力漢字でどう書くんですか自分でダッシュする力です走るダッシュって言うものはあれ自分でダッシュするパワーですカタカナ読みだ漫画だ多分なんかの漫画だわセルフダッシュパワー
-
自走力でこれをつけてほしいなと日々思いながらもうかれこれ3年ぐらい教え続けてきたんですねその中で自走力をつけるためのコツっていうのが完全に言語化できたんで今日は発表しようと思いますお
-
気になりますねちょっとその自走力ってだけ聞くとさっきカイチさん言ってたことと似てそうな気がするなと思ってるんですけど確かにまず自走力ってどういうイメージなのかをお聞きしたい気もするはいいいでしょう自走力とは過去に出会ったことのない課題を解決できる力である新しいことに対して何かできることってことかそうなるほどそう思ってますうんうんうん
-
これどのエンジニアにも大事なんですよ今このエンジニア界あるじゃないですかエンジニア界を3つの勢力に分けるとしたら自社サービス系、住宅系、SES系のこの3つがあると思うんですねあーっぽい
-
まあでも確かにそうですねだよねSIRとかって多分その中の業態にちょっとバコーンって分かれてるイメージというか主に住宅みたいなイメージなんですけど住宅っすねまあちょっとSES系っているのかっていうのは分かんないですね逆に自社サービスか住宅だけなんじゃないかとは思いますね自社サービスかSESもある種住宅なんですけどはい現場によるわけじゃないですかやっぱりそれって結局どっちかに収まるんですよね
-
でもちょっと今回の話で言うと多分SES系分けた方がいいですそうなんですね分かりましたじゃあ分けておきましょうなんでかっていうとまずSES系はもう簡単ですねどの現場に行くかによってやること全然違うからそれはそうなので常に未解決問題にぶち当たるわけですよ確かに過去の自分のねまだ出会ったことない課題が出てくると住宅もほぼ同じで
-
新しい仕事を受注するたびに適切なサービスってのが変わってくるんで逆にね変にこだわっていやいやうちはこのサービスでしかやりませんよっていうやばい会社じゃない限りは絶対に新しいものをやるはず言語も変わりますしねバージョンとかもそうそうそうそうそうだね同じ言語使っててもそうなるわ自社サービス系もほぼ同じ理由ですね
-
成長してる限りはきっと新しいことを触らなきゃいけないはずあえて成長をやめてうちはもう同じことしかしませんって言ってる場合だったらあり得るかもしれないけどね会社の規模も増えたり減ったりしますしねそれによって適切にやってるとかねあとなんかWindowsの何々がサポート終了するから変えなきゃとかありますからねやっぱりねということで必ずエンジニアをやってると今まで出会ったことのないものにぶち当たることはありますよとはいはい
-
それを解決できるようになるところが僕は駆け出しとしてのゴールだと思うんですよおーなるほど今回はさっきも言った通り完全に原告ができたんでお話しますというところでまず1個目のステップからいきますよステップ形式ステップ形式ですかステップ形式ですステップ2から入ることはねえと1から入れと順番がありますもんこれは順平が今何なのかとでも途中で解決することもあります
-
まず課題ぶち当たりましたじゅんぺくん何しますか調べますはい残念すごいな卵出しだなまずそこをもうちょい具体化しないといけませんまずは現状を把握する必要があります何が起きているのかというエラー文をちゃんと読むとかエラー文をまずちゃんと読む
-
もしHTMLとかだったらエラー文出ないで見た目ぶっ壊れると思うんでデベロッパーツールでなんでそうなったかを把握するそして理想との違いを言語化するとまずは言語化します現状を次に仮説を立てますなんでこの問題が起きてるんだろうっていうのをその現状から仮説立てますちなみに
-
全然仮説立てねえわかんねえってことあると思うんですけどそういう時ってどうやって仮説立てるんですか質問力です周りの人にどうしても自分じゃどうにもならない時は人に聞きます他の人の脳を借りるってやつですねそうですねその時は言語化は一旦諦めてもいいかもしれないエラーメッセージそのまま調べるっていうところをやってもいいかもでも仮説立てようとはした方がいいと思うはいはいはい
-
仮説立てると何が便利かっていうと検索ができるんですよ確かに例えば今回の仮説はこれきっとちょっとhtmlでいきますよなんか位置ずれちゃってるなみたいなデベロッパーツールで見たらここに意図しないマージンがあるとじゃあマージン消し方cssで検索すれば
-
出てきますよねこのマージンが原因じゃないかなっていうのが仮説の部分ですねと確かにこれで言語化できていれば検索して正しい記事に出会う確率っていうのが増えますとはいそしてその次出てきた記事を読んで理解するうん結構これ最初あるあるだと思うんですけど
-
僕その検索させるところまで一緒に見たりするんですよあーおもろいですねおもろいですねその時に正しい記事にたどり着けてるのにもかかわらず全然読めてない時とかあるんですよ
-
あるかもしれないありますねどういうことですかよく分かってないですこっちから見たらどう見ても正解の記事にたどり着いてるんですけどなんかその記事をすごいチャチャチャーって見て違うなってバックしちゃう人多いんですよねなるほどなるほどありますね経験ありますこの記事じゃねえわってなって他の記事行くんですけどいやこれじゃねえなあれ
-
さっきのもう一回見てこれじゃんみたいなそうそうそうそうそれじゃんこれじゃんってなりますねなので出てきた記事をちゃんと読むっていう読解力も必要なんですね最後のステップもう最後はいはいはい読んで今回の仮説を解決するための方法が分かりましたとはいあとはそれを抽象化して自分のコードに落とし込む力ですね難しいですねあの
-
コピペすんなよとは言いますけどコピペすんなよってことですよねそうです要はどこまでが汎用的な内容でどこがその固有の環境にあるのかっていうのをちゃんと見極めて自分のとこに落とし込まなきゃいけないよとこれも次もあるあるなんですけどえーと
-
記事のやつをそのままやろうとしていらんダブルコーテーション入れたまんまにしちゃったりとかありそう全然違うパス入れてたりとかありそうっていうのはあるんで抽象化する力ってのはすごく大事だよねっていうところでそこも必要だよねっていうこの4ステップできてれば全部の問題が解決します
-
今日もありがとうございました確かに現状把握まずちょっと甘い感じはします現状把握が一番大事です一番大事ですよね結構甘いなって最近感じます慣れてくると現状把握して仮説立てて調べずに解決できる時もありますなるほど調べずにいけちゃうんですね時もあります今までの経験からとかエラー文読んでこういうことか
-
そうそうそうエラー文だけで解決できるっていうのはそのパターンかなって思ってますねでもその引き出しが自分にない場合ってあるじゃないですかそういう時に検索が必要ですよっていうそれはどうやったらできるようになるんですかさっきのステップを意識して繰り返すことですねなるほどねなのでここからアンチパターンが導き出せますエラーメッセージをそのまま検索するはいこれはあまり良くないと思ってます解釈する時間が欲しいと思いますね
-
エラーメッセージをそのままって言っても範囲によるな僕結構そのままやっちゃいますねそれはもう慣れてるエンジニアだからいいと思うんですよ多少はしょっても大丈夫そういうことですね最初はまずなんでダメなのかを把握せんとあかん確かにこの前一昨日くらいにできてるなと思ってたのにできてなかったことがあった
-
どっかどっかコンポーザーアップをやってバーって流れたんですよバーってターミナルコンソール流れてバーって流れて結構長かったんでいけたなって思った長かったんで長かったんでっていうか気持ち上がるやつで忍びててなんか出るじゃないですか100%とか出るねパーっていっていけたなと思ったんですけどなんかデスクトップどっかデスクトップそれでコンテナがなんか
-
なるほどあれなんかさっきめっちゃ流れたんだけどなと思ってちゃんと見たらバーって流れた一番最後にネットワーク見つかりませんってなってたのヤムルーファイルに演技してたネットワーク見つかりませんってなってあできてなかったんだって気づいたんですよちゃんと見てなかったなと思って現状把握がやっぱ甘いんだなって笑
-
そういうことよちゃんと見ようと思いますそういうことよ現状把握できてないと全然違うキーワードで検索しちゃうんですよね時間かかっちゃいますよねすごい雑な例でいきますよはいお願いします例えば要素を本当に土線に配置したいときみたいな四角いボックスがあってその真ん中にHTMLの小さい箱を配置したいよっていうときにちょっとずれてましたとはいはい
-
これ仮説立てずに検索するとボックス中央配置ちょっとずれてるで検索しちゃうんですよでもそれって絶対解決策出ないなと思っててなんでずれたかっていう原因が分かってないじゃないですかなんですけどデベロッパーツール見たときにずれてる原因をちゃんと仮説立てないと多分そこでたどり着けないと思うんですよだからこそちゃんと検索できるようにするために現状を把握して仮説を立てましょうねっていうところですねそこは
-
原因の特定っていう現状把握今何も続けること考えずに出って言いましたそんなことあります?なるほどな一人で勉強したりとかするとそういうのって意識しないでやってきましたがどうやったら周りのエンジニアに対してとか後輩でもいいですけどそういうののチェックってどうやったらできるんでしょうね
-
なるほどね研修中はのりさんが言ってるわけですよね現状は今何が起こってるかちゃんと把握してそれで言うと周りのメンバーにどうやってこれを強制させるかで言うと相手から質問来たらこの対応していくっていう感じになりますここが明らかになってるかどうかを確認していくみたいななるほどなるほど今回こういう問題発生してますみたいな
-
質問が来たらまずなるほどなるほどじゃあちょっとまずこれ今なんでずれてるのって聞きますねさっきの例だとそういう時だいたい分かってないんでデベロッパーツール開いて一緒に見ますねじゃあこれここが原因じゃんじゃあ次どう検索すればいいと思うって聞きます本当にこれを誘導する質問していきますねなるほどねで次ページ開いてなるほどなるほどじゃあこのページに解決策ありそうですかって聞きますねでだいたいあるのにないって言われます
-
その時はあるよあるよってさっきのも読ませるっていう
-
そこをあるよとないよのジャッジメントもちょっとコツがいるんですかねそこはもう僕が解決策知ってるから判断できてるんで実際にやるってなったらもっとちゃんと読む必要あるんですけどだいたい把握できない大きな理由はちゃんと読まずにやってますねそれはもしかしたら僕が隣にいるから焦ってるのかもしれないんですけどまあそれはありそうですけど人がいると時間あんま使ったらあれだなみたいなので焦ってると思うんですけどなので僕は言いますね
-
僕隣にいるけど焦らず読んでいいよって素晴らしいっていう感じですねなるほどね確かにあとなんかあれかもしれないですねこのページ違うんじゃないかって思うときに環境ってだいたい違うじゃないですか環境違うと出てくる文字とかも結構違ったりするじゃないですかそこの部分がそれこそあれですねさっきの抽象化自分
-
のパソコン側に抽象化できてなくて違うなって思っちゃう感じもしますねあーなるほどね気持ちわかるわ個人的にはドンピシャのやつ探しちゃうわ他にあるやろって探してないならしょうがない一番上のこれ見るかってなるけど序盤とかは他に同じ環境のやつあるやろって別のページ見ちゃう俺正しいと思ってやってるそれは
-
ちなみにMacとWindowsが違ったらもう違うの見ますよね最悪ね最悪マジで物による物によるなそれマジで物によるプログラミング言語部分に関してはさMacもWindowsもあんま関係ないじゃん確かに物にインストールする系じゃないそれ直接そうっすね確かにMacOSだとこれでみたいなはいそうですね確かにあの
-
インストールする系でだからアプトゲットがどうのって話とブリューの話を変換できないと思ってるから多分できないですよねそこはできないかもインストールライブラリっていうのかなあれなんていうのパッケージ管理ツールパッケージマネージャーブリューはMacのやつでしょそうそうそうそうアプトゲットはUbuntuだねUbuntuだよねUbuntuYAMとかありますけどそういうのはねドンピシャじゃないとダメだね多分確かに
-
それも経験則ですねいや忘れちゃいがちなのでちょっと気を付けようって今話を聞いてて思いました現状を把握するとか現状把握が一番僕は大事だと思ってますね現状把握と仮説立て仮説なんて最初は間違ってていいんですよ違ったらでもあの
-
一回仮説の段階に戻ってもう一回次の仮説考えるのは大事ですねうんうんうんあれですねこの前ののりさんがiPhoneなくした時みたいな仮説作りですねそういうことよどんどんこれ違ったわじゃあこうかって言う
-
僕の周りに優秀なエンジニアの人がいるんですけど年が近くてその人はバグとかわからないことに直面した時に現状分析仮説立て調査アンドアクションダメだったら別の仮説立てるみたいなのが上手だなと思ってるんですけど先輩の方なんですけどその人がやってる様子をふわっと共有させていただくとその仮説立てとか調査をアウトプットしてるんですよ
-
たぶん手元にもアウトプットしてるんでしょうしリモートワークなんで仕事の様子見れないんですけどスラックでタイムズチャンネルって言って個人のツイッターみたいなつぶやきみたいなそういうのを垂れ流すチャンネルのスタイル分法ってやつですよね
-
ってのがあるんですけどそれに分かんなかったこととか直面したエラーみたいなやつの文章とか調査した結果とかエラー文に直面したらこういうエラーが出てるからこういうことなのか実際に調べてみたらこうこうこうでこうだからおそらくこうやったらできそうまた別のエラー出たみたいなそういうのを丁寧にアウトプットしてる
-
人がいてその人優秀なんですよね他の人がエラーで詰まってできないってなってた時もスレッドに対してこういうエラーがこう出てるのでこういうところに関わるかもしれませんねとりあえずメッセージポンって出して仮説
-
結論出す前にレスポンスしてそれでその後ちゃんとアウトプットして自分で調べてではこここうやったらできましたって言ってそのメッセージ繋げていくみたいな感じでやってて今のりさんの話を聞いててその人はそのプロセスをものすごく丁寧に踏んでるんだなっていうのを
-
話を聞いてて思いましたしかもそれアウトプットしてるの例えば後輩のメンバーとかが見てたらさこうするんだっていう解決のプロセスが分かるよね今の僕ですねそれそういう人もいると思うんでスラックのアウトプットってだから大事なんですよねリモートワークなら余計ね僕この現状把握と仮説だでできるようになると質問力上がると思ってます
-
こう思ってるんですけどどうなんでしょうみたいな解像度の高い質問ができるようになるってことですね言語化能力も高くなりそうですね言語化するプロセスを踏むわけなんでね半年後か分かんないけど順平にこれできるんだったらもう一回聞いてみたいけど一回エラーにぶつけてみる持ってきて
-
この4ステップいいですね一生これですもんね一生このループあとこの抽象化して自分の状況に落とし込むができるようになるとドキュメントを読めるようになりますドキュメントって要は抽象みたいなもんなんであれを自分のコードで落とすときどうするんだろうなみたいな確かにドキュメントを読めるようになりますこれできるとそろそろですもんね1年経過したんでそろそろドキュメント読めるあと3ヶ月だよ3ヶ月
-
ドキュメントってそういうことなのかなんか初心者がドキュメント読みづらいのはそのまま適用できないからってことなんですねだと思うあんまり言語化したことなかったですけど確かに言われてみればそうかもしれないねパズルのピースだけ置いてるのがドキュメントだと思ってるんですけどそれをどう組み合わせるっていうのは自力でどうにかしなきゃいけないというかドキュメントの中にはあるけどそのページにはないはずなんで
-
なるほどなはい自分で調べて解決するよっていう自走力が高まるためにはこのステップが必要でこのステップが高まるとそれに引っ張られて質問力と読解力が上がるかなと思ってますね抽象力はちょっと別ですけど鍛えていく抽象火力を上げるにはどうすべきなんでしょうね思いつかなかったです僕は要約力なんじゃないかなと思ってますうん
-
情報が1から100まである中で大事な部分はどこかっていうのを見極めるスキルが抽象力なんじゃないかなと思ってるんですよそれを鍛えるためには練習ですよね練習が必要で量は絶対必要だと思うただ文章の要約ともちょっと違う気がするんだよな自分が持ってる枠にハメにいくというかで
-
だからスーパーで食材買うのと一緒ですよね肉じゃが作りたいと思ってたらドキュメントにある人参取ってきて切って肉じゃがに入れる作業が多分今回のりさんが言ってる抽象火力というかドキュメントから情報取ってくるってそういうことですよね違う?ちょっと待ってね肉じゃがで例えようとしてこれが無茶だったら言ってください肉じゃがで人参だけ全然火通らなかったみたい
-
課題があった時に検索するじゃないですか肉じゃが人参間違った肉じゃがはいいや人参火通らないって出てきた時に出なかったけど野菜火を通す方法みたいなやつ出てきた時にそれを人参に落とし込めるかってとこじゃないですか意味わかんないねたとえ言おうとして意味わかんないギリギリわかりましたけどねギリギリわかりましたよ僕はうん
-
だからそれを落とし込む力ってどうやったら鍛えられるんだろうねっていうところですね結局一つは数だと思うやっぱり人参以外にかぼちゃでやったことあったりとかジャガイモでやったことあったりからかぼちゃとジャガイモの時そうだったから
-
人参でもそうだってなるってことですよね共通点が見えてくるというか例えば1個の情報から他と何が共通してるかを導き出せないけど100回やった状態からその100回のうちどれが共通化してたかみたいなのが導きやすいじゃないですかその共通点を導き出すのが要は抽象化だと思うんでチュートリアルみたいなのがあるといいのかもしれないですねドキュメントを参照しながら1個のアプリを作るみたいな
-
チュートリアルの経験があるとあの時のチュートリアルと同じような感じでこのドキュメントのこの情報を拾ってここやればいいんだみたいなそういうのが導き出せるようになるのかもしれないつまり一気通貫で体系的に学ぶのが大事っていうことなんかもしれないですねデバッグについてはチュートリアルでやらないのでたまにあるかわざと苔けさせるやつは割とあるか
-
どうだろうあんまり世の中的にあったかなっていうのはちょっと疑問技術書やってるってありません?エラーが出ちゃいますねではここをこうやって直してみましょうみたいなあるかでも調査するプロセスは踏ましてくれないですねもともと答えがあってここをこうやって直してみましょうみたいな感じかもしれないから仮説立てるっていうのはできないのか確かにそういうところで言うとマジでいいメンター見つけるしかないんですねそこら辺はね
-
マジで意識して数こなすしかないんじゃない一人でやるってなったら意識するじゃあまずひまじんプログラマーのこのエピソードを聞きますもう聞かない時点で土俵に立てません絶対に立てませんって聞いてこういう考え方あるんだじゃあ意識してやってみようがパターン1一番自力パターンパターン2のりさんの会社に入ってのりさんに教わるパターン2
-
もう世の中にはこの2つしかありませんパターン3ひまプロをまず聞きます土俵に立ちます数をこなしてみようとするんですけどできませんひまプロにお便りを送るパターン3現金なやつ
-
いやいや仲間じゃないですかその方法もありますね今ネットで繋がれる時代ですからGoogleのフォームは概要欄にございますのでそちらからぜひ今回の解決これちょっとなんかしっくりこなかったんですけどどういう風にやったらいいですかねみたいな今抱えている課題を送ってくれたらねまず現状を把握しましょうと
-
仮説こういうの立てられますけどどうですかみたいな仮説提案アドバイザリーとしてアドバイザーですねメンターになれますからねきっとヒマプロもメンターになれますそうねコーチングもそういうプロセスですしね順編の仮説とかも聞いてみたいですね恥ずかしい聞いてみたい自走力これはもうね
-
壁にかけたいね書いて掛け軸に入れて掛け軸って入れるもんじゃないか額縁か額縁か完全に覚えましたはいまずは現状把握はい仮説立てはい読解力読解力はい抽象化して自分のに落とし込むはい僕タイムズチャンネル作ってやりますありがとうございますやっぱネクストはいレベルというかにいける気がするその書いてやることによってうん
-
自然にやるためにはねそういう1回アウトプットして慣れてきたらやらなくてもよくなるみたいなもんですからねそうね習慣化してこれはぜひ駆け出している人たちもそうですけどそういう人を抱えているマネジメント層の人にも役に立つ情報なんじゃないかなと思うんですよねメンタリングしやすくなる気がするこのフレームワークに当てはめると確かに
-
人生も全部いけそうですよね人生もいける人生いけますよね多分だって俺それでスマホ見つけたもん確かにはい身につけますそれでは皆さんもセルフダッシュつけていきましょうあれ?セルフが違った気がしますけどセルフじゃないよ
-
セルフダッシュパワーって言ってましたよ最初最初セルフダッシュパワーって言ったから自走力だからねそうだなまあ多分正確な英語ではないですけどセルフパワーダッシュは自分の力で走るだもんねそうそうそうそうそれも遠くないか自走か遠くないけどですねこれを身につけてぜひ駆け出しエンジニアから中級エンジニアになれるように頑張っていきましょうバイバイ
-
ちょっとやりとりしたい人はメール気軽に送りたい人はGoogleフォームツイートお願いします詳細は説明欄を見てくださいポッドキャストのフォローコメント評価してくれるとバカ騒ぎしますそれではまた次回
#116 この度、完全に言語化しました〜自走力〜