iOSDC2019 にブース出展してきました

こんにちは。freee のモバイルチームでiOSエンジニアをしている金子です。

先日9/5〜9/7に開催されたiOSDC Japan 2019に freeeブースを出展させていただきました。iOSDCはiOS関連技術をコアのテーマとした技術者のためのカンファレンスです。 会場の写真

私は田舎出身でこういうイベントは初参加 && 今年19新卒でiOSエンジニアになったということもあり、非常に楽しみにしておりました。

 

こちらの写真はfreeeのブースの様子です。
今年は弊社モバイルチームから8名と運営スタッフが3名、計11名が参加するという力の入れっぷり。
恒例になりつつある「freeeキーキャップ」「確定申告ガイド」を配布していました。(自作キーボードが目立ちすぎて「キーボードの会社ですか?」と聞かれることもちらほら😅)
もちろんプロダクトである会計や人事労務・確定申告サービスについてもしっかり説明しました👍 ブースの写真。机の上に確定申告ガイドやキーボードやステッカーが置かれている

他にも、freee ブースでは会計ソフトをつくっている企業らしく、「副業」「確定申告」についてアンケートをとってみました。
結果はこんな感じ。

副業している/していないのアンケート。スケッチブックにシールを貼ってもらった確定申告したことある/ないのアンケート。スケッチブックにシールを貼ってもらった

副業している人が54人に対し、していない人が80人。また、確定申告したことある人が66人に対し、したことない人が65人。freee ブースに訪れる人に聞いただけあって、どちらも僕が想像していたより多くの人が経験しているようでした。

中には「今年初めて確定申告するので確定申告ガイドを貰いに来ました!」という方や「昔やったけど難しかった」という方もいて、やはり確定申告の何やったらいいかわからん感がうかがえました。
改めて、バックオフィス業務をカンタンにするサービスの重要性を感じました😲

ちなみに、PDF版の確定申告ガイドは ↓ からダウンロードできますので、ぜひご活用ください。

また、freeeは昨年のiOSDCやtry!Swiftにもブース出展しました。そちらのレポートにも興味があれば合わせて御覧ください。

developers.freee.co.jp developers.freee.co.jp

弊社の他にも20企業ほどブース出展していて、どの企業も面白そうな展示をしていました。
「このアプリ使ったことある!」「この機能の実装はどうやってるんですか?」「うちもそのツール使ってます!」など興奮気味にすべてのブースを回り、他社の社員さんたちといろんな話をさせていただきました。
その中でも熱かった話題として、Swift化ダークモードマーケ手法などがありました。意外にも Sign in with Apple の話は聞きませんでした🤔
それと、同時にたくさんのノベルティを頂きました笑。ありがとうございます。 ノベルティいっぱい。ステッカーやトートバッグなど。 個人的なイチオシノベルティとして、plist下敷きやlldbチートシートなどiOSイベントらしいノベルティがありました。
弊社も今度はモバイルエンジニアに刺さるようなノベルティを作れたらいいなと考えています😏

 

セッション

ブース運営は他の人に任せて、モバイルエンジニア衆はセッション巡りをしてました。

iOSDCのセッションでは、WWDCで注目されたダークモードやリアクティブプログラミング、SwiftUIといったものから、BLEやカメラなどの根本技術、またテストやAWSといった周辺技術、さらには圏論、ゲームボーイ、宇宙など幅広いジャンルがありました。

ここでは私が興味を持ったセッションをいくつか紹介したいと思います。

 

今こそwatchOS

学生時代に読んだあの本の著者だ!と思いながら堤修一さんのセッションに参加しました。数年前に個人でAppleWatchアプリを開発していた経験もあったので、非常に楽しみにしていました。 セッションの様子

speakerdeck.com

このセッションの内容は、数年前は貧弱だったwatchOS開発が今ではこんなにやりやすくなってるよ!というものでした。
ここ数年でApple Watchの処理速度は何倍にもなり、音声関連やBluetooth通信、機械学習などのフレームワークも強化されているそうです。
また、今年のApple Special Eventでは画面常時点灯の Apple Watch Series 5が発表されましたね。
Apple Watchのアプリ開発を再度触ってみようという気持ちになりました。

 

iOS12以下でDark Modeに対応した地獄の話

Dark Modeとは、暗い背景色に明るい文字色にすることで目に優しいカラーリングの画面表示になるという設定のことです。iOS13から公式にDark Modeが導入されるということで今話題のテーマとなっています。
freeeでもDark Modeにどう対応していくのか最近頻繁に議論されているので、関心度が高い状態で拝聴しました。
このセッションでは、Dark Mode対応にあたり細かい修正を地道に行っていく様子が見て取れました。各パーツや画像に対して通常時とDark Mode時の分岐をそれぞれ設定したということで、、、
うちのアプリのDark Mode対応作業を考えるだけでも気が遠くなりそうです。

スライド29枚目。UIに使用されている画像もダークモードへの対応が必要だった。 speakerdeck.com

iOS 12以下でDark Modeに対応した地獄の話 #iosdc #a #b/dark_mode_iosdc_2019 - Speaker Deck

 

令和時代のゲームボーイ開発

個人的にゲーマーとして大注目だったのがこの発表です。
このセッションは、ゲームボーイのプログラミングの話から、それを現代のツールで管理し、カセット(久しぶりにカセットって言った笑)に書き込んで実機で動かすという非常に濃い内容でした。
下の画像は、ゲームボーイでドットをどうやって16進数に変換するかという話と、dockerやGithubなどで開発環境やソースコードを管理するという話です。

スライド16枚目。4階調モノクロ画像の一部を16進数で表現するスライド25枚目。dockerやGithubを駆使してゲームボーイのソフトを開発する

speakerdeck.com

👾 令和時代のゲームボーイ開発 - Speaker Deck

最強装備で敵に挑む感があって、スッキリ楽しめた発表でした。

 

他にもいろんなセッションに行ってみて、触ったことのない知識も聞くことができて触発されました! 来年は登壇できるように頑張ります💪

 

3行サマリ

  • 日本最大規模のiOSイベントであるiOSDCに参加してブース出展してきた。
  • ノベルティはイベント関連のテックなものだとエンジニアの注目度高い。
  • いろんなトークや技術に触発されて、もっと頑張っていこうと思った!

 

最後に

9月20日に freee Tech Night #4 「若Tech Night」を開催します。freeeの新卒・若手エンジニアがどんな活躍をしているのか、ぜひ聞きにきてください!

freee-tech-night.connpass.com

そして freee ではモバイルエンジニアを募集中です。 新卒から見てもいい会社だと思うので、ご興味がある方は是非一度弊社に遊びにいらしてください! jobs.freee.co.jp

ヤフー黒帯から、体験入社を経てfreeeへ ー テスト自動化エンジニア・山口インタビュー

こんにちは、freee採用チームの西木です。

今回は、freeeで働く個性豊かなエンジニアを紹介する企画の第三弾です。 ということで、ヤフー時代ではテスト自動化領域で黒帯となり、freeeでもテスト自動化に取り組むエンジニア・山口さんに話を聞いてみました。

*第一弾(AWS Container Heroに就任したSREエンジニア・九岡

*第二弾(決算申告チームに所属する新進気鋭のエンジニア、ハミルトン

f:id:nfreee:20190828184910j:plain

プロフィール

山口 鉄平(Yamaguchi Teppei)

大学院卒業後、日立製作所の研究者となりアジャイル開発と出会う。コミュニティ経由でヤフーへ。そこでアジャイルコーチ、テストコーチおよびそのマネージャ、テスト自動化黒帯などを経てfreeeにジョイン。趣味はスキー。

ー経歴をもう少し聞かせてください。

新卒で日立製作所に入社し、研究部門でソフトウェア開発の研究をしていました。その中でアジャイル開発に出会ったんです。僕自身、もともとプロトタイプのプログラマとして入ったので、自分が上手くなるためにアジャイル開発を研究しはじめました。 でも所属が主に組み込み機器の研究開発部門で、組織の大きさやプロダクトのサイクルなどもあって本格的にアジャイル開発を行うにはハードルが高かった。ちょうどその時、アジャイルのコミュニティ経由でお誘いが来て、ヤフーに移りました。

ー職種は何になるんですか?

最近使われている言葉ですと、SET( Software Engineer in Test )ですね。簡単に言うと、テスト自動化エンジニア。プロダクトやサービスを作ったとき動作確認や不具合探索のためのテストを行いますが、なるべく自動でできるようにプログラムを作っています。実はせっかく何かを作っても、テストがボトルネックになりスムーズにリリースできないことが多いんです。なるべくそれをなくせるように。 ただ、個人的にはテストを自動化するだけではボトルネックが移動して改善の限界を迎えてしまうので、開発全体のバランスを見ながらプロダクトの品質向上させるための活動をしています。なので、名刺などでは Software Engineer in Quality と名乗ったりしています。

ー具体的にはどんなことを?

直近は、サービス開発のチーム全体がソフトウェアのテストを自動的にできるようにするのが仕事です。それに向けて、チームが効果的なテストを考えられるようにしたり、チームが自動テストスクリプトを作れるようにトレーニングしたり、自動テストスクリプトを作りやすくする技術やツール開発に取り組んでいます。

f:id:nfreee:20190828184938j:plain

ーfreeeはどこで知りましたか?

個人事業としてベンチャー企業や財団法人などでのコンサルティングや開発業、教育業などをしているんですけど、開業の時に知りました。開業届に関してはわからないことが多かったのですが、開業freeeを使うことで簡単に開業届や青色申告承認申請書を作ることができましたね。そのまま確定申告のために、会計freeeユーザーになりました。

ーそれからfreee入社までの経緯は?

もともと他社の開発環境について興味がありました。ちょうどその時に以前からの友人がfreeeに入社し、仕事を楽しそうにしていたので気になってたんです。そこで僕の方から個人事業の一つとして仕事をさせて貰えないか聞いてみようと、面接に来ました。中長期を希望していたんですけど、なんか喋ってるうちに体験入社で1ヶ月になりました。短い!と思いました(笑)

ー体験入社期間にはどんなことを?

自動テストに期待されているのはわかっていたので、freee内での自動テストの仕組みを直したり拡張したりしました。

ー体験入社して良かったことは?

知りたかったことを知れたことですね。freeeで良いとされる基本的な考え方や日々の仕事へのブレイクダウン、目標の決まり方や評価のされ方、周囲とのコミュニケーションなどなど、自分視点でfreeeを理解できたのがよかったと思います。

思ってた通りの部分でいうと、積極的にみんなが動くのはその通りだと思いましたね。 思ってたのとはちょっと違う部分では、物事の決まり方はふわっとしてると思いました。リソースが色々ないので、これはやる、これはやらないというのが明確に決まりすぎてなかった。そこをどうにかするために価値基準があるんだな〜と。

あと、体験入社をすることでお互いのミスマッチが避けられるのはいいですね。僕自身も無理に採用して欲しいとは思ってなくて。リファラルで入った以上、入ったけどパフォーマンス良くないってなると気まずいじゃないですか(笑)そういうのがなくなるのはすごくいいと思いました。

f:id:nfreee:20190828185018j:plain

ーfreeeでやっていきたいことを教えてください。

freeeの開発について、あえて厳しい言い方をすると、頑張ってるなって感じなんです。すごい速度でやってるのは良いんですけど、まだまだ先は長い。現状ではサービスの機能拡大に関する、自動テストの増加量が追いついてないんですよ。

そこで課題に思っているのは、テストの開発がQA側にあること。これが問題で、やっぱりコードを書くプログラマによる自動テストを基本線として、ビジネスを作ってるPMもテストコードを書けるのが理想ですね。作ってるプロダクトに対して書くので、作ってるプロダクトを一番知っている人が、一番いいテストを書けると思います。そのための基盤を作っていくのが、これからの僕の仕事ですね。

ーテスト分野はこれからどうなっていくと思いますか?

ソフトウェア化の拡大やリリース回数の増大によって、ソフトウェアテストの量や種類のニーズはこれからも増えていきます。手動でのカバーは限界がくるので自動テストが増えると思うんですけど、そのための技術開発は企業の競争力の源泉の一つになり得ると思います。

開発者の立場からすると、テストをしないと早くプロダクトが作れないのが今の世の中になってきているので、それにマッチしたテストの形が今後生まれると思います。いい道具、特に最近はモバイルアプリの自動テストが進化して開発者が使いやすくなってきていますね。使いこなせるようになると、より良いものづくりができるようになると思います。

QAの立場からすると、より早い開発を目指すため、チーム全体でのテストやQAやそのためにチームに溶け込んでいくことが増えると思います。また、テスト対象としてプロダクトがあってとにかくテストをするという今の形はおそらく変わってくると思います。こうなると、今のスキルだけじゃ足りなくて、開発者とコミュニケーションを取りながら必要な部分だけをピンポイントで狙い撃ちするようなスキルが生まれるはず。そういう人が生まれてくる必要があるし、そう考えると面白いですね。

f:id:nfreee:20190828185101j:plain

GopherCon 2019 に参加してきました

こんにちは。
人事労務フリーエンジニアの @hatajoe です。

今年の4月から freee 大阪支社 にて働いています。
freee 大阪は去年立ち上がったチームで、社内ではタコヤキチームと呼ばれ親しまれています。きっと。雰囲気緩めのおじさんが集まる良いチームです。

私の好きなプログラミング言語は Go で、関西で Go の話が出来る場が欲しいという素直な理由から趣味で umeda.go というコミュニティの運営を続けています。ですから、世界最大の Go コミュニティである GopherCon への参加は、いつか実現出来ると良いなと思っていました。
有り難いことに、その機会は思ったよりも早く訪れました。入社して2ヶ月ほどしたある日、ジャーマネ(freee ではマネージャーをこう呼ぶ)から行きたいかと聞かれ、英語わからんけど行きたいと答えた。本当にそれだけでした。その時はまさか自分1人で行くことになるとは思っていませんでした。私は過去に海外渡航経験が無い。

GopherCon メイン会場の写真
GopherCon のメイン会場。来場者数は1800人くらいだったそうですよ。

それからは不安と期待の入り交じる日々でした。
Go は好きだ。しかし英語はわからない。行ったところで成果を持ち帰れるだろうか?他の参加者にお前何しに来てん、と思われないだろうか? freee には多くの優秀な Gopher が在籍していて僕でええの?一旦それでええの?ところで国際線ってどうやって乗るのだろう。てかパスポート持ってへんやん。やっぱやめよ。せややめたろ。いやそれはあかんで。それはあかん。せやかて。

そういった状況の中、私は精神を安定させるために英語を勉強することにしました。
思い切ってコーチングを利用し1日3時間のカリキュラムを1ヶ月こなしました。普段のツイートも英語で書いてみたりしました。このようにして精神の安定を獲得しようとしました。 これらの淡い努力は残念ながら思ったほどの効果はありませんでした。もちろん、コーチングによる継続的に勉強する習慣がついたことは良かったですし、現在も英語の勉強は続けられています。いずれにしても、90時間かそこらの勉強で言語能力は向上しない。

さて、肝心の GopherCon ですが、そんな海外渡航経験が一度もなく英語も得意ではない私が、単独で参加して得られた経験について書いてみようと思います。
セッションの内容については、私がここに書くよりも Sourcegraph など見て頂く方がより良いと思います。

カンファレンスはディスカッションの場

会場のホテルエントランスに施された Go 関連の装飾の写真
会場のホテルは Go 関係の装飾が至るところに。

私は umeda.go というコミュニティの運営を続けていることを紹介しました。
年4回のペースで開催しているこの勉強会は、毎回様々な Gopher が何かを発表し、参加者はそれを聞くというスタイルです。
GopherCon に参加して気づいたのは、参加者同士、参加者とスピーカー同士のコミュニケーションが発生しやすいタイムスケジュールを意識しているということです。
空いた時間でディスカッションが自然発生しており、これはとても体験が良い。私は英語が流暢に話せないことでこんなに悔しい思いをしたことがない。しかしそれでも体験は良かったです。

私が他の参加者としたディスカッションの内容は例えば:

  • いつもどんなところで Go 使ってるの?
  • Generics についてどう思う?
  • 普段は何を開発しているの?

とかそういう感じです。ディスカッションというか、世間話みたいなものですが、私の英語力ではこれくらいが限界でした。
運が良かっただけかもしれないですが、私が出会った方々は皆私の英語を一生懸命聞いてくれました。他の参加者に比べて恐らく圧倒的にディスカッションの分量が劣るものの、少しでも参加出来たという成功体験が得られました。

思い切って行動すると良い

ウェルカムパーティが開催された空母の写真
2日目に行われた空母の上でのウェルカムパーティ。戦闘機とか並んでました。

先の成功体験が積み上がると、コミュニケーションのハードルは少しずつ下がっていきました。しかし、それでも自分の言いたいことを英語で言えないのでうまくは行きません。これは能力の問題なのでどうしようもない。どうしようもないのでとりあえず話しかけてから考えようと思うようになりました。特にランチタイムはフリースペースに相席で座るため、危機<イングリッシュインシデント>が発生しやすい。まったくうまく会話にならないこともありましたが、皆さんなんとなく察してくれました。

あるセッションでふと隣を見ると、知っている人が座っていました。Russ Cox 氏でした。
気づいてからというもの、私は失礼ながらそのセッションは聞かず何を質問するかをずっとラップトップに打ち込んでいました。エレベーターピッチはこういう感じかと思いながら。
そして、セッションが終わって思い切って声を掛けてみました。

  • 私「さっきのトーク面白かったです。」
  • 彼「ありがとう!」
  • 私「Go2はこれまで同様実験とシンプル化を繰り返して開発していくと言っていたけど、今後もそのスタイルを変えることはない?」
  • 彼「そうだね。」
  • 私「それはGoチームのメンバー全員がそう思ってやっているの?」
  • 彼「そうだよ。理にかなっているからね。」
  • 私「ありがとう。日本から来ました。初めまして!」
  • 彼「初めまして!ありがとう!」

もっと本質的な質問は無かったのかと思うのですが、この時の限界でした。
ちなみに、Russ Cox氏が隣に座っていたのは、会場の一番前に位置するスピーカーオンリーの席に私が気づかず座ってたからなんですよねマジで。隣見たら彼が座っていて、なんで?って思った。むしろお前がなんでおんねん事案。でも話しかけたらすごく気さくな方でした。握手もしてくれました。ウェルカムパーティでは写真も撮ってくれました。スピーカー席に座って偉そうな質問してひどい日本人だけど。

しかしこれらのことが、帰国後の自身のコミュニケーション観に大きく影響を与えたと思います。
私は freee に入社して間もないという理由でしばしば様子を伺いつつ行動するようなテイタラクでありましたが、そんなものは関係がない。自ら飛び込んでいかないと何も変わらないし変えられないやんという気持ちになりました。


Slackに連携されたツイートが流れる図
何者かによって知らぬ間にTwitterアカウントがいつものSlackチャンネルに連携される図。ツイートで英語の練習をしていたことがバレてやっちまった感があった。しかしそこには心強さがあった。時差は16時間あった。

今回のカンファレンステーマ全体の俯瞰としては「標準化」と「パフォーマンス」が印象的でした。
Uber も GitHub も、人が増えてカオスになってきた開発に秩序をもたらすために、ソフトウェアアーキテクチャーや開発プロセスを標準化する過程で Go を選択してきたという背景が語られました。これは freee においても当てはまり、マイクロサービス基盤 の開発をすることで標準化を進めていたりします。また、標準化に対して gRPC の特性がマッチすることも Go を選択する1つの理由になっているのかなと思いました。
また、パフォーマンステーマは常に語られますが、今回は特に goroutine 数を最適化するという、いわばランタイムの敗北のようなテーマもいくつかありました。巨大なサービスに Go が採用され数年経ち、知見が成熟して来ているような雰囲気を感じました。

渡航前に抱いていた不安とは裏腹に、帰国後は本当に行ってよかったと思える旅になりました。
今は、英語力をもっと鍛えて色々な人とディスカッションしたいと強く思っています。来年チャンスがあれば是非再び参加したい。 もしこれを読んで頂いた方で、英語力や得体のしれない恐怖により躊躇してしまった方が居たら、多分大丈夫だから行ってみると良いよと言いたい。

freee ではチャレンジ精神旺盛なエンジニアを募集しています。もちろん大阪支社も募集中です。カジュアル面談も受け付けているので、興味がある方は遊びに来て下さいね。

jobs.freee.co.jp

国内最大級デジタル情報アクセシビリティカンファレンス「Japan Accessibility Conference vol.2」に登壇してきた

f:id:ryo_abe:20190720164412j:plain
Japan Accessibility Conference vol.2 に登壇するfreeeのメンバー(©noblejasper

こんにちは、freeeでiOSアプリ開発をしているabeです。

2019年7月20日にAbema Towersで開催された Japan Accessibility Conference digital information vol.2 (以下、JAC)に、freeeのアクセシビリティーおじさん達(nakaneさん, ymrlさん, melonさん, abe)で登壇してきました。 (iharaさん、nobjasさんは運営スタッフとして参加)

japan-a11y-conf.com

prtimes.jp

Japan Accessibility Conference(JAC)とは

Japan Accessibility Conference vol.2 のメイン画像

JACは、アクセシビリティに関わっている人やコミュニティにスポットライトをあてたいという思いから、企業内でアクセシビリティに関わっている人などの有志によって運営されているイベントです。 日本におけるアクセシビリティの盛り上がりを可視化する目的で、2017年11月に開催された第一回目に続き、二回目となる今回は、「デジタルインフォメーション」をテーマに、デジタルアクセシビリティに軸をおいた会となりました。

【イベントレポート】日本最大級のアクセシビリティイベント「Japan Accessibility Conference - digital information」開催|freeeのプレスリリース

日本最大級のアクセシビリティーイベントとのことで、当日は約300名が来場され、日頃企業内でアクセシビリティーにまつわる活動に取り組れている方々の話や障がい者当事者の話など、24名のスピーカーによる14のセッション がありました。 freeeは前回のvol.1に引き続きスポンサー もさせていただきました。

(前回の様子) developers.freee.co.jp

freeeはこんなことを話してきました

nakaneさんがファシリテーターをしている様子
nakaneさんがファシリテーターをしている様子(©noblejasper

freeeでは全盲エンジニアがiOS/Android/WebUIエンジニアにダメ出しした結果と題し、nakaneさん: ファシリテーター、パネラー: ymrlさん/melonさん/abeで、日頃のアクセシビリティー対応を進める過程でnakaneさんから受けたフィードバックや、それぞれのエンジニアのアクセシビリティーにかける思いなどをパネルディスカッション形式で話してきました。

www.youtube.com

スライド

(以下、各テーマごとにパネルディスカッションの内容)

これまでどんなフィードバックが(nakaneさんから)ありましたか?

  • ymrl(WebUI)
    • アイコンに代替テキストがセットされていないためスクリーンリーダーで読み上げられない(社内用語:「虚空を探る」
    • フィードバック:「チェックボックスがある(らしい)んだけど読み上げられない。スタイルの問題かな?」
    • スタイルシートでチェックボックスの幅を0にして、独自のチェックボックスを実装するテクニックがある
    • だが、NVDAでは幅0のチェックボックスを読み上げらなくなるということにnakaneさんからのフィードバックで気がついた
  • abe(iOS)
    • フィードバック:「iOSの人事労務アプリで半休って取れないの?まだ未実装なのかな?」
    • 半休の機能は実装されており、VoiceOverも対応済みだった
    • セルをタップすると半休や出勤などの勤怠の種類を選べるセレクトボックスが表示されるのだが、タップできることにnakaneさんは気づけず、その機能がないと思ったとのこと
    • (後日談だが、そのセルがタップできることはaccessibilityHintというヒントを使って読み上げられていたが、nakaneさんはヒントをoffにしていたため読み上げられていなかったことが判明した。とはいえ、セルのタイトルがデフォルトで「出勤」となっていためボタンと認識しにくかったのが原因とも言える)
  • melon(Android)
    • フィードバック:「Androidの人事労務アプリが全然読み上げられないみたいなんだけど、なんでだろ??」
    • 読み上げは正しくできていたが、読み上げるまでに1秒ほどかかっていたため読み飛ばしてしまっていた
    • 読み上げる文字量が多いと読み上げるまでに時間がかかる模様。読み上げる文字量をバラして調整した

開発の中でアクセシビリティーを意識するようになったのはいつ頃からですか?

パネルディスカションで melon さんが話している様子
パネルディスカションでmelonさんが話している様子(©noblejasper

  • melon(Android)
    • 去年の夏ころにAndroidの人事労務freeeのTalkBack対応を初めたのがきっかけ
    • それまで意識したことがなかったためそんな世界があるのかとハッとした
  • abe(iOS)
    • アクセシビリティーはお金がある海外の企業が取り組むものだと思い込んでいた
    • iharaさんやnakaneさんがjoinされたことがきっかけに
    • 調べてみると情報量が少なかったため、自分が情報を発信していくと界隈で目立てそうだなと思った
  • ymrl(WebUI)
    • freeeに入った5年半前から出来ることは取り組んでいた
    • ただ、「手を加えることでどれくらいのことが出来るようになるのか」や「やれていないとどれくらいの人が困るのか」といった実感はなかった
    • そのため気になるところにaria-labelを差し込んでみたりなどはしていたが、周りに強くやろうよと言ってこなかった
    • そんな中、nakaneさんが入社される前にダメ出し会をやってもらった際に、「ここがダメだとこれが出来ないのか」、「ここが出来てるからここが使えてるのか」といったことが見えてきて、そこから急激にちゃんとやらんとあかんと思い始めた
  • nakane
    • やはり近くに当事者がいるというのは影響が大きいと言えそうです
    • 当事者は使えないというフィードバックだけでなく、ここは使えてるよというフィードバックも大事そうですね

アクセシビリティーを意識した開発に必要な情報はどのように集めていますか?

  • ymrl(WebUI)
    • 自分が狙った情報が無いのでnakaneさんに聞いてしまう
    • あとは自分でとにかく試す
    • また、ほとんど場合、jsを使わずにHTMLのみで構成されているものであればReactでも出来るはずなので、Reactでの実装といった観点では調べてない
    • そもそもReactをやってる人でアクセシビリティーに興味がある人はあまりいなさそう
  • abe(iOS)
    • VoiceOverにおける情報というのはほとんどない
    • やはりApple公式のAPIリファレンスや、WWDCのaccessibilityのセッションが情報源になる
    • 標準的な画面ではなく、カスタムされた画面だと途端に読み上げられなかったりする
    • 会計iOSアプリのとある画面のVoiceOver対応に困っていたら、解決したいことがWWDCでまんま話されていた
  • melon(Android)
    • Google公式のリファレンスを情報源に対応している
    • 基本的にはこれである程度読み上げられる
    • だが、nakaneさんに見せると「これでは良くないね」といったフィードバックをもらう
    • そこからは情報は無いのでnakaneさんに確認してもらいながらトライアンドエラーで試していく

アクセシビリティー改善に取り組んでみて直面した難しさはどんなところですか。また思っていたより簡単だったことはありますか?

  • ymrl(WebUI)
    • 難しさ
      • MacのVoiceOverで検証しているが、nakaneさんはNVDAを使用しているため挙動が異なることがあった
      • 一方では大丈夫だが一方ではうまく動かない、といったことがあって一筋縄ではいかないなと感じた
    • 簡単さ
      • 前述の虚空についてはパターン化されているため、やり方が分かればあとは展開していくだけ
  • abe(iOS)
    • 難しさ
      • アクセシビリティー対応にのみ時間を割けるわけではなく、OKRタスクやbugfix等の通常業務ももちろん抱えているため、作業時間の確保が難しい

最近取り組んだことで自慢したいことありますか?

パネルディスカションでymrlさんが話している様子
パネルディスカションでymrlさんが話している様子(©noblejasper

  • ymrl(WebUI)
    • ブランディングチームが作った配色パレットを使って、2色の全組み合わせからコントラスト比を計算する巨大なGoogleスプレットシートを作った
    • これによりコントラスト比が足りていない組み合わせがひと目で分かるようになった

最近悩んでることはありますか?

  • melon(Android)
    • デザイナーやエンジニアなど、皆のアクセシビリティーに対して意識合わせが難しい

最後に一言

パネルディスカションでabeが話している様子
パネルディスカションでabeが話している様子(©noblejasper

  • ymrl(WebUI)
    • デザインシステムを使ってコンポーネントを配置したら勝手にアクセシブルになっているような仕組みを実現するぞ
  • abe(iOS)
    • iOSのVoiceOver対応は簡単だぞ!凝ったような画面になると途端に読み上げられなくなったりするのでコマ目に確認すると良いですよ
    • VoiceOverは健常者にとっても便利だよ。記事を読んだりするのが捗ります
  • melon(Android)
    • 人事労務freeeのTalkBack対応はできているが、会計がまだなので完璧にしていきたい
    • 親切だねと言われるようなアプリにしていきたい

他にも様々なセッションがありました

当事者への質疑応答セッションの様子
当事者への質疑応答セッションの様子(©︎shizooo85

精神・発達障がい者が社会活動に参加するにあたっての課題や取り組みについての紹介や、色弱の方が語る色の重要性についてのお話であったり、障がい障当事者との質疑応答など、さまざまなアクセシビリティーに関連するセッションがありました。

(ぞくぞくと動画が上がっているようです。その他の動画はこちら

懇親会がメインと言っても過言ではない

懇親会の料理
懇親会の料理(©︎cure_tomoki

懇親会では障がい当事者の方々との交流はもちろん、普段アクセシビリティーに取り組まれてる人同士の悩みの相談やセッションでは聞けなかった細かな取り組みについてなどお酒を交わしながら伺うことができました。

懇親会で交流している人たちの様子
懇親会で交流している人たちの様子(©︎cure_tomoki

JACでは各セッションの最後には質問タイプはもちろんありますが、懇親会ではより突っ込んだ話が聞くことができるため、むしろ懇親会の方が重要なのではと感じました。

まとめ

我々は他のセッションとは異なり、パネルディスカッションという形式でやったことで、あまり型にハマらず各々が思い思いに話したいことを話せたかなと思います。また日頃社内の方々とアクセシビリティーについて話すことはありますが、JACを通じて社外のアクセシビリティーに取り組んでる方々のお話や、さまざまな障がいを抱える方々のお話を伺うことができ、とても刺激になりましたし、やってかなければならん!という気持ちがより強くなりました。 アクセシビリティーやってくぞーーー!!