私について

Gifu Gujo is my soultown and my hometown.

郡上八幡という「盆踊り」のメッカみたいなところで生まれました。そのためか基本的に陽気で楽観主義です。

生まれ〜WEBまで

絵を描くことと生き物を飼ったり観察したりすることも好きでした。今は絵を描くことからは距離をおいていますが、歴があるので、それなりに上手いと言われます。

人生のどこかで”漫画家になれる”という勘違いを起こしたため、22歳くらいまで棒に振りました。自分に期限を切っていたため、バッサリ諦めることに成功して、2年ほどリゾートバイトにて北海道内を転々としながら、ある日を境にWEBの勉強を始めました。

実は、WEBサイト自体は中学のころから趣味でやっており、高校時代は趣味がこうじて、母校の公式サイトをリニューアルするという偉業を成し遂げました。

当時は今ほど公式サイトの重要性はありませんでしたが、「現役高校生が母校の公式サイトをリニューアル」したということで、界隈には注目されていたようです。

そういう意味では、漫画家になるよりWEBの方がよほど才覚があったのかもしれません。そして、25歳前くらいで、札幌市のとあるWEB制作会社に就職することに成功しました。

WEBデザイナー時代

バックボーンが絵描きであるため、デザインセンスは少しはありました。また、なぜかこれから先はJavascriptやWordpressが必須だと確信していたので、素人なりにそのへんを詰め込んだポートフォリオを作成して提出したところ+人間的なところがたまたま刺さってWEBエンジニアキャリアをスタートしました。

最初は、いろいろやらされましたが、結果的にはコーディングを任されて一番できたというので、コーダー兼デザイン補佐みたいなところで定着しました。

この時期は、レスポンシブデザインが主流になるかどうかというタイミングで、各自が独自のレスポンシブデザイン構築を模索していたと思っています。

自分はなんやかんやありましたがそれを成し遂げることができ、営業(社長)的には、レスポンシブデザインのサイトの商品のお手本として成果物を使ってあらゆる仕事を獲得してきました。

自分はその意識は当時はなかった(生きるので精一杯)のですが、今思えば自分の功績は大きかったと自賛できます。「業界未経験の僕が会社を立て直した」と本をかけるかもしれません。ちなみに当時の会社の業績がやばかったこともあとになって知らされました。

また、デザイナーが今ほどレスポンシブデザインに対応しきれていなくて、レスポンシブデザインの部分的な調整を任されていました。その意味では、肩書がコーダーなのかデザイナーなのかエンジニアなのか(どうでもいい)よくわからなかったですが、結果的にどれを頼まれてもなんでもなんとかできる人になっていったという経緯です。

WEBエンジニア時代

ある日、ECサイトを受注しました。このECサイトが、表現しずらいのですが商品検索方法が非常に特殊で、既存のECフレームワーク(当時は、WooコマースプラグインやECCUBE2,3)ではどう考えても実現できないものでした。

そこで人生発のMVCフレームワークであるCodeingiter3に手を出しました。

過去に、会社の過去の制作物であるシステムを2〜3案件やらされることがありましたが、結果的に言うと「そんなことできるわけないだろ」って具合で、正直システム開発にはアレルギーがありました。

しかしそれは、今思えばその当時の開発者による”オレオレフレームワーク”が原因だったこともわかりました。この世の中には、LaravelやCakePHPなどのフレームワークやドキュメントがちゃんとあることを知ったのです。

“オレオレフレームワーク”とて、ドキュメントがちゃんとあればなんとかなかったかもしれませんが、何がどうなってどういう経緯でこうなっているのか、なんの引き継ぎもなしに素人がどうこうできるわけがありません普通は。

コードはまだしも「経緯」や「目的」など、”当事者しか知り得ない前提のもとで初期設定や仕様変更が行われた”とすれば、それはコードからは読み解けるはずがありません。この嫌な経験から、エンジニアとしての自分は必ずフレームワークを使用しドキュメント通りに構築する(hack的なことはなるべくしない)方針を固めました。

それが無事完成した少しあとくらいで、当時の会社で給料の不払いが発生して、業績が良くないわけないのになんでと思ったら、「女」が原因だとわかったため、私はこの会社を離れました。

WEBエンジニア時代2(自社メディア・自社サービス企画・構築・運用)

一度目の転職をしました。これまでは受託制作・受託開発がメインのWEBデザイン会社的なポジションだったので、自社サービスを持つ会社に行ってみたいと思い転職活動をしていたら、割とあっさりできました。

インターネットメディア事業部という部署に配属され、概ね願いは叶いましたが、これはこれで大変ということも学びました。主にビジネス面・マネタイズに関する知識とノウハウは持ち合わせていなかったこともあります。

また、受託制作・受託開発では極論、先方(クライアント)さえ納得してもらえればお金になりますが、自社サービスは個々のユーザーが満足してくれないとお金になりません。

企画から携わっていたとはいえ、自分はエンジニアでもあるためこの部分が自分の担当範囲だと思い、UI/UXの徹底的な改善に燃えました。その結果、バックエンド部分を他部署の開発者)に任せるのではなく、最高のフロントエンドのための最高のバックエンドを自分で作ることにしました。

jQuery, javascript, wordpressなど駆使できるものは高度に駆使してサイト(サービス)をより使いやすいものにできた自負はありますが、エンジニア的目線ではコードに限界を感じ始めました。そのころちょうど流行ってきたのが、vue2でした。

vue2を使うために、wordpressもlaravelなどのMVC系フレームワークに変え、より柔軟且つより速く、UI/UXの向上に寄与できるバックエンドに変更していきました。制作実績にある「ス◯◯◯ベ◯◯◯」というサイトがwordpressの最後のサービスです。

これをwordpressをjqueryだけで仕上げた当時の自分には経緯を示したいと思います。(今の自分では逆に無理)

WEBエンジニア時代3(独立・会社設立)

この時期からWordpressを卒業して、CodeigniterやLaravelなどのMVC系オンリーになりました。また、フロントエンドもVue,nuxtjsとなり、本格的にWEBアプリケーション(SPAやPWA)に注力していきます。

独学になりますが、いろいろ学んで、理想と現実を知った期間が最初にありました。特に最初は”1人で自由に作れるから気ままに”と思っていましたが、逆に2人目3人目を使えるように考えないといけなくなりました。

そこで自分が選んだまず2つの方針があります。テスト駆動開発(TDD:Test-Driven Development)とAPI駆動開発(API-Driven Development、ADD)です。さらにAPIはできる限りRESTfulな設計に準拠して、ページ毎機能毎にエンドポイントを増やさない方針としました。

テスト駆動開発を1人や2〜3人でやるメリットは多くないかもしれませんが、個人的にRESTAPIとは相性が良いと思っており、テスト内容やエンドポイントがシンプルで単調になり、コードの流れを一定化させることができます。

これは、先述した”最高のフロントエンドのための最高のバックエンドを自分で作る”ためには重要に思いました。逆に、フロントエンドではテストを厳しくしすぎると小回りがきかない(少なくとも少人数開発では困難)と考えました。

自分が行き着いた1つの小規模開発をスキルの低いエンジニアでもなんとかこなせるようにするための、工夫の設計思想だと思っています。また、任天堂の「枯れた技術の水平思考」の考え方も自分に大きな影響を与えています。

十分に実用された実績のある技術の組み合わせで新しいもの、便利なもの、面白いものを創造することは、弱小少人数エンジニアチームが何かを開発する上では非常に大事だと思います。エンジニアの興味関心を優先すると、楽しいし当人のキャリアには良いですが、ビジネスとしてはコストが嵩み、リスクは増えると思います。

結果的に3年で複数のWEBアプリ、ミニアプリをリリースできました。自分にとって、限定的な条件で選定した上記方針は、英断だったと評価をつけたいです。それ以外で、闇雲な開発を行っていれば、部下は育たずついてこれず、自分だけでは回せずでひどいことになっていたと思います。

WEBエンジニア時代4(再出発)

現在は、役員を辞任し自由に生きるか組織に下るかを選択中の状態で、俗に言うニートに近いです。