ホーム ブログ ページ 18

【社員インタビュー】やる気がある人が活躍する環境がここにある!新卒から入社して7年経った今。

0

今回は2012年に新卒で入社後、現在はアピゲー部のグループマネージャーとして活躍している吉田啓紀さんにインタビューしました。 (2019年12月取材)

―― 簡単に自己紹介をお願いします!

アピゲー部という自社ゲームを開発する部署でグループマネージャーをしています。”部”があって、部長がいて、その部長の1つ下っていう立ち位置です。自分は3~4タイトルのゲームとそのチームをみています。

仕事内容としては、主に2種類。グループマネージャーとして自分のグループをみることと、いちプレイヤーとして新作ゲームのディレクターをすることです。

様々なことに挑戦してみたいという好奇心から

―― これまでの経歴やグループマネージャーになるまでの経緯について教えてください!

元々パソコンを触り始めたのが中学の終わり頃なのですが、独学だと分からないことがあって基礎を学びたいと思って情報系の大学に入りました。その後、2012年に新卒でアピリッツにWebエンジニアとして入社しました。

今までプログラミングしか経験していなかったので、他のことにもチャレンジしてみたいという好奇心から、入社して1年後にチームリーダーに立候補しました。

そこでチームリーダーとしてマネージメントする機会をもらい、そこから3年後に、元々ゲームに興味があったこともあり、アピゲー部に移りました。そこでも自分から「グループマネージャーをやらせてください!」と手を挙げて今に至ります。

ここなら自分達でやりたいことをやっていける

―― アピリッツに入社したきっかけは何ですか?

学生の時に、「オープンソースカンファレンス」というソフトウェアのイベントがあって、そこに参加してアピリッツのことを知りました。オープンソースというのは、”ソフトウェアのソースコード(プログラミング言語で記述された文字列)を無償で公開し、誰でも自由に改良・再配布ができるようにしたもの”です。そのオープンソースを企業側が公開、発表したりするイベントだったんです。

小さな会社なのに自社で製品を持っていて「自分たちでやりたいことをやっていける会社なのかな」って印象を受けました。

あと、変わった会社だなって(笑) 周りの人が割とスーツを着ていてビジネスライクだったのに対して、その時話したアピリッツの社員さんがTシャツにジーパンでラフな感じで親近感がわきました。こんなラフな感じでもやっていけるんだ……というのが印象に残っています。(笑)

やる気がある人がちゃんと活躍できる

―― 実際に入社して、どんな会社だと思いますか?

大きな会社ではないけど20年続いている会社って案外多くないですよね。自社でいちからゲームを作っているのでゲーム会社という側面もありつつ、他のゲームだけをやっている会社とは違って、Web事業や人材事業なんかもやっているので、どこかが失敗したとしても会社自体は傾かない、”盤石な体制を築いている会社”だなって思いました。

安定しているけどベンチャーっぽい速度感や雰囲気もあって、様々なことに挑戦し続けていている会社だと思います。自分達で手を挙げて会社を変えていける風通しの良さなんかも感じます。

やる気がある人がちゃんと活躍できる環境があるので、自ら動ける人にはうってつけな会社だと思いますよ。

―― 仕事のやりがいについて教えてください!

やっぱりゲームを作っているので、作ったゲームがユーザーの手元に届いて、それを楽しんでもらえることが一番嬉しいですね! それは受託事業の場合も変わらなくて、最終的に消費者に使ってもらって満足していただけた瞬間に、やりがいを感じます。

正直、ゲームを作り始めたときは全然売れなくて評価が低かったこともあったんです……(笑)でも「なんで売れなかったんだろう?」を考えて、試行錯誤することも意外と楽しかったですね。

あとは、グループマネージャーをやることで、自分のみている人達が育っていくのは嬉しいです。元々できなかったことがどんどんできるようになっていく成長を見るのは楽しい瞬間でもありますね。そういう人達とゲームを作って、しっかりと良いものを作って、売上をちゃんとだして、ユーザーに楽しんでもらえるっていうサイクルが最高ですね。

30人30チームのプロフィットセンター

―― 最後に今後の目標についてお聞かせください!

今作っているゲームを売って、実績を作って、部長に昇進するのが直近の目標です!(笑) 今までゲームディレクターで実績を残している人が数少なくて……アピゲー部的には0からゲームをつくれる人をどれだけ増やしていけるか、というのが課題ですね。

他には、経営層が参加する会議などにも参加させてもらっています。そこで、アピリッツの今後や経営レイヤーの人たちの考えに触れることにも興味が湧いているので、そういった方面の勉強もしていきたいです。

和田社長が言っている「30人30チーム」という言葉にもある通り、自分達の事業単体でしっかりプロフィットセンターになっているみたいな、会社の中で利益を出せるチームを数多く作っていきたいですね。

―― 吉田さんありがとうございました!

吉田啓紀(Hiroki Yoshida)
アピゲー部のグループマネージャー。
2012年に新卒でWebエンジニアとして入社し、現在は新作ゲームのディレクターを務める。趣味はプログラミング。

関連記事:アピリッツのその他の役員インタビュー

学び続けるスタンスを学ぶことができた。2年目ゲームエンジニアが目指す姿とは(サーバーサイドエンジニア 髙木俊佑さん)

現在、常駐型の働き方で働く、2年目のサーバーサイドエンジニア。
若手の頃は、「誰と一緒に働き、どんなことを学ぶことができるか」ということも非常に重要なことの一つだろう。同僚や先輩から学んできたことについてインタビューした。

■ 簡単に自己紹介をお願いします。

サーバーエンジニアをしています。東京電機大学を卒業して2018年に新卒でアピリッツに入社しました。

■ 何をしたくてサーバーエンジニアになったんですか?

もともとは、ゲームを作りたかったんです。ゲームプランナーになるという道も考えていたんですが、大学が技術屋みたいなところだったのもあって、最終的には、就活の途中からエンジニア志望に切り替えたという経緯があります。

■ これまで、どんなプロジェクトに携わってきましたか?

最初に携わったプロジェクトは、スマホ向けRPGゲームの海外版タイトルで、サーバーサイドを担当しました。Ruby on Railsでの開発だったのですが、管理画面の開発から関わり、最終的には、Node.jsを使ったリアルタイム処理の部分や、その他ゲームの分析基盤開発も担当しました。

2つ目に携わったのが現在、常駐しているプロジェクトで、こちらもRuby on Railsで開発をしています。今回のプロジェクトでは、設計から実装まで、自分が中心となって、開発に携わらせてもらいました。

■ 今回のプロジェクトに入ってから、急激にできることが増えてますよね
 個人的には、設計から実装までほとんどを担当させてもらえたのは非常に大きな経験だったなと思っています。

今回本当にいい経験をさせてもらったなと思っています。
個人的にはそれに加えて、今のプロジェクトに入る前に、ちょうどAWSの資格の勉強をしていたのも大きいなと思っています。今のプロジェクトでAWSを利用していることもあり、勉強した内容が仕事の会話の中で飛び交うんですよね。
自分が勉強してきたことが、すぐに仕事で役に立つという実感がありました。

■ 資格の勉強をしようと思ったきっかけは何だったんですか?

最初のきっかけは、社内の資格取得支援制度で、報奨金が出るからでした(笑)

きっかけはそうですけど、資格を取得しておけば、食いっぱぐれることなく、生き残っていけるんじゃないかと思ったことも理由の一つですね。

当時、時間に余裕もありましたし、勉強してお金もらえるんだったら、と思ってやることにしたんです。それがめちゃくちゃ役に立ちました(笑)

■ サーバーエンジニア同士で結構会話するんですね

毎日、サーバーエンジニアで振り返りをするんです。
具体的には、普段は別々のプロジェクトで仕事をしているサーバーエンジニアが集まって、だいたい一人1〜5分ぐらいずつ話をしていく感じですね。

その時に「こういうことをやりたいんですが、いい実装方法とかないですかね」とか、「コストカットをどうやって実現するか」とか、そういう情報交換をするようになっています。行ってきた勉強会の報告なんかも、その時にしています。

周囲のエンジニアの方が経験豊富で、年齢で言うと一回りくらい上の人ばかりなんですが、かなりイケイケで、色々教えてもらっていますね。
最初の方はめちゃくちゃ恐縮していたんですが、今は結構AWSの話で盛り上がったりしてます。プロジェクトを超えて、エンジニア同士で話をするというのはものすごく大事だな、と今は感じています。

■ 他に今の常駐先から見習いたいことはありますか?

現場の環境づくりは、見習っていきたいなと思います。
ものすごく、気を使ってくれるんですよね。
一時期、自分が忙しくて大変だった時期があるんですが、「働きすぎていない?大丈夫?」と声をかけてくれたりとか、すごく働きやすかったので、そんなに辛いっていう感じがしなかったんですよね。

リードエンジニアの方も「自由に実装してくれていいよ!責任は俺が持つから!」って言ってくれて。確認だけはしてもらっていますが、それ以外は自由に設計して実装させてもらっていますね(笑)
そういう意味でも、かなり良い環境で仕事させてもらっていると思いますし、こういうリーダーのスタンスや、職場の環境づくりは見習っていきたいなと思っています。

あと、今の常駐先の先輩エンジニアに「どんどん新しい技術を取り入れていかないとエンジニアとして腐っていくよ」って言われるんですよね。それを聞いてから、自分も新しい技術を使っていかなくては、と思うようになりました。

■ 目指していきたいエンジニア像ってあるんですか?

なんでも出来るエンジニアになっていきたいですね。
今、自分のスキルはRuby on Railsが中心ですが、それじゃなくて、GO言語とか、あとはクライアントの技術もゲームエンジニアとしてはやってみたいですね。
一人で一通りのことは実装できるエンジニアというのが理想です。

最初に携わったプロジェクトで、技術に携わる上での責任感というか、スタンスを教わったなと思っているんですが、よく「なんでこうなっているか、ということを疑問に思わなかったの?これがなんで起こっているのかわからないまま実装しているのって怖くならなかったの?」って言われていたんです。
「確かに、自分が実装したコードにわからない所があったら不安になるよなー」って思って。

だからこそ、ゲームに携わっていくなら、クライアントの方も含めて、全部の実装がわかるようになりたいと思っています。

■ なるほどね。自分のコードに対する責任感があるから、今の常駐先でも好きに実装させてもらえるのかもしれないですね。

そうですね。そうやってコードを書いてきたから、人に聞かなくても、責任をもてるというか、自分で「大丈夫だ」と思えるというのはありますね。
そうやって「大丈夫だ」と言える分野をどんどん広げていきたいな、と思っています。

そのためにも、新しい技術が出てきたり、新しい情報を知ったりしたら、実際に使ってみることを繰り返して行きたいなと思っています。そういえば、今日もAWSで新しい技術が出ていたんですよね。それで、他のエンジニアさんと「こういう技術出てきましたよ、知ってますか!?笑」なんて話たりしたりしました(笑)

■ そういう関係性が築けているのってすごいね

自分としては有難い限りですね。一回りも上の方に一人の技術者として扱ってもらえるということには感謝しかないですね。そういうエンジニアの方々が「自分もまだまだ技術屋としては未完成だ」と言って学び続けている。そういうスタンスも引き続き学んでいきたいなと思っています。

■ 改めてすごく良い現場に恵まれていますね。
 引き続き髙木さんの成長と活躍を一緒に応援していけたらと思っています。
 今日はありがとうございました。

Kali Linux 2020.2 導入と日本語化

0

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

Kali Linux 2020.2 を VirtualBox にインストールしてメニューの日本語表示化と日本語入力を可能にしてみました。Kali Linuxは、セキュリティ診断用ツールが標準で用意されている、Linuxディストリビューションです。※前バージョンの画像も使ってますが大体同じです。

はじめに

Kali Linuxは、セキュリティ診断ツールを含むLinuxディストリビューションです。利用の仕方により不正アクセス行為と判断される可能性ががあります。またサービス停止やデータの破損が起こる場合もありますので事前にバックアップを行うなどしてください。そして必要に応じて管理者の許可を得て利用してください。また例えば、Webアプリケーションの診断等始める場合は、徳丸本など参考にして、十分理解してから行ってくださいね。

徳丸試験の紹介と合格する方法
https://spirits.appirits.com/role/engineer/security-engineer/5418/

新バージョンが出ました、次からは下記のサイトで公開を始めます。
Kali Linux 2020.3 導入と日本語化
https://spirits.appirits.com/role/engineer/security-engineer/5876/

参考:Kali Linux 使い方 書籍紹介
https://spirits.appirits.com/role/engineer/security-engineer/6108/

Kali Linuxの特徴などについて

  • Debian派生のLinuxディストリビューションです。
  • デジタルフォレンジック、ペネトレーションテスト(侵入テスト)用などのツールが用意されている。
  • 現在は、ローリングリリースを採用している。

Kali Linux 公式サイト
https://www.kali.org/

主な収録ツール

Kali Linuxには多数のツールが導入されています。
Nmap、Aircrack-ng、Wireshark、Metasploit Framework、Armitage、Burp SuiteOWASP ZAP、BeEF、sqlmap、wpscan など

※Owasp ZAPについては、Mac版のOWASP ZAPで脆弱性チェックの設定として記事を書いております。

VirtualBox上にインストールする

仮想化ソフトウェア、VirtualBoxをインストールし、Kali Linuxのイメージを導入、起動させます。

VirtualBoxをインストールする

あらかじめ下記サイトからダウンロードを行いVirtualBoxをインストールしてください。
今回は、バージョン6.1.6に、Extension Packを導入してますが最新版で問題ないと思います。

VirtualBox 公式サイト
https://www.virtualbox.org/

Kali Linux イメージファイルのダウンロード

Kali Linux Downloads – VirtualBox Images イメージファイルのダウンロード先
https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/#1572305786534-030ce714-cc3b

記事を確認しなおしてる時点で、直接ダウンロード出来るのはバージョン2020.2です。
(名前の方をクリックしよう。Torrentって書いてある方は、イメージファイルを入手するのに別途アプリが必要です。)

Kali Linux ダウンロード

Kali Linux 仮想アプライアンスのインポートと設定

VirtualBoxを起動し、ファイル、仮想アプライアンスのインポートで、先ほどダウンロードしたkali-linux-2020.2-vbox-amd64.ovaを選択しインポートします。

Kali Linux インポート

初期設定を行う上では、デフォルトのNAT設定でも問題はないですが、ネットワークの割り当ては、診断対象環境との通信の関係上、DHCPで割り振られる環境などでは ブリッジなどにするなど、実施したいことなどによって変更してください。その他は、好みによって設定を変更します。私はCPUは、2コア使用でメモリを4GBぐらいにしています。

Kali Linux VirtualBox 設定

Kali Linux上の設定

Kali Linuxの起動とログイン

起動ボタンを押し、しばし眺めます。
Kali Linuxの起動を行いログインします。Kali Linuxのパスワードは、kaliに設定されています。
 ユーザー名:kali
 パスワード:kali
Usernameに、「kali」と入力し、Passwordに、「kali」と入力しLog Inを押します。

Kali Linux ログイン画面

パッケージの更新

最初に既存のパッケージを最新に更新してしまいましょう。
画面左上の黒っぽいアイコンのターミナルを起動します。
そして下記のコマンドを入力します。しばらく時間がかかり、パスワードkaliの入力や、確認のため途中にy、ニュース閉じるのにqの入力が必要となります。

$ sudo apt-get update
$ sudo apt-get upgrade
Kali Linux ターミナル

画面がロックしてしまったら、パスワードを入力して解除しましょう。
また、エラーが出るようでしたら、右上のネットワークの接続について確認してみてください。
ホストPCでインターネットに接続できるようでしたら、一度仮想マシンのネットワーク設定をNATなどにしてみてください。

日本語関連パッケージの導入

ここで日本語関連パッケージをまとめて導入してしまいます。
そして下記のコマンドを入力します。しばらく時間がかかります。

$ sudo apt-get install -y task-japanese task-japanese-desktop
Kali Linux コマンド入力

日本語表示の設定

ここで日本語表示の設定をします。
そして下記のコマンドを入力します。

$ sudo dpkg-reconfigure locales

Kali Linux ロケール選択1
スクロールして、ja_JP.UTF-8 UTF-8をスペースキーで選択、TABキーでフォーカスを変更して、OKでエンターキーを押します。

Kali Linux ロケール選択2
同じように、ja_JP.UTF-8を選択して、OKです。

また、下記のコマンドを入力します。

$ sudo update-locale LANG=ja_JP.UTF-8

設定が終わったら、リスタートします。

日本語キーボードの設定

日本語キーボードを利用している人が多いと思いますので、キーボードレイアウトを変更します。
メニューから、設定、キーボードを選びます。

Kali Linux 日本語キーボードの設定メニュー

まず、システムデフォルトを使用するのチェックを外します。
キーボードレイアウトがUSとなってると思いますので、選択して編集、日本語のキーボードを選んでください。おそらく、日本語(OADG109A)などがほとんどでしょう。

Kali Linux 日本語キーボードの設定ダイアログ

タイムゾーンの設定

次に時刻がずれてると思いますので、タイムゾーンの設定をします。
下記のコマンドを入力します。

$ sudo dpkg-reconfigure tzdata
Kali Linuxタイムゾーンの設定

日本語表示の設定の要領で、アジア、東京を選択します。

Kali Linux 2020.2 導入完了

Kali Linux 2020.2 を、VirtualBoxにインストールし日本語表示、日本語キーボードの利用、日本語変換が行えるようになりました。
バージョン2020.2で追加された機能、ツールは公式ブログの記事、Kali Linux 2020.2 Releaseで簡単に紹介されています。
Kaliの新バージョンをベースにCTFなどに参加してみてはいかがでしょうか。

Kali LInux日本語化

関連記事など

脆弱性診断サービスなど

弊社、アピリッツではセキュリティ診断サービスを行っております。
下記リンクから内容の確認と、問い合わせが可能です。

http://security.appirits.com/

「タスク管理を念入りに」アイコの挑戦!初めてのリモートワーク(在宅勤務)

山田アイコ、発信します!
2月中旬、新型コロナウィルスの情報が公開されると、アピリッツでもすぐに『プロジェクト内での交互出勤」などリモートワーク移行への調整がはじまりました。

3月下旬、都知事が企業に対し在宅勤務への切り替えを求めたのを皮切りに、ここにきてアピリッツは全社原則リモートワークへの移行となりました。

もしもし、室長?はい、アイコです。
え?明日からアイコもリモートワーク……ですか?!
今までやったこと無いんですけど、大丈夫かな。
……あ、いえ問題ありません。はい。

室長はいつも急だから困っちゃうな。
会社の皆と会えないのはとっても寂しいけど、お家でもお仕事頑張るぞ~!

アイコの仕事内容

アイコのお仕事はカスタマーサポートと、この「Appirits spirits」で技術に関しての記事を書くことです。カスタマーサポートはまだ出番が多くないので、後者の技術広報としての仕事が1日のメインになります。

専門外の事を調べながらですが、Appiritsの色々な技術をたくさん発信していくために頑張っています!よかったら他の記事も覗いてみてくださいね♪

アイコのリモートワーク初日

早速、アイコのリモートワークでの1日を紹介していきたいと思います!
初めてのリモートワーク……どうなっちゃうのかな?

バーチャル出勤とバーチャル出勤準備!

早起きしてお弁当を作ったり、メイクをしたり、着替えを済ませてから電車で30分かけて会社に向かっていましたが……。
朝起きて、顔を洗って軽くご飯を食べたらすぐ、パソコンに向かって勤務開始のご挨拶。

メイクも必要ないし、寝癖も気にしなくていいなんて楽々です!!
今日は思い切ってパジャマ姿でお仕事を開始しちゃいました。

リモートワークの作業環境

集中しやすい環境を自分で作れるところがとてもいい点だと思います!
お家でひとり、黙々と集中して作業ができますね。

本日の予定

今日の予定は朝から順にこんな感じです。

  • タスク整理(日報記載)
  • タスク確認ミーティング
  • 作業
  • 進捗確認ミーティング
  • 作業

リモートワーク初日の朝

まず会社と同じように、お家のパソコンから今日の予定をSlackで共有します。
通勤に割いていた30分で、いつもより念入りにタスクを見直して、細かく予定を立てました。

ちなみに今日のタスクは、デザイナー立原さんに3DCGデザインについてのリモートインタビュー動画エンジニア大隅さんへインタビューの事前質問を送ること、あとはリモートワークの体験記をこうして記事にすることの主に3つ。
そして、次の記事テーマを決める取材をすることです。

いつもなら、インタビューしたい人のデスクへ直接行って、テーマを相談したり作業工程を見せてもらったりして、テーマを決めていましたが、お家からなのでSlackで質問をたくさんしました。

質問をしてからレスポンスが返ってくるまでは、次の計画を立てたり、複数人へ同時に追加で質問を作っては送り……の繰り返しでした。

アポ取りがいつも以上の並行作業になってしまいましたが、スムーズに進んでとっても捗りました!

リモートワーク初日のお昼

1時間のお昼休憩!
お家でご飯を作って、のんびり食べました。
会話がないのが寂しいなぁ……。
※お昼寝しちゃわないようにだけ注意しました※

オンラインミーティング

初めてのオンラインミーティング
進捗の報告だけでなく、雑談を挟んで楽しいMTGに。

ちなみにこの日のミーティングは2回ありました。

1回目は「Google hangouts meet」での、タスク確認ミーティング。
主催者がGoogleカレンダーに会議用URLを貼って、そのURLをクリックするだけで会議に参加できるというものでした。

普段、Googleドキュメントやスプレッドシートを使って作業しているので、わかりやすく簡単に始めることができたのが特によかったです。
無料なのに時間が無制限なので、ついつい長くお話ししちゃいました。

もし、オンラインミーティング中に遠くでずっと雑音が鳴っていた室長がカメラをつけたら……

2回目は「Zoom」で、進捗確認ミーティング。
100人までオンライン接続できるとか……!
もともとセミナーや講義向けのツールらしく、大人数で参加ができることに加えて、ホワイトボード機能や、簡単な録音・録画などの共有もワンクリックでできました。

2回目のミーティングでは、進捗状況を画面収録で共有したりしていたのですが、映像のラグも少なく音質もかなり良かったように感じました。
ただ、無料版だと40分までという制限があるようなので、ミーティング内容に合わせて使い分けるとよさそうです。

コミュニケーションが少なくて寂しかったので、いつもは少し緊張してしまうミーティングが楽しみになっていました!

退勤

今日のタスク、全部終わったぁ~!
最初は、並行作業でバタバタしちゃいましたが、レスポンスを待っている間にほかの作業をどんどん挟めるようになっていき、後半はいいペースでの作業ができました。
いいところで切り上げて、これからまた電車に乗って帰る……こともなく。
パソコンを閉じて退勤。

すぐお風呂に入って寝る支度ができたり、通勤時間に割いていた30分を最近はじめた島開拓の時間に当てちゃったり、とってもいい1日でした。

1日を振り返る

このリモートワークで、たくさんのメリットを実感しましたが、気を付けなければならないこともあります……。
自由度が高いからこそ、休みすぎちゃったりがないように、予定を細かく立ててタスクの見直しをして、会社にいる時と同じような環境を作ることが大切です。

今日の朝、いつもは通勤に割いていた時間でタスクの管理を念入りに行ったのですが、そのおかげで集中が続いていたのかなと思います。

そして、2回あるオンラインミーティングでの進捗の共有に向けて「1時間ごとに成果を出して報告する!」という目標意識が芽生え、自分自身を引き締めることができました。

アイコは、新しいお仕事の仕方を学びました。

それでは、お疲れ様でした~!

他の人たちは、どんな一日を過ごしていたんでしょう?
エンジニアの人たちがどんな風にリモートワークをしているのか、次回取材してみようと思います!

【人事ブログ】Web説明会、まだまだ開催予定です!

0

こんにちは!
アピリッツ採用担当のアピ子です♪

今日のランチタイム、なにやら楽しそうな声が聞こえて覗いてみると採用担当のお姉さんたちが、ビニール袋をガサガサ・・・

 どうやらビニール袋でウサギとカエルを作ってたみたい(´_ゝ`)笑

 アピリッツの人たちは発想力が豊かだなぁ~

さてさて!
ただいま絶賛開催中のWeb説明会ですが、
毎回たくさんの方々にご参加いただいてます!!(´Д⊂ )カンドー

私たち採用担当も最初はガチガチに緊張してたけど
段々と慣れてきました☆

と、思いきや・・・

あれ??よく見たら会社説明をしてるお姉さんの原稿、
手汗でクシャクシャ(;’∀’)笑

そんなWeb説明会、まだまだ開催予定です!
説明会の最後にチャットでの質問コーナーも設けているので
ぜひ予約してみてね!

ということで、みなさんのご参加待ってるよー!

説明会参加の予約はここから↓

https://recruit.appirits.com/calendars/list

ではまた人事ブログでアピ子とお会いしましょう!!

新人エンジニアがプロジェクトマネージメントに挑戦!「Webサイトを開発する」この言葉に含まれるあれこれ【成果発表会】

データイノベーション部の新人『志賀 文洋』さんが、一言で「Webサイトを開発する」と言ってもどんな事をしなきゃいけないの?というのを発表してくれましたので紹介します。

DI部-志賀-「Webサイトを開発する」この言葉に含まれるあれこれ

志賀 文洋さん
2019年にコマースサービス部(現:データイノベーション部)エンジニアとして入社。
プログラマとしての実業務の合間に、技術広報サイト(当サイト)の開発プロジェクトを進めた

(挨拶省略)

皆さんはWebサイトを開発したことはありますか?
ある方ない方多々いるかと思いますが、実際に何をしているのか知っていますか?

コーディング?テストを行うこと?
本当にそれだけでしょうか?

確かめるために実際に、やってみました!

作業の流れ

まず初めに、最初7月末にヒアリングを行うことから始めました。
作成するWebサイトに対してクライアント(依頼主)側を設定して、ヒアリングを行っていきます。

ヒアリングで出てきた話に要件定義書を作成し、要件定義で決まった作業をもとにスケジューリングを行いました。

そしてスケジューリング後、Webサイトを開発するために必要な知識、開発環境の調査と構築を進めていきました。

しかしここで他業務の作業状態や開発に対してのヒアリングが足りていなかったことにより、再スケジューリングを行うことになってしまいました。
その後超過の開発、サーバー料金の見積もりを行って9月末に納品という形で受け渡しを行いました

この作業の流れを通し、最も必要なナレッジは要件定義のためのヒアリングではないかと感じました。

ヒアリングの手順

1.最終的なゴールをクライアントと共有

2.サービスの根幹をなす機能を決める

3.拡張機能についての共有

4.決まったことの確認

この4つの流れでヒアリングを行いました。

ヒアリング時に注意したこと

・漠然とした話は深堀りする

・認識にずれを生じさせないように決まったことや話し合われたことについてはその都度確認

・機能の設計の話はしない

この3点を意識しました。

作業を行う中で困ったこと

・自分がやる事なのかクライアント側の作業なのかがわからない

・クライアント側のスケジュールをどうやって決めるのか

・その機能が必須なのか必須じゃないのか

・想定していたスケジュールからの遅れ

ヒアリング後に困ったことで必要だったナレッジを考えてみました。

タスクの分離
責任の所在や、やるべき作業の明確化が必要でした。

必須要件と努力要件の整理
機能実装の優先度、スケジュールが押してしまった時の取捨選択を最初に決めておかないと進捗に影響が出てしまいます。なので認識のすり合わせが大事だと考えました。
考えたナレッジを元にヒアリングの手順を修正するとこのようになります。

4.必須要件と努力要件を共有

5.作業の担当者を決める

新たに4と5追加し行うことによって、より良いヒアリングを行うことができるのではないかと思います。

しっかりヒアリングができるとその後の作業だったり開発や要件定義やテストだったりが楽になるのではないかと痛感しました。

最後に

必要な機能が何かわからないと開発の優先度が決められない

↓↓↓

作業の全体量が見えず適切なスケジューリングが組めない…

↓↓↓

クライアントのニーズに答える事ができない

クライアントはもちろん自分のためにも、ヒアリングをしっかり行いましょう!

ヒアリングの大切さを再認識しました。
アイコもヒアリング頑張るぞー!

新しいプロジェクトメンバー矢野氏とスケジュールの確認をする志賀氏

ここからは、このWebサイトを開発してくれた志賀さんへ気になることをインタビューしちゃいます。
志賀さん、今日はよろしくお願いします!

技術広報サイトを作った事でまさかインタビューを受けることになるとは思いませんでした。こちらこそよろしくお願いします。

発表した資料を前に笑顔の志賀氏

「Webサイトを開発してそのナレッジにしよう」

早速ですが、なぜ技術広報サイトを作ることになったんですか?

社内の新卒成果発表会(P-Review)のテーマを「Webサイトを開発してそのナレッジにしよう」と考え、発表会主催の方に相談をしたところ、この話をいただきました。

話があった時の心境はいかがでしたか?

新卒の自分が必要とされているというのがとても嬉しかったです。
何とか頑張って作り上げようと決意しました。

Webサイトの開発はもともと興味があったことだったんですか?

大学生の頃からWebサイト開発には興味があって、その道の勉強をしてきました。
アピリッツへは、早い段階からWebサイト開発に必要な作業に関われると感じたので入社を決めたんです。

初めてのWebサイト開発で、深堀りしていくことによって課題に感じたことはありましたか?

テーマ作成のためのCSSファイルを編集することやWordPressの知識が足りておらず…特にPHPやCSSの知識が必要だったのですが、あまり触ったことがなかったので大変でした。

また別のサイトを作るなら、どのようなことに注意して作りたいですか?

WordPressではなく、Ruby on Rails、JavaScript、CSSの知識を深め、それを用いてより良いWebサイトを開発することが目標です!
あとはスケジュール感も気にしていきたいですね…

課題以外に発見したことや、何か感じたことはありましたか?

想定していた通りに動作することや、完成形が見えていくところが目に見えてわかったのが楽しかったです。
実際に作ってみたことで全体像をよりイメージできるようになって、自分自身が想い描いていたものを形にできて、とてもやりがいがありました。

Webサイト開発のやりがいをとても楽しそうに話す志賀氏

新卒エンジニアからPM(プロジェクトマネージャ)へ

志賀さんにとって、なにか良い変化はありましたか?

今回の話を頂いてから上司にプロジェクトマネージメントを目指している人として見てもらう機会が増え、新しい案件にPM(プロジェクトマネージャ)としてアサインさせてもらったりもしました。
そしてテーマを作成する中で課題がわかり、新しい目標ができました。

ぜひ、その目標を教えてください!

もっと様々なWebサイト開発に携わっていきたいとより強く思いました。
今回スケジュールだったり全体の進捗管理だったりも含めて学ぶことも多く、PM(プロジェクトマネージャ)になりたいと思いました。

もともとPMには興味があったんですか?

正直な話、全然視野に入れていませんでした。
今回の話や派生して出てきた案件をPMのような形で管理させて頂くことで、PMという道にもやりがいを感じました。
その道も視野に入れてキャリアアップしていきたいです。

自分の目標について真剣に語る志賀氏

素敵な目標ですね。どんどんキャリアアップしちゃいましょう!

はい、頑張ります!

プレゼンテーションの大切さ

成果発表会で発表された『「Webサイトを開発する」この一言にふくまれるあれこれ』ではいかがでしたか?

この発表がなければ新しい案件にアサインされなかったと思うので、自分の考えや発見したことを共有できる「プレゼンテーション」はとても大切だと感じました。

もしも、また発表することになったらどんな発表をしますか?

自分の伝えたかった事をしっかり伝えきれなかったのが悔しかったので、次回はPMの作業など実体験を交えながら詳しく話せたらと思います。

では次の発表も楽しみにしてますね!
この技術広報サイトが正式に完成した際、会社にとってどんな変化が生まれると嬉しいですか?

アウトプットをする場としてどんどん使ってほしいです。
特に新卒の方にやってみたいことを発表をしてもらって、それが仕事に繋がってくれるといいなと思ってます。

「先輩や上司とうまくやってますか?」へのアンサーを体現する志賀氏と安田先輩、角グループマネージャ 

このサイトの行く末は、私達にかかっていると思うと気合が入りますね。
弊社では、やる気のある社員の後押しができる環境づくりに力を入れています。

アピリッツが気になった方は コチラの採用情報 もチェックしてみてくださいね。

【人事ブログ】2021年新卒採用開始しています!

0

どーも!初めまして株式会社アピリッツの採用担当「アピ子」です!

2021新卒採用解禁しました!!

これからアピ子がこの人事ブログを通して、

アピリッツの魅力を皆さんに伝えていけるよう頑張ります!

ーアピ子の自己紹介ー

Webに興味がある!ゲーム大好き!!

面白いこと大好き!!!

1つでもアピ子との共通点のあった人はアピリッツの説明会にエントリーしてみてね♪

説明会ではブログでは書ききれないアピリッツの魅力をたくさん伝えちゃいます!

さてさて説明会ですが、アピリッツではWebライブ配信にて開催中です!

※新型コロナウイルスへの対応のため3月はWeb説明会のみの実施とさせていただきます。

ご自宅・学校などから参加できますので皆さんどしどしご予約くださいね!

質問などもできちゃいます!ぜひご参加を!

アピリッツの選考に進むためには説明会の参加が必要なので、みんなのエントリー待ってます!

予約はこちらからどうぞ↓
https://recruit.appirits.com/calendars/list

楽しい説明会を披露しますよ!(笑)

ではまた人事ブログでアピ子とお会いしましょう!!

【代表インタビュー】大手企業のサラリーマンからアピリッツ代表取締役社長に就任、そしてこれから

0

株式会社アピリッツはエンターテインメントサービス、Webシステム開発などのビジネス事業を展開しています。各種事業の技術を向上させることでサービスの質を高め、インターネットを通してより良い生活をおくることのできるよう貢献するべく活動しています。今回はそんな当社の代表取締役社長である和田にこれまでの経歴や当社の強みなどをインタビューしました。(2019年11月取材)

――経歴についてお聞かせください!

最初は、新卒で大手電機メーカーにエンジニアとして入社しました。その後、携帯電話でインターネットができる「iモード」が登場した年に、自分もこれから伸びていく業界で働きたいと思って、携帯系のベンチャーに転職を決めました。そこでは、大手からベンチャーの文化の違いが大きかったということもあり、色々刺激的な毎日を体験させてもらいました。

具体的な仕事内容としては携帯コンテンツのプロジェクトマネージャーを経て、その会社の主力商品のプロダクトマネージャーをしました。仕事の内容、会社の文化等、今の自分のコアを作った会社でしたね。

その後、商社にジョインして、アクセス解析の海外製プロダクトの拡販をお手伝いして、当社アピリッツに、新規事業担当として入社しました。

ビジネスに直接関わっている実感 が欲しかった

――大手の企業から転職した理由はどんなものだったんですか?

大手の企業だと自分が仕事をしている気がしないというか、言われることだけをやっていても楽しみがないというか……….自分がお金を生み出している感覚や、ビジネスに直接関わっている実感があんまりなかったんですよね。仕事をしているっていう感覚が欲しかったから小さい会社に入ってみようかなって。

正直、最初は安定がなくなったなあって後悔する時もありました。ただ、幸い、転職先のベンチャーでは色んなポジションをもらって26,7歳の頃に執行役員を任せてもらえたり…色々、良い経験をさせていただいたと思います。

――代表取締役社長に就任するまでの経緯を教えてください!

新規事業企画担当として当社アピリッツに入社して、前の会社での経験を活かしWebのコンサルティング事業を立ち上げました。その際に、EC系のお客様が多かったこともあり、似たような悩みやサイト改善の要望を頂く事が多かったんですよね。

その時、当時は高額で余り導入しているサイトが少なかった「レコメンド」の機能をASP事業で提供すれば良いんじゃないかと思って、「レコメンド」をASPで提供する新規事業を始めました。幸い時流にのり、1,2年で100サイト弱程度に使っていただく事になりました。その後、追加で商品レビューもASPで提供とか、ECサイトにプラスするサービスを考え、ASP事業を軌道に乗せました。

その間、設立初期から続いてきたWebのSI事業が翳りが見えてきた中で、WebのSI事業の責任者として立て直しを担当しました。引き継いだ時の状況は正直酷かったですね。Web SIの事業利益が-20%程度になっていて。全社としても、売上が8億円位の所、赤字額が3億円弱という感じで、まぁ酷かったです。その際に、当時の経営陣の刷新がありまして、事業責任者として副社長になりました。

その後、Web SI事業の立て直しが落ち着いた時に、ゲーム事業を立ち上げました。丁度、2010年頃です。当時は、Web系の会社がこぞってソーシャルゲームを始めていた時期でもあり、僕らにもやれるのではないかと思って(笑)。その後、ゲーム事業を試行錯誤で成長軌道に乗せつつあった5年位前、社長を交代して、以来社長としては5年くらいになります。

実力主義でフラットな会社

――社長から見て、アピリッツはどんな会社ですか?

コネがない中途入社の僕が社長になるくらいだから実力主義”的な文化がある会社だと思っています。

後はまあ…フラットで上下関係があまりない会社、Webのエンジニアがたくさんいる会社、規模の割には色々なことを扱っている会社、そんな印象かな。

――確かに色々なサービスや事業がありますがアピリッツって何の会社なんですか?(笑)

インターネット系のサービスで困っているお客様がいたら全てに対応する会社です。広告も、サイト立ち上げも、システムの構築、システム運営も、デザイナーも…..外注をほとんど使わずに基本的にほぼ全て内製でサービスを提供している会社です。

――社長から見た当社の強みを3つ教えてください!

1つ目は、”コーポレートガバナンス(企業統治)がしっかりしている”ベンチャー企業であること。ベンチャー企業の場合、オーナー社長の強いリーダーシップの下で働くことが多いと思うのですが、アピリッツは会社を所有している株主と経営と執行がしっかり分離しているため、牽制が効いています。ワンマンで進められない文化があります。株主や従業員などの利害関係者のバランス調整をしている経営になっています。ベンチャー企業としては珍しいと思います。

2つ目は、”若いエンジニアが多い”会社ということです。今後、日本の企業でエンジニアの需要が増加し、エンジニアの数が足りず人手不足になっていく中で、若いエンジニアをこれだけ多く抱えていることはそれだけで武器になると思います。毎年、優秀な新卒エンジニアを30~40名、採用して教育しています。

3つ目は、”経営基盤がしっかりしている”こと。Web、ゲーム、人材サービスと事業が多角化されていて、それぞれの事業でバランスよく売上が成り立っています。目玉サービスがないことは強みでもあり弱みでもあるのですが、誰でも自分で目玉となるサービスを作っていけることに挑戦できる会社だと思っています。

――会社としてどのような人材を求めていますか?

社長という立場からすると、事業を牽引する立場の人がやっぱり欲しいですね。色々なアイデアを持っている人、自分で事業を立ち上げていきたい人、そういう次世代のリーダーが欲しい。

今はエンジニアが多いため、マネージャー希望の人が少なく引っ張っていける人が不足しています。モノづくりの会社という位置付けのためエンジニアの割合を一定量持ちつつも、今後はその人達を導いていけるようなマネージャーを増やしていきたいと思っています。

夢を実現できる人をこれからも増やしていく

――今後アピリッツをどのような会社にしていきたいか、展開、将来のビジョンを教えてください!

今後もWebサービスを作り続けるエンジニアの会社という形は根っこの部分で持ち続けていきたいと思っています。その中で、人が多く集まってくることで、多様な意見や、やりたい事がもっと出てきて、さらに多様なサービスのアイデアが出てきます。それぞれのサービスの責任者たちが自由に事業をハンドリングしていける会社が理想だと思っています。

新卒や中途で入社をして、社内の事業に携わりながら成長し、事業を立ち上げて、その責任者になっていく。そうやって自分達が心から楽しいと思える事業や環境を自分たちで作っていけたら楽しいですよね。夢を実現していくことのできる人を、これからも増やしていきたいと思います。

――ありがとうございました!

和田順児(Junji Wada)
2005年12月にアピリッツ(旧KBMJ)に新規事業の企画担当として入社。最初にレコメンドASP等の当社のASPサービス商品群を企画し、立ち上げる。2009年9月から当社の全事業の統括。2010年に当社取締役副社長。その後、オンラインゲーム事業を新規事業として立ち上げ、ゲーム企画を担当。2014年から当社代表取締役社長。
仕事上の得意分野は、事業企画、ゲーム企画を考えること。普段は、暇な時間を持て余し社内をうろうろしている。

関連記事:アピリッツのその他の役員インタビュー

rack-lineprofを改造して管理画面からファイル指定&ログ追跡出来るように

0

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

https://github.com/kainosnoema/rack-lineprof

rack-lineprofって?

1行毎の負荷の重みをログ出力してくれるとても便利なgemです。
NewRelicではカスタムしないと出してくれないロジック部分の負荷も詳細に分かるようになります。

どうやって使うの?

githubのREADMEにも書かれていますが、gemをinstallした後に
config.ruに

config.middleware.useラック:: Lineprof

を追記して(このままだと本番環境でも動いちゃうのでそこ辺りは気を付けて)、

curl'http:// localhost:3000 / slow-page?lineprof = active_support / core_ext / string '

というように、lineprof=”負荷を調査したいファイル”というパラメータを追加してAPIを投げるだけです。

使いづらい点

ゲームサーバーに限らず、認証情報などをリクエストヘッダに加えて安全性を高めているAPIだと単純にcurlで叩ける訳でもなく。
一応そういうツールもありますが、認証情報を追加して打ち込むの面倒臭いですし(そもそも暗号化してる認証情報を直で打ち込もうとしたら色々障害があるし)、
クライアント側にお願いしてリクエストにパラメータを一々追加して貰うのもコストとリスクが伴いますし。
また、以下のようにオプション指定して調査ファイルを最初から指定することも出来ますが、これだと指定ファイルを変更したいという時にRailsの再起動が必要ですし。

config.middleware.use Rack::Lineprof, profile: 'active_support/core_ext/string'

どうも、開発環境で使うにはぼちぼちと不便な点があります(そもそもローカルだけで使うようなgemだったりするかもしれませんが)。
じゃあ、どうする?
モンキーパッチだ!!

モンキーパッチ

実際に負荷の計算と出力を制御しているのは、このファイルです

require 'rblineprof'
require 'logger'
require 'term/ansicolor'

module Rack
  class Lineprof

    autoload :Sample, 'rack/lineprof/sample'
    autoload :Source, 'rack/lineprof/source'

    CONTEXT  = 0
    NOMINAL  = 1
    WARNING  = 2
    CRITICAL = 3

    attr_reader :app, :options

    def initialize app, options = {}
      @app, @options = app, options
    end

    def call env
      request = Rack::Request.new env
      matcher = request.params['lineprof'] || options[:profile]
      logger  = options[:logger] || ::Logger.new(STDOUT)

      return @app.call env unless matcher

      response = nil
      profile = lineprof(%r{#{matcher}}) { response = @app.call env }

      logger.debug Term::ANSIColor.blue("\n[Rack::Lineprof] #{'=' * 63}") + "\n\n" +
           format_profile(profile) + "\n"

      response
    end

    def format_profile profile
      sources = profile.map do |filename, samples|
        Source.new filename, samples, options
      end

      sources.map(&:format).compact.join "\n"
    end

  end
end

端的に言えばリクエストのlineprofを参照してか、それかinitializeした時のオプション指定ファイルに対して負荷調査を仕掛け、そして結果を整形、ログ出力をしています。

これをコピーしてconfig/initializers/以下に置くか、適当な場所に置いてinitializersでrequireするようにするかして(これも本番環境では読み込まれないようにするとか工夫した方が良い)、ソースを上書いてしまいましょう。
あ、後、定数の上書きはwarningが出るので、以下の辺りはコメントアウトしておいた方が良いかもしれません。

 CONTEXT  = 0
    NOMINAL  = 1
    WARNING  = 2
    CRITICAL = 3

そしてファイル指定やログ指定を動的に決定したいという時は、

 def call env
      request = Rack::Request.new env
      matcher = request.params['lineprof'] || options[:profile]
      logger  = options[:logger] || ::Logger.new(STDOUT)

ここ辺りを、

  def call env
      request = Rack::Request.new env
      # RedisManagerはredis操作クラスということで
      survey_file_name = RedisManager.get_cache("survey_file_name")
      matcher =
        request.params['lineprof'] \
        || options[:profile] \
        || survey_file_name
      logger  =
        options[:logger] \
        || select_loggers(survey_file_name) \
        || ::Logger.new(STDOUT)

...

    def select_loggers(survey_file_name)
      ...
    end

こんな感じに変えてしまって。
後はこのredisの中身を管理画面から弄れるようにしてしまえば、好きな時に好きなファイルを開発環境で調査出来るようになります。

……え? ここまでやったなら出力結果もサーバーに入ってtail -f とかするんじゃなくて、管理画面で見れるようにしたい?
出力したログの内容を管理画面からDLさせるようにするか、それともprofileの結果を別途保存しておいて、管理画面で見せるようにするか。
前者の方が簡単なので、それが出来るならそうした方が良いかと。
ただ、実装している時の自分はどうしてか後者を選んでました。
取り敢えず、format_profileメソッドで作られたログ出力用のものをhtml出力用にするには色々面倒だった事をお伝えしておきます。

FactoryBot と Gimei を使って架空のユーザを作る

0

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

Railsアプリで、開発用の seed として FactoryBot と Gimei を組み合わせて架空のユーザデータを作ったが、ちょっとコツが必要だったのでメモっておく

ポイント

  • Gimei のインスタンスを Transient Attribute に割り当てる
  • 同一の Transient Attribute から「漢字名」と「よみがな」を生成する

コード

以下のような factory を用意

# spec/factories/account.rb
FactoryBot.define do
  factory :user do
    transient do
      person { Gimei.name }
      address { Gimei.address }
    end

    # ユーザ名
    last_name { person.last.kanji }
    first_name { person.first.kanji }
    last_name_kana { person.last.hiragana }
    first_name_kana { person.first.hiragana }

    # 住所
    prefecture { address.prefecture }
    city { address.city }
  end
end

実行例

factory からデータを生成してみる。

FactoryBot.build_list(:account, 10).pluck(:last_name,:last_name_kana,:first_name,:first_name_kana,:prefecture,:city)
=> [["片桐", "かたぎり", "朋江", "ともえ", "青森県", "横浜市緑区"],
 ["長沢", "ながさわ", "康太郎", "こうたろう", "愛媛県", "秩父郡皆野町"],
 ["堀内", "ほりうち", "善高", "よしたか", "兵庫県", "北相馬郡利根町"], ["福原", "ふくはら", "朋也", "ともや", "京都府", "村山市"],
 ["岩崎", "いわさき", "章太", "しょうた", "高知県", "各務原市"],
 ["榎本", "えのもと", "歩海", "ほのみ", "岩手県", "高浜市"],
 ["岸本", "きしもと", "治", "おさむ", "徳島県", "田原市"], ["亀井", "かめい", "立樹", "たつき", "鹿児島県", "玉名郡和水町"],
 ["本間", "ほんま", "果桜", "かお", "東京都", "山県市"],
 ["吉野", "よしの", "京介", "きょうすけ", "長崎県", "真庭郡新庄村"]]

ちゃんと、漢字名とひらがなの対応が取れている。

参考

【成果発表会】「人が惹きつけられるものを作る」売上を上げたい人のUIデザイン ~ みやすいUIのためにガチャ画面とアイテム購入画面の改修で心がけたこと ~

今回は社内の成果発表会「P-Review ’19」にて発表した、デザイナ 笠原 舞さんの資料を紹介します。
※この記事は個人の研究発表で、会社としての見解ではございません。

笠原 舞
2019年4月アピゲー部にデザイナとして入社
入社後は主に自社開発スマホゲーム「ひねもす式姫」にて2Dデザインを担当。大酒飲みとの噂

P-Review_笠原舞_プレゼン

伝えたいテーマ

(※挨拶省略)

今回の発表で私が伝えたいことは、どうしたら人が惹きつけられるようなUIデザインができるかです。

実際の業務で行ったデザイン改修を例に、人が惹きつけられるようなUIデザインのノウハウを共有していきたいと思います。
人が惹きつけられるなら、売り上げもあがるだろうといった作戦です。

紹介するのは、自社開発スマホゲーム「ひねもす式姫」のガチャ画面とアイテム購入画面の改修になります。

「ひねもす式姫」の画像検索結果
スマホ向け和風オンラインRPG『ひねもす式姫』!リアルタイムでの協力バトル!個性的な式姫たちの日常ものぞけちゃう!

ガチャ画面の改修

初めに紹介するのはガチャ画面のUIデザインです。
もともとの従来のガチャUIデザインはこのような画面でした。

Befor

改修後はこう変わりました。

After

それではどのように改修をしていったのか説明していこうと思います。

ガチャ画面の問題点

もともとの画面の問題点から説明します。

この画像には alt 属性が指定されておらず、ファイル名は image-13.png です

・キャラ名とキャラが小さかった
ガチャの主役なのにキャラも名前も目立ってないんですね。

・キャラ・背景・バナーとひとつの画面に3つ同じ顔が並んでいる
くどい!注目する場所が分散されてしまいます。

・ボタンが青い
色と購買意欲には関連があり、青い色は購買欲を下げると言われています。

・吹き出し小さい
ワンステップでなにがもらえるか、などの重要な情報が小さかった。

これらの問題点を改修し、こうしてほしいなどのプランナーさん方の意見を踏まえた結果こうなりました…

キャラ名を大きくし、キャラが被ってしまっていたバナーと背景を消し、ボタンも青から赤に変え、吹き出しも大きくしました。

でも、なんだかこの画面ダサいと思いませんか……?
私はこの画面を見ていることに耐えられず、この作業を2日寝かせました。

ダサい原因

改めてなぜダサいかを考えてみると、動きがない四角が均等に並んでいて単調
左に式姫・右に説明できっちり分かれすぎている
これらがダサい原因だと思いました。

これらの点を意識した上で改修しました。

ガチャ画面改修ポイント

①メリハリをつける
キャラを大きくし真ん中に配置することで目立たせて、吹き出しの背景やフォントに色や装飾を加えてメリハリをつけました。

②左右に分散
画面右に情報を詰め込みすぎていたのを、左右に分散して見やすくしました。

③色を変えてみる
2つのガチャボタンに同じ色を使っていたので、ボタンごとに色を分けて10回召喚の方に購買欲を高めると言われている赤を使いました。

④キャラチップを配置
かくりよシリーズは、細かく可愛いドットのキャラチップがユーザーにとても人気なので、今まで手に入らないと見れなかった対象キャラのチップ画像をこの画面に配置。
さらに、タップしてランダムに動かせる形にして、ユーザーにこのキャラが欲しいと購買欲をあげる形にしました。

この画面はまだ実装されていないのですが、これで売り上げが上がると嬉しいです。
以上がガチャのUI改修例です。

アイテム購入画面の改修

続きまして、アイテム購入画面の改修例を紹介します。
もともとこのような画面だったのですが…

Befor

改修後はこう変わりました。

After

それではどのように改修していったか、説明していこうと思います。

アイテム購入画面の問題点

もともとの画面の問題点から説明します。

この画像には alt 属性が指定されておらず、ファイル名は image-33.png です

画面で完全に表示されている部分が2つしかない
残りの2つは半分隠れてしまっています。

画面にすべてのアイテムがごちゃ混ぜに入っている
1か所に数10種類のパックが収まっているため、目当てなものを見つけづらくユーザーの購買欲を削がれてしまう。

この画面だけなぜか縦スクロール
他の画面では横スクロールなのに対し、この画面だけなぜか縦スクロール。

ウィンドウタイプ
無駄なスペースがあって窮屈に感じてしまう。

これらの問題点を改修した結果こうなりました。

アイテム購入画面改修ポイント

①形を縦長に
完全に見えているのが2個だけだったのを、形を縦長にすることで一度に表示できる数を3つに増やしました。

②タブ分け・背景を変える
種類ごとにタブ分けをし、欲しいものがすぐに選択できるようにし、タブごとに商品背景の色を変えて、どのタブを今選択しているのかファーストビューを分かりやすくもしました。

③横スクロールにし統一感
ほかの画面と同様に横スクロールに揃え、見やすくしました。

④Zの法則
線の流れを伝わりやすいと言われているレイアウトのZの法則にして見やすくしました。

⑤ウィンドウを広げる
ウィンドウを広げて窮屈だった画面をすっきりさせました。

アイテム購入画面を見やすく変えることで売上げが少しあがりました!!

初心者パックを買ってもらえた

改修前に初心者パックは、色んなパックに埋もれてしまっていたのもあり存在を気づかない人が多く、とてもお得で一人1つしか購入できないため、通常は売り上げが落ちていくものですが、この改修でより多くの人の目に留まるようになり気軽に購入してもらえるようになりました。

以上がアイテムのUI改修例になります。

人を惹きつける今どきのUIデザインのポイント

最後に私が意識した人を惹きつける今どきのUIデザインとしては、こういうポイントがあります。

【ファーストビューを意識する】
パッと一目見て何があるかどんなものなのかを一瞬で伝わるようにする。

【目的を持った配色】
シーンに合わせて、色にどのような効果があるかを考えて使う

【視線を意識した配置】
人の目の動き方などをきちんと考え、デザインをする。

これらのポイントを意識して作業すれば、よりよいUIデザインを作成する手助けになるかと思います。
私は、人が惹きつけられるUIデザインをこれからも作り続けていきたいです。

ご清聴ありがとうございました。

大好きなビールを片手に、仲の良い同僚と情報交換する笠原氏

「Zの法則」に関してはこちらのサイトが分かりやすく解説していました!
(外部サイト)伝わりやすいレイアウトの法則を知っておく | ワンポイントアドバイス | ホームページ作成ならスリーカウント株式会社【浜松|静岡】
アイコも人を惹きつけられる今どきの新入社員になりたいです!

チャットボットのランディングページ作成中😉~動画を追加したい編~

初めまして、バーチャル新入社員の山田アイコです。
突然ですが、見てください!このランディングページ!!

2019年12月11日現在のAiCHOランディングページ

素敵なページだけどなんだかちょっと物足りないような?
アイコが動いてるところも見せたいな……

デモ動画とか載せてもらえないかな!?

動画を追加したい

開発サイドの方から、現状のAiCHOの動作を動画として頂くことができました……

編集さん!アイコがもっと動けるところを見せたいです!!

画像に含まれている可能性があるもの:画面

~動画編集さんは快く承諾してくださり、アップを待ちました~

DEMO動画作成

編集さん:開発サイドの方から最初に頂いた動画をAdobe Premiereにて編集し、トランジション(場面転換等のエフェクト)の作成は、Adobe AfterEffectsにて作成しました。

せっかくなので、最初の挨拶にアイコちゃんの声も入れてみました。

DEMO動画完成

DEMO動画/AiCHOのカスタマーサポート版のデモ動画をご覧いただけます。

すっごく素敵な動画を作っていただきました。
ランディングページを訪れるユーザーさんが、どういった形でサービスを利用できるかデモ動画によってイメージが湧きやすくなって、お問い合わせに繋がりそうですね~!

ということで…ランディングページに、早速動画を入れてもらいました!

『心にひびくAIチャットボット AiCHO』とは
アピリッツでは、「接客・応対品質の向上」「顧客との対話」「業務の自動化」を目的としたチャットボットとして『心にひびくAIチャットボット AiCHO』(以下AiCHO、読みアイチョ)を開発しております。

『心にひびくAIチャットボット AiCHO

デモ動画で見やすくなってよかったです~!
新しいランディングページも、ぜひチェックしてみてくださいね。

技術でチームを支えられるデザイナーになりたい(3Dモーションデザイナー 杉山 拓海さん)

デザイナーにも色々なキャリアがあるが、イラストレーターから3Dのデザイナーに転身するクリエイターは多い。そんな3Dデザイナーである杉山さんに、現在の働き方と、これからどんなデザイナーになっていきたいかを聞いた。

■ 簡単に自己紹介をお願いします。

杉山拓海といいます。24歳になります。
職種は3Dのモーションデザイナーです。ゲーム内のキャラの動きを考えたり作ったりしています。

■ キャリアの最初から3Dのモーションデザイナーだったんですか?

初めは2Dのデザイナーだったんです。2つ目に携わったプロジェクトが3Dのプロジェクトで、そこで初めてモデリングとモーションを学びました。モーションって本当に面白いし奥が深いな、と日々感じています。

■ 杉山さんって、成長したい意欲がとても強いように感じています。そのモチベーションはどこから来るんですか?

確かに成長したい意欲は高いんですが、その気持ちは焦りから来ているかもしれません。

周囲の人で、自分よりすごい人がたくさんいて、その人達と自分を比べてしまうんですよね。隣の席のデザイナーとか、SNSやイベント等でつながってる知り合いなどと比べてしまうんです。
周りの人は実力もあって、なおかつ、努力しているのを感じるので、自分も「やらなきゃな」というふうに焦りが出てきて、自主学習をするようになっています。

例えば、自分のモーションのクオリティを管理してくれる人がいるんですが、その人の作るモーションって、見ていて気持ちがいいんですよね。重心の移動だったりとか、腕の動きとか、タイミングだったりとか。バランスがとれた気持ちのいい動きを作るんですよ。

自分もそういうのを作ってみたいな、という気持ちになるという感じですね。

■ そのために、仕事をする中で意識していることってありますか?

今はクオリティと時間短縮の両立を常に考えています。
時間をかけすぎても駄目ですし、速く作ってもクオリティが足りていなければ駄目なので、クオリティとかける時間のバランスは常に意識するようにしています。

そのために、職場の人に教えてもらう時もありますし、自分で工夫して改善していくようにするときもありますね。
周囲の人がわかっているのに質問しないのは、結果として時間の無駄だと思うんですよね。
なので、教えてもらえる範囲であれば、教えてもらうようにしています。

■ 仕事の内容、どんどん変わっていますよね?

そうですね。今いる会社にいながら、短期間でやることがどんどん変わっていますね。

最初は、今運営している自社IPのローポリ案件のモーション制作。
次は、キャラクターモーションの絵コンテ作成。攻撃パターンや回避パターンの絵コンテを書く作業をしました。
さらに、量産前に仕様を確定させるために、実験用のモーションデータの作成。
そして現在は、モーションキャプチャーで作られたデータを整える作業に携わっています。
それぞれ、1~3ヶ月ほどで変わっています。

■ すごい変わり方ですね。
 ちなみに、実験用のモーション作成って何をしたんですか?

新規プロジェクトって、アセットの量産に入る前に仕様を決めていくんですね。
そのために、仮のモーションを作成して、組み込んだときにちゃんと動作するかどうかを検証していました。

例えば、Unityのどんな機能を使うかによって、デザイナー・エンジニアのそれぞれの作業量が違ったり、動作の負荷が違ったりするので、そういったものを検証するんですね。

その時にUnityの機能についても、色々触らせてもらって、ものすごく勉強になりました。エンジニアさんとも、ディスカッションしたりしながら進めていたので、僕としてはすごくいい経験になりました。

■ 仕事をしていて悩むことや不安なことはありますか?

自分の実力で今の仕事をこなしていけるかという不安は常にありますね。
業務内容が次々と変わる状態が続いているので、今の業務内容が終わっても、次の業務がきちんとこなせるかというのは不安なんです。

今やっている作業も、初めて使うソフトがあったりして、最初のうちは、設定されたスケジュールに対して、2日遅れくらいで進んでいて、胃が痛い…なんてこともありました。
なんとか頑張って、最近、遅れを取り戻せたので良かったんですけど…こういう状況なので、常に不安はありますね。

ただ、後々考えると、それもいい経験だったな、って思うんですけどね。おかげで新しいスキルも身に付いていくわけですし。でも、その瞬間は不安でいっぱいです(笑)

■ そういう不安ってどうやって対処してるんですか?

とにかく知識を詰め込むと安心するというのがあって、そういうときは色々な情報をとにかく調べまくります(笑)
人間、知らないことがあると不安になるものかと思っているんです。知っているのと、知らないのでは、気持ちが大きく違うんですよね。
なので、とにかく色々調べて、頭に詰め込むようにしています(笑)

■ そうやって知識やスキルを付けているんですね

自分のスキルの多様性を高めてくれる状態ではあると思います。常に不安はありますが、こういう環境はとても有難いと思っています。

ずっと同じ作業をしていると、新しいことをやろうと思ったときに、なかなかスムーズにできなかったりすると思うんです。
そうならないように、色々なことができる引き出しを持っておきたい。
そのためにも、たくさんのことに挑戦させてもらえて、学ばせてもらえるこの環境は、とても有難いと思っているんです。

色々な技術に触れられて、色々試したりしながら、仕事ができるというのは、僕自身にもあっていると思います。

■ 杉山さん、わりとストイックな性格だもんね(笑)

僕は独学で色々やってきた人間なので、「自分でやらないと」というのが染み付いてるかもしれないですね(笑)

■ そんな杉山さんは、今後デザイナーになっていきたいと考えていますか?

長期的には、テクニカルアーティスト的な動きができるようになっていきたいと思っています。技術的に周りをサポートできるような人ですね。

自分の性格上、人を管理するという役割は、あまり向いていないように思うのですが、技術面でどんどん知識をつけていきたいという思いは常に持っているので、そういう特性を活かせる方面に進んでいきたいと思っています。

■ いいですね!とっても合っていると思います。
多くのチャレンジをして、経験してきたものを使って、技術的にチームを支えていけるようになれると非常によいですね。一緒に頑張って行きましょう!
今日はお話聞けてとても良かったです。ありがとうございました。

3Dモーションの技術を磨きたい。プロジェクトに常駐する働き方の中で経験してきたこと(3Dデザイナー 藤戸 大樹さん)

3Dデザイナーは、様々な環境で経験を積むことで、次第に才能を開花させていく。常駐型の働き方で、3Dデザインの経験を積んでいくことを目指す藤戸さんに、常駐型ならではの経験を聞いた。

■ まずは、簡単に自己紹介をお願いします。

藤戸大樹です。3Dのモーションデザイナーをしています。

■ 3Dのモーションデザイナーになろうと思っていたんですか?

アピリッツに入社して、初めてアサインされた仕事は、2Dのモーションデザインでした。そこで初めてモーションに触れたのですが、仕事をする中で、だんだんとモーションの面白みが分かってきたんです。どうせやるなら3Dモーションもやりたくなって、3Dのプロジェクトに異動させてもらいました。

あと2Dのデザインは、イラストも、UI制作も、自分よりうまい人がめちゃくちゃいて、競争が激しいと感じていたというのも3Dの道を選んだ理由です(笑)

■ モーションって初めから得意だったんですか?

初めはモーションデザイナーになりたいとは思っていなかったんです。ただ、個人でアニメーション調の動画作品を作ったり、イラストを描く時にポージングなどかっこいい見せ方にこだわってしまう傾向があったりと、モーションにつながる要素は持っていたのかもしれません。

■ これまでどんなプロジェクトに携わってきましたか?

最初にモーションを担当したプロジェクトは、アピリッツのプロジェクトで、スマホの新規3DMMORPGの開発でした。担当していたのは、ゲーム内で動くキャラクターのモーションです。
次にその経験をもとにして、大手の会社に常駐して、PC向けの3DMMORPGのキャラクターアクション制作を1年ほど担当しました。
その後、現在の常駐先に移動して、コンシューマーゲーム作品のモーションを1年間に2件ほど担当しました。

■ これまで携わったプロジェクトはそれぞれどんな雰囲気でしたか?

まず、アピリッツの社内はとても居心地がよかったです。先輩がすごく優しくて、イチから丁寧に教えていただいて、理不尽に怒られることもなかったですね(笑)
あと、椅子がすごく良かったです(笑)

最初に常駐した会社では、一緒に仕事をすることになったモーションデザイナーの方々が、超有名タイトルに携わってきた大ベテランの方ばかりだったんです!自分はというと、業界歴、モーション経験も浅くて圧倒されてしまいました(笑)

あ、でも、悪い意味じゃないです。
チームの雰囲気はすごく良くて、優しい方も多かったので、本当にいろいろなことを学ばせてもらえました。モーションもすべて手付で制作していたので、モーションの基本を叩き込んでもらえて。
自分のスキルの基盤を作ってくれたプロジェクトだったと思っています。

現在の常駐先では、圧倒されてしまうことは少なくなりましたが、雰囲気や仕事の進め方は似ていますね。こちらも優しい方は多い印象です。今の常駐先では、Mayaの使い方を工夫してスクリプトを組んだり、モーションキャプチャーのデータを扱ったりと、新しいことに挑戦させてもらえていると感じています。

常駐先でストレスを感じることや大変だった時もあったと思うのですが、
 そういう時にサポートメンバーはどんなサポートしてくれましたか?

1ヶ月に1度、サポートメンバーの方が業務のヒアリングに来てくれるんです。その時には、「こんなことができるようになったよ」と自分の成長を伝えられるようにしているのですが、成長の実感がなかなか得られなかった時には、そういうことも伝えられず、「もう無理です〜」と思う時もありました。
今では、ヒアリングで自分の現状を聞かれたりすることで、逆に自分自身の現状を振り返る時間になっていますね。

あと、新しい常駐先に行くときなんかは、不安なこともたくさんあるにも関わらず、まだ親しく話せる人も常駐先にはいなかったりするので、結構つらかったです。
そういう時に、よく知っている人がヒアリングに来てくれると安心できました(笑)

■ 今、目標にしていることってありますか?

基本的に、クオリティをあげつつ、スピードも上げて、安定的に仕事をこなせるようになりたいというのがあります。

その中でも、最近目標にしていたのは、リグ設定の知識や経験を増やしてモーション制作の効率化ができるようになることですね。3Dのモーション制作をする上で、複数の箇所を連動させて動かすコントローラーをよく利用するんですが、デフォルトの設定だけだと非効率な部分も出てくるので、自分なりにアレンジして改変するんですね。
それをやらない力技の人もいるんですけど(笑)

■ 少し前までサポートメンバーとのチャットで業務速度を計測したりしてましたよね。

やってましたね。手付のモーション案件に携わっている時には、自分の作業時間の目標と結果を計測して速度をあげるように工夫していました。
最近は、モーションキャプチャーを利用した作業に変わってきたので、やらなくなってしまいましたが、作業の効率化をしていくことは、今も常に考えています。

最終的には、ベテランの方たちが作ったものと肩を並べても、不安にならないくらいクオリティを出していきたいですね。

■ 「不安にならないくらいに」って言うくらいですから、不安を払拭したいというのがモチベーションになるタイプなんですね(笑)

そうですね、嫌なんですけどね(笑)解消するために成長していきたいですね(笑)
面白いゲームを作りたい、という気持ちが根幹にはあるんです。その大きな武器として、「モーション」のスキルを活かしていきたいと思っています。

モーションデザインが専門のゲームクリエイターは少ないように感じるので、ニーズがあるのかなとも思っています。

■ 面白いゲームを作るクリエイターとして大成していくためにモーションの技術をあげていければという感じなんですね!そんなふうに考えていたとは、僕も初めて知りました(笑)
いいゲームクリエイターになっていくために、これからも頑張っていきましょう!
今日はありがとうございました。

興味のあること、新しいことに挑戦できる環境がある(クライアント エンジニア 石松伸衡さん)

エンジニアであれば、様々なものを作ってみたい、技術に触れてみたいという欲求は当然のことだろう。アピリッツクリエイターズのエンジニア石松さんに派遣エンジニアのリアルな実態について話を聞いた。

■ まず簡単に自己紹介をお願いします。

石松伸衡(いしまつ のぶひろ)です。クライアントエンジニアをしています。

今は、クライアントエンジニアをしていますが、新卒の頃は食品工場で働いていました。

■ え!?食品工場?なぜ、ゲームエンジニアに?

大学を出て食品工場に努めたんです。

2年ほど勤めたところで、自分が本当にやりたいことってなんだったっけ?と考えたんです。考えて行った時に「やっぱりゲームを作りたい」と思いまして。それで道を変えることを決意しました。

そもそも、自分の好きなゲームを自分で動かしてみたいという気持ちが自分の中でずっとあったんです。それでゲーム業界に行きたいなと思ったんです。

そのあと2年間、専門に通いました。
まずは手に職をつけたいというのがあったのと、自分でゲームを作り上げてみたいという興味からエンジニアの道を選びました。

1年半くらい専門に通ったところで、企業にクライアントエンジニアとしてアルバイトで働きはじめまして、そのままその会社に就職しました。当時はObjective-Cを書いてました。iOSのゲームでXcodeで実装していましたね。その後、徐々に業界がUnityに移行していったので、自分の技術もそちらにシフトして行きました。
アピリッツへは、その後転職しました。

■ これまで携わってきたプロジェクトは?

ゲームとしては4タイトル程ですね。それ以外に、試しに作ってみよう的なプロトタイプのプロジェクトにも多く携わってきました。

以前いた現場で、ものすごく実験的なプロジェクトに携わることができたんです。
ゲームの基盤となるツールを作るようなプロジェクトだったのですが。
その常駐先の会社自体が、みんなで楽しいこと見つけたら情報共有していこうという雰囲気のある会社だったんですね。今まで働いた会社ででは感じたことのない雰囲気で、技術について発信したり、話たりするのが好きな人が集まっている感じを味わえたのは、自分にとってもよかったです。

そもそも、興味を持ったものからやってみる、というところが自分のエネルギーの源だったりもするので、色々な現場で興味のあることができるのは自分にとっては楽しいですね。


■ ゲームを作ってみたいと思ったのも、そういうエネルギーからでしたしね笑

そうですね笑

■ 今興味があるのはどんな技術?

ARの分野とかはすごく興味ありますね。

ゲームであれば、サーバーサイドの技術なんかも、すごく気になります。隣のエンジニアが何をやっているのか、どうやって作っているのか、トレンドは何かなんかも気になったりしますね。
ただ、サーバーサイドのエンジニアになりたいわけではないな、と思うので、チャンスが有ればやってみたいという感じです。


■  今仕事の中でやりがいを感じられる瞬間は?

自分の担当しているものが、開発やテストを終えて世の中に出た瞬間が、一番やりがいを感じます。
そういう時は、最後の追い込み的な開発があったりして、体は疲れていたりもするんですが、自分の作ったものに会社としてOKが出て、ちゃんと世の中に出ていくんだと思うと気持ちが高まりますね。

■ 技術的に新しいことへの挑戦などにやりがいを感じるのかな、と思ったのですが

実際の所、いつもやりたいことだけをやらせてもらえるわけではないんですよね。そこは仕事なので一定仕方のないことかなと思っています。期限なんかもあるので、自分の場合は、技術的挑戦が不完全燃焼になってしまうことも多いんです。そういうときは、次のチャンスには挑戦してみようと思いながら、開発に臨んでいます。

■ 現場を転々としながら働く働き方ってどう?

会社が変わるので、色々な雰囲気の中で働くことができる所がとても面白いですね。会社ごとに価値観が違ったり、一緒に働く人の雰囲気に違いがあったりして、面白いな感じることや、それぞれの現場の方から学ぶことが多いです。結果として新しいことに触れられる気がしています。

実は、もともと自分は、変化を嫌うタイプだったんです。でも、実際に色々な会社に常駐して働くことを通して、どんなところでも生きていけるんだなと思えるようになりました。

■ アピリッツのサポートメンバーは石松さんにとってどんな存在ですか?

月に1回の面談等をしてくれていて、気にかけてくれているんだなぁというのは常に感じています。
また、いろいろと盾になってくれる感じですね。

何かあったとしても、直接自分のところに来るのではなく、サポートのメンバーのところにワンクッションあってから、伝えてくれる。
仕事の中で何か失敗してしまったとしても、きちんと連絡や相談をしておけば、大丈夫だという安心感があります。それによって、過度に心配しすぎることなく、自由に仕事をさせてもらえているようにも感じています。

■ 今後どのように働いていきたいですか?

とにかく新しいものには今まで通り飛びついて行きたいな、と思っています。自分の中でアンテナを張っておいて、琴線に触れたものについては、飛びついて、チャレンジして行きたいな、と。
もともとの自分の性格では、変化を求めているとは思っていなかったが、振り返ってみると、変化を大切にしているのだなぁと感じますね笑

■ 色々な現場で常駐しながら、色々な方と一緒に働いて、石松さん自身が変わってきたということかもしれませんね

そうかもしれません。
今後も、世の中の変化に遅れないように、それを上回る速度で変化していきたいと思っています。

■ 良いですね!今後も新しいことにチャレンジし続けて行けるよう、我々も応援しています!
■ 改めて石松さんにいろいろお話を聞けてよかったです。ありがとうございました。

【社員インタビュー】人の夢を叶えたい!エンパワーメントサービス部とは?

0

今回は、2019年2月にアピリッツに入社し、エンパワーメントサービス(ES)部の事業統括として活躍している、村上さんにインタビューいたしました。 (2019年11月取材)

――自己紹介をお願いします!

エンパワーメントサービス部の部長をさせてもらっています。村上一歩と申します。

――エンパワーメントサービス部ってなんですか?

ゲーム会社やWeb系の会社に社員が常駐しサービスを提供する部署です。
様々な企業やプロジェクト現場に常駐して働くことを通して、部員ひとりひとりの成長や会社内での人的リソースへの要求の波への対応、そして社外の技術を社内に還元していくことで会社全体の成長に貢献していくことがエンパワーメントサービス部で大切にしていることです。そのためにも常駐先に入った方のスキルアップや、やりたいことに近づいていけるように支援しています。

――前職はなんですか?

新卒でWebベンチャー企業に入ってエンジニアを経験した後、2、3人で社内ベンチャー等のような形で会社を作って、色々なことをやっていました。フリーランスの方のマッチング事業、企業のBtoBのウェブマーケティングのコンサルティングとか…….

人の夢を叶える育成

――転職をした理由はなんですか?

元々人の育成や人のやりたい事や目標とか夢などを担っていきたいと思っていたのですが、小さな会社なので、事業の方向性の模索を続ける中で、気がついたらウェブマーケティングの仕事が多くなっていってしまい、自分の夢とずれが生じたため転職しました。

育成っていうと響きが悪いかもしれないですけど…… 人の夢を叶えることだと思っています。

夢とか目標とかない人にも、やりたいことや好きなこと、将来像みたいなものがどこかににあって埋まっているはずなんです!
それを掘り起こしてあげて、楽しそうに仕事をしていく流れに導いていくのが好きです。

実は人事部で応募したんです!

――アピリッツに入社した理由は何ですか?

元々アピリッツには人事部志望で応募したんです!

でも面接のときにやりたいことを話したら「もっとこういう役割があるよ!」と提案していただきエンパワーメントサービス部のお話を頂いて自分のやりたいこととマッチしていて、面白そうだなと思って入社しました。

この画像には alt 属性が指定されておらず、ファイル名は 4LULgbCaHUOqHT0vhCg55qIt1KetYFzvr7Sg_4YLttTz7KiBobZ9__DgqUiFtKE6hUkBz9ilBUhJ9nWcefgUfVv-zd8PxcEqG7geyXtaEZR9nen5OTdeTlzLFdi3od6c_dmNsYbT です

――実際に入ってみて会社の雰囲気や感じたことはありますか?

すごくほんわかした会社だなって感じますね。
良い意味でガツガツしていなくて優しくのんびりした人が多いなって思いました。

誰かになにかを強制することもあまりなく、自分でやりたいことを見つけてやっていくって人には向いていると思います。
魅力としては、会社の経営が安定していて安心して働けるってとことは強いですよね。

あと、皆でワイワイしていたり一人で静かに過ごしていたり、いろんなタイプの人が混在していますね。コミュニケーションの多様性も高い環境なので、どんな人でも入口のハードルがめちゃめちゃ低いな、と感じました(笑)

成長していく機会を作っていきたい

――仕事のやりがいを教えてください!

50人くらいの人を担当しているのですが、それぞれの人と色々な話をして現場(お客様先)に入って頂くのですが、現場に入っていった人に成長していく機会を作ってあげることや、どんどん成長していく姿を横で見ていくのは嬉しいですよね。

それぞれの方に月に1回直接ヒアリングする機会を設けているのですが、その時間が一番好きですね。
今の仕事の中でスキルが得られているか、仕事の中での課題をどう解決していくか、 みたいな話を主にしているんですけど、ヒアリングの最中にその人に大きな気づきが作れたり、成長につながるきっかけとなる発見とかをしてもらえたりすると、ヒアリングをきっかけにその人自身が成長していく流れができていくので、そういう瞬間に携われる時にやりがいを感じますね。

――最後に今後の目標を聞かせてください!

まずは社内でもっとアピールしていきたいですね。
自分達の部署からもっと成長していく人をどんどん増やしていきたい!どうやって増やしていくか、これが課題でもあり目標でもありますね。

その辺のノウハウってIT業界で結構流行って?いて、自己変革的な話とか、社員が幸せになるモデルというか、マインドフルネスみたいなそうゆうのをベースに事業が運営できていくともっと面白くなっていくなって思っています!

みんながやりたいことに向かってチャレンジしていける土壌をどんどん整えていきたいって思っています。

――村上さんありがとうございました!

村上一歩(Kazuho Murakami)
エンパワーメントサービス部部長
ゲーム&Webクリエイターの成長を助ける派遣事業、アピリッツクリエイターズ運営責任者。新卒でWebエンジニアとして新規事業立ち上げに携わり、共同創業者として起業。UXデザイナー、経営層のコーチングなどのキャリアを経て、アピリッツへ入社。慶應義塾大学大学院メディアデザイン研究科卒業。

関連記事:アピリッツのその他の役員インタビュー

【成果発表会】「5年後、ディレクターになる計画」新卒エンジニアがディレクターになるまで

今回は社内の成果発表会「P-Review ’19」にて発表した、エンジニア 伊藤 駿一さんの資料を紹介します。
※この記事は個人の研究発表であり、会社としての見解ではございません。

伊藤 駿一
2019年4月コンテンツデザイン部にエンジニアとして入社
入社後は主に受託ゲームのプロジェクトに携わる。

伊藤Preview19_shuito

(※挨拶省略)

前置き

今回は「同期向け、先輩社員などからロールモデルを選び、その能力を分解する。その先輩に近づくためにどんな努力をいつまでにするのか計画を立てる。」 というのが発表テーマの大分類です。

当たり前なんですが、これはディレクターをやっている人が「ディレクターになるためにはこういうことしたらいいよ」という発表ではなく、ディレクターを目指している自分が先輩に話を聞き、最後に自分の立てた計画を発表します!

テーマの経緯

僕はこの会社の面接で、自分がどう成長していきたいかを聞かれました。
あまりイメージが湧かなかったので、この時は「色んな技術を身に付けたい」とすごくふわふわしたことを言いました。

面接後のフィードバッグで「エンジニアは大きく分けて2つの成長の方向がある。 ”スペシャリストとジェネラリスト”この2つに別れるよ。君はどっちの方向で成長していきたい?」って言われたんですよ。

スペシャリスト:もうこの分野に特化した人、めちゃくちゃ凄いエンジニア

ジェネラリスト:広範囲の知識や技術を有する人、将来的には管理職とかの方向に進んでいく人

自分はなんとなくジェネラリストの方が合ってるような気がしたので、そっちの方向で成長していきたいと答えました。
ですが…ここで止まっていました。

新卒から少し経った今「自分の目指す先にはどんな仕事があるんだろう」と調べてみたところ、ディレクターという仕事に興味を持ちました。

ディレクターの仕事

ディレクターの仕事は簡単にいうと、コンテンツの全体を把握してプランナー・エンジニア・デザイナーに作業の依頼を出すゲーム品質の責任者という役割です。
僕は作業を与えられてこなしていく側より、ゲームを面白くするためにどうするかを考えてチームを引っ張っていくような存在になりたいと思いました。

ですが、エンジニアの仕事からは遠い存在のように感じました。
落胆していたところ、社内にエンジニアからディレクターになり、現在GM(グループマネージャ)という立場にいるコンテンツデザイン部の大金 翔吾さんを見つけました。

大金さんと話せば、エンジニアからどうやってディレクターになったのか話を聞けるかもしれない!
僕は大金さんから話を聞くことにしました。

ディレクターを知る

ディレクターは普段どんな仕事をしているのか、それにはどういった能力が必要なのか?
大金さんにまず、仕事の流れを聞いてみました。

初めに、ターゲット定義・分析を行い、そのターゲットに何を体験させるか考える
そして何が必要なのか、最後にどう実装するのかを考えることがディレクターの一連の仕事の流れです。

これだけだと僕には難しかったので、大金さんが実際に既存のゲームにイベントを実装した時のことを例として教えてもらいました。

主にイベントを遊んで欲しい人達を決め、どのようにゲームをプレイしているかの調査。
そのターゲットに“コツコツプレイして、ある一定のハードルを超えた時の達成感”を味わってほしいと考えた。そのために一ヶ月イベントを実施。
画面要素や難易度などを考慮し、それを各職種が作業できるように落とし込んでいきました。

つまり、これらの仕事をするにあたって「ターゲットを定義能する力」「市場を分析する力」「論理的な思考」「シミュレーション能力」「課題解決能力」という能力が必要だったのです。

この分析によって僕は気づきました。
今の僕は流れの一番最後、「どう実装するかを考える」という振られた作業をこなしていく人なんだと。
ディレクターに必要な能力は全然備わっていない…と改めて痛感しました。

目指すものを明確にすることで、現在の自分と理想の差がどのくらいあるのか見えてきたんです。

「やっぱり、エンジニアからなれないのか?」
知れば知るほど、エンジニアからかけ離れているように感じる…。
諦めかけたその時、大金さんは「エンジニアだからこその強み」を教えてくれたんです。

ディレクターに必要な能力を学ぶには

必要とされている「論理的思考」と「シミュレーション能力」はエンジニアの業務でも鍛えられる。

え?そうなの?って思ったんですが…ここで能力の説明です。

論理的な思考
問題を要素に分けて整理して、結論を導き出す能力です。
例えばなんかある実装をする時に、どういった処理が必要でそれを実装するためにどういうクラス・メソッド・変数が必要になってくるか要素に分けて考えてるんですよね。

シミュレーション能力
問題点がないか、改善できることはないかを常に考える能力です。
これも例えば、ゲームの動作が重くなった時とか一度原因考えてみて、本当にこれが原因か?とか色々考えますよね。

先ほど紹介した通り、ディレクターの仕事は作りたいものをどう実現させるかを考えることです。
これはエンジニアが普段実装したい機能をどう実装するかを考えることと思考は同じで、エンジニアの論理的な思考は、ディレクターとしての業務の基礎となるんです!!

続いて「ターゲット定義/市場分析能力」「課題解決能力」の鍛え方も聞いてみました。

売れているゲームに対して考えたり、実際にカジュアルゲームを作ってみる。
ただ作るだけでなく「ターゲット定義/市場分析能力」「課題解決能力」を意識してやってみるのがいい。そして作業の依頼を出すことも仕事なので、他の職種の人たちとも積極的にコミュニケーションを取るのが大事。

これを聞いてから僕は、様々なことを意識して考えながら業務をするようになりました。

ディレクターになるためのマインド

続いて、僕が一番気になっていたこと。

エンジニアからどうやってディレクターになったのか。聞いてきました。

アピリッツへ「演義シリーズ」の移管の話が持ち上がった時、誰がディレクターをやるか決まっていなかったタイミングで立候補をしました。
ディレクターが決まっていなかったというチャンスに手を挙げてチャレンジし、ディレクターにチェンジという3Cの実践をしていたんです。
※チャンス、チャレンジ、チェンジ、『3Cの実践』です。

「演義シリーズ」の画像検索結果
2019年2月より
スマートフォン向けゲーム「関ヶ原演義」「繚乱三国演義」「疾風幕末演義」の3タイトルの運営主体をアピリッツへ移管しました。

そして、大金さんが新人の頃から意識していたことも聞いてみました。

・ジェネラリストの方が自分にあっていると感じた。
・出世をしたい。
・色んな職種のスペシャリストと仕事をしたい。

大金さんは自分がどうなりたいかという理想、ビジョンがあったからこそチャンスを見逃さなかった。
だからチャレンジができた。

それに共感した僕は、計画を立てました。

自分の計画(ビジョン)

まず、エンジニアとして業務をこなして「論理的思考」と「シミュレーション能力」を鍛えていきます。

随時、人気を維持しているソーシャルゲームを遊んでみて、ターゲットは誰で、どのように解決したから売れたのかも考え「ターゲット定義/市場分析」「課題解決能力」を鍛えます。

なぜソーシャルゲームなのかというと、今アピリッツではスマホゲーム中心であり、電車でも手軽に分析できるためです。
そして、他職種の人たちと積極的にコミュニケーションをとっていくことを意識します。

2年後

2年ほどエンジニアとして業務をこなしていけば知識や技術、そして論理的思考やシミュレーション能力がレベルアップしているはずです。

それに加えてゲーム分析によって「ターゲット定義/市場分析」「課題解決能力」もレベルアップしていると思うので、それらを活かして意識をしながらカジュアルゲームを作っていき、さらに各能力を伸ばしていこうと考えています。

5年後

5年後には、 「論理的な思考」「シミュレーション能力」「ターゲット定義/市場分析」「課題解決能力」の4つはエンジニアとしての業務や、ゲーム分析とカジュアルゲーム制作によって身についていると思います。
そして、他職種の人たちとも積極的にコミュニケーションをとっていたことにより、信頼も得られているんじゃないかと思います。

これでチャレンジができる状態になったので、あとはチャンスを見逃さないようにディレクターへチェンジしていきます!

以上が、5年後にディレクターになるための僕の計画です。

最後に

業界を知ることで、その役割にはどんな能力が必要なのかが明確に見えてきます。
自分が欲しいと思った能力を持つ先輩達へ「どうやってそのスキルを会得したのか」などトレーニング方法を聞いて、計画を立てましょう!

そして、業界研究や先輩と話したことによって知り得たトレーニング方法を、みんなで共有できたらもっと高め合えるんじゃないかと思います。

目標は高く、みんなでレベルアップしていきましょう!!

親し気に話す伊藤氏と大金グループマネージャ

伊藤さんの5年後が楽しみですね!
アイコも目標定めて、先輩といっぱいお話します。

伊藤さんが尊敬する「大金さん」へ質問

大金さんは新人の頃、どんなことを意識していたんですか?

とにかくチャンスを逃さないようにすることは心がけていました。
多少難しい課題であっても、チャンスと感じたなら挑戦するようにしていたら視野が広がりました。

伊藤さんの発表でも出てきた3Cの実践ですね!
大金さんが次に目指すものを教えてください。

現在は部長という立場になったので、部に武器となる強みを作りたいと思っています。
方向性としてはゲーム単体で終わってしまうようなものではなく、ゲーム発でWebサービスにも流用できるようなものを作り、会社全体としてのシナジーを向上させたいです。

今注目されている「様々な要素をゲームの形にする」ゲーミフィケーションですね。
ぜひ次回、その取り組みについてインタビューをさせてください!
最後に新人たちへ一言いただけますか?

失敗を恐れずとにかく挑戦してほしい。
ただし同じ失敗は起こさない用に注意しながら。
出来る時に出来ることをするという観点からも、新人の頃が一番失敗をしやすい環境にあるので、そのチャンスを逃さないでほしいです。

新人に大金さんの印象を聞いて回りましたがとにかく優しいと評判でした。

自分の理想を明確にしている人はチャンスを見逃さない。
アイコも大金さんの様に、後輩から慕われる先輩になりたいです!

弊社では、成長に前向きな新人たちが伸び伸びと仕事ができるように、日々のコミュニケーションを大切にしています。
アピリッツが気になった方は コチラの採用情報 もチェックしてみてくださいね。

駆け出しプランナーからディレクターになるという目標を実現するために心がけていること (ゲームプランナー 高山 友貴さん)

ゲーム制作に携わっていれば、自分が考えたゲームを作りたいと思うのは当然のことだろう。常駐型の働き方をしながら、ゲームディレクターを目指す若手プランナーに、今心がけていることを聞いた。

■ 簡単に自己紹介をお願いします。

高山 友貴と申します。22歳です。ゲームプランナーをしています。

■ これまで携わってきたゲームタイトルについて教えて下さい。

最初は、アピリッツのブラウザゲーム式姫の庭で、プランナーのアルバイトとして携わらせていただきました。

そこで、一通りの仕事ができるようになり、正社員になると同時に他社常駐の働き方になりました。
初めて常駐したのは、有名IPのタップバトルRPGの案件でした。

その時の上司が、かなり仕事をまかせてくれる方で、少し戸惑ったときもあったのですが、結果として多くの業務経験を積むことができました。

■ なかなかない経験でしたね(笑)

そうですね。

ただ、先方の会社の業務整理の影響で、2ヶ月で契約終了になってしまいました。

その後、また別の会社に常駐することになりました。その会社が現在の常駐先なのですが、ここでは、マスターデータの反映、ゲームデータの作成、仕様書の作成、デザインの発注・監修、お知らせの作成、後輩の育成と多岐にわたって業務に携わらせてもらえました。

■ 後輩の育成をさせてもらえたのは、すごいですね!

そうなんです。
自分は若手の育成プロジェクトの一環での参画することになっていたんです。
その若手育成プロジェクトチームのリーダーを任せてもらえることになったんです。今では、自分を入れて8人のタイトル横断的なチームになっていて、そのメンバーのタスクマネジメントもさせていただいています。チーム運営業務についても、いろいろと経験させてもらえています。

※ 帰社懇親会のワークショップにて

■ 本当に幅広く経験させてもらえていますよね。何か特別な事をしていたりしたんですか?

実は、自分の夢を伝えるようにしていました。

自分には「20代後半にはディレクターになって、多くの人を動かしてゲームを作っていきたい」という夢があって、それを常駐先の方に伝えていたんです。

そうしたら、「まだ若いから、下準備として色々な経験をしないとね」と言われて。それで幅広い業務に携わらせてもらえるようになったんです。

だけど、最初はめちゃくちゃ厳しかったですね(笑)

「これ、今日までね」みたいなタスクが来たりして「もうちょっと早く言ってよー」みたいな(笑)ちゃんとやりましたけどね(笑)

■ 他にも意識していることはありますか?

常に大切にしているのは成長意欲です。

安定を求めず、常に色々な業務を身に着けようとする意欲が大切だと思っています。

スペシャリストではなく、ジェネラリストになるということが大切だと思っているので、とにかく幅広く様々な経験を積むことを常に意識していますね。

あとは、1回目にやるときよりも、2回目、3回目と業務を効率化させていくということを常に心がけるようにしています。

「1回目は2日間で終わったから2回目は1.5日でやってみよう」など、自分の中で目標を設定して業務に臨んでいます。常に100%以上のパフォーマンスを出していきたいと思っています。

■ そう思うきっかけが何かあったんですか?

そもそも自分の家族には、「お前なんかが、ゲーム業界になんて就職できないよ」って言われて、それが悔しくて。絶対成長してやろう、見せてやろうっていう気持ちになったんですよね。

だから、「俺ゲーム業界で働いてるぜ」って言いたくて。

例えば、ゲームのクレジットに自分の名前を載せてもらって、それを見せてやろうって。そういうのでギャフンといわせたいって思ってますね(笑)

その時に、常に成長していかないとなって思ったんですよね。

■ この前クレジットに載せてもらえましたよね!

そうなんです。2つの作品に載せていただきました。

本当に有難いですね(照)

■ 家族にはみせた?

みせました!スクショとってみせました!

でも、反応が薄かったんですよね〜(笑)
「もうちょっと良い反応をしてほしい」というのも自分のモチベーションになっています。

■ 自分の成長意欲を現場ではどうやって伝えているんですか?

「新しいことを学びたいです」というのは常に伝えるようにしています。

もし、上司とかが病気で倒れちゃったとして、会議とかで「誰かこの業務できる人いる?」って質問されたとき、周りの人が誰もできなくて「自分できます」って答えられたら、かっこいいじゃないですか!

そのためにも、常に「新しい業務ありませんか?」「仕事ください、あなたの仕事を楽にしますよ」と上長に伝えるようにしています。

■ アピリッツのサポートメンバーは高山さんにとってどんな存在ですか?

自分にとっては、お父さんやお母さんみたいな存在ですね。支えてもらっている、みたいな。困ったことがあったら相談できる存在です。気にしてもらえているな、というのを感じる機会は多いですね。

例えば、月に1回業務のヒアリングに来てくれるのですが、みんな笑顔だし(笑)

「将来どんな人になっていきたいの?」って常に目標をきいて聞いてくれたりするので、それが自分にとっての意識付けになっていますね。

あと、面白い方ばかりですね。

考え方鋭い方もいますし、同じことを聞いても色々な観点から意見がもらえたりするので、アドバイスが参考になることも多いです。

■ 常駐での仕事(正社員の派遣での仕事)ってどう思いますか?

個人的には、いろんな会社で、いろんなプロジェクトがあって、色々な経験をさせてもらえるという意味で、いい環境だと感じますね。

でも、個人的には、更新がくるかどうかは、毎回ドキドキしますね。更新が来ると「よかったぁ」って思います。

■ そこは毎回ドキドキするよね。サポートメンバーの私達も一緒に一喜一憂しています。
■ 高山さんの成長は、サポートメンバーも感じていますよ!

有難いですね!

■ その成長の背景に、こんな事を考えていたんだなと、知るきっかけになりました。インタビューありがとうございました。

ザ・インターネットカンパニー アピリッツ爆誕!経営幹部合宿 in 軽井沢

0

アピリッツでは普段の日常的なMTGで話し合いできない中長期の経営戦略について話し合うため、定期的に社長、執行役員、部長、次期部長候補などを集めて経営幹部合宿を行っています。今年の冬は軽井沢に行ってきました!今回はその経営幹部合宿の様子について紹介したいと思います。

合宿の目的とテーマ

今回の合宿の目的としては、日常業務から離れ会社の戦略や将来のことを考え、経営幹部の方向性を共有すること、また、次期幹部層の育成などです。今回のテーマは「会社のビジョンを再定義しよう」ということで、

1.当社のビジョン、ミッション、バリューの再定義

2.我々の誇り、当社の存在意義

3.社内外に対しての見せ方、方法

4.全ての事業、サービス、製品が向かうべき先のゴール

1~4について各自、事前に勉強し、考えを纏めて合宿に参加しました。

いざ合宿へ!

さて、合宿のスケジュールはこんな感じです。16時軽井沢駅集合。ヴィラに集まってみんなで宴会。翌日は朝から1日MTGをして夜自由解散。次の日が土曜日だったため2泊して次の日スキーやスノーボードを楽しむ方々も!

ヴィラに到着すると玄関の標識が社長の苗字である「和田」になっている…!!(笑)

ちなみに今回の宿泊場所でもありMTG会場でもあり宴会会場でもあるヴィラの中の様子はこちら!

リビングの吹き抜けの天井が開放的なメゾネット(2階建て)タイプ。部屋が3部屋ついていて部屋ごとにお風呂とトイレがついていました。テラスハウスを超えてくる豪華さです。。

ということで、和田家にお邪魔してまずは宴会からスタートです!

社長自らお肉を持参してくださり、焼肉が始まりました!

お肉って自然と人を笑顔にしますよねっ!!皆さんテンションも上がり大満足そうでした!軽井沢ビールやワインと一緒に美味しくいただいた後、みんなで温泉に入って1日目が終了しました。

2日目、合宿の本題であるMTGが朝から開始されました!

こういう会社であってほしいという願望、外のWebサイトに載せるミッション、ビジョン、行動指針、当社が社会に与える普遍的価値などについて、お昼休憩も交え夕方まで話し合いました。

どうやって、ビジョンを再定義しよう?と色々テーマを決めて話し合いましたが途中、ビジョンというと、ビジョンが先かミッションが先か、パーパス(存在意義)のがわかりやすい?….など、そもそも何を決めるのかも揺れた感じでしたが、Webに掲載する標語を創ろうと意見をまとめ、結論を出しました。

今回話し合って出た結論について

長い時間をかけ、紆余曲折しながら決まったアピリッツの標語は…

「ザ・インターネットカンパニー 〜セカイの人々に愛されるインターネットサービスをつくり続ける〜」

今後、社内の方針発表会で共有し、毎月の全社会でも共有し、周知させていくことになりました。また、名刺にも入れることになりました。

ちなみに、日本人的に「ジ」より「ザ」の方がしっくりくる、という意味も踏まえて本来の英語の発音とは変えています。アピリッツでは様々なインターネットサービスを扱っており、インターネットサービスといえばアピリッツという会社を目指していこうという方向性を示す意味でも、まさに当社にぴったりな一言だと思います!

また、副題の方の「セカイ」は、単なるグローバルという意味での「世界」ではなく、バーチャルやコミュニティという意味合いも入れたいと思いを込めて、カタカナで「セカイ」と表記することになりました。

そして行動指針はこれまでの「3C:Challenge、Chance、Change」をあらためて踏襲していくことに決定しました。

最後に記念撮影!

今回の合宿を通じて、チームワークが強化され、改めて会社の目指す方向性などが確認できたと思います。

また、日頃の視点からは見えない気づきも得て、得るものが多い合宿となりました!みなさんお疲れさまでした!


ActionCable実装しようwith webpack

0

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

Action Cableをイケてる構成のrailsで使いこなそう

ActionCable 使ってますか?

Rails5以降から導入されたActionCable
公式ドキュメントではチャットの実装などで使われていますが、色々な使い方ができそうです
sidekiqに投げた処理の結果を非同期で受信するとか

執筆時点では世の中に知見が多くなかったので実装体験記を残します

導入

rails g channel hoge_channelでActionCable導入に必要なアレコレが生成されるよ
ただしcoffee scriptだしSprocketsのアセットパイプラインに乗る形でフロントのスクリプトが吐き出される
(Rails5.2の場合)

うちの案件はwebpack導入してるしcoffe scriptなんて書いた事無い
そんな場合は下記コマンドでライブラリを導入しましょう

yarn add actioncable
または
npm install actioncable

そしてベースとなるcable.jsはこんな感じに
自分はapp/javascripts/channelsディレクトリに設置しました

# app/javascripts/channels/cable.js

import cable from “actioncable”;

let consumer;

function createChannel(...args) {
  if (!consumer) {
    consumer = cable.createConsumer();
  }
  return consumer.subscriptions.create(...args);
}

export default createChannel;

各チャンネルのjsはこんな感じ

# app/javascripts/channels/test_channel.js
import createChannel from “./cable”;    //cable.jsのパスは適宜変更してください
$(function(){
  const channel = createChannel(“TestChannel”, {
    received(message) {
      alert(mesage); # この辺に受信時の処理を色々書く、今回は受信したものを取り敢えずブラウザにアラートとして表示する
    }
  });

  // rubyのactioncableで実装した処理を()呼ぶ
  function method_name(message) {
     channel.perform(“method_name”, { message });
  }
});

ruby側の実装は公式ドキュメントで紹介されている実装から特に変更点はないです

設定

よ~し取り敢えず検証用にデータを受信したらブラウザのアラートに出す機能作ったので動かしてみるか~
おや…動かん…エラーが出てるな

設定に不足がある場合はブラウザのデバッグコンソールに下記のようなエラーが表示されます

WebSocket handshake: unexpected response code: 502

または

WebSocket connection to 'wss://example.com' failed: WebSocket is 'test channel~js'
closed before the connection is estrablished.

色々な記事にdockerで動かしている場合は専用のコンテナ建てろみたいなことを書いていましたが検証の結果不要でした
自分の場合 config.reload_classes_only_on_change が false になっていました
windiwsで開発していた時に変更がホットリロードされなかったのでここの設定弄ったのですがaction_cableの挙動にかかわるようです

その他設定

config/cable.yml でdevelop環境もredisを使用する

development:
  adapter: redis
  url: redis://10.10.3.153:6381 => 方法は自由ですがsidekiqやセッション情報とは異なるURLになるように工夫しましょう
  channel_prefix: appname_development

test:
  adapter: async

production:
  adapter: redis
  url: redis://10.10.3.153:6381
  channel_prefix: appname_production
config/environment/production.rbで自分ドメインからのリクエストを許可する

config.action_cable.allowed_request_origins = ['https://rubyonrails.com', %r{http://ruby.*}]
config/application.rb でrailsアプリケーション上にマウントするパスを指定する

class Application < Rails::Application
  config.action_cable.mount_path = '/websocket'
end 

config/routes.rbにマウントするパスを指定する方法を紹介する記事も見かけましたがたぶんこっちの方が良いと思います
viewファイルのヘッダーに<%= csrf_meta_tags %>を記載する

その他開発環境の設定や本番サーバーの構成によって何かしらの設定が必要になる場合があります
nginxのconfigファイルにリクエストヘッダーの設定書くとか…

うまくAction Cableが動けばRailsコンソール立ち上げて用意したchannelクラスのメソッドを呼んでみるなりなんなりすれば動くはずです
パターンが膨大すぎて個別の症状に応じて苦戦するのはなんだかインフラエンジニアっぽい感じでした
つまりググっても出てこないエラーとの戦いが結構大変だった

この頃のプルリクに対するレビュー

0

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

What is the difference between pull request and merge request?

自分がされたり、自分がしたり

そのクエリ参照する変数宣言、一定の時しか必要ないよね?

def create_current_banner_info(user,  now = Time.now)
  user_items = user.items.pluck(:item_code, :quantity).to_h
  BannerMaster.holdings(now).each_with_object([]) do |banner, res|
  if banner.user_condition_need?
    case banner.condition_type
    when :fulfill_item
      next unless user_items[banner.neccesary_item_code].to_i >= banner.nessesary_quantity
    when ...
      ...
    end
  end
  res << banner.as_json(:code, :banner_type, :banner_icon, ...)
end

アイテムを保持しているかで表示するかを分けるバナーって複数あったりもするだろうけど、いつもある訳じゃないよね?
だったら一番上のuser_itemsはnilで宣言しちゃって、 when :fulfill_item の中に入ったところで||=で宣言すれば無駄ないと思うよ。
いやそれよりも、もっと良い方法あるな。
そもそもさ、複数あるって言っても、pluckして必要なデータの取得を最低限にしてると言ってもさ、全部のアイテム参照してるのかなり無駄じゃん。
バナーを表示するかとレスポンス作っているところを一緒くたにしないでさ、先にアイテムが必要なバナーだけを抽出してしまえば、その参照すべきアイテムコード群を取れるよね。そうすれば本当に必要最低限しか取らずに済むよ。
で、今すぐマージ必要? 必要じゃないか、分かった。じゃあお願いします。

先にグルーピングしましょう

def past_events_user_data(user, now = Time.now)
  events = EventMaster.ended(now)
  user_events = user.user_events.where(event_code: events.pluck(:code))
  events.map do |event|
    user_event = user_events.find{ |user_event| user_event.event_code == event.code}
    create_past_event_response(event, user_event)
  end
end

ソースコードの重みってクエリ参照が一番でかいけど、コード自体の重みも結構馬鹿にならないんだよ。
ここだと、eventsの数だけfindの線形探索が走っちゃうから計算量がO(n2 ) であんまりよろしくない。
なのでuser_eventsを参照しているところで、index_by(&:event_code)をしておけば、後のfindを消せて、user_event = user_events[event.code] と綺麗に済ませられる。ハッシュ検索はO(1)だから、これなら計算量をO(n)まで落とせた。

混乱するかも

def lottery_apple(user, event_code, index)
  user_received_apples = user.user_apples.where.not(received_at: nil).where(event_code: event_code, apple_index: index)
  AppleMaster.lottery_no_duplicate(event_code, index, user_received_apples)
end

...

def lottery_orange(user, event_code, index)
  user_received_oranges = user.user_oranges.where.not(received_at: nil).where(event_code: event_code, orange_index: index)
  OrangeMaster.lottery_no_duplicate(event_code, index, user_received_oranges)
end

……あ、これ上のコードのindexと下のコードのindexの意味合い違うのね。
同じファイル内にあるソースならちゃんと変数名変えておいた方が良いと思うよ。

消すよりコメントアウトの方が時には良い

enum 1,  :new
enum 2,  :intensive
enum 3,  :course
enum 4,  :obliteration
enum 5,  :lenthal
enum 6,  :environmental
enum 8,  :search
enum 10, :end
enum 11, :alternate
enum 12, :dead_s

これ、7と9が抜けたの後から見たら理由が良く分からないしログ追うハメになるから、コメントアウトの方が良いかな。

後置ifはほどほどに

return long_method(argument1, argument2) unless too_long_long_methooooooooooooooooooooooood?(argument3, argument4)

流石にこれだと長いから、後置ifじゃなくて普通にif~endで囲もうか。その方が直感的な理解が早い。
というかrubocop怒られなかった? ……あら、無いのか。
付けようとすると……あー、駄目だ、案の定たっぷり出たわ出たわ。
issue化しておこうか(そして誰もやらない)。

最近人気な記事