「あれもやったほうがいいよ」
「これもやったほうがいいよ」
「いろいろなことやらなきゃね」
うわーーーーー(><
...
って、気分の方いらっしゃいませんか?
定番のお悩み教室
jfluteは立場上、
様々な方のメンタリングをやらせて頂く機会が多いのですが、これは本当に定番中に定番です。
特にここ数年 (4,5年くらい!?) は、どんどん激しくなってきている気がします。
プログラミングの世界では技術が多様化し、Webサービスにおけるエンジニアの役割が多様化し、目指すキャリアも多様化しています。世の中みんなそうかもしれません。
「いろいろなことやったほうがいいよ」
こういった声が先輩の口から、物理的に聞こえてくることもあるでしょうし、頭の中でその声を勝手に作り出すこともあるでしょう。
役に立たないことはない
まず、ひとつお伝えすること。
いまやってることでも...
ちゃんと追求していれば
それが役に立たないことはないよ、と。
追求した内容が直接役には立たないかもしれない。
でも、追求する過程での...
o スキルアップのための判断や行動力
o 追求したものを捉える論理性とバランス感覚
o 追求の壁を乗り越える経験
実は、追求した内容以外のスキルがたくさん身に付いているのです。しかも、追求したことによって、それらを高いレベルで得られています。
野球一年だけ、サッカー一年だけ、バスケット一年だけ、バレーボール一年だけ、それはそれで得られるものもあるでしょうが、高いレベルの悩みを経験できてない可能性があるのです。
あと、に追求した内容自体も予想外役に立ったりしますよ。何年も後に「役に立ったー」ってびっくりします。思ったよりも、そのもの自体の価値を理解していないもので。
こんな人は成長しない?
「Javaばかりやっていたら、全然成長しないよね」
それでは、こんな人はどうでしょう?
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
自分はJavaばっかりだ...Java人間と呼んでくれ。
今月は、ConcurrentHashMapのコードを読んで、
そのメカニズムを全部理解してみよう。
来月は、javax.crypto.Cipherを使いこなそう。
再来月は、マニアックなGeneric追求してみよう。
再再来月は、簡易なWebサーバーを自作してみよう。
再再再来月は、DIコンテナのコードを読んでみよ...
再再再再来月は、簡易なJDBCドライバーを自作し...
再再再再再来月は、O/Rマッパーのコードを読ん...
再再再再再再来月は、Webフレームワークのコード...
再再再再再再再来月は、Dukeの着ぐるみを作っ...
Javaの勉強終わんねー。
_/_/_/_/_/_/_/_/_/_/
さて、この人が Ruby のお仕事をやることになりました。全然使えないエンジニアでしょうか?
そりゃまあ、追求した内容自体は、直接的には役に立たないでしょう。
ただ、その追求するパワーが Ruby に向けば、ほんの数ヶ月で最低限の仕事では困らないくらいになって、一年後には「ほんとにJava人間だったの?」って、そうなる可能性は十分あります。
そういう方、たくさんたくさん見てきました。
追求は縦割りではない
また、追求というものは、一つのものに固執するのが追求ではありません。というか、「一つのものってなに?」って疑問も。
「Webサービスを一人で作れるようになりたい」
そういう追求であれば、Javaをある程度、RDBはもちろん、インフラも学んで、Swiftもちょこっとやって、デザインも少し、利用規約など法的なことも...
一人のWebサービスの開発という、一つのことを追求するわけです。
結局、どういう自分になりたいか?
どういう自分がいま求められているか?
それが "一つのもの" と言えるかもです。
一つの世界の中に色々なものもあります。
どの粒度に自分が立っているのか?
どの視点に自分を置きたいのか?
目の前の道具の表面だけで、"一つに固執" とか "色々なもの" とか議論してはいけないのでしょう。
...
もし、自分がどうなりたいのか?まだよくわかってないようであれば、気にせず目の前のことを追求しましょう。
誰が成長しないのか?
立ち止まってる人です。
一つのことばかりやってるとか、色々なことをやっているとか、あまり関係ありません。
種類数がいくつだろうが、立ち止まってボーッと生きていたら同じです。
色々なことをやっている人はキラキラ見えます。
でも実はあたふたしてるだけかもしれません。
あれもこれもというプレッシャーで、いま追求すべきものに集中できないこと
それが、成長を止めます。
...
「確実に自分が安心して成長できると証明されたものじゃないと行動できない...」
このように考える人もいるかもしれません。残念ながら証明できる人は地上には存在しないので、その心の足かせを解くメンタリングが必要でしょう。
...
さあ、
と叱られないように。
集中力が自分を助ける
さて、この悩みは、jflute自身も例外ではありません。いまでもそのプレッシャーに襲われます。
DBFluteばかりやってきました。JDBCにはめちゃ詳しくなってきたけど、でも全然実務じゃ役に立たない。働きながらもプライベートはDBFluteばかり、知識は非常に偏ります。
それはコンプレックスありました。いまもあるっちゃあります。もともと初心者からの社会人でしたしね。
でも、ひとつ言えるのは...
集中力は切らさなかった
ということでしょうか。
...
こんなことがありました。
jfluteがフォロー先のオフィスにいて、とあるWebデザイナーの方から相談を受けました。
珍しいので、ちょっとびっくりしながら、
jflute「何でしょう?」
デザイナー「IEでこのデザインが...CSSで...」
jflute (知らねー><)
まあ、色々と技術的な相談を受けるという立場で、「なんかすごい人いる」という話だけ伝わってたようで。まあ、業務上のスコープが正式に違うので、「ちょっと専門外で...」って言えなくはないのですが、「なーんだ」って思われるのもなんか怖くて(><、話を聞いてしまいました。
わりと複雑な話になっていて、その方も解決の焦点が定まってなかったので、ヒアリングもして、質問の分析と問題の分析をして、いま何を調べてどうアプローチすれば、その答えに辿り着きやすいか?そこをまとめてアドバイスをさせて頂きました。
そこで話は終わって、その後しばらくすると...
「jfluteさんの通り調べたら解決しましたー。
助かりました、ありがとうございます!」
jflute (ふおぉぉぉぉぉー、あぶねー)
これは少し極端な例でしたが、こういったことが実はたくさんあります。プログラミングの世界の中だって、様々なレイヤがありますから。
技術のアドバイスをしているんじゃなくて、問題分析と問題解決のアドバイスをしている、ということなのかもしれません。
でも、jfluteは別に、コンサルタントだったわけじゃありません。
それができるのは、集中力を切らさず、DBFluteの問題ばかりひたすら解決する中で、そのイベントで考えたプロセスを抽象化し、汎用的な問題分析や問題解決のセオリーを意識し始めて、それをずっと積み重ねてきたから、と言えるかもです。
そういったスキルが昔よりもアップしたことで、別の技術を習得するときに、昔よりも効率良く吸収できてると実感します。
また、追求するというパワー自体を衰えさせなかったことで、追求すべきものが変わってもすぐに追求できるのだろうと。
# でも、ドキドキするから、
# あんまりぼくの知らないこと
# 聞き過ぎないでください笑。
だから、だいじょうぶだよ
なにか積み重ねてるなら、あんまり心配ないですよ。積み重なってるかどうかに気付いてないのであれば、それは一緒に見つけましょう。
...
こんなブログも書いてましたね:
// まず何より、目の前の道具を使いこなしてください
http://d.hatena.ne.jp/jflute/20180223/mastercurrent
// プログラマー多様化の時代に教える難しさ
http://d.hatena.ne.jp/jflute/20140909/diversity