PHPエンジニアとしての経験を最近のトレンドも踏まえて、仕事の内容・環境・感想の観点からまとめました。 PHPエンジニアを目指す方にとって少しでもご参考になればと思います。
PHPを使用した在庫管理ウェブシステムの開発
私は現在40代のフリーランスエンジニアです。自営業者です。フリーランスとなって今年で8年目となります。現在は、いくつかの顧客からの依頼を受けマルチタスクで仕事をしております。
企業のシステム開発として常駐勤務しているメイン業務が、月~金までの週5日、土曜のみ出勤のインフラ整備及びホームページ制作の業務が週1日。
その他単発でのアプリ開発などは、自宅で作業するなど複数の仕事を行っています。そんないくつかの案件の中で、これまで私が携わった仕事で、PHPでのウェブシステム開発案件のお話しを致します。
中小企業の在庫管理ウェブシステムの開発案件を見つけたきっかけ
PHPの開発案件というのは、探そうと思えばネット上にもかなりの案件があり、まだまだPHPの需要は高いと思います。
今回私が携わったPHPの案件を見つけたきっかけですが、市場に出ているオープンな案件ではなく、これまでの私の仕事の実績から相談という形で始まり実際に依頼を受けました。
クライアントは、とある中小企業です。表参道にある音楽スタジオの運営とカラオケや著作権フリーの音源を制作する会社でした。正社員数は約40名ほどの会社規模です。こちらの社長と以前、仕事で知り合いになり懇意にさせて頂いてました。
そんな関係が続く中で相談を受けました。
PHPのウェブシステムの依頼内容
今回お話しする案件の内容ですが、新規開発の依頼になります。
現在は、こちらのシステムは、もちろん運用されており、安定して稼働しています。
改修依頼があれば、単発で依頼がくるというスタイルです。メンテ契約は、特にしていません。
開発内容ですが、こちらの会社では、パッケージ商品がいくつかあります。
例えば著作権フリーの音源のパッケージ商品などです。
こちらの企業のホームページは、もちろんあります。そしてパッケージ商品の販売ページも元々ありました。しかし、こちらの販売システムなんですが、かなり簡易なシステムで、注文状況はメールオーダーで送信され、その内容を元にdbにて入力で入力しているということでした。
今時、これではかなり手間で面倒なことから、これを自動化できないかとの内容でした。
ウェブからの購入依頼を受け、顧客情報などを直接dbに登録し、db上に蓄積した顧客情報と売上情報を活用し、顧客管理、売上管理、在庫管理を行えないかとの内容です。
具体的には、以下の内容のウェブシステムを開発しました。
- 現在既に存在する既存の商品販売ページからdbに登録。
- 販売された時点での在庫マスタへの更新
- 商品発送状況などの管理システム
- 顧客マスタの更新システム
- 顧客情報の検索、抽出、出力処理
- 在庫マスタの管理システム(登録、更新、削除)
- 売上マスタの管理システム(登録、更新、削除)
- 在庫状況の確認システム
- 売上情報の確認システム
などが主な内容です。これらの機能をみたすのに、ウェブページも新規で作成となります。
内容的には、在庫・売上管理システムをまるまる新規で開発を行いました。こちらの案件は、こちらの会社と私との独占契約を結びましたので、作業は私一人で行いました。
その為、報酬的にもお知り合い価格で請け負いました。その変わりと言ってはなんですが、スケジュール的には、かなりアバウトで設定させてもらいました。
これは、今後に繋がる為でもあります。改修があることを見込んでの金額と、こちらの会社を通じでまた他の会社からの依頼をもらう為です。
私の場合は、新規のお客さんには、金額的にはかなりお安く受けるようにしています。未来の仕事に繋げる為です。私は設計から、開発、テスト、導入までを行いました。
案件の環境と、今回の案件で私が得たこと
在庫、売上管理のウェブシステムですが言語はPHPを使用しました。
サーバ環境ですが、こちらの会社ホームページ自体は、他社のサーバを借りていることから、そちらのサーバ環境をそのまま情報しました。
もちろんPHPは使えますし、dbも用意されていました。
dbはmy SQLです。
開発も環境設定もウェブ経由で作業し、全て自宅で行いました。
実際のコーディングやテストなどは、もちろんローカル環境で行いました。
私は先に申しましたとおり、マルチタスクで行っています。
昼間は、某大企業に常駐している為、実際のコーディングなどの作業は、帰宅の夜間か
通勤電車の中などで作業しました。隙間時間などできるだけ使って作業を進めました。
こちらの案件の場合、仕様書などは開発開始前の打ち合わせで使用する程度の簡易なものしか必要はなく、そのあたりは、楽でした。
システム完成後も簡単な手順書のみでよかったので、ほとんど開発のみに時間を費やすことができました。
結果的にクライアント企業に訪れたのは五回ほどでした。
中間のやりとりは、メールか電話で確認をし作業を進めていきました。
結果的にシステムが完成するまでは、10か月後ほどかかりました。