こんなお仕事をしてますよ!
唐突に始まったこのコーナー!
「エージェントグローのお仕事」と題して、エージェントグローのお仕事、特に普段見る機会がないだろう本社機能関連にフォーカスを当ててご紹介しようと思っています。
……ちゃんと仕事しているよアピールです
_ノ乙(、ン、)_
今回は社内システム編!
本社機能と一口に言っても色々なお仕事があります。今回はその中でも、エンジニア的というか比較的技術よりなお仕事を取り上げてみましょう。
というわけで、今回は「社内システム編」です!
社内システムとは?
この記事では、「社内システム」という言葉を「ある企業の中で使われている、業務を支援するためのサービスやソフト/ハードウェア」的なニュアンスで使うことにします。
ほとんどの企業では、何らかのシステムを導入していることでしょう。勤怠管理や経理系のシステム、ファイルサーバあたりはよく見かけるかと思います。
今は良い時代になったもので、各業務にマッチした様々なサービスや製品が存在します。お金とそれなりの知識があれば、いとも簡単に会社の業務を効率化することができますよね。
例えばエージェントグローの場合
もちろん当社でも社内システムを導入して、業務を効率化しています。
当社にとって、本社業務を効率化することは最重要課題のひとつ。エンジニアにしっかりと還元するためにも、妥協してはならない部分です。
とはいえ、「市販のサービスとかソフトとかを使おう!」……とはならないのが、エージェントグローの面白いところ。
……ほら、エンジニアが集まってる会社なんだから、自分たちで作ればいいじゃん?You!作っちゃいなよ!……的なノリです。
自分たちの業務に合わせてオーダーメードで作っちゃった方がより効率化もできますし、ブラックボックス部分がないので小回りがききますからね!
ってことで
とはいえ、本社機能にお金を極力かけないようにしなければならないので、開発に使えるリソースは限られています。
開発者はボクひとり。人件費が一番高くつきますからね。開発は定時内のみ。残業したら残業代が発生してしまいます。開発ばかりやっているわけにも行きません。他にもお仕事は一杯あります。
……と、誰に言われたわけでもないのですが、自分で縛りを入れて開発に当たったわけです。
私は過去にも何度か「社内システム」と呼ばれるなにかを作った経験があるので、何をすれば/何を作れば良いかは知識として頭の中に備わっています。
そんなアドバンテージもあって、およそ1週間程度で最低限必要なシステムは出来上がりました。フルスクラッチで作った割には早くできたかなと思いますが……どうでしょう?
……過去に作ったシステムのソースコードが手元にあればもっと早く作れますが、さすがにコの業界の人間としてそれはできませんからね(;´Д`)
システム構成
能書きはこのくらいにして、システム的なお話をしましょう。
サーバ構成
社内システムは、ConohaさんところのVPSで稼働しています。
細かいスペックは割愛しますが、いわゆる普通のLAMP環境です。
アプリケーション構成
基本的にはPHPで作られています。自分でコードを書いている部分が大半ですが、OSSを組み合わせている部分もあります。
使ってる代表的なプロダクトは下記のような感じです。
- Risoluto2.x(Webアプリケーションフレームワーク)
- jQuery(Javascriptライブラリ)
- Bootstrap(CSSフレームワーク)
- Smarty(テンプレートエンジン)
- PhpMailer(メール関連ライブラリ)
- PhpExcel(Excelファイル操作ライブラリ)
- LibreOffice(PDF生成時に使用)
このほかにもいろいろ使ってます。
開発環境
開発自体は下記のようなものを使ってやっています。
ちなみに、私自身はMacbook Pro(15-inch, Mid 2015)を使って開発してますよ〜。
本当はCI系のなにかを使ってアレしたい……。
ちなみにGitHubはプライベートリポジトリを使ってます。GHEは会社が儲かったら買って貰おう!
デプロイも半自動化されてます。git pushしたらCI通してデプロイ……ってスタイルが多いと思いますが、ちょっとそれだと支障があるので、Slackの特定チャネルでコマンド打つとデプロイされるように仕込んでます。
デプロイ周りはそう遠くない未来にブログで紹介します(〃・ω・〃)
こんなかんじで作りました!
で、そんなアレで何を作ったの?……って話ですが、こんな感じで作りましたよってのをご紹介しましょう。
まずこちらは一般社員が使う系の画面。
勤務表や交通費/経費の申請などができます。
ひとつどんな機能かイメージできないものがあるかと思うので、ちょっと補足しておきます。
「Your Info」と名づけられた機能、これはシステムに登録されている全情報を俯瞰してみることができます。
個人情報だったり、社員番号や役職、担当上長、有休の日数、申請している定期代、自分が参画している案件の詳細などなど……。最後の案件の詳細については、単価もバッチリ確認できます!
こちらは管理職とかが使う系の画面。
取引先の情報や案件情報の管理、社員の勤務時間や経費等の請求状況などがパッと確認できるようになっています。
こんな感じのことやってますよ〜
これがすべてではないですが、こういったオーダーメードなシステムを活用して本社機能の効率化を図っているのがエージェントグローです。
このシステムに興味がおありでしたら、何らかの形でコンタクトとっていただければ!