RYOSUKE MAEDA

Django enjineer

ABOUT

前田涼輔のイラスト

・前田涼輔 / Ryosuke Maeda

Djangoエンジニア

Plofile

  • 生年月日:1992/11/1
  • 最終学歴:東京学芸大学卒業
  • 在住:神奈川県
  • 趣味:ドラム

2015年3月に大学卒業後、飲食業界に就職。
バンドの夢を追いかけながら仕事と平行して活動を行ったが芽が出ず、 25歳になったことを区切りに2017年にバンドの夢を諦める。 このとき今後の人生を見つめ直す機会を得ることとなり、プログラミングと出会う。 仕事の傍らプライベートの時間をプログラミング学習に注ぎ、2019年10月に飲食業界からIT業界へ転職。 ITエンジニアとして開発を行いたかったが、就職先では開発作業が少なかったため、個人で副業を開始。 クラウドソーシングサービスを利用し、アプリケーションの開発案件を受注、納品するように。
2022年5月にフリーランスとして活動を開始し、現在に至る。

SKILLS

  • ★Python,★Go, ★Javascript, HTML/CSS, PHP
  • ★Django, ★DRF, ★Vue.js, Laravel, TailwindCSS, Bootstrap
  • ★Docker, ★Docker Compose, ★AWS (EC2, RDS, S3, ELB, Route53), Heroku, Google Cloud(Compute Engine. BigQuery, Cloud Run, Cloud Storage, Cloud SQL)
  • ★Git, ★GitHub, GitLab, Redmine, Backlog, Notion
  • ★MySQL, PostgreSQL
  • ★Linux OS (Ubuntu, Amazon Linux2), Windows, MacOS

WORKS

教育向けデジタルプラットフォームのリニューアル
  • 期間: 2023年9月~現在
  • ポジション: バックエンドリードエンジニア
  • 開発チーム規模: 8名
  • 言語: Kotlin
  • FW: Spring Boot

●プロジェクト概要:
専門教育のためのオンライン学習プラットフォームの全面的なリニューアルプロジェクト。

●コメント:
大規模なユーザーベースを持つプラットフォームのリニューアルに取り組み、新機能の開発やユーザーエクスペリエンスの向上を実現しました。 プロジェクトの途中からリーダーとして参加し、ソースコードのレビューと開発を担当しました。 運用上の課題を特定し、改善のためのリファクタリングを行い、データ管理の効率化を図りました。 また、運用の効率向上のためにエラー通知の自動化やエラーの特定を容易にするための独自コードの導入など、運用を意識した開発を行っています。

アプリ向けAPI開発
  • 期間: 2022年12月~2023年8月
  • ポジション: バックエンドエンジニア
  • 開発チーム規模: 2名
  • 言語: Go
  • FW: gqlgen(GraphQLサーバー開発用パッケージ)

●プロジェクト概要:
ユーザーの利用状況確認用グラフデータを取得するAPI

●コメント:
大~中規模のアプリケーションで使用するAPIの開発です。 GoogleCloudで運用することが決まっていたため、GoogleCloudとの親和性が高く、かつ処理速度の早いGo言語を採用しました。 また汎用的に利用できるAPIにするため、APIの取得データを選択できるGraphQLを用いて実装しました。

社内向けWebサービス
  • 期間: 2022年9月~2022年11月
  • ポジション: リードエンジニア
  • 開発チーム規模: 1名
  • 言語: Python, HTML/CSS, Javascript
  • FW: Django REST Framework, Django, Vue.js, TailwindCSS

●プロジェクト概要:
アプリユーザー向けに提供する情報を社内で管理するためのWebアプリの作成

●コメント:
Django REST FrameworkとVue.jsを用いたSPAです。大量データの登録、更新、削除をするため、 時間のかかる処理の場合は、バックグラウンドで非同期タスク実行するよう実装しました。 定期的に追加機能の対応もいただいており、社内ユーザーからは、「非常に便利で、素敵なシステムですね」と高評価をいただいております。

クラウドサーバーのOS変更(CentOS -> AmazonLinux2)
  • 期間: 2022年7月~2022年8月
  • ポジション: インフラエンジニア
  • 開発チーム規模: 1名
  • 言語: PHP, Javascript
  • FW: Laravel, React

●プロジェクト概要:
CentOSで動いていたサービスをAmazonLinux2へ移行

●コメント:
CentOSのサポート終了に伴い、CentOSで動いていたサービスのAmazonLinux移行作業を行いました。 言語やフレームワークのバージョンも古かったため、バージョンアップ対応を行いました。 また、EC2サーバーがAutoScalingできるよう対応しました。 また、既存のソースがdockerを導入していなかったため、環境構築を用意にできるようdockerを導入しました。

社内向けSNS Webサービス
  • 期間: 2021年12月~2022年3月
  • ポジション: フロントエンド、バックエンドエンジニア
  • 開発チーム規模: 5名
  • 言語: Python, Javascript, HTML/CSS
  • FW: Django REST Framework, Django, Svelte, TailwindCSS

●プロジェクト概要:
TwitterのようなSNSサービスを社内向けに開発

●コメント:
バックエンドはDjangoのDRFで実装し、フロントエンド開発はSvelteを採用したSPAです。 リードエンジニアへのレビュー依頼の際の負担を減らすよう、Gitのコミットを細かくすることで、 1回のコミットのコード量を減らすなど工夫をしています。また、リードエンジニアより、 「UI構築力が非常に高く、仕様に基づいたものを完璧に実装できている」と評価いただきました。

ニュースサイト一括検索Webアプリ
  • 期間: 2021年10月~2021年12月
  • ポジション: リードエンジニア
  • 開発チーム規模: 3名
  • 言語: Python, Javascript, HTML/CSS
  • FW: Django, Bootstrap

●プロジェクト概要:
ニュースサイトを一括検索できるアプリケーション

●コメント:
ババックエンドはDjangoで実装しました。また、dockerベースの開発環境を構築しました (Gunicorn、nginx、MySQLのそれぞれのdockerコンテナをDockercomposeで一括管理)。 DBはRDSのMySQLを使用しました。AWSのEC2でそれらを起動しリリースしました。 DBはRDSのMySQLを使用しました。プロジェクトの発足からリリースまで、リードエンジニアを担当し、 Webアプリ実装に関して経験の浅いエンジニアの指導を行いながら、開発を行いました。

楽天商品通知Webアプリ
  • 期間: 2021年7月~2021年9月
  • ポジション: 単独での受託開発
  • 開発チーム規模: 1名
  • 言語: Python, Javascript, HTML/CSS
  • FW: Django, Bootstrap

●プロジェクト概要:
楽天商品のLINE通知Webアプリ

●コメント:
WebアプリのUIから、楽天市場で商品リサーチするための価格・ランキング等の条件を入力可能。 UIで入力された条件はDB(PostgreSQL)に保存。バックエンドではDBから保存した条件を取得し、 楽天APIやAmazonのPA-APIを使用して条件に適した商品情報を取得。 取得した商品情報は、LINENotifyAPIを実行しLINE通知するWebアプリ。 楽天ショップの15カテゴリー分をパラレルで実行できるようPythonのthreadingライブラリを使用しマルチスレッド化し、 DBの排他制御も実装しました。運用費を極力抑えたいという顧客の要望があったため、 サーバーはHerokuのホビープランを採用。ランニングコスト0円での運用を実現しました。(2022年11月18日より無料プランは廃止)

業務効率化デスクトップアプリ
  • 期間: 2021年12月~2022年3月
  • ポジション: リードエンジニア
  • 開発チーム規模: 1~2名
  • 言語: Python, Javascript, HTML/CSS
  • FW: Bootstrap

●プロジェクト概要:
ECサイトから商品情報を取得し、取得した情報をExcelファイルに一覧出力できるWindowsデスクトップアプリの開発

●コメント:
ECサイトから商品情報を取得し、取得した情報をExcelファイルに一覧出力できるWindowsデスクトップアプリです。 アプリケーションは主にPythonで実装し、PyInstallerライブラリで実行ファイル化しました(UIはHTML,CSS,Javascriptで実装)。 テキストデータだけでなく、商品の画像もダウンロードし、適切なサイズにリサイズして保存する機能も実装しました。 顧客には大変満足していただき、「他のECサイトのツールもお願いしたい」と機能追加を度々ご依頼いただきました。 このようなWebスクレイピング・自動化系の案件の経験は他にもあり、これまで30件ほど対応してきました。 - ECサイトの販売者情報取得アプリ
- ECサイトの出品商品一覧取得アプリ
- ECサイトの出品中在庫監視アプリ
- 転職サイトの求人情報取得アプリ
- 掲示板サイトへの自動投稿アプリ
- 動画サイトへの自動動画アップロードアプリ
など

IoTプラットフォーム関連の開発・保守
  • 期間: 2019年10月~2022年5月
  • ポジション: バックエンドエンジニア
  • 開発チーム規模: 3~5名
  • 言語: Python, C++, Java, Kotlin
  • FW: unittest

●プロジェクト概要:
IoTプラットフォームで動作するアプリケーションの開発や、それらの保守対応

●コメント:
ロボットIoT事業部に所属し、プロジェクトに参加。主な開発は、 XML形式のデータを送信するロボットのデータをクラウドにpublishする際にjson形式に変換する機能を持ったアプリケーションや、 その他APIの開発。実装は主にC++で、テストはPythonのunittestで自動化しました。 また保守については、DBの負荷調査や既存のPython2スクリプトやUbuntu16.04ベースのアプリケーションの EOL対応(古いバージョンがサポートされなくなるため、バージョンアップを行う作業)などを行いました。