日々Derailment

技術的なことの備忘録。脱線事故が起きまくってるので、なるべくrails wayを守れるよう頑張ります。

理想の職場をエンジニアリングする

淡々と書いてくと、あんまり面白くもないし、表現力も成長がないので変な文体で書いてみる。
ブログぐらい自由に語らせてほしい。

それはさておき、僕は現在、昨年4月に登記した、農業系のベンチャーにいる。
プログラマ経験としてはまだ正味1年半、プロダクトを個人開発で2個ほどデプロイしてみたぐらいのどこにでもいるプログラマだ。

隙あらば自分語り 僕の経歴

プログラマになったきっかけは、会社を辞めてフリーランスをやっていた頃、知り合いの社長からこんなことを言われたことだ。
「仮想通貨流行ってるし、1ヶ月ぐらいでいい感じのシステム作れない?そういうの得意そうじゃん。」
というような感じだったと思う。

その時点でプログラマの経験なんて1mmもなくて、ちょっとパソコンとかが得意程度だった。
でもお世話になっていた社長からの依頼だったことと、僕は基本的に見栄っ張りだったので、答えてしまったのだ。
「たぶんやれると思います。」と。

そこからは怒涛のごとくrails tutorialをやった。1日15時間ぐらいやってたと思う。

1週目、全然意味がわからなかった。
findとfind_byの違いとか全然分からんレベルだった。
けど、↓が表示されただけでめっちゃ感動して、
f:id:ys3128:20190305000959p:plain 自分でかいたものが実際にブラウザで動いているのをみて、
すごくワクワクしたのを覚えている。

2週目、なんとなく理解した。
このときは制御の流れを理解することに努めていた。

3週目、2週目でわからないところを中心にやって一応チュートリアルでやったことは概ね理解。

そこからAPIの実装に1週間かかったり、ajaxでの価格のリアルタイム取得とかで1週間かかったりとかかなりカオスなスケジュールだった。
が、一応結果として、なんとかシステム自体は完成した。
(bootstrap満載、エラーハンドリングカオス、ルーティングめちゃくちゃと目を覆いたくなるクオリティだったけど。)

全然今思うとくっそ微妙だけど、仮想通貨黎明期だったこともあって、喜んでくれた。
それ以来ぼくはプログラミングにのめり込んでいったと思う。

月日は流れこういった無茶振りされた縁もあって、「新しく事業を起こすから一緒にやろう」という声がかかって現在に至る。

そして、会社の発足からまもなく1年を迎えるいま、弊社システム部門は困窮している。

現状

弊社では下記の4つのプロダクトが稼働している。

ECサイトRails
・↑のPWA(実験的にソーシャル要素とヘルスケア機能を搭載。Rails・vuejs)
・農家さん向けの生産管理のシステム(Rails
・営業さんの売上等の管理システム(Rails
※インフラはAWSでEC2・RDS(postgresql)・ELB。

抱えているタスク
・システムの保守、運用
・データのメンテナンス
ECサイトのリニューアル
・エンジニアの育成(現在エンジニア候補が4人)
・IoT部門の立ち上げ

f:id:ys3128:20190305005017p:plain これらを下記の人員で行なっている。
・僕





1人。正確にはもう1人いたのだが、そいつは引き継ぎもなくある日突然消えた。
全然レールに乗ってないruby on railsなアプリケーションを残して。 こんな事は対岸の火事かと思っていたけど、自分の足元もしっかりと燃えていたらしい。
発足当初、ここまでの状況になるのはさすがに覚悟していなかった。

void("自分のやるべきこと")

うちの社長は人を巻き込むのが非常に上手い。求心力があると思う。
自慢ではないが、客観的にみても役員構成は結構凄まじい。
そういった手腕もあって、事業の成長速度は非常に速い。

そんな中、システムの成長速度が追いついていかないことに僕は焦りを覚えていた。
改善したいけどそのリソースが割けず、修正とか機能追加とかが行き届かず、止まないバグ報告という負のフィードバックループ。 「技術顧問がほしい」などの依頼をしても改善する兆しが一向に見えないことに対する徒労。
自分の力の無さを痛感した。 自分が何をするべきか完全に分からなくなった。

エンジニアになるということ

八方塞がりの中、転機になった本があった。
「エンジニアリング組織論への招待」

この本はそもそもエンジニアリングとは何か?という問いから始まる。
これは自分のあり方を見つめ直すのに十分な問いかけだった。

エンジニアリングとは、実現の工学。
抽象的なことを具体化して、課題を解決すること。

課題の解決。
ここまでで自身のことをエンジニアと名乗っていないのもこれにある。
今までやってきたのは、会社に必要なものをコーディングしただけであって、作業に過ぎない。
エンジニアならば課題を解決して見せなくてはならない。
システム部門の課題。 僕はこれを社長に投げていた。 これは僕自身の課題だ。

僕はエンジニアでありたい。
だからこの課題も自分で解決しなくてはならない。
そして実現するのだ。 最高に働きがいのある、理想の職場を。