<y>

Splatoonプレイヤー兼Webエンジニア

2018年の目標

あけましておめでとうございます。今年もどうぞよろしくお願いします。

今年の目標

新しいことに触れる

今年はとにかく新しいことに多く触れる年にしたい。
新しいことに触れるのって、意識すると体力が要る。自分は本当に体力がなくて、去年は「あ、これ気になるな〜」と思っても、気になるだけで終わっていた。
今年は「気になるな〜」と思ったらとにかくまずその世界に触れてみることを心がける。
これは「新しい技術に触れる」とかそういうのもそうだけど、もっと軽く考えていて、例えばつい昨日は「バーチャルYouTuberの動画を観る」ということをした。
バーチャルYouTuberは耳にしてたくらいで全く追いかけてなかったんだけど、今回はとりあえず触れることが大事なので、とりあえず有名所のキズナアイと輝夜月の動画をいくつか観た。
いやバーチャルYouTuberの動画観とるだけやんと思うかもしれないが、それでいい。それでいいんだよ。ハードルはとにかく低く。徐々に上げていけばいい。そもそもその低いハードルすら越えられていなかったんだ。
今更かよ〜と思うかもしれないが、今更でもいい。全く触れないより今更でも触れたほうがいい。だから仮想通貨とかブロックチェーンも今更だけど触れていきたい。

体力と筋肉をつける

物理的な意味でも精神的な意味でも、去年は体力がなくてやらなかったことがすごく多い気がする。めっちゃもったいない。
休日に家でダラダラするのが特にもったいなくて、もっと色んなことができたはずだし、今年はもっと色んなことやっていきたい。
そのためにはまず健康になることがめっちゃ大事だと思っていて、健康になるにはやはり運動することが大事だというのも理解している。
今の会社はITSに入ってるので、安くなるジムがあるのでまずはジムの契約をします。目標は週一でジムに通うこと。
精神的な体力って物理的な体力があるほうがちゃんとつくと思っていて(健全な精神は健全な肉体に宿るみたいな言葉もあるし)、そのためにもまずは物理的に体力つけようと思う。
上述の「新しいことに触れる」ことに密接に関わってくるはず。

個人開発

仕事でコード書いてたけどなかなかプライベートで書くことが少なかった。
いくつか案もあるし、もっと自分のプロダクトを作っていきたい。
個人開発というとr7kamuraさんのスライドがとてもよいので、読み返す。
あとはstar__hoshiさんの記事もとても良い。色んなツール群から必要なものを選別して雑務から逃れることも大切。
RailsWebサービス作るのは勿論、モダンなフロントエンド技術も習得していきたい。

自信を持つ

自分に自信がなくって、根拠のあるなしに関わらずネガティブな状態になっていることが多い人生を送ってきた自覚がある。
今年はそういった雰囲気を払拭し、自信を持ってポジティブな生き方をしたい。
本当にどんなことにも関わってくるんだけど、体力とか筋肉をつけることが大前提。健康にならないとポジティブになれないよね。
そしてエンジニアとしてレベルアップすること。nippoで知り合ったエンジニアの人達を見ていても思うことで、エンジニアなんだから当然のことなんだけど、2017年の最後のほうで同年代の優秀な人達と知り合う機会があって、さらに意識するようになった。
もっともっと貪欲にやっていく。

登壇する

インプットもアウトプットも去年は少なかったので、今年は両方ともガンガン増やす。
そして今までやったことない勉強会などでの登壇をする。
今まで全くやってこなかったけど、登壇できるようなレベルになる。

最後に

2017年は個人的に不満の多い一年だった。勿論自分の怠慢が原因。今年はエンジニアとしても人間としてもレベルアップする年にするぞ。
今年もみなさんよろしくおねがいします。

2017年振り返り

去年は特に振り返りとか行った記憶がないので、今年は振り返りというか反省をしようと思う。

転職した

1月末にちょっと精神的に疲れてしまって、前職を休職した。
1, 2月に転職活動をして、2月半ばくらいに今の会社に決まって、3/1付で入社だったのだが、2/19, 20の社員旅行に(社員じゃないのに)参加し、風呂で裸で自己紹介するという面白い展開になった。
今の会社は出社自由、コアタイムなしの完全裁量労働制という非常に働きやすい環境で大変ありがたい。
いい会社に就職したと思う。

怠惰

いい会社に就職したのはいいのだが、自分の怠惰さにより逆に困難を招いた。

  • 度重なる夜更かしで体調を崩すことが多くなった
  • 集中力が続かなくて、進捗が思うように出ないことが多かった
  • 業務後の時間や休日にだらけすぎて、個人的なコードを書く機会が非常に少なかった

挙げれば枚挙にいとまがないが、とにかくだらけすぎたという自覚がある。
エンジニアとしてちょっとどうかと思うことが多かったので、来年はしっかりコード書けるようにするため以下の目標を立てる。

  • ジムと契約して週一回程度の頻度で運動する
  • 健康に気を使った食事をする
  • 休みの日にコードを書く時間を増やす -> 他の予定を減らす

これを年の目標として頑張っていきたい。主に健康になりたい。

出会い

同年代のエンジニアと会う機会が多く、非常に刺激をもらえた。
同い年でも自分よりすごい人はたくさんいて、こういう人達に追いつきたいと思った。
出会ったきっかけはスプラトゥーンだったりするから面白い。

今年も一年お疲れ様でした

また来年もよろしくお願いします。

自分はSEではなくWebエンジニアなんです。

この記事は、しがないラジオ Advent Calendar 2017の25日目の記事です。

「しがないラジオ」とは?

SIerのSEからWeb系エンジニアに転職したんだが楽しくて仕方がないラジオのことです。
ホームページはこちら↓↓
https://shiganai.org

自分もリスナーですが、まだtbpgrさんがゲストに登場した二回しか聴いておりません……。
にも関わらずAdvent Calendarに参加させていただいてありがとうございますm(_ _)m
時間を作って聴いていきたい。

この記事を書こうと思ったきっかけ

最初のきっかけは、しがないラジオsp.8aのてぃーびーさんの回を聴いてたときの一言。

例えば、同窓会などの「色々な業界・業種の人間が一同に集まる会合」で、こんな質問をよくされます。

「◯◯くん/さんは今IT業界でSEやってるの?」

そして、その質問に対する自分の答えは、

「IT業界だけどSEではないんだよね。まあSEみたいなものなんだけど」

といった感じです。
自分はWebエンジニア、正確にはWebアプリケーションエンジニアであり、自分のことをSEだとは思っていません。
しかし、WebエンジニアやSE(システムエンジニア)は、明確に職務の内容が決まっているわけではなく、話す人のコンテキストによって解釈に差があるので、混同されやすいです。そのため、IT業界ではない人に説明するときにも、面倒くさくて自分がSEだと説明している人もいるかと思います。
SIerからWeb業界に転職してきた方には、このもどかしさが多少分かってくれる人もいるのではないでしょうか。
我々はSEではないということを伝える難しさを。

かといって、一から説明すると非常に長くなるし、そもそも言語化できるほど整理整頓してまとめてあるかと言えば、ないです。
どうすればいいか悩んでいたところ、ちょうどしがないラジオのAdvent Calendarに一枠空きがあると耳にしました。
題目としてはまさにしがないラジオと被っているし、ちょうどいい機会なのでなぜ自分がSEではないのか、SEではないなら何なのかを文書化しておこうと思いついたのがこの記事を書こうと思ったきっかけです。
なお、ここに書く内容は全て自分という個人の意見であり、自分の所属している団体や世間一般の見解ではないので、ご留意いただきたいです。

そもそもIT業界って?

まず、IT業界の自分がIT業界ではない人に自分のことを説明するにあたって最初の壁となるのが、

SIerってなに?Web業界と何が違うの?

という点ですね。
そもそもここを理解してもらえないと、自分がどういう場所からどういう場所に転職して、昔はどういう仕事をしてて今どういう仕事をしているのか、という説明をすることができません。
IT業界には一体どんな業界があるのかというのを示す図がこちら。

ゲームやハードウェア、インフラ、広告などなど、IT業界と一口に言ってもその中で色々な業種がありますね。
その中で今回の記事では「SIer(システムインテグレーター)」と「Web」の二つの業界に絞って話を進めます。そもそもしがないラジオもそうですしね。
ではSIerやWeb業界とはどういう業界なのかというのをまずは知っておきましょう。

SIerとは

SIerとは、システムインテグレーション(SI)を行う業者のことである。SIに「~する人」という接尾辞「-er」を付けてできた造語である。

システムインテグレーションとは、システムを構築する際に、ユーザーの業務を把握・分析し、ユーザーの課題を解決するようなシステムの企画、構築、運用サポートなどの業務をすべて請け負うことである。これらを行う業者がSIerである。
出典: weblio辞書「システムインテグレーター」

SIerは大小様々な企業向けに、ユーザーの業務に対するコンサルティングやシステムの設計・構築・導入・運用を担っている会社/業界のことを指します。
顧客企業の業務内容を改善・効率化するようなシステムを構築し、それを導入して運用サポートも一貫して行うことがほとんどです。

Web業界とは

ではWeb業界とはどんな業界か。
一言で言うと、インターネットを通じて何かしらのサービスを提供する事業を行っている会社/業界です。
有名所でいうと、Google, Yahoo, CyberAgent, Twitter, Facebook, メルカリなど。
顧客企業に対して要望されたWebサービスを受託開発する以外にも、自社のサービスを開発・運用しているところも多いです。

自分の経歴

すごい今更ながら自己紹介します。
@_tgchというIDでTwitterをやっており、新卒で大きめのSIerに就職したのち、Web業界に転職して働いている社会人3年目の人間です。
自分がSIerで働いていたときの会社の人達と、Web業界に転職してから会った人達は全然違くて、同じIT業界なのにここまで差があるものかと衝撃を受けました。 現在は主にRails辺りを触ってWebサービス作ったりしています。

SEとWebエンジニアの違い

SEはほとんどの場合において、SIerでの技術者の人の肩書です。 それに対し、Web業界ではわりと会社毎に違う印象があります。エンジニア・プログラマ・Webエンジニアなどなど。
さらに、開発の担当分野においても名前が分かれます。サーバーサイドエンジニア、フロントエンドエンジニア、アプリエンジニア、フルスタックエンジニアなどなど。
ここでは、SIerの技術者をSE、Web業界の技術者をWebエンジニアとして話を進めます。

では、自分の思うSEとWebエンジニアの違いをいくつか挙げてみようと思います。

新しい技術に興味があり、それを使っているか

技術の世界は、日々猛烈なスピードで進化し続けています。
新しいプログラミング言語、新しいフレームワーク、新しいサービス……新しいものが次々と出てきます。
技術者は、次々と新しく出てくるものから自分に必要なものを探し、理解し、習得していかなければなりません。
なぜ新しいものを習得していかなければならないかというと、単純に「新しいものの方が既存のものよりも優れていると考えられる」からです。
既存の言語よりも処理が速い、書きやすい、バグを生みにくい。既存のフレームワークよりもより手軽にサービスを作れる。既存のサービスよりもより使いやすく手間が減った。こういった理由があるからこそ新しいものは注目されます。
こういった新しいものをどんどん取り入れていったほうが、新しいものを取り入れず古いものだけを使っている人達とは効率や生産性に差が出てきます。
また、古いものは脆弱性が発見されたり、サポートが終了したりします。MicrosoftWindowsの古いバージョンはサポートを終了しますよね。
Webエンジニアは新しいものをどんどん取り入れる人が多いです。効率化できる、手間が減る、便利、だったらどんどん取り入れていこうよ!という思想です。
SEはそういう思想がなく、ずっと使い慣れている古いものを使えばよくて、新しいものを取り入れる必要性はない、という思想です。
安定的な思考であるSIerと、挑戦的な思考であるWeb業界の違いが如実に表れている部分だと思います。

生産性や効率化に対して思いがあるか

自分がSIerにいた時は9時〜18時が定時で、22時以降の残業には申請が必要でした。他にも、何をするにも上長に申請し許可を得なければならない、という状況が多くありました。
申請や申請書の記入というのは、本質から逸れた作業であり、極端な言い方をしてしまうと時間の無駄、という捉え方もできます。

自分がWebエンジニアになってからは、本質的な業務にだけ時間を取ることが普通になりました。なくてもいいんじゃないかと思われるものは基本的にないし、あっても改善されることがほとんどです。
また、結果を出すことにこだわりが強く(当然と言えば当然ですが)、より良い結果を出すにはエンジニアの生産性や効率を上げることが大切です。エンジニアの生産性については色々あると思いますが、企業の制度でいうと、例えば勤務時間の柔軟性、モニターや開発マシンの支給、高級椅子の支給、技術書の購入費用負担などが挙げられると思います。
それらの制度があることにより、自分の最も生産性の高い働き方を選択できます。朝が弱く、夜のほうが集中できる人も少なくないと思います。そういう人達は勿論朝を遅くし、夜メインで働けたほうが生産性が高いですよね。

所属している社員一人ひとりの個性を尊重して自由な働き方を選択できるかどうかは、SEとWebエンジニアでは大きく違うと思います。
あくまで組織として規律を守らせることに重点を置くのか、最低限さえ守れていればあとは自由にやらせてもらえるかは、各職種の大きな特徴ではないでしょうか。

常に改善する意識があるか

SEだった時代は、会社の昔からの手法や形式をずっと使い続けていました。
設計書のファイルフォーマットは勿論、書き方なども全て昔から受け継がれている方法でやっていました。
もっと良い書き方が間違いなく存在すると分かっていても、そう書くことが決まりだと言わんばかりでした。

Web業界では、ここがもっと良くなるんじゃないか?と思ったことはなるべく言うようにして、納得が得られれば改善することができる場合がほとんどです。
今使っているツールよりも新しく出たもののほうがいいんじゃないか?というときは相談できるし、相談した結果新しいものを導入したりします。

より良い方向へ改善していくよりも、風潮や習慣を重視する文化がSIerにある気がします。
Web業界では常に改善を続けていくような文化がほとんどです。ここも大きな差ですね。

どちらがいいのか

一概にどちらがいいかというのは言い切れません。人によって合う/合わないがありますし、SIerとして働いているけどなんの不満もない、という人もいるかもしれません。
ただ、進化していく流れに乗って自分も進化していけるかどうかというのは、より良いプロダクトを作る、ということにおいては非常に重要ではないかと思います。
自分はWeb業界のほうが向いていると思ったし、Web業界に転職して良かったと思っています。

結論

これだけ色々言いましたが、SEはSIerの技術者のことを指し、Webエンジニアという呼び方はWeb業界の技術者のことを指すのと大体同義なんじゃないかと思っています。
でもこれはあくまで職種ではなく業種の違いに近いものがありますし、明確に区別できるようなものではないです。 結局、SEやWebエンジニアというのはただの呼び方の差でしかなくて、自分がどういう考え方や信念を持っているかによって変わってくるのかなと思います。
そういう点では、自分はWebエンジニアだし、これからもWebエンジニアであり続けたいと思っています。

自戒

これは完全に思考垂れ流しポエムです。
ここ最近の自分の醜態を記録しておくことで、未来の自分に読んでもらい反面教師にしてもらう作戦です。
ここで言及していることは全て自分に対してです。他の誰かのことは一切言っていません。

SIerからWeb業界に転職してバリバリエンジニアリングしながらレベルアップしたいんじゃなかったんですか??

文系学部卒だがなんとなくITとパソコンが好きという理由でSIerに就職した。
テキトーにプログラミングっぽいことを学んで、配属されて設計とかやってのうのうと過ごしていけばいいやという考えを持って新卒で就職した。
新卒の会社でSplatoonを買った結果、それがいかにダメなのかという気付きと、プログラミングをして動く物を作るのが楽しいという気付きと、時間や場所に縛られない自由な働き方ができるんだという気付きがあり、急いでWeb業界に転職した。
そこらへんの話は長くなるので割愛するが、僕が所属している会社の僕が出ているブログ記事にちょっくら記事があります。
転職後2社目(Web業界での1社目)ではRailsを書いて基礎的なことがある程度分かった(つもり)で、紆余曲折あり今3社目の会社にいる。
すごく働きやすいし、技術力のあるエンジニアも多くとてもいい環境だと思う。
問題はここからで、今の自分はこの環境になってから堕落しすぎており、今後もエンジニアとして食っていくには現状を変えないとダメだと思ったのでこの記事を書くに至った。

最近あなたはどんな技術を身につけて何を作りましたか??

これは自分に問いかけている質問です。
エンジニアとして、新しい技術に対してアンテナを張り、自分の作りたいものや仕事で使うものに必要な技術を習得し、それを利用して物を作り、物を作りながら新しい技術に対してアンテナを張り……といったことをやるのは、生き残っていく上で当然とも言えるべきことだと思う。
最近の自分はこの当然のことができていない。そして、そういう自覚があるのに改善しようとしていなくて(意識だけは改善しようとしているんだけど行動に繋がらないので)こういうクソポエムを書いている。
Railsを学び始めて1年ほど経ったが、自分でゼロからアプリケーションを作り上げてそれを公開したか?していない。作りたいものはないかなと思って案をいくつか出しているのに。もったいない。
で、じゃあWebサイトを作るんだったらJSとかCSSについても学ばなきゃいけないよね、となり、それらを体系的に学習して習得しましたか?と言われたらノーと答えるしかない。JavaScriptとか全然書けないです。作りたいものがあるのにそれに必要な道具の使い方を学ばないでどうやって作るんだ、という話ですね。
純粋な技術に対する興味で習得することももあれば、仕事をしたり物を作る上で必要だから技術を習得するということもあると思う。別にどっちでもいいんだけど、どっちもやってなくない?やってないです。ダメですね。

楽しめてます?

そもそもコードを書くことを「楽しい」と思えているか。これは書くものによりけりになってしまうけど、辛いしか言ってない状態で辛いコードを書いていても身にならないしモチベーションも上がらないしやっていけなくなっていく。
というか、つらいことしかやっていなかった時代があって、そうやって毎日不毛な時間を過ごしたくないよね、と思って転職をした。
楽しいと思えるというよりは、楽しくしていくといったほうが正しいのかもしれない。今こういうことをやっていて、でも意外とつまらない -> じゃあどうやったら面白くなるか。現状から何を学んでどう改善できるか。これを考える力が足りていない、と思う。 趣味の開発とか、自分がやりたいことをやりたいようにやるのは、非常に簡単に「楽しい」気持ちになれる手段だ。ただし今は仕事もある。仕事そのものだけなら「楽しい」というものはそんなに多くないだろう(と思う)。どうすれば楽しくなるのか、自分で考え、それを実践することで、初めて楽しくなるのではないかと思う。

楽しくないことは自分で工夫して楽しくしたり学びを増やしたりしてます?

例えば、今受け持っている案件の一つに、作りはじめてまだそんなに経っていないRailsのプロジェクトがある。そのプロジェクトはRails4.2で作られているが、「Rails5.1.3にリプレースしたい」という気持ちになったし、プロジェクトメンバーに話してみたらいいじゃん!という返事をもらえたし、じゃあやるぞ!となる。でもRailsのバージョンアップの経験なんてないから、どうすればいいのかを調べて知見を貯めて実際に手を動かしてリプレースする。こういうのは知見も貯まるし楽しいと思う(個人の感じ方です)。 例えば、今やっているのはデザイナーさんが作ってくれたデザインをRailsのビューやマニフェストファイルに組み込んでいくという作業をしているが、あまり面白いと感じることができていない。じゃあこれをどうすればいいんだろうとなる。

自動化や改善をすることは面白いのに何故それをやらないんですか?

このままずーっと同じ手法で仕事しても面白くない状態は改善されないし、どうすれば面白くなるのかを考える。面白いと感じないものを面白くするためには、デザイナーとの連携を密に取るとか、マニフェストファイルとかアセットパイプラインの仕組みに詳しくなるとか、そういう「面白い部分を見つけ出してそこを攻めることで結果的に仕事全体を面白くしていく」というのもあるし、やりたくないものに極力手を出さないために、「自動化などの手法を確立して、やりたくないことをやらないようにする」というアプローチもある。デザイナーと連携を密に取り、Railsディレクトリ構造通りにやってもらうとか、そういう工夫をするのは後者のアプローチに入るかなと思う。
それは「エンジニアリングは好きだけどその中でも特にこれが好きでこれが嫌い」とかそういう話で、エンジニアリング全体が嫌いなわけではない。だけど、そのエンジニアリングの中でも嫌いとか不得意な部分の作業をしているときに、「嫌いだしつまんないからやりたくない〜」と言っててもそれが好きになったりはしませんよね。しません。
そのつまらない部分や嫌いな部分を、どうやって手早く終わらせるか。それを考えて実践するのが楽しいはずなのに、最近の自分は脳死していてつらいとしか言ってないよね。それじゃあダメだよね。ダメです。
そういうのを自動化したり、改善して面白くしたりするのは結構頭を使って案をひねり出す面白いことだと思う。それをやらない自分は普段何をやっているんだ……?

自分がどうなりたいか自覚してます?

楽しくないと続かないし楽しくするのも自分の力量のうちだとは思うんだけど、じゃあせめて楽しい部分だけでも何故やらないの?となる。
もはや楽しい楽しくないの問題ではない。やってないから。なんでやらないんだ……。
楽しいことだけやったとしても知見は貯まるし、自分のできることは増えていくし、いいことだらけだと思う。なんでやらないんだ……。
エンジニアって、最初からなんでもできる人はいないと思っていて、勿論適正みたいな話はあるんだろうけど、それを抜きにしても結局「毎日やってきたことの積み重ね」がその人の実力だと思っている。
エンジニアになってから、一夜漬けのテスト勉強みたいなものの意味のなさと、毎日少しずつ積み重ねていくことの大切さを実感した。学生時代は一夜漬けタイプの人間だったので、毎日少しずつタイプになろうと色々やってはいる。色々やってはいるのになんで肝心のエンジニアリングを毎日やらないんだ……。
周りにいる「何かに長けた人」って、一朝一夕でそれに長けているわけじゃないし、毎日毎日積み重ねて長けている状態になっている。エンジニアリングだってそれは同じで、毎日コード書かない人間がコード書けるようにならないのは当然だと思う。
幸いにも優秀なエンジニアが知り合いに何人もいるが、そういう人達は毎日の積み重ねは勿論、毎日積み重ねる量も普通の人より多い気がしている。一日に貯まる知見が自分より多い気がする。
で、そういう人達に僕はなりたいと思っているのに、そういう人達より積み重ねる量が少なくてどうやって追いつけますか?追いつけませんね。追いつけないんですよ。むしろどんどん離れていく。それが分かっているのになんで毎日積み重ねないんだ。

じゃあどうすればいいんでしょうか?

ここまで言っておきながら、解決策は「もうこれは自分次第」としか言えないのが本当にダサいんですけど、自分次第です。
もうちょっと細かいことを言うなら、体力や集中力を鍛えて一日に頭を使う時間を増やそうとか、色んなものを身につけなきゃと考えすぎで、まずは自分のやりたいことに必要なものだけ身につけろよとか、そういう話だろうか。
どこかで、小さい成功体験をたくさん重ねることが大事というのを見た気がする。たぶんそれができていないと思う。もうちょっと、小さいことを確実に完了させるというのを意識すべきかも。
あとはもう、やると決めたことをやり通す力を磨こう。小さい成功体験の話にも繋がるし、その決めたことに必要なものだけを習得するように意識する。あれもやんなきゃ、これもやんなきゃ、とか言ってると破滅して虚無になります。実際なりました。

軽くまとめるとどうなるんでしょうか?

なんか色々言ったけど、プログラマーの三大美徳というやつが足りてないんじゃないかなと自分で書いてて思った。間違いなく足りてない。プログラマーなら美徳を守らねば。
今の自分には色々足りないものがあるので、足りるように頑張っていきましょう。
自分がクソみたいなことを言って何もせずにうだうだしていたら、この記事を僕に叩きつけて「甘えたこと言ってるんじゃねえよ」と言ってやってください。
自分でも定期的に見返して反省しながらやっていこうと思います。

本当はこんなクソポエムを書いていないで自分が作りたいものを作ったり技術的な記事を書いていたかった……。
でも悲しいかな、こういうポエムを書いて気持ちを整理しないといけない自分がいる。もう今後こういうポエムは書きたくないです。

25歳になった。

22日に25歳になった。20台のちょうど真ん中で、ここから先はもう20台前半を経験することができない。
せっかくなのでほんのちょっとだけ振り返って色々書き殴っておこうと思う。

社会人1年目

気付いたら社会人生活も3年目に突入しておりびっくりしている。
初めて社会人になり新卒で入った会社は、でっかいでっかいSIerだった。
社会人1年目は大半が研修期間で、ほぼ大学生のノリで過ごし、何も考えずにただ定時で帰って遊ぶ以外のことを考えていなかった。
研修が終わって配属されると、そんな暇はなく、残業と休日出勤ばかりで全然遊ぶ時間を確保できなくなった。
仕事がめちゃめちゃ楽しくてやみつきになっているのだったらいいのだが、仕事内容は微塵も面白くなかった。SEとして職に就いたが、やっていることは思考停止の手作業で、Excelに何かを書き込むか、スクショを撮って貼るかしかやっていなかった。

研修時代だった2015年の夏、WiiU専用ソフトのSplatoonが発売された。
当時はなんとなく面白そうだなというだけでWiiUごと購入した。面白いようにドハマリして、土日がSplatoonで潰れるなんてこともよくあった。
大学時代の後輩が色々な人と仲良くSplatoonをやっていたので、自分もそこに混ぜてもらったりして、ゲームを通じて色々な知り合いができた。
その中には、技術力の非常に高いエンジニアが多く、そういう方々とも知り合いになれた。この出会いが自分を大きく変えた。
ちょうど配属された頃くらいに、自分の状況を話したり、ゲームコミュニティ内のエンジニアの方々の話を聞いたりして、自分が今どれほど危険な状況にいるのかを把握し、それによって「今の状況をこのままずっと続けたらマズい」という恐怖感と、「早く今の会社を抜け出さなくては」という焦燥感に駆られる日々を過ごし始めることとなった。
そのゲームコミュニティで知り合ったエンジニアの話を聞いているうちに、焦りもそうだが、「自分もこうなりたい」「自分もこういう働き方をしたい」という感情を持ち始めた。恐怖、焦燥と、状況の改善、変化を起こしたい気持ちが大きくなり、そもそも文系出身でプログラミングに関してほぼなんの知識も持っていない自分は無駄にする時間などないと考え、すぐに決意し、転職に踏み切った。
転職先を決める前に退職した。退職の相談のときはスーツの胸ポケットにボイスレコーダーを入れていたし、余っている有給休暇を捨てさせようとしてきた課長をいなして、なんとか有給休暇ほほぼ全て消化することができた。悪とは諦めずに戦うことが大事だと学んだ。

社会人2年目

新卒で入った会社は、社会人2年目になってから2ヶ月くらいで退職し、有給休暇を消化する間に転職活動をした。
未経験でも大丈夫で、自分で手を動かし、手に職をつけながら成長させてくれる企業を探し、運良く企業が見つかり、転職することができた。
そこでは新しいことをたくさん学んだ。今の自分が業務でも利用しているRailsも最初はここで学んだし、未経験なりに無理せずに仕事を振ってくれて、それをこなすことで学び、吸収した。
しかし、入社してある程度経って、自分の甘さが出はじめた。
自分より若くて自分より技術も知識も持っている人間などたくさん存在するというのに、日々知識を吸収することをサボっている時間が多くなった。
それは自分の甘さ以外に環境要因もあるのだが、自分の甘い部分が多くを占めていたと思う。
知識を貪欲に吸収しようという意欲がない技術者は、技術者としては良い部類ではないということは当時既に知っていたはずなのに、それでも怠惰な感情の方が勝っていた。
そういうダメな状況になっている時に、自分と社風があまり合わないことがどんどん分かってきて、毎日出社したくなくなっていき、日々を過ごすのが辛くなってしまった。
結果として精神を病み始めており、このままでは心がダメになってしまうという予感もあったので、早めに手を打とうと思って2017年になって早い段階で休職させてもらった。
色々良くしてもらって社員の方々もとても心配してくれていたのだが、心はもう会社を変えるほうに向かっていた。
転職活動をはじめて、普通に面接を受けたりしている中で、Twitterで知り合ったエンジニアの方(ゲームとはまた別の方)が「転職活動をしているエンジニアがいたらウチはどうかい」というツイートをしていたので、話を聞きたい旨をリプライし、話を聞きに行って、そしてそこに入社が決まった。
他にも内定をもらっていたが、ダントツでそこが良さそうだったので即決した。
2社目は8ヶ月ほど働いた。1社目より少なかった。ただ、得たものは1社目より圧倒的に多かった。

社会人3年目

社会人2年目の終わりから3社目で働き始め、4月から社会人3年目が始まり、今に至る。
自由でとても働きやすく、自分で動けば色々なことをやらせてもらえて、すごく働きやすいし、毎日学びがあってとても良い環境だと思う。
エンジニアとしてより優秀になれるように色々とやっているつもりだが、まだ甘い部分も多く、もっともっと貪欲になりたいと思っている。
コードを書くことは楽しいが、まだまだプロダクトを組み上げて運用するための知識も技術も不足しているので、もっと行動していきたい。

そもそもなんでWebエンジニアになったか

これがなんでだか曖昧だったので、覚えているうちに整理しておくことにした。
本当に大したことのない理由で、とっつきやすいという話を聞いてRailsチュートリアルを始めてから選択肢がそれしかなかったという感じがする。
今思えば、(これは完全に偏見かもしれないが)自分が新卒のときにいたSIerでは、新しい技術や目的に応じた技術をキャッチアップして技術レベルを上げていこうという風土が一切なかったので、もっと新しい技術に興味を持ちキャッチアップしていくという風土を求めていた。それに合う企業が最も多い業界がWeb業界だったのではないかなと思う。
正直に言うとRailsしかスキルセットがない(2社目に転職する前はRailsすらまともに触れなかった)というのもあると思う。
それから、作るものの違いもある。BtoBの基幹系システムにどうしても面白みを見いだせなかった(自分の場合は)ので、BtoCかBtoBtoCのサービスに携わりたいという気持ちが強かったし、今でも強い。システムというよりサービスを作りたいというほうがしっくりくるかも。

現況

社会人3年目にしてようやく色々な物事が落ち着いてきた感じがある。
エンジニアとして働けているし、今後もエンジニアとして働くことを望んでいる。
「努力は必ず報われる」という言葉が嘘だというのはどこかで見たことがある。適切な方向に向かって適切に努力しないと報われない、というような意味だったかと思うが、今の自分の努力の方向は、少なくとも間違ってはいないように思う。あとは量を増やすこと。もっとのめり込むこと。もっと自分が知りたいことを知り続けること。これが足りていないので、今後はもっともっと開発にのめり込んで、色々なことを吸収して、色々なものを作りたい。

目標

自分の甘えを少しでも排除していきたい。
無駄にする時間は一切ないと上述したが、普通に無駄に過ごしている時間もまだまだあるのが事実。
25歳のうちに個人開発をしてWebサービスを作る。それ以外にも個人開発に力を入れていきたい。
エンジニアになって、日々の業務の中で得るものも多いが、やはり自分の好きなものを作ることに全力を注ぐのが一番楽しいはず。
まだ個人としての実績は皆無に等しいので、ばんばん作っていきたい。
あとはRails以外のスキルも身につける。勿論Railsに関してもまだまだ素人の身なので常にキャッチアップを続けていきたい。

その他

nippoをやっててよかったなーと思っているので、別の記事で書きたい。
以下は干し芋のリストです。 http://www.amazon.co.jp/registry/wishlist/HCKAPW8CQIQ8/ref=cm_sw_r_tw_ws_x_61gNzb6Y97GYV

ブラック企業は自分が壊れる前に辞めたほうがいいよね、という話

ここに書く内容はただの一個人の意見であり、特定の集団や組織などの総意や風潮などではない。

自分について

僕自身の特徴としては、

  • メンタルが弱い
    • 辛いことに耐える力がなくてすぐに限界に達する
    • 悩みは長いこと独りで抱え込むタイプで、たまにふと嫌なことを突然思い出して気分が悪くなる
    • つらい状態でも必死になって食い下がってやるという気概が最初からない。怠慢な性格
  • 朝が弱い
    • 単に朝が弱いのに加え、夜に熱中していることがあると睡眠時間を削ってでも楽しもうとする
    • 結果として次の日死ぬ
    • 睡眠時間が不足していると精神的に不健康になりどんどん悪い思考に陥りがちなので睡眠はとにかくしっかりとる、ということを自覚していつつも睡眠時間を削ってしまう
  • 傲慢
    • 自分がつまらないと思うことはとことんやりたくない(ある程度の妥協は勿論必要だけれど)
    • クソみたいな上司はたくさんいると思うしそいつらの言うことなぞ微塵も聞きたくないと思う
  • コミュニケーションに多くのエネルギーを使う
    • コミュニケーションが全然できないというわけではない
    • コミュニケーションをしっかり取ろうとすると多くのエネルギーを消費する
    • 無駄に飲み会やるくらいなら一人でいたい
    • 上司に気を遣うのが昇進に響くというのなら一生昇進しなくていいと思う
    • 上司にゴマすりなんて無理、やってられない

といったように、人間的スペックはかなり低いという自覚がある。
実際自分の周りを見渡しても、辛いと言いつつ一生懸命働いて金を稼いでる奴や、休日に出勤して土曜日の飲み会にスーツで来るような奴もいる中で、自分のダメさは際立つ。

社会に出て厳しい気持ちになるまで自分がこんなに弱いと分からなかった

今は社会人三年目だが、新卒で働き始めたときは「自分が人間としてのレベルが低い」という事実すら理解していなかった。
なんとかやっていけるだろうというソースのない自信があった。新卒時は大きめのSIerに入り、4月から12月までというやけに長い研修期間も相まって、完全に学生の延長として社会人一年目を過ごしていた。
その後配属されてからは見事に社会の荒波に揉まれてどんどん弱っていき、「自分が弱い」という事実を自覚していった。

周囲の人間は自分よりよほど強くしっかりしている

これは大体どんな人にも当てはまる気がするが、自分の周りは結構な割合で「社会人生活がつらい、大変だ」という人間がいる。
周りの社会人を見ていると、上司に理不尽な怒られ方をされたり、毎日夜遅くまで働いてたり、休日に無理やり出勤させられたり、微塵も楽しくないクソみたいな業務をしていたり、聞いているとすごくつらそうだと思うことが多くある。実際会って仕事の愚痴を言ったりする人はたくさんいるし、まあそれは日本社会のありふれた日常的な光景だとは思う。
多くの知り合いから、結構すらすらと職場に関連した愚痴が出てきて、日曜の夜だったりすると「明日からまた仕事だあ〜嫌だあ〜」というフレーズが、決まって自分の耳に入ってくる。
こういう人達の何が凄いかというと、辛く大変だと感じながらも毎日汗水垂らしてしっかりと働いていることである。
「凄い」という言葉に不純な意味はなく、純粋に尊敬の気持ちのみを込めている。自分には到底真似のできない芸当をこなしているのだから、本当に凄いなという思いがあるのみだ。
こういう人達を、本当の社会人と呼ぶのだろうなと思う。

明確な意図があって仕方なくしている我慢なのかを振り返る

大変残念なことに、世の中にはブラック企業という悪しき組織が溢れかえっている。
そして、一口にブラックと言っても、実に様々な種類の悪が存在する。
異常な長時間労働、休日の出勤、あまりにも評価に見合わない低賃金、理不尽な命令、パワハラ。悪の種類を列挙していけば枚挙にいとまがない。
自分が新卒で入社した会社も多様な悪が蔓延る場所だったので、配属されてすぐにくたばってしまった。ただし周囲の人達の話を聞いていると、自分などよりよっぽど過酷な環境に身を置き、必死に耐えつつ毎日働いているのだなということが分かった。自分の置かれていた環境はまだマシだったんだと思うことはよくある。
ただ、耐えられないものは耐えられないし、くたばってすぐに辞めたことは間違いだとは思っていない。正しい選択をしたと思っている。
辛くストレスフルな環境で常に厳しい気持ちで死にそうな思いで我慢して働くことに、得るものを何も見いだせなかった。
何も得るものがないのだ。技術、スキル、人間関係、多くの給料、幸福感、満足感、充足感といったものが、一つも得られなかった。
そのような状況で、耐える必要性などないはずだ。耐えても得るものがないのだから。
毎日辛い状況に必死に耐えているなと思ったらふと考えるべきだ。「今自分がしているこの我慢は、今後自分にとってどんなメリットがあるのか?この我慢によって、自分は何を得ることができるのか?」と、しっかり自分に問いかけてみるべきだと思う。
そして、「得るものが何もない」という答えしか出なかったとしたら、今の辛い環境に耐える必要性はなくなる。

本当に大切で優先すべきことは「壊れないこと」

仕事において大切にすることは、お金や福利厚生ややりがいといったように人それぞれだ。ただし、どんなものよりも大切にすべきものがある。

大学時代に必死に就活して入った会社をすぐに辞めるわけにはいかない、という意見をよく聞いたりする。
しかし、こういう意見を持っている人は、とても大切なことを忘れていることが多い。以下に挙げる事柄は、とても大切なことなので、ぜひ心に刻みつけてほしい。

  • 人間には命がある
    • 人間は命がある限りでしか生活できない
  • 人間は思ったより脆い
    • 物理的な意味でも、精神的な意味でも、人間は簡単に壊れる
  • 人間は一度壊れたら、二度と元には戻らない
    • 一度でも限界を超えたら、もう完全復活はない
    • だからこそ、自分にかける負荷には常に気をつけて、充分に余裕を持っておくべき
    • 「壊れる」ということがいかに深刻かをしっかりと考え、「壊れないこと」を最優先にする

壊れるというのは、物理的な面なら重い怪我や重い病気であり、精神的なものなら鬱病といったものが挙げられる。
上に挙げたことを考えずにブラックな環境に耐えている人をよく見る。
そのブラックな環境に耐え続けた結果が、物理的または精神的に壊れるといった場合は最悪のケースだ。壊れなければいくらでもチャンスは掴めるし、転職できる。壊れてしまったら、もう普通に働くことすら叶わないのだ。それをもっともっと自覚しないと、本当に壊れてしまう。
どんなにブラックな状況でも、転職先が決まるまでは辞めないというような考えをたまに聞く。繰り返すが、壊れないことが最優先なのだから、壊れそうならそんな悠長なことを言っていないで辞めたほうが、長期的に見たら自分のためになるはずだ。
無理して耐えて壊れてしまったら、他にしてきた努力は全て水の泡となる。
長期的な目線を持つことが大事だ。今短期的に耐えて鬱病にでもなったら、長期的に見て大失敗だ。本当に辛いなら今すぐ辞めてしまったほうが、長期的に見て大切ではないか。壊れてしまっては元も子もないのだから。

仕事を辞めること、転職することに対するハードルを下げる

ただ辛い以外の感覚がない場合に、そこに留まる必要性はない。だが、そうなると今度は退職や転職といったイベントが生じる。
職を失うことの恐怖なんて重病になったときに比べれば些細なものだ。
有名企業に勤めていたとしたら、確かに次に得る職で同レベルの企業というのは難しいかもしれない。が、それは些細なことだ。
会社に忠誠なんて尽くさなくていいし、人間的に難のある上司の言いなりになんてならなくていい。
そんなことをしてもただただ辛いだけだし、その辛さは感じなくてもいいものだからだ。
人間は千差万別であり、誰かが辛くないことでも自分は辛い、ということはごく日常的にある。自分が辛いと感じるのなら、それは自分に合わないし向いていないことなのだから、拒絶したって何も悪いことではない。

たまにとても責任感の強い人を見る。「自分がいなきゃこの職場が回らなくなってしまう」という言葉を聞いたこともある。
本当に立派だ。人間できている。だが、責任感だけでは仕事はできない。
健康な身体と健常な精神あって、初めて成果を生産できる。責任感は得てして無理な忍耐を助長する。
しかし、社会に出てたかだか数年の人間の一人分の労力程度のものは、いくらでも代替が効くものだ。自分がいなければ回らないわけではないし、本当に自分しかいなければ回らないのならそれは経営の仕方が悪いのであって、あなたの責任ではない。
あなたが辞めたところで、また別の人が補充されるし、人が足りないのなら適切に増員することが正しい対処法である。
ちっぽけな責任感でブラックな会社を長く続けさせてしまってはいけない。ブラックな企業はとっとと潰れてしまったほうが社会的には有意義な出来事なのだから、とっとと辞めてしまって潰れてくれた方がいいと思う。

良い職場もある

ブラック企業に勤めていると、会社なんてみんなこんなもんだという諦観を覚えている人を見かける。
断言するけど、そんなことはない。しっかり働きやすい環境を整えようとしてくれるいい職場だって存在する。
自分は最初に挙げたようにクズみたいな人間だけど、それでもしっかり働きやすい環境を作ってくれて、自分が興味を持つ仕事を任せてくれるいい会社に転職した。
ブラックな環境に身を置いていると、感覚が狂ってくる。色々なものがどんどんネガティブに見えるようになる。
そんなときはとにかく、自分を肯定してくれる知り合いなり家族なりに話を聞いてもらう。それから、仕事が辛くなさそうで毎日楽しそうにしているな、と思う人に話を聞く、ということをやってみてほしい。
自分がブラック企業に勤めているなという自覚があるのなら、色々な人の話を聞いてみるべきだと思う。世の中にはそんな働きやすい職場があるのか、という発見に繋がる可能性があるし、何より精神的に疲弊している状態では正常な判断ができない。そういう場合は、正常な人の判断を参考にするのが最も得策であるはずだ。

つまり何が言いたいかというと

仕事に自分が壊されるなんてとてももったいないし辛いことなので、自分が壊れないことを最優先に考えてほしい。
自分が壊れたときに迷惑をかける人を思い浮かべてほしい。家族は勿論、多くの知り合いを心配させることになる。
どこの誰かも知らない他人に心配をかけさせないようにするには、まず自分の周囲の人達に心配をかけないことから始めよう。
自分の身近な人達を幸せにできない人間が、それ以外の人間を幸せにできるわけがないと思う。