
はじめに
クオカード デジタルイノベーションラボ(以下ラボ)では、週に1度、技術顧問の方をお招きして、相談や技術レクチャーの場を設けています。
前回の記事(2024年3月)から月日が経ち、チームには新しいメンバーも増え、回数も積み重なってきました。
そこで今回は、改めて相談・勉強会を通してどんなことを学び、実務にどう役立てているのか、メンバーにアンケートをとった結果をご紹介します。
技術顧問による相談・勉強会について
講師の方や具体的な開催方法については、ぜひ前回の記事をご覧ください。
アンケート回答紹介
ここからは、実施したアンケートの回答をご紹介します。
質問内容
1. 技術顧問への相談で、実務に役立ったエピソードを教えてください
2.過去に取り上げられた書籍やレクチャーの中で、特に印象深かった、学びになったものとその理由を教えてください
3.技術顧問による相談・勉強会を通しての変化(設計力や視座の変化など)について教えてください
1. 技術顧問への相談で、実務に役立ったエピソードを教えてください
セキュリティ・認証に関する相談
認証処理関係の実務を行なっていた時、セキュリティとユーザビリティのトレードオフをどのように調整すべきか悩み、相談させていただきました。その際、いくつか私個人では出せなかった仕組み、解決策を提案いただき、実際に導入することとなりました。
過去何度か相談させていただき、どの相談についても基本的に実務に役立っておりますが、直近の例でいえば、CSP(Content Security Policy)のホワイトリスト対応について、複数の対応案があり、どの案がよいか相談させていただきました。
セキュリティ関連の相談事項でいくつか役に立ったことがありました。セキュリティなのであまり詳細は書けないですが、より堅牢にするための相談、セキュリティとユーザビリティとのバランスをとるための相談、など様々な観点で役に立ちました。
データモデリング・テーブル設計に関する相談
新規サービスの開発に必要なデータモデルの作成でいろいろアドバイスをいただいて大変助かりました。
テーブル設計に関して、チーム内で煮詰まっていた(案は出てもどれがベストか選択できていなかった)が、相談して新たな視点でアドバイスをいただいて検討が進んだと感じた。
イミュータブルデータモデル設計の考え方はテーブル設計する上で参考になりました。
その他
feature flags の話はチームでも取り入れるタイミングだったので、実例や考え方など大いに参考になった。
DB論理障害に関する相談
実務上で直面している課題に対してのアプローチや知見を直接相談して聞けるので検討時の視野を広げるのにとても役立っています。(自分達だけでは見えなかった角度からのアプローチ等が得られる)
2.過去に取り上げられた書籍やレクチャーの中で、特に印象深かった、学びになったものとその理由を教えてください
意思決定・技術選定の考え方
「決めない技術選定」現実のビジネスに対して何を決めて・何を決めない(曖昧にするのではなく柔軟にする)を判断していくというのはAIの進展に対してまだ人間が優位を持てる部分であり、今のエンジニアの価値として大きなポイントだと感じたので、エンジニア不要論の中での今後の戦い方の良き参考になると感じたため。
最近ですが「決めない技術選定」という題で話された内容(何を決めるか、何を決めないか、意思決定をADRに残す)が印象深かった。
設計思想・プログラミング原則について
「Parse, don’t validate」の回が特に印象深かったです。当時は、レイヤの切り方や各レイヤの責務分割が設計において重要だと考えていましたが、それよりも、システムへの入力を検証(Validate)するのではなく、業務的に正しい状態の型へ変換(Parse)することのほうが設計としては重要だとわかり、設計の考え方が変わったためです。この「Parse, don’t validate」については、この回に限らず、何度かレクチャーしていただいているため、これまでのレクチャーの中で重要度が高い印象があります。
「Balancing Coupling in Software Design」今まで設計での判断の基準が直感的でしたが、根拠を言語化できる知識が身につくのでチームで議論する際には役に立つと思いました。
システム設計について
「イミュータブルデータモデル」テーブル設計する上での新たな考え方として参考になった。
「データモデリングワークショップ」上流設計の知見が浅い自分にとっては、考え方・やり方とても参考になった。
ドメイン知識・システムの堅牢性について
クレジットカード等の決済代行とECサイトとの統合パターンの資料、レクチャーが興味深かったです。もともと興味があり、かつ決済なのでクリティカルな部分なためです。
DB論理障害に関する相談の際にレクチャーいただいた各対応策について(実務に直結するテーマだったため)
古典的名著による基礎力の向上
- 特にこれ!という物はないです。PoEAAやデータ指向アプリケーションデザインのように古典的名著を取り上げていただくことがほとんどなので、大体全ての書籍で基礎力の向上や再学習に役立っていると感じます。
3.技術顧問による相談・勉強会を通しての変化(設計力や視座の変化など)について教えてください
視座の高まりと「引き出し」の増加
自分だけだとなかなか見えなかったであろう視座や視点を徐々に身に付けられている実感はあります。
設計や開発の仕方の思考が広がったと思う。
実務への直結の有無を問わず、各課題に対する対応策や考え方などの引き出しが増えたように思います。
解像度を上げ、実務に活かす
方法論のみではなくサンプルコードや実務経験のエピソードを交えてレクチャーいただけるため、方法論は理解していたものの実務の設計/実装に活かせていなかった知識を実務に活かせるようになっていると感じます。
なんとなく意識していたようなことについても、勉強会で理由・なぜそうなのかを押さえることができて、他の場面にも応用できる「原則」として自分の中に定着してきた→ 技術的な手法等について解像度が上がった。
設計プロセスの深化
設計時に型で表現することを大事にする姿勢が自然と染み込まれている感じがする。
テーブル設計に関する相談を通して、業務の概念を正確に捉えてからシステムに落とし込む、という順序の大切さを実感した。(未経験の領域でもあったので大変勉強になった)
その他
設計で迷った時などは勉強会で共有いただいた資料を参考にする機会は増えました。
以前よりは実際に作ってみることを重視するようになった気がします。
アンケートの回答から、実務の課題解決はもちろん、メンバーそれぞれの視座が高まり、チーム全体の地力が底上げされていることがわかりました。
最後に
クオカード デジタルイノベーションラボでは、より良いサービス開発を実現するため、エンジニアの技術力向上に向けた取り組みを大切にしています。
もし、ラボの文化や開発環境に少しでも興味を持っていただけたら、ぜひカジュアルにお話ししましょう!