未経験でプログラマになってから1年ほど経ったのですが、どうしても「プログラミングスキルよりも大事なことってあるんじゃないのか?」と働きながら思って、確信したことがある。
よく言われる「コミュニケーション能力」とかではなくて、それよりも大事なスキル(コミュニケーション能力も大事だけど)。
それは「メンタル」だ。メンタルスキル。
何でもかんでも”スキル”という名前をつければいいわけではないが、ここではあえて「メンタルスキル」と呼びたい。特に理由はないが。
前提としてまず未経験者には別に期待されてないと思うわけだが……
プログラミングスクール通って、「そこそこプログラミングスキル上がったなオレ」と思っていざ実務をこなすと感じる「圧倒的に出来ない感」。
そもそもスクールで教えてることは、仕事じゃほとんど役に立たない。短期間でエンジニアになれるって謳ってること自体が間違いなわけだが、それはここで論じることではないので割愛。
でまあ、言われたことをやってみるわけだがそもそも仕事自体、未経験者が出来るわけないのだ。
「向こうもそれは承知で仕事を与えてくる」とこちらも思うわけだが、あいにくそんなことはない。会社側は出来ると思って仕事を与えてくる。
与えられた仕事をこなそうとするわけだが、如何せん初めてやることなので全く分からず。かといって投げ出すわけにもいかずで、少し迷った上で先輩あたりに相談するわけだが「え? こんなこともわからないんですか?」みたいな感じで言われる。
直接言われるわけではないが、態度や顔に出ているのだ。後は自分でそう思いこんでるパターン。
そうなった時、いわゆる「コミュニケーションスキル」というものが活きてくるわけだが、そんなに高い人がバンバンいる業界でもないのだ。コミュニケーションスキル高い人ももちろんいるが、あいにく自分はそんな高い部類ではない。
そんなとき、そんなふざけた先輩の胸ぐらをつかんで「Fxxk you」と言ってやりたいところだが、そんなことをすれば会社生活が終わってしまうので、そんなことも出来るわけもなく。
そこで必要になってくるのが「メンタル」だ。精神力。我慢する力だったり、笑い流す力。これが結構重大だったりする。
精神的に参ってる時にプログラミングスキルが役に立つかというと、ハッキリ言って役に立たない。コード打ち込んでストレス解消になるという特殊な性癖をお持ちの方ならば話は別であろうが、そういう特殊性を持ってる人は少ないと思う。
もちろん溜め込むのは良くない。溜め込みすぎたりすると、うつ病などに発展してしまう可能性があるのでどうにかしないといけない。
そもそもプログラミングスキルがめっちゃ高ければ、そんなダメな先輩とかを頼る必要もないのだが、未経験で経験値が低い自分としてはそれは遠い未来のこと。
目下どうするか? プログラミングスキルはそう簡単に「ズバーン!!」っと上がるわけでもないし、コミュニケーションスキルを伸ばすのも悪くない選択だが……。
そうだ。「メンタル」だ。メンタルスキルを伸ばそう。
メンタルスキルってそう簡単に伸びるのか?
そう簡単にメンタルスキルが伸びたら苦労しないわけだが、かといってプログラミングスキルが劇的に上がるわけでもなく、コミュニケーション能力を伸ばすつもりもなければ、とるべき選択肢は限られてくる。
会社辞めて次行ける財力があればいいが、あいにくお金もなく、履歴書にもキズがついてしまう。そうなった時、なるべく入った会社にいようとする選択になるが、働いてる間もメンタルはガリガリ削られていく。
どうにも絶対やばい会社は残念ながら存在し、どんなにホワイトな会社でもブラックな先輩や苦手な上司はいる。
本当にやばかったら「逃げる」の一択にしかないわけだが、耐えられそうかつ、メンタルを極限まで減らされるわけじゃなければ、メンタルを鍛えるのもアリだ。
プログラミングスキルなんて、働いてれば自然と身についてくる。それよりもメンタルをやられて人生を終える方がよほどもったいない。
生き延びる生存戦略が必要になる。生き延びれば次があるが、終わればそれまでだ。なので自分としてはメンタルをやられない方法を身に付けた方が、未経験者としては費用対効果が高いと思う。
実際に何をすればいいのかと思うが、もう「ストレスを減らせること」をやるしかない。
仮にメンタルに「器」みたいな容量があり、ストレスを注いで行くとしたら、やはり人それぞれ許容量が違う。
ストレスをこまめに取り除くスキルorメンタルという器をでっかくするかの方法だ。
ストレスをこまめに取り除くことに関しては、もう自分の好きなことをやるしかない。好きなことやって、ストレスを取り除く。罪悪感なんて持つ必要ない。仕事終わったあと、どんどん好きなことやって、次の日に注がれるストレスの対策を打っておくべきだ。
仕事できなかったりして、それがストレスになってるなら、仕事の勉強をするしかない。仕事できないことがストレスならばだ。
自分としてメンタルを守るスキルとしては、筋トレだったり、マンガ読んだり、アニメ見たり。後はスキルを伸ばすしかないこともあるので、休日に時間を割いてプログラミングスキルを磨くわけだ。
人それぞれの方法があるが、本当にメンタルは守ったほうがいい。
過食やアルコール依存するまでお酒入れたり、過度なギャンブルは止めた方がいいが、1個500円のケーキとか、仕事終わりのビールやら、麻雀とかは別に問題ない。
自分を守れ。自分のメンタルを守れ。プログラミングスキルはメンタルを守ってはくれない(人によっては守ってくれるが)。
経験浅い自分もこういったブログ書いてたりして、自分の考えを吐き出したりしてる。
まずは生き残る戦略が必要だ。生きてれば、また次のステップが見えてくる。
どうしても限界が来たら迷わず逃げろ。生き延びることが本当に大事だ。
キャリアの生存戦略よりも、まず自分が生きれる生存戦略が大事だ。
キャリアはそれからだ。自分を守って、その上でキャリアを築いていけばいい。