見出し画像

独立エンジニア4年目

去る4/20にソフトウェアエンジニアとして独立して3年が経ちました。ほんと早いですね。
ちょうど仕事も落ち着いたので、この1年というか2022年初頭からをざっくり振り返ってみようかなあと。2022年の前半までと後半からでかなり異なる働き方をしていたと思います。

前半はチームリーダー

前半は何をやっていたかというと、ECサイトのリニューアルプロジェクトのエンジニアマネージメントをしていました。
2020年の秋頃からお取引のある企業があるのですが、このお客様はシステム開発を内製する部門はお持ちになっておらず、SIerやフリーランス人材を駆使して複数のECサイトを開発・運用しておられました。
それらのサイトを順次リニューアルしている所で、そのうち1サイトのリニューアルにプログラマーとして参画していたのですが、次にリニューアルするサイトのエンジニアリーダーを任せたいというお話を2021年末に頂きました。
提示していた経歴書にも記載していた事で、独立前のキャリアの中には確かにWebサービス開発・運用チームのマネージメント経験もあるのですが、もう何年も前の話で近年はいちエンジニアとしてしか働いてなかったので、プロジェクトが終わった今だから言いますが正直よく任せる気になったな〜と思いました。
働きぶりを評価して頂いたのだと受け取ってますが、マネージメントは職能として全然別物ですからね。

マネージメントからは遠ざかって久しく不安もあり、断る判断もありえた思うのですが、フリーランスでこういうポジションになる経験も貴重だなと思いお受けしました。受けた以上は何が何でも完遂しなければなりません。それに必要だと思った条件を出しました。

  • 開発チームメンバーの選定(要は面談)に参加し、意見を反映させて欲しい事(それまで人材選定は全てお客様の判断で行っていました)。

  • 技術選定について、インフラなど余り動かせない部分は仕方ないが、アプリケーション部分については既存の技術スタックに極力寄せた上で詳細は開発チームに一任して欲しい事。

技術選定についてはそれほど大袈裟な話ではなく、元々お客様の別プロジェクトでも使用されていたPHP+Laravel、Vue.jsの最新安定バージョンを使わせて欲しい事が主な要望でした。インフラはAWS上でこれまで利用されていたEC2、S3、SES、Auroraなどのサービスが使えれば問題なかったので。
チームメンバーはITフリーランスエージェント経由で集めておられたのですが、そこでスキル要件を満たす方を集める事を最優先としました。
PHP+Laravelの経験者は比較的容易に見つかったのですが、Vue.jsの経験があるフロントエンドエンジニアの確保がやや難航しました。
要件定義などの別工程と平行しつつ1ヶ月近くかけて何とかマッチングできましたが、お客様も妥協せずに実力のある方が現れるまで粘って頂いて本当に良かったです。
希望するメンバーが揃わないまま時間が過ぎるのは焦りますね。最初のヒリヒリした期間でした。

チーム編成後、私自身は工程管理、要件定義、基本設計を担当し、その他プロダクトオーナーや関連するバックヤードシステムを開発していた他チーム、Webデザイン担当者との折衝、メンバーの開発がスムーズに進むよう環境整備に注力するのが主な仕事でした。
結果を先に言うと、5月頭がリリース予定でそれに間に合わせる事ができました。集まって頂いたメンバーの働きぶりのおかげなので感謝しかないですね。本当にそれに尽きます。
かといって全てが上手く行った上での話ではなくて色々と問題も。

  • 要件定義の漏れが発覚して一度開発した機能の手戻りが発生。

  • どうしても納期に間に合わない機能が出た(運用に必須ではない物は交渉して最初のリリースからは外させてもらう事に…)。

  • 終盤、実装者のリソースが不足して結局自分もコードを書くことになった。

細かく言うともっと色々ありましたし、多々の反省がありつつなんとかリリースしたというが正直なところでした。
1年前の投稿にもそれが現れているのですが、かなりバタバタしてましたね。余裕なかったな〜。

↓は昨年の周年記事。

その後、後回しにさせてもらった機能の開発も6月までで終えてその現場を後にしたのでした。

後半はソロプレイヤー

さて後半です。今度は友人の企業から依頼を受けて、開発人員は我1人!なプロジェクトが始まりました。これがまぁ前半とわかりやすく異なる事ですね。

今まで紙ベースで店頭販売していた複数のスキー場で使える共通シーズン券・回数券をECサイトで販売できるようにし、かつWebで利用できる電子チケット化するというのが頂いた案件でした。

ECサイトをゼロから作るなんて事はもう必要無いんじゃないかと考え、適したサービスが無いか調査しました。その中で最終的に選定したのはShopifyです。

まずは運用コストが売上に見合う事。これが大前提。
利用料金は無料プランこそありませんが十分スモールスタートできる金額でした。

次に必要な機能の開発容易性。
ECサイトの表側の部分は、最初から用意されていたテンプレートデザインの微改修でOKをもらっていたので、問題はバックヤードシステム(管理画面)。
他にも著名なECサイト構築サービスであるBASESTORESとも比較してみて、それらでも実現できたとは思いますが、元々用意されているバックヤードシステムと連携して独自の機能を追加する仕組み(API)が非常に強力でして、これが一番の決めてとなりました。追加する機能のUI構築用にReactコンポーネントライブラリも用意されていて、私のスキルで十分対応可能でしたので。
1人開発なのもあり納期を守るのに重要なポイントでしたね。

ちなみにShopifyはカナダが本拠地の企業なので、APIの仕様書など主要な文書が英語で記述されているのが若干のハードルではありますが、今は優秀な翻訳サービスもありますから何とかなりました。なお、日本法人もあって和訳されてる文書も数多くあったります。
むしろ提供されている機能が豊富すぎて、その中から必要な物を調べて取捨選択するのに一番苦労したように思います。

10月頭がサイトのオープン予定だったのですが、その納期を間に合わせられたのはShopifyの用意していた機能のおかげなので、サービス選択は間違ってなかったなあとは思ってます(Shopifyについてはいずれ単独の記事を書きたいと思ってます)。
その後、年を跨いで運用しながら不足しているバックヤードの機能開発を行い、スキーシーズンを乗り越えました!

2022前後半そしてこの数ヶ月を振り返って

前半はチームを作る所から始めて開発プロジェクトを進めるという、独立したての時にはあまり想像してなかった仕事をしてました。前述の通り、上手くいった事いかなかった事はそれぞれありますが、やってやれない事はないという自信を付けさせて頂いた期間でした。
後半は開発の詳細について一任して頂いたのでとにかく自由ではありましたが、ソロであるがゆえに己との戦いでもあり、その中で新しいWebサービスや技術を学ぶ機会を得た期間でもありました。
どちらの案件もお客様にどの程度満足して頂いたか正味の所は知る由もないですが、もっと高い価値を提供できたのではという思いは消えないです。これからもずっとそうなんだとは思うので少しでも良くなるよう前向いてやるしかないですね。

余談ですが、一人開発の時はあまり相談できる相手が居ないのが悩みです。技術的な事は大抵調べてわかりますし、コミュニティサイトで聞けたりするんですが、そういう事以外の諸々が。
時々試しにChatGPTを壁打ち相手にしたりもしてました(いつでも的確な回答があるかは微妙ですがそれっぽい答えが返ってくる笑)。
なので気軽に相談できるメンター的な人を見つける事も課題ですね。業務委託先探しなんかも。
とにかく常に良い働き方を考え続けながら、4年目も頑張ろうと思います。

この記事が気に入ったらサポートをしてみませんか?