update: 2020/01/11 誤字脱字を少し修正しました
いったい君は誰なんだい?
こんにちは。@omiend と申します。
映画とロックを愛する、普段はプログラマーとして生きている人間です。
この度、二年半ほど勤めていたアン・コンサルティング株式会社という会社を退職することになり、今日が最終出社日でした。
何故退職エントリーを書くのか
最近の退職エントリーの傾向を見ていると「書いてもなぁ」と思ったのですが、一生にそう何度もない折角の機会なのと、その会社でやってきたことの振り返りにもなるから書いた方が良いよと言ってくださった方がおり、書くことにしました。
そこまで面白い内容ではないのですが、もし暇なら最後までお付き合いください。
一応しきたり?に習って、欲しいものリストを置いておきます笑
どんな会社で、何をやってきたのか
アン・コンサルティング株式会社は、 フリーランスITエンジニア向け案件・求人サイト – フリエン というサービスを運営している会社です。
アン・コンサルティング株式会社という会社名聞いて、皆さんはどのようなイメージをもちますでしょうか?
おそらく大半の方が「初めて聞いた」と思うかもしれません。
正直、社名を伝える人のほとんどがあまりピンと来ていなかったように思います。
そんな小さな会社ですが、事業としては崇高な思想を掲げており、「すべてのエンジニアを自由に」という VISION を謳いながら、 フリーランスITエンジニア向け案件・求人サイト – フリエン を通して多くのフリーランス IT エンジニアの方をご支援しています。
福利厚生も面白くて、例えば代表の米農家である実家からお米を送ってもらい、みんなで食べれる様に会社で炊いていたり(お米食べ放題!!)、オフィスおかんを導入しておかずにも困らなかったりと、割と他所ではみないユニークな、かつかなりありがたい福利厚生があります。
そんなアン・コンサルティング株式会社には、2017年6月にエンジニアとして入社しました。
さらに、同年11月からは「取締役 最高技術責任者」に就任し、以来プロダクトと会社を成長させることに注力してきました。
具体的には フリーランスITエンジニア向け案件・求人サイト – フリエン と https://craftors-port.jp/ の開発や、社内で利用する受業務基盤システムを構築と、それからエンジニアの採用を通してプロダクトを開発する組織を作ることを個人のミッションとして、日々仕事に明け暮れた2年半でした。
振り返りという意味でも、やってきたことをつらつら書いていこうと思います。
https://craftors-port.jp/craftors-port.jp
社内で利用するの業務基盤構築
入社当時は
- 社内の連絡は基本的にメール。
- エクセルが添付されて来たり、オンプレミスの(社内に設置された)ファイルサーバーにファイルを保管する。
などなどという感じで、僕が新人だったおよそ14年前と変わらない働き方をしており、ちょっとびっくりしました。
そのため、Slack を導入したり、G Suite 導入の提案をするなど、より効率的な働き方を社内に広めることから始まったように思います。
これが結構大変で、僕としては当たり前だと思っていた働き方がなかなか伝わらなかったように思いますが、しかしそこはゆっくりと時間をかけることで、みんなに浸透していきました。
業務基盤システムをスクラッチで開発
同じく入社当初、会社の中心的な業務がすべてエクセルで行われていました。エクセルはとても優秀なソフトで、たいがいの業務はまかなえると思います。
しかし、規模が大きくなってくるに連れてマクロが肥大化し、職人芸のようになりがちです。
実際、ファイル自体が重くなったり、ファイルサーバー上に存在する「上書き禁止!」といったフォルダの存在や、「新_hogehoge(2).xls」といったファイルがあったりと、社内でも課題となっていました。
そこで、入口から出口まで一気通貫で業務の遂行が出来るように、帳票機能やレポーティング機能も含めて Ruby on Rails を使用してスクラッチでシステムを構築することになりました。
その当時はエンジニアが僕を含めて二人しか居なかったため当該システムは僕一人で作ることにしたのですが、それなりに期限もあり、気づけば 20 連勤したりと結構大変な思いをしまして、非常に良くない働き方をしていました。
さらに、そもそもクラッチで作るよりも SaaS や PaaS ( 例えば Scalesforce ) を使った方が良かったかなあと思います。
まあ、振り返ると作っている最中はそれなりに楽しく、また、リリースしてからすでに1年以上業務を回せているので、結果的にこれでやってよかったなと思います。
furien.jp のリニューアル
furien.jp について。
機能としては必要なものは揃っておりましたが、案件の検索がしづらい、UIがちょっと...、などの課題があり、リニューアルをしたいという要件が出てきました。
さらに、Ruby on Rails でモノリシックに構築されていため、フロントエンドの責務と、バックエンドの責務を分離するということを目指し、リニューアルをすることにしました。
まず、Ruby on Rails の APIモードを採用し、リニューアル前に動いていたサーバーをそのまま流用するとともに、新しく必要になるエンドポイントは当該サーバー内部で下駄( domain/api/ のような )を履かせて別途実装、あるいは移植をしました。
フロントには Nuxt.js の導入をすることに決めました。
Nuxt.js を採用した理由は単純で、当時個人的に勉強していたのと、前職で経験のあった React と Angular の2つ と Nuxt.js ( Vue.js ) の3つを比べたときに、 Nuxt.js ( Vue.js ) が一番わかりやすくて実装しやすいと感じたためです。
そして、本当に幸運なのですが、ちょうど Nuxt.js ( Vue.js ) をやりたかったエンジニアさんを採用することができたことが大きかったです。
リニューアルしてみて感じるのは、リニューアル前の DB 定義でちょっとつらい部分もあり正直まだまだ改善の余地がありますが、個人的には大成功なのではないかなと満足しています。
もともと課題だった検索も、リニューアル前よりは良くなったと思います。
もしよかったら見にいってみてください。
craftors-port.jp クラフターズポート
「すべてのエンジニアを自由に」という思想のもと始まった フリーランスITエンジニア向け案件・求人サイト – フリエン の兄弟分(妹分?)のような形で、「ものづくりを行うすべての人に活躍の場を」という思想のもと生まれたプロダクトが https://craftors-port.jp/ です。
”ものづくり”に携わる人がポートフォリオをアップロードしてサイト内でアピールするとともに、そのスキルを買いたい人・企業とやり取りできる場の提供を目指しています。
こちらも Ruby on Rails で構築しています。
このプロダクトには特に想いがこもっていました。
といいますのも、このプロダクトを話す上で避けて通れないのが Craftors Port の原案を考えた仲間の事です。
彼女はとても聡明で賢く、いろいろなアイデアを持っていました。
そして自分が好きな領域とビジネスを結びつけて、楽しく仕事をする、つまり非常に熱量の高い子だったと思います。
しかし、2019年1月。ガンでこの世を去ってしまいました。
僕たちは彼女の意思を引き継ぎ、「ものづくりを行うすべての人に活躍の場を」作り出すべく頑張ってきました。
ですが、僕はどうしても道半ばで離脱することになり、この会社を辞める上で一番の心残りとなってしまいました。
リモートワークと完全裁量労働制の導入
僕を含めた5人のエンジニアは、リモートワークOKと完全裁量労働制として働いていました。
「エンジニアを自由に」と掲げる会社が、定時時間を気にして満員電車に揺られて出社することは出来ない〜みたいな理由でしたが、今にして思えばコレは半分成功で半分失敗だった気がしています。
リモートワークを導入してよかったこと
リモートワークを導入して良かったと思える点はまず、悪天候の日や体調の悪い日(でも仕事を休む程ではないみたいな日があると思います)に、無利して出社することなく、仕事そのものに集中できる点です。
僕で言うと、家と会社の距離が遠いので毎日往復3時間を通勤に費やしていたのですが、その3時間分をまるごとプログラミングに使えるといった点ですね。
リモートワークを導入してよくなかったこと
逆に、リモートワークを導入してよくなかったことは、コミュニケーションが極端に難しくなるところでした。
想いや意図がうまく伝わらなかったり、議論が始まると「一旦おいておき、次に出社したときに改めて話をしよう」となることが多かった気がします。
そういう時に限って、会って話をすると一瞬で解決したりするんですよね。
もちろんSlack などの便利なツールがあるにはあるのですが、ペーシングなどの観点でもやはり面と向かって会話したほうがスムーズに進む事の方が多かったです。
リモートワークのすすめ
なので、「基本的に出社はするけど、悪天候の日や体調の悪い日は無理しなくても良い」といった感じの推奨としていました。
そのくらいのバランスが良いのかなと思います。
裁量労働制を導入してよかったこと
裁量労働制を導入して良かったことは、休みたいときに休めるということに尽きるかなと思います。
また、プログラマーは時として「あ、スイッチ入った」という時があると思うのですが、その時ゴリゴリ働けることでしょうか。
裁量労働制を導入してよくなかったこと
ですが、実は裁量労働制を導入するにあたっては、非常に気をつけなければならないことのほうが多かったです。
まず心理面でどうしても気を使ってしまうことです。「あれ、あの人今日は休み?」と必ず思ってしまうタイミングが出てきます。
なので、そういったときは「まあ、コレが裁量労働制や!」とちゃんと声に出すように心がけていた様に思います。
2つ目に、先述にもありました「20連勤しちゃった」といったような、逆にめっちゃ働いてしまうときがあるということです。
ここまで働いてしまうのは流石に僕だけですが(まあ、裁量労働制以前に一応経営陣側の人間なので、この話には全く関係ないのですが...)、それはたまたま僕だけだったというだけの事で、解決はしていません。
そして3つ目が一番つらかったことなのですが、「いつ休んでも良い」と言われ、仮に本当に休んだとしても、心理的にはどこかで「本当に休んでいていいのかな」と思ってしまう点です。
いつでも休めるけれども、ちゃんと仕事はしないといけない(成果物としてなにかを出さなければならない)という葛藤が常に付きまとうので、まさにずっと自分との戦いという感覚です。
裁量労働制のすすめ
それほど気を使うことが非常に多かった覚えがあります。
なので、
- スプリント内で、無理の無い見積もりをもって完了させるべきことを予め決めて、全員で合意する
- 休むときはちゃんと連絡する
- 毎月1日は必ず休む(働きすぎ防止かつ、有給休暇の消化をちゃんとする)
と言った対策をしてきました。
個人的には従来の「定時時間で働くこと」は、「遅刻という概念ができる=遅刻さえせず、決められた時間分働くことが成果と言える」と考えているので、制度としてうまく運用できれば働くことへの辛さがかなり軽減され、仕事の本質そのもの(例えばプログラミング)に集中できる最強の制度だとは考えています。
が、やはり振り返ってみるとかなり玄人向けの制度ですね...。
エンジニアの採用
僕のミッションの一つである、エンジニアの採用についてはとても恵まれたかなあと思います。
今の御時世、エンジニアを採用することの難しさはみなさんも分かっていると思いますが、結果、リファラル採用だけで3人の方とご縁を結ぶことが出来ました。
京都にて飲食店を営む実家で、10年鍋を振っていたが、大学時代に楽しかったプログラミングを仕事にしたい若手くんは、僕の前職の同期の親友からの紹介でした。はじめはちょっと引っ込み思案でしたが、今では社内で人気者の立派なエンジニアになりました。
プロダクト開発がしたいのに、SI業界で疲弊し、全く日の目を見ることがなかった若手ちゃんは、やりたかった Ruby と Nuxt.js の開発がマッチして、一番一緒に戦ってくれました。今では Vue Fes Japan のコアスタッフをするだけでなく、 Vue Vixens のメンバーとしても大活躍してます。
同じくプログラミングをしてサービス開発がしたかったのに、SI 業界で何故か営業をさせられてきた若手くん。非常に熱い思いをもって、一生懸命勉強し、とても立派なエンジニアになりました。
そんなみんなには、感謝してもしたりません。
そして、僕の退職にあたっては、社内で特に多大なる迷惑をかけてしまったと思います。
こんな不甲斐ない上司でごめんなさい。
でも、これからもみんなの大活躍を期待して、陰ながら応援しています。
何故辞めるのか
- プロダクトを開発する組織がある程度形になった。
- 組織が立ち上がった所で、僕に出来ることが無くなってきた。つまり、役目を終えたと感じた。
- やはりずっと Scala を書く仕事がしたかった。
といった理由になります。
念のため書いておきますが、めっちゃ元気です笑
転職先
次の会社は ScalaMatsuri を通じて知り合った方の会社へ行くことになり、やっぱりどこか心に引っかかっており、ずっとやりたかった Scala の仕事が出来ることになりました。
Scala もそうですが、DDD、クリーンアーキテクチャーだけでなく、事業の領域もこれまで経験の無い分野となっているので、年明けからの出社が楽しみです。
入社して1か月くらい経ったらエントリーを書こうかなと思います。
最後に
社長、その他役員、社員のみなさん、フリエンなどのサービスを通して関わってくださった方々、お客様。
そして何より、不甲斐ない上司である僕について来てくれた、愛すべきプロダクト開発部のメンバーみんな。
二年半というとても短い間でしたが、本当に楽しかったです。
そして僕自身が色々勉強させてもらいました。
本当にありがとうございました。
ここまで読んでくださってありがとうございました。