仕事ができないと感じた話

仕事ができないと感じたときの話、そしてそれは同時にチャンスであると考えられるようになった話を書く。

「自分は仕事ができないのかもしれない」
そう感じる瞬間は誰にでも訪れるのかもしれない。もちろん新卒の頃はそうだと思うが、新卒の後にも定期的にやってくる気がする。というのもついこの間その瞬間を経験したからだ。

もちろん自分のレベルの低さを認識して悲しくなったわけだが、仕事ができないと感じるのは自分を良い方向に向かわせてくれる知らせなのかもしれないな、と後から思えるようになった。
そう感じた理由を書く。

仕事ができないと感じた瞬間

仕事ができないと感じた瞬間は2つあった。1つは実装の設計を考える際の議論に全くついていけなかったとき。もう1つはあるタスクの進行に多くの時間がかけてしまっていると認識したときだ。

1. 実装の設計を考えることになった時

実装を設計する時があった。実装の内容や意義は理解していて、それをどう実現するかの設計をペアで考えていたわけだが、実装はどうある「べき」かという議論に全くついていけなかった。議論というのは例えば以下のような内容を想像して欲しい。

  • この処理は別に関数を切り出す「べき」だと思う。なぜなら、
  • この処理は関数A,BのうちAに持たせる「べき」ではないと思う。なぜなら、

べき、を語るにはそう考えるに至った背後の理由を述べなければならない。自分は手を動かして動くコードを実装することはできそうだが、コードがどうあるべきかという議論はまったくできないことに気づいた。単純に言えば良いコードのあり方を知らなかったわけだ。思い返すと今まで良いコードを学ぼうとしたことは少ないし、その少ない経験も結局本をペラペラめくって終わっていて身についていない。そういえばコードレビューをされたこともコードの議論をしたこともなく、強制的に学ぶ機会もなかった気がする。まあともかく実装設計の議論ができなかった。

2. タスクの進行に時間がかかっていると認識した時

もう1つはタスクの進行に時間がかかっているなあと認識したときだ。このタスクは別に期限はなく、自分で勝手に進めているサブタスクなので時間はかかっても良いのだが、どうも自分が期待する通りにうまくいかない箇所が度々出てきてしまってスムーズに進行しないのだ。

ブラウザで調べても解決まで至らず、AWS技術サポートに連絡しようか悩むほどだった(そのタスクはAWS関係だったため)。

仕事ができないと感じる=チャンスだと考えた理由

このように仕事がうまく行かないできないと感じる中、それがむしろチャンスかもしれないと考えるようになったのは、先ほどの2つめの問題をうまく解決できたという事実とその過程にある。

2つめの問題は解決できた。どうやって解決したかというと徹底的にAWS公式ドキュメントを読み込んだのだ。今までにやったことがないレベルでドキュメントを読み込んだ。重要なことは物理ノートとボールペンを使ってまとめることで理解に努め、Q&Aやベストプラクティスの一覧にであったときは1つ1つ今回の問題の解決には関係ない理由を丁寧にノートに記述していき、ドキュメント内で理解できないことがあればそれを徹底的に調べた。

そうすると、以前ざっとドキュメントを読んだときには解決できなかったにも関わらず、今回丁寧に読み込んだことで問題を解決するための情報整理や仮説検証が捗り、解決に至った。技術サポートには連絡せずに解決することができた。

ようは、自分がわからないことに向き合い、本当にそのことを理解するまで勉強するというあたり前のことをしっかりやったわけだ。どうしてこれが「仕事ができないと感じる=チャンス」という思考に結びついたかと言うと、これは今までの仕事のやり方を捨てた結果うまくいったということを意味するからだ。

思えば、今までの自分は分からないことに真摯に向き合ってこなかったと思う。分からないことがでてくるとブラウザで検索し、出てきた解決策を見てなぞることでそれを解決する。出てきた解決策がそのまま使えそうになければ、そのまま使えそうな情報に出会えるようにうまく検索ワードを組み替えたり、英語を使って検索したりする方向で工夫する。それでも解決法に当たれない場合は技術サポートや同僚などの誰かに問い合わせて解決する。問題を迂回することもあったと思う、つまり今困っていることを自分の知ってる手法を組み合わせて解決したり、問題に対する実現対応のレベルを1段下げたり、酸っぱい葡萄のように問題を重要ではなかったことにしたりする。本を読んだりドキュメントを読んだりして勉強熱心だったけど、それは知識をたくさん記憶することで解決する、という考えのもとの勉強の仕方だったと思う。

書いていて本当にひどい話だが、多分これが自分の仕事のやり方だった。
今まではまだプログラミングを初めて2,3年だったこともあり、そこまで複雑なタスクを行うことはなかったからこんな仕事のやり方で上手くいっていたのだと思う。動くことを最優先とする空気の環境にいたのも大きいかもしれない。しかし当然の結果だがいよいよ通用しなくなった。余談だがやっぱり転職は良いと思う。自分に大きな気づきをもたらす。

長くなったが、仕事ができないと感じるタイミングは、今までの仕事のやり方を見つめ直し、より良い仕事のやり方を模索するタイミングであるということを言いたかった。

結果が伴うかどうか

分からないことを徹底的に向き合う。それにより丸暗記では対処できない問題を対処する力を手に入れられる、というのが自分がたどり着いた一種の式だ。だから最近は業務で分からないことはその日のうちか近いうちに理解できるまで調べるという復習をやっている。今思うと本当にあたり前だが、まだ一応若手のうちに気づけてよかったと思う。しばらくはこうやって意識的に基礎をつけていきたい。

ただ問題1はまだ残っているし、しばらくは分からないことだらけでポンコツのままだと思うので、このやり方を継続して結果を出していかなければならない。お、議論できるようになってきたなコイツ、と思ってもらえるようになることが上期の目標だ。

牛尾さんの話

最近読んだ記事でマイクロソフトの牛尾さんの記事があるのだが、僕がこの記事で長々と書いてきた経験と気づきとまったく同じ内容が書かれている。同じなんて烏滸がましい、牛尾さんのほうが濃密で世界レベルの話が書かれているので、ぜひ読んでいない方は読んでほしい。
https://note.com/simplearchitect/n/n388201603a28

結局は僕が気付けることなんて他の誰かが既に気づいているわけだが、「知識として知っている」と「身をもって経験して導き出した自分なりの答えである」という状態は天と地とほどの差があると思うので、前向きに生きていきたい。

終わりに

仕事ができないと感じる話と、でもそれを乗り越えて今では一種のチャンスとしてその感覚を捉えられている話を書いた。先ほども書いたが、まだ気づけた段階に過ぎないため、この気づきを活かして仕事に取り組み、良い結果を残していきたい。

のんびり生きていきたい。
Image by Freepik
Built with Hugo
Theme Stack designed by Jimmy