エンジニアとして働いていて、思ったことがあります。それは、「一言でエンジニアといっても、そのレベルは千差万別」ということです。
小売り業の販売カートシステムの開発( PHP使用)
私はフリーランスのシステムエンジニアとして活動しております。
フリーランスとなってから8年目となります。
それ以前は、会社員として三社、過去にも数ヵ月フリーの時期もありました。
私は現在、企業向けのシステム開発や、その他一般のアプリケーション開発などを行っています。IT業界でのキャリアが長く、顧客としては、一般企業や個人ベースでの仕事の依頼も受けております。システム開発技術者としてのキャリアは20年超となります。
時代的に仕事を始めた頃は、まだ大型、中型などのホストコンピュータの汎用機などの開発からスタートしました。言語的にはcobolなどに当たります。
その後、技術の進歩によりクラサバからウェブへと開発ニーズや環境も変化していきます。
そんな中で時代にあったスキルを積み上げてきました。
言語的にも複数対応できます。
そんな中、今回お話しするのが、PHPでの開発案件になります。
私はこれまでPHPの開発案件は、数的にはかなりこなしてきました。
顧客は、企業または個人からの依頼の案件もあります。
今回お話しするPHPの開発案件は、小売業者のホームページの開発案件です。
販売カートシステムの開発案件を見つけたきっかけ
それでは今回お話しするPHPの案件をどうやって得たか、その入口からお話ししていきます。
今回の顧客ですが、東京都内にある輸入雑貨を扱う雑貨屋さんでした。
店舗を構える雑貨屋さんですが、インターネットでの販売を行いたいということでした。
この仕事とのめぐりあいですが、知り合いからの依頼となります。
この知り合いは、かつてサラリーマンだった時の会社の部下でした。
部下の彼は当時は私と同じくフリーランスのホームページのデザイナーとして仕事をしていました。彼はデザイン力はあり、ホームページ自体の構成と作成をする技術はありますが、動的なページを作る仕組み(システム)の知識はありません。つまり、プログラミングなどの知識はないのです。逆に私自身はデザイン力がないため、仕事として受けるには、ホームページの作成自体には難が多少あります。
もちろんウェブ言語は、理解しているので、ホームページが作れないわけではありません。
作れと言われれば作れますし、実際に企業のホームページを仕事として作成したこともありますが、やはりデザイン力がないとウェブデザイナーとしては、厳しいのです。
ウェブシステムの開発には、表面的なページを作るデザイナーと、裏方のシステム側を作るプログラマーとのコンビで仕事をするパターンも多いのです。
今回私はデザイナーである知人の彼からの依頼により、裏のシステムの部分をPHPにて実現させるというところからはじまりました。
デザイナーとエンジニアのコンビは、何人か確保しているのが多いと思います。
私もウェブデザイナーを必要な時は探しますし、依頼します。
持ちつ持たれつの関係なんです。
今回の仕事は、雑貨屋のホームページ自体は、デザイナーの彼が出掛けたもので、既に存在していました。この話しがある数ヵ月前にリニューアルしたそうです。
まずは、お店のホームページを新しくしたところで、次は販売ページを作りたいということでした。仕事のイニシアチブは、デザイナーの彼がリードしてくれたので、相談レベルから始まったこの仕事は、なんとなくの感じではじまりました。
実際に最初の頃は、実際にお店に伺い、オーナーともお話しさせていただきましたが、結果論として要望通り開発は完了しましたが、いろいろとあったことも事実です。
この色々に関しては、後述します。
販売カートシステムの開発の内容
さて、具体的な案件の内容ですが、ウェブでの販売システムです。つまりカートシステムとなります。これをPHPで書き動的ページを作るのが内容です。
システムの内容的には以下の通りです。
- 商品の登録、商品画像のアップロード
- 商品データの更新
- 顧客情報の登録
- 自動メール送信
在庫管理については、初期段階では簡単な仕組みのみで売れたらマイナスくらいで、同じ商品の更新などは商品管理の一覧ページを設けて手動で、更新していく程度のものでした。
商品の登録や管理は最初は検証と使い方に慣れる為にオーナー自身が行うということで、比較的シンプルなものにしました。
システムの設計自体は、私がおこないましたが、今回の開発では、以前別件で開発したカートシステムをベースに開発しましたので、作業的には新規というよりカスタマイズに近い形で行いました。
案件の環境と、この仕事で得たこと
システムの環境は、お店のホームページと同じプロバイダを使用しましたので、指定の環境で行いました。環境作りは、用意されていた為、苦ではありませんでした。
実際のコーディングやアップロード、テストなどは全て自宅から行いました。
今回の依頼ですが、極力予算を抑えたいということから、手数と時間をかけずに済むように行いました。開発期間は3ヶ月ほどでした。