フリーランスのエンジニアも、積極的に活用しているプログラミング言語の「PHP」。1995年に生み出されたプログラミング言語なので、少々古臭い印象が否めませんが、まだまだ現役で活躍しているプログラミング言語です。
PHPの勤怠管理システム案件
私はフリーランスのシステムエンジニアとして仕事をしております。フリーランスになってから、8年目となります。主にデータベース系の企業向けの開発案件に数多く関わってきました。
私が請け負う仕事は、大規模なものから、小規模なものまで様々なものを請け負っています。顧客も大企業から中小企業、または個人に至るまで顧客は様々です。
スケジュールと見積もりが合致すれば、仕事は比較的何でも受けます。現在、メインの仕事となるのは、某大手企業に業務アプリの開発技術者として顧客先に常駐しています。
その他、小規模なものを単発で請け負っています。
またこれまで開発したシステムやアプリのメンテナンスや改修依頼も受けており、少しずつですが、仕事の依頼も増えています。
そんな私のこれまで請け負った中でのPHPの案件のお話しをしたいと思います。
これまでいくつかのPHPでの開発を行ってきましたが、そのなかの1つ、とある企業の勤怠管理システム開発を例に致します。
勤怠管理システムの開発依頼を受託したきっかけ
PHPでの勤怠管理システムの開発依頼を受けたきっかけですが、端的にもうしますと、お知り合いからの打診からはじまりました。
現在私は、某大手企業に常駐していることは、前述染ましたが、今の現場には数多くの人が働いています。
ワンフロアに約400名ほど在籍している大規模業務です。
私のような技術者の数は、ほんの極僅かしか在籍していません。
ここでの私は、業務効率化の為の業務アプリを現場にて開発しています。
この現場には複数の会社が絡んでおり、クライアントの社員さんを含め、協力会社や請負業者、派遣の皆さんなども様々な契約で皆さん働いています。
ここでは、多くのエージェントや人材派遣や人材供給の営業担当者さんが、多数出入りしています。私もこれまでの仕事から、知り合いの営業担当者さんがおりまして、現場に顔を出した際など、情報交換などを行います。
そこで話題となったのが、勤怠管理システムです。とある営業担当者さんの会社で、仲介スタッフさんの勤怠管理をもっと楽にしたいということでした。つまり、クライアント会社さんに派遣しているスタッフの勤怠管理をウェブにてできないかという要望でした。
こちらの人材派遣会社さんは、規模的には小さい会社ですが、現在、当現場に50名ほどのスタッフを常駐させているということでした。
そこで毎月の月次業務として現在の方法は、規定のエクセルシートに入力してもらい、それをメールにて各人員から回収し、集めた後でエクセルで集計してから、請求書を作成していたという手順で行っていました。非常に手間のかかる作業で、面倒な感じは、わかりました。これをシステム化したいということでした。
しかし、予算がなかなかとれないので、やりたくてもなかなか進まなかったらしいのです。
そこで私にできないかとの打診があったのです。スケジュール的には、まだ余裕があったので依頼を受けることにしました。
勤怠管理システムの開発内容
案件の内容を具体的に説明しましょう。
依頼内容自体は、先に述べた通りエクセルでマンパワー的に行っていた処理をある程度、自動化したいと言うものでした。
PHPにてデータベースと連携し、ウェブ上で完結できるような、よくあるウェブシステムです。
利用方法は、契約スタッフがアカウントを持ち、サイトにログイン。
ログイン後、勤怠情報を入力し、そのデータを元に月の勤務時間などを自動計算し、請求書などを自動作成するシステムです。
つまり、契約スタッフさん自らデータを積み上げてもらい集計は自動化したいということです。
勤怠管理の簡単なものです。
主に時間計算が集計の主なものとなります。
新規での開発となり、その時はシンプルな機能のみ実現させれば、いいと言うことになりました。将来的には給与計算などの機能もいれたいとの要望でした。
勤怠管理と言っても主に人の管理と、時間の管理だけであるので、それほど難しいことはありませんでした。
ユーザー側は、出勤、退勤、休憩、遅刻、中抜け時間、欠勤、有給利用などの情報を入力してもらい、月次での集計結果もウェブ上に表示させます。
それと管理者側の機能として、マスタ管理や集計機能、データベースからのデータ検索、抽出機能、一括更新機能などを設けました。
勤怠管理は、以前に別の案件での経験があった為、それほど問題なく進められました。
期間にして約3ヶ月ほどで完成しました。この案件ですが、設計から開発、テスト、導入、環境作りまで全て一人で行いました。
何せ予算が限られていますし、先方が私を信頼してくれていることから仕事を受けたのです。
勤怠管理システムの案件の環境など
こちらの会社は、ホームページはもちろんありますが現在使っている外部サーバーは環境的に使えなかったので、dbとPHPが動作するレンタルサーバを利用しました。
レンタルサーバの選定は、私のほうで行いました。その為環境構築の手間は、全くかかりませんでした。