未経験でエンジニア就職をした後、楽しく働いていましたが、度々社内ニート状態に陥ることがありました。具体的には4ヶ月目、8〜9ヶ月目です。
社内ニート状態になると、自分の実力がないから仕事がないのかと考えると気持ちが落ち込んだり、何週間もほとんどフィードバックを得ることができず、自信が失われていく一方でした。
社内ニートになったときの対策をネットで調べると、転職を薦めるものが少なくありません。しかし、私の場合今の会社で長く働き続けたいと考えているので、転職は選択肢にない。今の会社で働き続けるための工夫です。
いくつかの試行錯誤の末、2年目突入直前にてどうにか社内ニート状態を脱したと思いますので、どんな心構えと、どんな行動が良かったかを振り返りたいと思います。
結論
- フィードバックが長期的にないと、やる気が出てこないのは当然(仕方ない)
- 上司はいじわるで仕事をくれないのではない(仕方ない)
- 上司に今後振られる可能性のある案件で使いそうなものを聞き、準備する(いろいろな実験をする)
- 仕事と深く関わりはないかもしれないが、少しは関連しそうなIT関連の勉強をする
- 今までに仕事でやったことの振り返りをする
心構え編
社内ニートはラクに見えて物凄いしんどいので、落ち込み・無気力は当然だと受け入れる
期限の迫っている案件に従事している人間からすると、社内ニートは羨ましい状態です。実際に案件に入ってみると、「過去に関わった案件で実装した機能をチートシートにまとめておけば良かった…」「どの案件でどのサーバを使っているか一覧を作っておけば良かった…」とこまごまとした作業をしなかった後悔が湧き上がります。社内ニート状態になれば、それらを消化できる!それに、期日に向けて焦らなくて良い。
しかし、まだ未経験の入社1年目の人間にとっては、社内ニートは恐怖です。朝デスクについてやることがない。自分に何が足りないのか、どこを目指して良いのかいいのかが分からない。勉強しなくてはいけないことがあるのはわかっているが、何週間もほんの小さな作業しか任されず、仕事で得られるやりがいも自信も失っている。
職場で仕事がある状態と、ない状態では、以下のような違いがあります。
仕事のある状態
- 人に依頼されたものをこなす(頼られていると感じられる、心地よいプレッシャーがある、自分で自分のやることを決めなくても良い気楽さがある)
- 成果物が一つできる(自信になる)
- 成果物に対してフィードバックが得られる(テストでうまく動く、上司から「ごくろうさん!」と言われる、営業から「無事お客様に引き渡しました!」と報告がある)
仕事のない状態
- 自分のやることを自分で決めなくてはいけない(新人なので何をしたら良いのか分からない)
- 誰かに見てもらう成果物がない(自信を積み上げられない)
- フィードバックがない(自分のやったことを、誰からも見てもらえない、何のために何をしているのかわからない)
過度な仕事はもちろんストレスですが、仕事がない状態もなかなかのストレスです。仕事がない状態というのは無気力になりやすく、その状態で1から自分でやることを考えるのは、なかなかにハードです。私も仕事が無く無気力になり、勤務時間中ずっとネットサーフィンをするという(一応IT関連の記事)暴挙に出た日もありました。
まず、いろいろ考え方を変えたり行動を変える前に、「この状態は辛いんだ」と自分で受け止めることが最初かと思います。そうしないと、「この状態になった私が悪い」と自分を責めるか、もしくは「仕事をくれない上司が悪い」という思考になってしまいます。
仕事というのは都合よく降ってくるものではない
会社のとある部署で、とある上司の元に働いていて仕事がないと、仕事をくれない上司を恨む気持ちが生まれてくることがあります。「なんでAさんには仕事をあげているのに、私にはくれないんだ!」と。逆に、「いや、仕事をもらえないのは私の能力が低いからか、私が悪いんだ…」と自罰的になることもあります。
しかし、当たり前ですが仕事というのは従業員のレベルにあわせてちょうどよく発生するものではありません。お客さんの要望を営業が読み取り、それが自分の部署に回ってきた時に自分がこなせるちょうど良い仕事だとは限りません。自分のレベルからはあまりにもかけ離れて難易度の高い仕事であれば、それはもちろん任されず、仕事のできる先輩に回るでしょう。そういう場合、上司は悪くないですし、自分も悪くありません。
もちろん、難易度の高い仕事を任されるよう、日々自己研鑽をするのも必要です。しかし、しばらく仕事を任されていない社内ニート状態で、自分でやる気を出してやることを決めて淡々とこなすのには限界な場合もあるかと思います。
行動編
社内ニート状態は自分や上司がものすごい悪いわけではないことがわかりました。ではその上で、落ちに落ち切ったモチベーションをどうやって立て直し、毎日の勤務時間を有意義にすれば良いでしょうか? 私の中で「これはやって良かった!」ということをピックアップします。
上司に「将来、実装できるようになった方が良い機能はありますか?その参考になる過去案件はありますか?」と聞く
新人のうちですと、実装できる機能の数は少ないです。私も社内ニートになっていた時は、お問合せフォームとお知らせ作成機能の実装がメインでした。
あまりに暇すぎるので、上司に上記の質問をしたところ、マイページ機能、ECサイト(ショッピングカート機能等)、そして過去の案件をいじれるように、古いバージョンのフレームワークを覚えて欲しいと回答がありました。そして、それらの参考になる過去案件のプロジェクトを教えてもらいました。
過去案件を教えてもらえたら、もうだいぶやることが見えてきます。まず、その過去案件のテスト環境・本番環境の動作を見たり、コードをざっくり見ます。私の場合、コードを見るだけではチンプンカンプンなので、以下のような流れで自分で動かして勉強します。
過去案件を使って機能の勉強をする流れ
- テスト環境・本番環境の動作を(見らるのであれば)見る
- コードをざっと見る(ディレクトリ構成など)
- Dockerや研修用のテスト環境等、好き勝手できる環境を用意(上の人に言って用意してもらっても良い)
- 新しく覚えたい機能を過去案件を見ながらほぼ写経。その機能のみのシンプルなシステムを作る
- 写経である程度動くようになったら、コードを一部いじっていろいろ動作を実験してみる
これは本当にやっておいて良かったです。本番では時間がなくてあまり思い切った試行錯誤はできませんが、勉強の時点ではコードをいろいろいじって、何が変化するかなどをじっくり観察することができます。
最近実装を終えた案件は、こうやって大分前から準備をすることができ、自分の実力にしては早く終わったと思います。
過去案件を参考に自分用(自分だけ)のプロジェクトを作成する
上司に教えてもらった過去案件を参考に、そこに実装されている機能を自分で再現してみます。Dockerが使用できればDockerで開発環境を作り、そこに自分だけのプロジェクトを作ります。
このあたりは未経験エンジニア転職・就職をした人なら、ポートフォリオ作りをしたときと同じだと思います。自分でどんな機能をつくるか考えて、ひたすら実装していきます。過去案件の写経(コードをひたすら真似して打ち込む)のでも全然力がつくと思います。コードを一部改変して変化を見るなんかも素敵です。
仕事にもいつか役立ちそうな技術・知識の書籍・ネット上の記事を読む
社内ニート時代に私としては一番気楽にできたのが、書籍を読むことでした。自分で勝手に「こんな技術・知識必要になるんじゃないかな〜」と考え、読んでいました。このあたりは基本情報・応用情報技術者試験等で必要だった知識を掘り下げる本とかを読んでいました。セキュリティ、データベースなどです。
私は次に携わるかもしれない案件が過去のサイトのリニューアルで、そのサイトのデータベースの構造が一部めちゃくちゃで、大幅な変更が必要でした。その際、この社内ニート期間に読んでいたデータベースの本の考え方が非常に参考になりました。
やはり情報が体系的にまとまった書籍というのは、とても参考になります。つい最近も、マイページの実装に必要な知識を書籍で読んでいたところ(これは社内ニート期間ではないが)、実装した機能の中に穴を見つけられ、どうにか修正できたこともあります。
ちなみに、書籍もネット記事も、社内ニート時期にはさほど理解が進まなくても大丈夫です。やはり、実践を伴ってこそ深く理解できます。しかし、ざっとでも良いから実践前に読んでおくと、ぼんやりとした理解を持って始められれば、実践中にその理解が血と肉になるのを実感できます。
今までの仕事の振り返りをする
私はメモ魔であり、記録の整理なども大好きな人間なので、以下のようなこともなかなかの時間つぶしになりました。
今まで書いた仕事ノートを読む
私はどの職場で働く時も、A5サイズのカバーのしっかりしたノートに、仕事の内容をなんでも書いて記録します。先輩からの指導もこれに書き、自分で勉強して調べたことをまとめたり、なんでもかんでも書き込みます。あとで読み直すと、いつごろこんなことをやっていたんだ〜と思い出すことができます。
この仕事ノートの読み直しは結構馬鹿にできないです。疑問に思ったことをノートに書いておき、あとから読み直すと、「こうすれば良いのでは?」と妙案が思いついたりします。アイディアを思いつくには時間が必要な時もありますので、そういう使い方もできます。
今までの案件で作った素敵なメソッドをまとめておく(自分用チートシート作成)
今まで携わった案件の中に、1つの案件に1つは自分で「使える!」と思えるようなメソッドができあがったと思います。それを一つのフォルダに貯めていきます。
今までは「似たような機能、昔どこかで実装した気がする」となんとなく覚えているものを、それぞれの案件のソースを読み漁ってようやく見つける、ということを繰り返していました。そんなおり、先輩から「チートシート」というものを教わりました。ネット上ですと「チートシート」は誰かの作った、あるソフト、言語等の便利な機能の一覧、といった感じですが、先輩が見せてくれたのは、過去の案件で自分が作ったり、参考にした過去案件の便利な機能たちを全部あつめて一覧にしたものでした。
私は似たような案件を数こなしたので、これを早く作っておけばもっと効率的にできた、と今更悔しくて地団駄を踏んでいます。こういうことも、社内ニート時期の時間のあるときにできます。
社内で使用しているWikiに情報をまとめる
会社で使用している、プロジェクト管理システム?のようなところでWikiが書けるのですが、ある時上司に指示されてサーバーごとの注意点をまとめることになりました。ブログを書くのが好きな人間なので楽しく書き、他にも思いついたら書いていいよ〜という感じだったので、外部サービスを使った時など、使い方をまとめたりしてます。
今の所、1回だけ他の人の役にも立ったようなので、それだけでもかなり自己効力感を得られました。職場でそういうものをかける場があったら、ぜひ書いてみるのがおすすめです。時間はいくらでもあるので、たくさん調べて、じっくり時間をかけてわかりやすい情報のまとめを書けると満足感も高く、誰かの役に立つ可能性もあります。
ラバーダッキングをする
仕事に煮詰まった時、別チームの先輩に教わったものです。
先輩に聞くまでこの名前を一度も聞いたことがなかったのですが、調べてみると面白そうだったのでパソコン上で実践することにしました。
どんなものかざっくり説明すると、ラバーダック(ゴム製のアヒルのおもちゃ)に向かって、自分状況を語りかけます。すると、問題点・改善点に気づくというもの。実際に好きな手のひらサイズの縫いぐるみの方を見て、語りかけるようにキーボードを打ち込みました。
これはなかなかの気分転換になりますし、今までなら先輩に聞いて解決していたことの多くの部分を自力で解決できるようになりました。なんでもかんでもすぐに聞くのではなく、じっくり自分の中で熟考することを学べたと思います。
まとめ
この記事を書いている間、持っていた大きな案件をほぼ実装し終えたので、直近の締切のある仕事がない状態になっています。今日もほとんど一人でLaravelの勉強をもくもくとしていました。数ヶ月前は同じような状況でおろおろしていましたが、この記事に書いたようなことをいろいろ組み合わせて、全然焦りがありません。あと少なくても1ヶ月は仕事を振られなくても、やることを見つけ出して一人でやっていく自信があります。
とはいえ、それは大きめの仕事を終わらせることができた自信からそう思えるので、やはり経験が浅いうちの社内ニート状態は恐怖なのです。私も結局、大きな仕事が来る前は上記のことをこなしつつ、それでも不安と不満と焦燥感の強いと無気力な日々が続きました。ここにある内容で苦痛が100パーセント減ることはありませんが、10パーセントでも20パーセントでも、少し気分が良くなって、やる気が出て、将来につながる行動(勉強、今までの振り返り、将来に向けた準備)につながるヒントがあったのなら幸いです。