フリーランスになって初めての案件に参加して一週間が経ったけど、憂鬱だったり開き直ったりしてる
初めての環境に対しての不安
3 月になってフリーランスとしての初めての案件が始まった。
すでにリリースされている誰もが知っているようなサービスの開発チームに所属することになる。初日から憂鬱と不安と焦燥が爆発したのでとりあえず吐き出しておく。
初日は PC の設定や顔合わせのミーティングが行われた。今度の案件で使用するのは触ったことないツールばかりで、しかもそれが一斉に出てきてわりとパニックになった。confluence, jira, zenhub, circleCI, 戸惑いながらもガイダンスの資料に書かれているとおりにセッティングしていく。
それからローカル環境の構築に入る。これもドキュメントを見ながらすすめる。でもドキュメントどおりやってもエラーが出て、自分なりに修正してエラーを回避して、とりあえずフロントエンドの環境構築は完了する。
問題は docker を使った環境の構築の方。こっちは API とかシステム全体を使った開発をするときに使う環境なんだけど、この環境構築でおれは死んだ。同じようにドキュメントどおりにやればエラーが出て、独自にエラーを回避しながら進めていって、結局うごかない。そもそもおれには docker の知見がほぼないので、エラーの対応があっていたのかも正確に判断できない。わりと大きいシステムでまだぜんぜん全体を把握できていないので、どのコンテナがどういう状態なら正常なのかもよくわからない。
自分と同じ日から参画している新規メンバが他に 2 人いたのだけど、その人達はなんかいい感じに環境構築できているっぽくて、「もっと docker 勉強しておけばよかったな〜」って後悔したけど、そんな暇あったら判らんところ質問しまくった方がいいってなって、slack で五月雨式に質問を飛ばしまくる。
「ドキュメントのこの部分、ドキュメントどおりにやったらエラーになったんで、こういうふうに読み替えて実行したんですけど問題ないでしょうか?」みたいなのをいくつか飛ばすと、他の人からも「あ、おれもそこ詰まりました〜」とか返信が来る。「え〜おしえてよ〜」って思うけど、それでも他のふたりはちゃんとドキュメントの不備をちゃんと自分なりに読み替えて、きちんと環境構築できているのですごいなって思う。
ここでおれは新メンバの中で自分がいちばんレベル低いんだなって確信した。
このときは環境構築がうまくいかなくて頭も冷静じゃなかったので、どんどん思考が悪い方に流れていって、「このままじゃ使い物にならないままクビになりそうだな」「チームの足手まといになってしまいそうだな」「もう家帰りたいな(フルリーモトなので家にはいる)」っていう感じの負のゾーンに入ってしまっていた。
ミーティングのときも、既存メンバから説明のあと「どこか判らないことありますか〜?」って訊かれて、自分以外の新メンバのふたりはいい感じの質問をする。おれは何が判らんかも判らんという状態だった。
環境が変わってチームで実力がいちばん下になった。自信喪失。無能感。虚無感。暗い感情がふつふつと湧き上がってきたけど、わりとすぐにおれは吹っ切れる。よく判らんけど、はじめの一週間の仕事が終わったあと、ご飯食べたりお風呂入ったりしてたら自分を俯瞰できる瞬間があって、「まあ、最悪クビになってもいいじゃん」って思えるようなった。クビになったらまたエージェントさんに新しい商談を組んでもらえばいい。
自分にはまだレベルが高すぎるクエストだったって思うことにすればいい。レベルの高いクエストに挑戦して死んだら、次はもう少しレベルの低いクエストに挑戦してレベルを上げる。ゲームだったら自然とそうしているのに現実になったとたん、クエストに失敗することを異常なまでに恐れてしまうようになるのはなんでなんだろう。
「なにこのクエスト、敵の攻撃一発食らったら死んじゃったんだけど(笑)。まずレベル上げしないとだめか〜」くらいのゲームするときみたいなテンションで生きていかないといつまでも失敗になれることができない気がする。
失敗を過剰に恐れてしまっていた
おれは割と完璧主義で臆病な性質で、これまでこれといった失敗はしてこなかったように思う。それは自分にできそうにないことには挑戦してこなかったこととイコールだ。だから失敗というものを触り慣れていない。それがよくない。失敗を正当に評価できなくて、必要以上に失敗を怖がってる。失敗というものによって、自分が傷つくことを恐れてる。
クビになっても、新しい案件探すだけなのに。
クエストで死んでも、何食わぬ顔でまた別のクエストに行くみたいに。
ただそれだけのことなのに、おれはなにを怖がっているんだろう。チームのメンバに迷惑をかけてしまうことだろうか、チームのメンバに失望されてしまうことだろうか。なんかそのへんの気がする。他人からの評価を気にしてるんだ。他人からの評価で自分の感情がぐちゃぐちゃに乱されてしまうことをおれはよく知っている。
だからおれはストア哲学を学んだんじゃなかったか?
エピクテトスからおれはなにを学んだのか。奴隷の哲学と呼ばれるストア哲学。その教えの際たるは「心像に拉致させるな」だったはずだ。自分でコントロールできないものと自分でコントロールできるものを見極めて、自分のコントロールできないものは軽視することを常に心がけてないといけない。
他人の評価なんて気にしなくていい。自分にコントロールできるものじゃないんだから気にしてもしょうがない。そうするとどうだろう。他人の評価をは気にしなくていい。さらにクビになることも怖がらないでいい。そう思うとだいぶ楽になった。呼吸がしやすい。軽くなった頭が回り始めるのがわかった。
いまの自分をもういちど俯瞰した。
前職ではメンバに教えたりまとめたりする側だったのが、チームでいちばんヘボいメンバになってしまった。これってよく考えてみれば幸運じゃないか? おれは前職で、教えるより学びたいってずっと思っていた。そもそも自分はまだ人に教えるようなフェーズじゃないという自覚もあった。前職では上司がどんどんやめていったから繰り上がり的にプロジェクトのフロントエンドリーダをやったりもしていたけど、実力はぜんぜんともなっていなかった。
だから今のチームでいちばんレベルの低いメンバというポジションは、自分の身の丈にあっているように思えたし、なにより教えるではなく、学ぶ側にいる。これは自分が望んでいたものではないか。自分の境遇に自覚的になれていなかった。
これまでの環境よりもずっとレベルの高いチームの一員になっている。この環境で見えるものをしかっり見ておきたい。身につけられるものはすべて身につけておきたい。本当に貴重な体験をしているということを自覚しておかないといけない。高レベルのクエストみたいなものだ。死ぬのは仕方がない。それでもただでは死なないようにする。
そこでこの案件でも目標がなんとなく決まる。クビになってもいいから、いまの環境で学べることをしっかり学ぶこと。クビになる前になにか掴み取ること。それに尽きる。そしてなにかひとつでいいから成果を残すこと。それだけでいい。そう思うことにする。ゲームと同じで、きっと現実世界でも少しずつしか強くなれないから。次の案件でもまたクビになるかもしれない。それでも少しずつ強くなっていけば、いずれ戦えるようになる。それまでは死にゲーでいい。
失敗しても良いって思ったら今の環境を楽しもうっていう気持ちが出てきた
そう思うと仕事を楽しもうという気持ちすらでてきた。
存在するドキュメントをあさりまくってシステムの全体を理解する。判らないことがあれば素直に質問する。この案件から学べることはたくさんあるはず。実際に動いてお金を稼いでいるソースコードと運用方法。今しか見れないものを目に焼き付けておきたい。
とりあえずはじめの目標は、ひとつでいいからプルリクを出してマージされること。
おれはアサインされた issue をとにかく読み込んだ。issue に貼られたリンクをくまなく探索して、関連している slack のスレッド、関連しているプルリク、すべて読みこんで自分が何をすべきなのか整理して、ソースコードを読んで、自分のなかで一番シンプルだと思った方法で実装して、プルリクをクソ丁寧に書いた。
新メンバはすでにふたつめの issue に取り掛かっている中、自分はようやくプルリクを出ところまできた。仕事が始まってからすでに一週間が経っていた。ひとつの issue をこなすには時間がかかりすぎてるとおもう。それでもどうにかプルリクを出すところまでは来ることができた。プルリクを出すのはめちゃめちゃ怖かった。レビューでボロクソ言われたらどうしようとか考えるけど、自分のコードの悪いところを教えてもらえるなんて最高じゃないかという思考に切り替える。認知をハックして恐怖心を殺して、震える手でプルリクを出す。
そしたらあっけなくプルリクは通って、「仕事、丁寧だね〜。安心してタスク任せられるよ」って言われた。とにかく理解と丁寧さを心がけていたので、それを言われたときはたいへん嬉しかったが、おれは性格がひねくれていることもあって「仕事が丁寧」という言葉には「仕事が遅い」という裏の意味があった可能性についてもしっかり考えてしまう。そしてたぶんその裏読みは合っていると思った。だって時間かかり過ぎだもの。
それでもおれはストア哲学を学んでいるので他人の評価を気にしない。心像に拉致されたりはしない。自分のプルリクがすんなりレビューを通り、マージされているという現実だけがおれを確実に嬉しくさせる。本番リリースして、自分のコードがサービスに反映されている。それが現実。自分の内側から溢れてくる達成感を観察する。経験値がカウントアップされて、レベルアップのファンファーレが流れてもおかしくないような高揚感があった。
プルリクが通ってちょっと仕事が楽しくなった
プルリクがレビューを通ってマージされて得られたのは、自分の実力でもどうにか通用するという圧倒的で現実的な体験。
だからおれはボロクソ言われるのを覚悟でプルリクをだした。それで良かったと思う。リリースまでの流れを一通りやってみて、仕事のフローを一通り経験することができた。満身創痍だけどひとつタスクをこなした。小さいことの積み重ねが大事なんだと思う。
問題解決っていう言葉をよく見聞きする。仕事中にもブログの記事でも。プログラマなんていう仕事をしているせいかもしれないけれど。これまでの人生で 13 個くらいの仕事をやってきた転職癖のある自分が、どうしてプログラマだけは 4 年間も続けられているんだろうかと考えた時、この問題解決した瞬間の大なり小なりの達成感があるからだろうなとおもう。
そしてその解決するべき問題っていうのは仕事の中だけじゃなくて、自分の中にもたくさんある。たとえばこの案件初日の不安も自分にとっては重大な問題だった。どうやってこの不安と戦うかというビッグイシュー。たぶん自分は問題解決が好きなんだと思う。
自分の今の環境を俯瞰する。今も仕事はきついし、できれば働きたくなんてないけど、それでも今の環境にいたるまでの経緯を思い出すと、いくつかの問題をクリアしていま自分はこの環境にいることに気づく。
自分の能力不足だけが不安の原因という救い
おれはプログラマになる前、自動車のタイヤの中に入ってるスチールコードっていうワイヤを作ってた。灼熱と轟音の工場のなか、12 時間で 60 台の機械を回して、ワイヤを編んでドラムに巻き付けて回収する。12 時間労働の二交代制。朝勤と夜勤が交互に来て、バイオリズムは錯乱していた。工場の現場作業では熱中症で人が死んで、ギアが人の指を粉砕して、電気が人を黒焦げにしていた。骨折なんて軽症扱いだったし、12 時間動きっぱなしで体力仕事だし、とにかく自分の性質にはまったくあっていなかった。70 デシベルの機械の轟音と無人運搬機とおれだけしかいないみたいなバカみたいに広い工場は間違いなくおれにとっては地獄だった。
作業をしながらうつろな意識の中で考えていた。エアコンの効いた部屋で仕事がしたい。座ってできる仕事がしたい。機械に巻き込まれて死なないような環境で仕事がしたい。それが叶えばどんなに幸福だろうかと思って、おれはその日のうちに職長に「仕事辞めます。これからは冷房の効いた部屋で仕事したいのでプログラマになります。お世話になりました」と言っていた。
で、未経験からプログラマになった。エアコンの効いた部屋と椅子に座ってできる仕事と機械に巻き込まれて死ぬ心配をする必要のない環境を手に入れた。それが前職の職場。プログラマになれて仕事は楽しかった。でも同時につらいこともあった。感情的な社員の怒号が飛び交うオフィス、徹夜と休日出勤のデスマーチ、残業代がごにょごにょされる不信感、強制参加の会社イベント、引き継ぎのない保守案件、改善されない開発体制、コロナに対する意識の低さ。心が折れそうになったことは何度も合ったけど、「工場で働いてたときの地獄にくらべればまだマシだ。エアコンが効いてる。座れてる。機械に殺されることもない」と自分に言い聞かせてなんとか乗り切った。
それでも限界は来て、3 年で前職をやめた。
人間関係に関して、もう上司という存在は自分の人生において金輪際存在しないでほしいと強く思ったので、フリーランスになることに決めた。会社を辞める理由を notion につらつらと書いていて、自分は学校とか会社とかそういう団体に所属するのがとにかく合わない性質であることに気づいた。
だからフリーランスになった。フリーランスになっても人間関係はあるけれどもある程度の自由は効くはずだ。仕事をする相手を選ぶ裁量を持つことができるから。そして今の案件が始まる。個人としてチームにアサインされて、フルリモートで仕事する。工場で働いていた時代の自分からすれば信じられないような環境だと思う。
これは自分が我慢できなかったことから逃げ続けた結果とも言える。体力仕事から逃げて、人間関係から逃げて、所属から逃げた末路としての、フルリモートのフリーランスエンジニア。
そして話は現在に戻る。
今、仕事で不満なのは自分の能力不足だけだ。個人事業主なので人間関係もないし、フルリモートなので労働環境は自室で文句のつけようがない。現在にだけフォーカスすると不満ばかりが生まれてしまっていたけれど、これまでの自分の労働遍歴を俯瞰するとよくぞここまで環境を整えてくれたと感謝したいくらいだ。わりとベターな方に人生を進められているんだなって、この文章を書きながら、自分の逃避の軌跡を観測することができた。
逃げて逃げて逃げ続けてようやくたどり着いた現在で、あと足りないのは自分の実力だけっていうのはめちゃめちゃシンプルでわかりやすくていいなっておもう。いまは休日返上するくらいの気持ちでとにかくソースコードとプロダクトを知り尽くすしかない。
そうしてまた少しだけベターな方に人生を進められたら良いと思う。
最後らへんはなんの話なのか判らんくなってしまったけれど、とりあえず自分の中ではこの文章を吐き出ることで少し前向きなれた。そんないろんなことを考えたフリーランス一週目。
おしまい🍡
参考文献
ストア哲学の勉強するときにはじめに読んだ本。読みやすくて入門書としてめちゃめちゃよかった。とにかく自分の心を守りたいって思ったときに読むと得られるものがあるはず。「人々を不安にするものは、事柄それ自体ではなく、その事柄に関する考え方である」
もう少し詳しくストア哲学を勉強したくなってので読んだ。まだ途中だけど、寝る前に一節ずつ読み進めたりしている。