オープンソースの現場を支えるイーシーキューブのテクアカとは!?

はじめまして!
2019年の5月から株式会社イーシーキューブでテクアカ生(インターン生)として勤務している瀬町賀春と申します。 この記事では、僕がEC-CUBEのテクアカに応募した経緯やこれまで業務などを通じて経験してきたことについて書いていこうと思います。

応募した経緯

大学での僕の専攻は経済経営系でいわゆる文系の学生です。これまでプログラミングは全く経験したことがなかったのですが、大学でVBAの授業を履修したことをきっかけにプログラミングの勉強を始めました。 VBAの授業を履修してからは、ProgateやPaizaで主にPHPの学習をしていました。

そして、ある程度基礎学習を終えたころ、イーシーキューブのテクアカ募集の記事を見つけ、「プログラミングに関する業務を経験してみたい!」と思い応募に至りました。

普段の業務

EC-CUBE「オープンソース」のEC構築システムです。そして、現在800種類以上のプラグイン決済モジュールオーナーズストアで公開されています。

テクアカの主な仕事はこうしたプラグインや決済モジュールの検証業務となります。検証を進めているとエラーや不具合が発生することも多く、エラーが発生したときはその原因を確認し報告します。場合によっては、プラグインのソースコードも確認します。特に決済モジュールはその名の通りお店のオーナーさんとお客様の決済に関わってくるものなので、入念に検証します。

検証作業はサーバー上にEC-CUBEが動作する環境を構築し進めていきます。そのため、Linuxのコマンドを使用します。また、決済モジュールを検証する際はMySQLPostgreSQLの操作が必要となってきます。

こうした検証業務を通じて、基本的なLinuxのコマンドやMySQLおよびPostgresSQLのコマンドを習得ことができました。そして、日々の検証作業でEC-CUBEを操作することで、EC-CUBEの仕様を理解することができました。

プラグインの開発に挑戦

プラグインや決済モジュールの検証を日々進めていく中で、「EC-CUBEのプラグインを自分で作ってみたい!」と思うようになりました。

プラグインの開発を始めるにあたっては、まずEC-CUBE公式の開発ドキュメントを読みプラグイン仕様の概要を学習しました。そして、プラグインの構想がある程度まとまった段階で開発に着手しました。
実際に開発を進めていくうえでは、ドキュメントだけではなくGitHubに公開されているEC-CUBE公式プラグインのソースコードも参考にしました。

そして、今年の7月に「商品詳細ページにその商品の残り在庫数を表示する」プラグインをリリースすることができました!

残り在庫数表示プラグイン - EC-CUBEオーナーズストア

プラグインを開発するにあたってQiitaの記事も執筆したので、もし興味があれば一度読んでみてください。

EC-CUBE4系のプラグインを開発してみた - Qiita

EC-CUBEに関する情報を発信

株式会社イーシーキューブは「受信より発信」ということを企業理念のコアバリューのひとつに掲げています。

僕自身もEC-CUBEのプラグインを開発した際は、上記の記事をQiitaに投稿しました。
そして、EC-CUBE4系にDockerfileが追加されたときはDockerの勉強を兼ねて以下のような記事を執筆しました。

EC-CUBE4系の公式リポジトリにDockerfileが追加されたので実際に使ってみた - Qiita

また、僕と同期のテクアカ生もEC-CUBEに関する以下のような記事を投稿しています。

EC-CUBE4にGoogle Analyticsを埋め込んでアクセス解析を行おう! - Qiita

このように、僕たちテクアカ生もEC-CUBEに関する情報を積極的に発信しています!

EC-CUBE本体の開発にチャレンジ

プラグインを開発した後、「次はEC-CUBE本体の開発に関わりたい!」と思うようになりました。

EC-CUBE本体のソースコードはGitHubで公開されており、社内外を問わず多くの人が開発に関わっています。そして、「Issues」タブをクリックすると現在OpenになっているIssueを確認することができます。

僕が実際に取り組んだのは「商品の受注ステータス」に関する不具合の修正になります。

Fix #4209 商品の在庫数が足りないときに受注のステータスを「注文取消し」から「対応中」に変更しすると、システムエラーが発生する不具合を修正 - GitHub

この不具合を修正するにあたって、EC-CUBE本体の仕様をさらに詳しく学習しました。特に、受注のフローについては公式の開発ドキュメントを参考にしながら、実際のソースコードを一つずつ確認していきました。

この不具合の修正を通じて、EC-CUBEの受注フローがどのように実装されているか詳しく理解することができました。また、今回取り組んだIssueが「受注ステータスを変更できないときに適切なエラーメッセージを表示させる」というものだったこともあり、PHPの例外処理について詳しく勉強することができました。

チームテクアカで今取り組んでいること

現在、テクアカのチームとして「普段手動で行っている検証業務を自動化する」ということにチャレンジしています!

最初は、僕と同期のテクアカ生の原口くんがUIテストツールのSeleniumを使って、普段手動でやっていた「検証用環境を構築する」作業の一部を自動化してくれました。

ちなみに、ワイン色のT-シャツを着ているのが原口くんです!

そして、原口くんのこの取り組みを活かして「僕たちが普段やっている検証業務をもっと自動化することができるのではないか」とテクアカのみんなで考えるようになりました。このテクアカのチャレンジは社員の方にも応援していただいており、困ったことに直面した際などは親身に相談にのっていただいています。

まとめ

今月で僕がテクアカ生として勤務を初めて約半年が経過しました

EC-CUBEは年間流通総額が2,100億円、日本国内だけで35,000店舗様にご利用いただいているECプラットフォームです。このようなオープンソースに関わる業務はなかなか経験できないことだと思います。
この記事を通じて書かせていただいたように、僕自身この半年間本当に貴重な経験をさせていただいています。

近日中に、新しいテクアカ生の募集が始まると思います。ですので、この記事を読んで少しでも興味を持たれた方は、ぜひご応募ください!
みなさんと一緒にお仕事できる日を楽しみにしております!

株式会社イーシーキューブ's job postings
3 Likes
3 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more