400万人が利用する会社訪問アプリ
株式会社IBJ / コミュニティ事業部
お客様にとって本当に魅力的なものを開発する。
大体やってました
# 概要 - 運送会社の勤怠管理、請求書作成ソフト開発 ターゲットは個人事業主を抱える軽貨物業者装 # 担当 - 市場調査、要件定義、設計、開発、テスト、運用保守、エラートラブル対応を行ないました。 - 業務委託の方と2人で開発を行い、業務委託の方がリーダーとなり開発を行なっていた。 # 使用技術 - Ruby on Rails バックエンド全般に使用しました。初めての言語だったのですがLaravelを就職前に勉強していたためすぐに習得することができました。 - Turbo フロントエンドの非同期通信全般に使っています。2人と開発人数が少ないためRails7に標準搭載されているTurboを使うことになりました。 - Docker お互いPCの環境が異なるため採用しました。 - PostgresSQL マルチてナンシーに対応するためデータベースをMySQLから変更しました。 - Git GitHubを使用してコードの管理を行いました。 - LINEAPI 通知機能をラインで通知するために使用しています。 # 課題 ### 以下のような課題があり、こちらのプロジェクトに参加しました。 - 前に開発していたソフトではまだ不完全であるため、1からソフトを作り直すことになった。 - 国から補助金が降りたため、新しくソフトを開発することができた。 - ターゲット層である軽貨物業界はいまだに、紙、fax、エクセルを使用している企業が多いのと、市場を独占している軽貨物に特化した勤怠管理ソフトがなかったため開発することになった。 - ソフト開発は私と業務委託を受けた方の2人で開発を行わなければならなかった。 # 取り組み - まず軽貨物業界のことに関して知識があまりなかったので、実際に軽貨物の仕事を体験し、調査を行った。 - 調査を行った後に要件定義を行い、必要な機能を洗い出した。 - 要件定義を行った後設計業務を行い、私はユースケース図とシーケンス図の作成を行なった。 - 外部設計も行い、Figmaで画面設計を行い、お客様になる軽貨物業者の方に意見を聞き、必要な機能を再度洗い出した。 - 開発を行う前にミニアプリを作成し、設計通りにシステムが動くか検証した。 - Dockerの環境構築を行った。 - 人数が少なかったため、少人数でも管理がしやすいTurboを使いながら開発を行っている。 - 前回のプロジェクトで主に請求書の開発をしていたため、今回のプロジェクトでも請求書関連の開発を主に行った。 - 軽貨物業界の方々はメールをあまり使用しないため、通知をラインで自動送信する仕組みを開発した。 # 苦労した点 - ユーザーの階層構造が複雑であるため、オープンソースのコードを参考にどのような階層構造を行っているか調査をした。 - 前回のプロジェクトでテスト作業が大変だったため、自動でテストが行えるようにテストコードを作成してテストの効率化を図った。 - 開発は2人のため、ReactやVueを使った開発は行えなかった。代わりにコードが管理しやすいようにTurboを使って非同期通信は全てTurboを使って開発を行った。 - 用件定義をする際に、軽貨物業者はソフトに何を求めているか分からなかったため、複数者に問い合わせを行い、実際に軽貨物の運送体験をさせていただいた。 - データベース関係が複雑になるのを防ぐためにポリモーフィックを利用してデータベースの量を少なくした。 - 当初はMySQLを使用していたのだが、マルチテナンシーのプール型に対応するためにPostgresSQLにSQLを変更した。 - 業務委託で一緒にした方が7月までの業務の契約のため8月以降は1人で機能を開発する必要があった。
# 概要 - IT企業新人社員研修のサブ講師業務 - 企業は一部上場IT企業 - データベース関連の大手企業だったため、AWSやPython、SQLの演習を重点的に行なった。 # 担当 - 研修中は新入社員のリーダー的な存在として研修中は技術面、経験面で新入社員を引率していく - 新人研修でわからないことを解答したり、授業の補助、授業の準備 - チーム開発のフィードバックやコンペティションの評価 # 使用技術 - Golang Progateの演習作業 - Python 参考書を使った演習作業、サンプルアプリの作成 - SQL 参考書を使った演習作業、サンプルアプリの作成 - HTML 参考書を使った演習作業 - JavaScript 参考書を使った演習作業 - AWS 参考書を使った演習作業、サーバー構築体験 # 課題 ### 以下のような課題があり、こちらのプロジェクトに参加しました。 - 自分の会社がキャッシュアウトしそうになってしまっているので、それを未然に防ぐため # 苦労した点 - まずGoもPythonも勉強したことがなかったため、教えるのが大変なのだが、事前に予習を入念にしていたのとGoogleで調べて対応していた。 - 自分でもつまずいたことのない点で躓いている新入社員の方が何人かいらしたので自分の中で言語化して説明することが大変だった。 - 新しい技術を多く学ぶことができたのだが、研修は新入社員向けだったため、技術力の向上にはならなかった。 ### 以下の問題点があったため、自身で改善いたしました。 - 講師の方も長年同じ授業をやられていたため、教える情報が古かったりする場合があった。 - 研修の時間をさいてもらい、現場で使っている技術を教えるために特別授業を行なった。 - 内容としてはVSCode内の拡張機能を教えたり、問題が起こった時にChatGPTを使ってみるなどを教えることによって作業の効率化を教えた。 ### 研修を通して次のような評価がされました。 - 自分の特別講習によって新入社員の学ぶ速度が例年より早くなり、例年よりも期待できる社員の数が多くなったと評価された。 - 研修内でDjangoを使って開発を行った講習があったのだが、講師の方に技術力の面で評価され、研修後にDjangoの開発の仕事をいただくことになった。
# 概要 - 運送会社の勤怠管理、請求書作成ソフト開発 - 勤怠管理ソフトにある不具合の改善や追加機能の実装 - お客様は多くの個人事業主を抱える軽貨物業者 # 担当 - 1人でお客様からのヒヤリング、要件定義、設計、開発、テスト、運用保守、エラートラブル対応を行ないました。 # 使用技術 - PHP バックエンド全般に使用しました。フレームワークは使用せずに開発を行いました。 - HTML フロントエンド全般で使用しました。 - CSS 基本的にはBootstrapを使っていたのですが、表現しきれない部分をCSSで補いました。 - JavaScript JavaScriptは主にJQueryを使って開発していました。 - CentOS インフラ関係で使用しました。 - MariaDB クライアントアプリとしてPHP MyAdminを使いました。 - Git コード管理をするためにGitHubを使用しました。基本的には1人で使いました。 # 課題 ### 以下のような課題があり、こちらのプロジェクトに参加しました。 - 前任者の方が突然退職してしまったため、私が今いる会社に採用されこちらのプロジェクトに取り組むことになりました。 - 前任者の方が突然辞めてしまったので、メモ書きなど一切なく、どのように開発しているかソースコードからしかわからない状態だった。 - ソフトの設計書などもなかった状態なので設計などをする必要があった。 - Gitを使用した開発が行われておらず、コメントアウトなどを利用して開発していた。 - 今在職している会社は私と社長の2人なのですが、社長はPHPなどのWeb系のことがわからないため、誰にも質問できない状況だった。 ### ソフトに関しては以下のような課題がありました。 - 請求書のフォーマットが宛先が入力されていないなど請求書として成り立たない状況だった。 - インボイス制度に合わせた請求書の作成を行えていない状況だった。 - デスクトップ、スマホにそれぞれ対応した画面設計ではなかったのでとても使いにくい画面になっていた。 - データのバックアップが行われておらず、安全のためにバックアップをしておく必要があった。 - ソフトでは業務は全て行えないため、お客様はエクセルを利用している状態だった。 # 取り組み - CentOS内で再度サーバーの構築を行なった。 - CentOS内でバックアップを自動で行うバックアップスクリプトを作成した。 - Gitを使っていなかったため、Gitを導入した。 - シーケンス図、ユースケース図などで設計書を作成した。 - インボイス制度に対応した請求書を発行するために請求書のフォーマットなどを改修した。 - パソコン、スマホにしても画面が見やすいようにレスポンシブ対応にした。 - 使いやすさ向上のためにJavaScriptを使って利便性を向上させた。
商学学びました