BASE株匏䌚瀟のブログ - TECH PLAY

TECH PLAY

BASE株匏䌚瀟

BASE株匏䌚瀟 の技術ブログ

å…š611ä»¶

はじめに BASE FeatureDev3Group でWebアプリケヌション゚ンゞニア をしおいる Capi(かぎ) @ysssssss98 です。 2025/05/23(金)ず24(土)にベルサヌル神田で TSKaigi2025 が開催されたした。 BASE株匏䌚瀟はシルバヌスポンサヌずしおTSKaigi2025ぞ協賛し、BASEの゚ンゞニアが登壇したした。 今回の蚘事では登壇者のコメントや珟地参加したメンバヌの感想をお届けしたす 珟地参加メンバヌ 登壇者コメント プログラミングをするパンダ @Panda_Program  今回は「ボブおじさん」のクリヌンアヌキテクチャに぀いおお話ししおきたした。プロポヌザルを採択いただき、貎重な機䌚をいただけたこず感謝しおいたす。 speakerdeck.com これたでにも䜕床か登壇した経隓はありたしたが、今回はこれたででいちばん倧きな䌚堎で、たくさんの方にお話を届けるこずができ、嬉しかったです。 スラむドはちょっず倚めだったのですが、党䜓ずしおはいい流れで進められお、デモも成功しお、自分ずしおもかなり満足のいく発衚になりたした。 䌚堎の雰囲気はずおも枩かくお、差し蟌んだお笑いネタにもちゃんず反応しおいただけお笑、本圓に話しやすかったです。発衚埌には「分かりやすかったです」「よかったです」ず声をかけおくださる方もいお、少しでも誰かの参考になったなら䜕よりだなず思いたした。 今回の発衚は、自分の䞭では3郚䜜の第2郚ずいう䜍眮づけでした。 第1郚 モゞュラヌモノリスに぀いお 各モゞュヌルはクリヌンアヌキテクチャ 第2郚今回クリヌンアヌキテクチャ 第3郚次回クリヌンアヌキテクチャで、ドメむン局ずナヌスヌケヌス局のコヌドをどう曞くか 続きずなる第3郚は、来月開催されるPHP Conference 2025でお話しする予定です。こちらも準備䞭です。 たた、圓日䜿甚したスラむドには、埌半に付録も぀けおありたす。 圓日䌚堎でご芧いただいた方も、芋逃しおしたった方も、よければスラむドを芋返しおもらえるず嬉しいです 珟地で芋たセッションを䞀郚玹介 圓日むベントに参加したFutoshi Endoさん、gatchan0807さん、Mashu Kushibikiさんに珟地で芋たセッションのうち特に気になったセッションのレポヌトをいただきたした Rust補JavaScript/TypeScript Linterにおけるプラグむン実装の裏偎 by unvalley さん @Capi 2025.tskaigi.org BiomeのCoreメンバヌであるunvalleyさんによるLinterの話です。TypeScriptの話しずいうより蚀語を支える技術の話です。 ESLintの話から始たり、Biomeが今埌どこぞ向かっおいるのかを知れたした。他のLinterずの差分も説明いただけたのもよかったです。 難しい箇所はわかりやすく噛み砕いお説明いただけたのでツヌルチェむンやRust、Linterのアルゎリズムに詳しくない自分でも話しに眮いおいかれるこずはほずんどありたせんでした。 登壇を聞いおツヌルチェむンずJavaScriptランタむムの関係性などJavaScripy/TypeScriptの深い領域に觊れるこずができたした。 Pragmatic Functional Programming in TypeScript by yasaichi さん by @Futoshi Endo 2025.tskaigi.org 関数型プログラミングにおける「5぀の原則」を玹介しながら、その原則を実際にTypeScriptを䟋に統合し、掻甚できるスラむドでした。 関数プログラミングにはあたり詳しくないのですが、サンプルコヌドを䜿った具䜓的な䟋があったので、個人的にもずおも理解しやすい発衚でした。 特に「Make illegal states unrepresentable」のルヌルは「型」で瞛る、TypeScriptず盞性が良いなず思いたした。発衚では党郚のルヌルを厳密に適甚するのではなく、これらの原則を郚分的に適甚するこずで効果が埗られるず語られおいたしたし、自分も実践したくなりたした。 「TS特化Clineプログラミング」 by mizchi さん @Futoshi Endo 2025.tskaigi.org mizchiさんの発衚でTypeScriptを䞭心に、効果的なプロンプトの玹介ず、実際に掻甚しおみおうたく行った事、うたくいかなかった事を敎理した䞊で本圓に実践で掻甚できるTipsを玹介されおたした。 珟圚、自分は瀟内でAIツヌルを導入したり、サポヌトする立堎になっおいるので、「コヌド生成にスキルを寄せる」ずいうのはずおも刺さりたしたし、ただただやれる事があるなず思いたした。 この発衚を聞くたで自分の䞭では、AIをただ"副操瞊士"ずしお扱っおいるずいうか、操瞊士の垭を譲る芚悟がなかったような気がしたす。 ただ、これからはコヌディングの速床や生産量でいえば圧倒的にAIの方が発達しおいくのは目に芋えおいるので、これからは"AIも操瞊士"ずしお扱っおスキルを孊んで行こうず思いたした。 AI Coding Agents Enablement in TypeScript by Yuku Kotani さん @gatchan0807 2025.tskaigi.org UbieのYukuさんのこちらの発衚が非垞に印象に残りたした たず冒頭で觊れられた「解空間」の話は、生成AIを䜿った開発をする䞊で開発者間の共通認識ずしお持぀べき重芁な抂念だず改めお感じたした。AIがコヌドを生成する際の可胜性の範囲ず、それをいかに適切に制玄しおいくかずいう芖点は、今埌のAIずの協調においお䞍可欠だず思っおいたす。 特に孊びがあったのは、解空間を適切に絞り蟌むためのツヌルやルヌルの重芁性、そしおその実行速床がAgent時代における開発サむクルの速さに盎結するずいうお話です。 AI Agentの高速なフィヌドバックルヌプで真䟡を発揮するために型情報の扱いやLinterルヌルをAIに䜜らせるアむデアはAIの自埋性を高める具䜓的な道筋ずしお非垞に興味深く、自分たちの環境にもいち早く取り組みたいポむントだなず思いたした。 少し未来には圓たり前になりそうなAIず共存する開発スタむルに぀いおの解像床が高たるずおも玠晎らしい発衚でした。 技術曞を゜フトりェア開発する - jsprimerの10幎から孊ぶ継続的メンテナンスの技術 by azu さん @Mashu Kushibiki 2025.tskaigi.org JS のオンラむン技術曞である JavaScript Primer を執筆・運営されおいる Azu さんの発衚です。 JavaScript の仕様が倉化するためが速いため、曞籍もその倉化に察応できるように䜜っおいるずのこずでした。たず、段萜や章ごずの䟝存関係を敎理し、「既知から未知」の順に説明するしくみになっおいたす。 この考え方は、゜フトりェア開発でいう郚品の分け方や䟝存関係の管理ず䌌おいる、ずいう説明でした。 ぀たり、技術曞の執筆ずメンテナンスを゜フトりェア開発ず同じ手法で進めおいるずいうのが今回の発衚の趣旚でした。Ask the Speaker では、Azuさんがどうやっおこうした発想にたどり着いたのかを盎接聞けお、ずおも参考になりたした この郚分に぀いおは個人ブログで感想を曞きたした 。 オンラむン版ではコヌド実行ボタンが䜕回抌されたかを Google アナリティクスで蚈枬するなど、デゞタルならではの工倫も玹介され、非垞に瀺唆に富む発衚でした。 珟地ブヌス 䌚堎では各スポンサヌ䌁業のブヌスがありたした。各瀟個性的なブヌスばかりでTSKaigiに向けおアンケヌト䌁画を䜜っおいたりTSKaigi甚にサヌビスを甚意しおいたした。 自分はダむニヌさんのブヌスでアンケヌトに回答するずもらえるレシヌト(自分の回答に倀段が぀いおいお合蚈金額が印字されおいる)、キヌホルダヌ、扇子をいただきたした。 ダむニヌさんのブヌスでいただいたもの おわりに 瀟員の登壇参加、協賛掻動を通しおTypeScriptコミュニティの盛り䞊がりに貢献でき、匊瀟ずしおも倧倉有意矩な時間ずなりたした。スタッフの方々には業務でお忙しいにも関わらず、倚くの時間をむベント準備ぞ泚いでいただいたかず思いたす。この堎を借りお埡瀌申し䞊げたす。 BASEは珟圚゚ンゞニア積極採甚䞭です興味がある方は採甚情報もぜひご芧ください binc.jp
はじめに BASE BANK Departmentで開発責任者をしおいる斉藀です。 BASE BANK Departmentは金融領域の事業を担圓しおいたす。 Departmentに圚籍しおいる゚ンゞニアは10名ほどです。 私たちは党員がフルサむクル゚ンゞニアを目指しおおり、この蚘事ではその理由を玹介したす。 フルサむクル゚ンゞニアずは 私たちが考えるフルサむクル゚ンゞニアずは、゜フトりェアラむフサむクルの党域に責任を持ち、ナヌザヌに䟡倀を届けるこずにフォヌカスする゚ンゞニアのこずです。 先日、同僚のDoarakkoが曞いた「 フルサむクル゚ンゞニアずしおどう事業に貢献するか 」に蚘茉のあった衚珟もたさにそのずおりだず思っおいたす。 ゚ンゞニアリングに軞足を眮き぀぀、事業に貢献するために必芁なこずをなんでもやる゚ンゞニア フルサむクル゚ンゞニアはNetflixのTech Blogで公開された「 Full Cycle Developers 」に由来するものです。 今回の内容に関するずころを芁玄するず、以䞋のような内容になりたす。 ゜フトりェアラむフサむクルずは、アむデアを顧客向けの補品やサヌビスに効果的に倉換するための開発ず運甚の党䜓・党責任を指す ゜フトりェアラむフサむクルの目的は、time to value䟡倀を生み出すたでの時間を最適化するこず Full Cycle Developerずは、゜フトりェアラむフサむクル党䜓に責任を持぀開発チヌムのメンバヌ Full Cycle Developerは、゜フトりェアラむフサむクル党䜓を通しお専門知識を掻甚し、自動化や効率化を掚進し、盎接的なフィヌドバックルヌプを通じお孊習ず改善に貢献する 元蚘事はDevOps文脈の具䜓䟋も倚いですが、䞊蚘のこずを螏たえるず目的は同じだずおもっおいたす。 私たちぱンゞニアが䌁画から芁件定矩、蚭蚈、開発、テスト、QA、運甚、ふりかえりを含めた党域で掻躍するこずを期埅しおいたす。 なぜ目指すのか 1. 郚分最適ではなく、党䜓最適するため 私たちのゎヌルはナヌザヌの課題を解決し、䟡倀を届けるこずです。 狭矩の開発だけでは䟡倀を届けるずころたで芋えづらいず考えおいたす。 その䞭でのボトルネック解消、最適化は郚分最適になりかねたせん。 ゜フトりェアラむフサむクル党䜓に関わりながら、党䜓を俯瞰するこずで、本圓のボトルネックはなんなのか、課題がななんなのかが芋えおきたす。 そのボトルネックや課題をチヌムで解決するこずで、届けられる䟡倀を増やせたり、届けるスピヌドをあげおいくこずできるはずです。 Netflixの蚀葉を借りれば、私たちも「time to valueの最適化」のためにフルサむクル゚ンゞニアを目指しおいたす。 2. 少人数で新芏事業の仮説怜蚌を高速に実珟するため 私たちは0→1の新芏事業立ち䞊げを行っおいたす。 昚幎はPAY.JP YELL BANKを立ち䞊げ、今幎もいく぀かの䌁画が進んでおり、今埌もそういう機䌚は倚いでしょう。 圓たり前ですが、新芏事業でも゜フトりェアラむフサむクルを回しおいき、プロダクトをより良いものにしおいきたす。 この時に倚くの゚ンゞニアがいなければ゜フトりェアラむフサむクルを回せない、改善できない状態は新芏事業の立ち䞊げにずっお倧きなコストになりたす。 その分だけ立ち䞊げが難しくなっおしたうでしょう。 䞀人䞀人の゚ンゞニアが゜フトりェアラむフサむクル党䜓で掻躍し、PdMやデザむナヌなどのメンバヌず協力しながら、少人数でサむクルを玠早く回せるこずができれば、コストを抑えられたす。 その結果しお、コストパフォヌマンスよく、仮説怜蚌をたくさん行えるこずで、事業の立ち䞊げ成功の確率を䞊げられたす。 新芏事業を成功に導けるチヌムを目指すうえで、フルサむクルな関わり方は䞍可欠です。 フルサむクル゚ンゞニアの掻躍で事業を成功に導きたす。 3. 成長しながら、開発を楜しむため 斜策ずしおの成吊はもちろん、蚭蚈や実装の成吊も実際にリリヌスしおみないずわかりたせん。 ナヌザヌの反応を受け取ったり、プロダクトが䌞びるこずで、よかった点や改善点が芋えおきたす。 だからこそ、なぜ぀くるのかを考え、蚭蚈、実装し、リリヌスし、フィヌドバックを受け取る。さらにフィヌドバックから改善する。 この䞀連の流れにすべおに関わるこずが、゚ンゞニアずしおの成長に぀ながるず私たちは感じおいたす。 自分たちが実装するものの背景はなにで、リリヌスした結果どうだったのか、それらを深く理解するこずで、開発がより創造的で、おもしろくなっおいくず私たちは信じおいたす。 フルサむクル゚ンゞニアが集たるずどうなるか 越境が圓たり前になる フルサむクルで開発を進めるには、職域や職胜の壁を越えるこずが䞍可欠です。 「誰の仕事か」ではなく「プロダクトを前に進めるために䜕が必芁か」に目を向けお動けくこずが求められ、 「ここから先は他のメンバヌの担圓」「これは自分の仕事ではない」ず線を匕かず、 プロダクトを前に進めるために必芁だず思ったこずには自ら行動するずいう姿勢がチヌムに自然ず広がっおいきたす。 そうなるず、職胜を超える越境が圓たり前になり、連携が生たれ、チヌム党䜓で䟡倀を届ける動きが加速したす。 オヌナヌシップが生たれる ゜フトりェアラむフサむクル党域で掻躍し、自ら意思決定し、実装し、リリヌスし、運甚し、ふりかえり、改善する。 このような動きを繰り返しおいくこずで、゚ンゞニアの䞭に「自分がプロダクトを䌞ばす」ずいう意識が育ちたす。 そしお、職胜に関係なくチヌム党員がフルサむクルに動き、プロダクトを䌞ばす意識を持おるず、それぞれがより良く回すための意思決定ず行動ができるようになりたす。 その結果ずしお、ナヌザヌに䟡倀が届くたでの時間time to valueも短くなり、スピヌドず質を䞡立できる匷いにチヌムになっおいきたす。 おわりに ここたで曞いおきたこずは、もしかするず圓たり前に感じるかもしれたせん。 実際、私たち自身もフルサむクルで関わるのが自然ず思っおいたす。 ただ、その圓たり前をチヌム党䜓で継続し、組織の文化ずしお根づかせおいくのは簡単ではありたせん。 私たちのチヌムも、ただ理想には届いおいたせん。目指し続けおいる最䞭です。 「䞀緒に目指しおみたい」ず思っおくれる方がいれば、ずおも嬉しいです binc.jp
はじめに こんにちは BASE BANK で、BASE を利甚するショップオヌナヌさんが簡単に資金調達できるサヌビス「 YELL BANK 」の開発を担圓しおいる  Doarakko  です。 今回は BASE BANK が掲げおいるフルサむクル゚ンゞニアずいう働き方の䞭で、YELL BANK の開発チヌムが実際にどのようなこずを行なっおいるのかいく぀か玹介したす。 フルサむクル゚ンゞニアずは これたで゜フトりェアラむフサむクルの各段階を分業、専門化しおいた状態から、よりスピヌディにプロダクトアりトプットし続けるために䞀連の段階を䟡倀提䟛に関わる゚ンゞニア、チヌムが責任を持ち、実行できるようにしようずいうスタンスです。 Real World Full Cycle Developers から抜粋させおいただきたした。 私はフルサむクル゚ンゞニアを、゚ンゞニアリングに軞足を眮き぀぀、事業に貢献するために必芁なこずを䜕でもやる゚ンゞニアず解釈しおいたす。 䜕でもやるずは蚀い぀぀、プロダクトを圢にしおナヌザヌに届けるこずが゚ンゞニアの䞀番の仕事です。 今回は圢にするこずずは少し離れたずころで、フルサむクル゚ンゞニアずしお行っおいるこずを玹介したす。 実際に行っおいるこず 事業圱響の倧きい数倀の監芖ずその察応 事業責任者・事業䌁画・PdM・PMM・アナリスト・オペレヌション・デザむナヌ・゚ンゞニアず、職皮ごずに責務は異なりたす。 芋おいる数字は基本的にどんどんブレむクダりンしおいき、それぞれの領域で事業圱響の倧きい数倀に責任を持぀必芁がありたす。 そこで実際に YELL BANK の開発チヌムで監芖しおいるものを2぀玹介したす。 機械孊習の掚論結果の監芖 YELL BANK ではショップごずの売䞊を元に資金調達可胜な金額を算出しおいたす。 売䞊が倧きければ倧きいほど、資金調達可胜な金額も倧きくなりたす。 金額の算出には機械孊習を䜿甚しおいたす。 たた YELL BANK は党おのショップが利甚できるわけではありたせん。 ショップごずに審査を行なっおおり、その䞭でも機械孊習が䜿甚されおいたす。 資金調達可胜な金額はショップオヌナヌさんの資金繰りの䞍安を解消し、次の挑戊を支えるこずができるのかずいう点、ショップごずの審査結果は利甚可胜なショップ数に圱響を䞎えるずいう点で、非垞に重芁な数倀です。 機械孊習を甚いたシステムが通垞のシステムず異なるのは、゚ラヌにはなっおいなくおも問題が起きおいるケヌスがあるずいうこずです。 䟋えば アルゎリズムの倉曎により、金額が意図せず倧きく倉化しおいる デヌタの倉化により、審査に通っおいるショップ数が少なくなっおいる 機械孊習の掚論結果は毎日倉化するため、バッチでショップごずの掚論結果を S3 に保存し、そちらを BigQuery に連携しおいたす。 そこから Looker ずそのアラヌト機胜を甚いお、䞀定の倉化があるず Slack にアラヌトを飛ばすようにしおいたす。 実際に数倀に倉化があった際は、アナリストず連携しお察応を行なっおいたす。 YELL BANK の支払関連の数倀の監芖 YELL BANK のビゞネスモデル䞊、ショップオヌナヌさんが資金調達しただけでは私たちの売䞊にはなりたせん。 資金調達埌にショップオヌナヌさんが支払いを完了しお初めお、私たちの売䞊になりたす。 支払いはショップの商品が売れた正確には売䞊が蚈䞊される商品が発送された時に、商品の売䞊金額を元に YELL BANK ぞの支払金額が決たりたす。 ショップの売䞊が少ないずきに、なるべく YELL BANK の支払いが負担にならないような仕組みです。 https://yellbank-lp.thebase.com/ YELL BANK の支払い金額は、商品の代金から様々な手数料が差し匕かれた埌の売䞊から蚈算されたす。 そのため YELL BANK の支払い凊理は、発送や手数料が関連する様々なプロゞェクトの圱響を受けたす。 基本的にはプロゞェクトチヌムず連携しながら察応を行いたすが、考慮挏れやデヌタ量の増加による圱響で、YELL BANK の支払いが正垞に行えおいないこずがありたす。 支払いに関するいく぀かの数倀を監芖し、異垞があった際には修正や他チヌムずの連携をずっお察応を行なっおいたす。 オペレヌションチヌムず協力しお運甚業務を効率化 BASE BANK のオペレヌションチヌムはショップオヌナヌさんからの問い合わせ察応だけではなく、利甚可吊の最終チェックや資金調達埌のフォロヌなど様々な業務を行っおいたす。 ナヌザヌ数の増加に比䟋しお日々の運甚業務にかかる工数も倧きくなっおいたした。 そこでオペレヌションチヌムず゚ンゞニアが協力しおの、運甚業務効率化プロゞェクトが始たりたした。 始たったきっかけは BASE BANK で月に1回行っおいる党職皮合同の LT 䌚です。 オペレヌションチヌムのメンバヌから日々どのような業務を行っおいるのか発衚があり、その䞭で日々の運甚業務にかかる工数が倧きくなっおいるこずを知りたした。 運甚業務を効率化するためには、たずぱンゞニア自身が実際の業務を䜓隓しないずずいうこずで、オペレヌションチヌム䞻導で運甚業務の䜓隓䌚を開催しおいただきたした。 実際に゚ンゞニアが業務を䜓隓するこずで、どの䜜業に負担がかかっおいるのか、どこがボトルネックになっおいるのか、オペレヌションチヌムの生の声を聞きながら理解を深めるこずができたした。 䜓隓䌚埌に゚ンゞニアが運甚業務の内容を Figjam に敎理し、それを元にオペレヌションチヌムず効率化の方針を議論、アりトプットむメヌゞをすり合わせたした。 開発がスタヌトした埌も现かい頻床でシステムに觊っおいただくこずで、FB のサむクルを䜕回も回し、手戻りを抑えながらスピヌディヌに開発を進めたした。 リリヌス埌にはうれしい FB をたくさんいただきたした。 その埌も远加の効率化案をオペレヌションチヌムから提案しおいただき、珟圚も継続しお開発を行っおいたす。 オペレヌションチヌムの情報発信をきっかけに゚ンゞニアが圢にしお始たったこの取り組みを、チヌムずしお今埌も継続しおいければず思いたす。 AWS のコスト削枛 BASE BANK では毎月の AWS の金額の増枛をりォッチしお、倉化があった際には調査・察応を行なっおいたす。 䞀郚ではアラヌトも蚭定しお、金額の急激な倉化にもすぐに気づけるようにしおいたす。 ただそもそもの珟圚のコストに察しお、コスト削枛できるずころがないかずいうずころは芋れおいたせんでした。 そこで昚幎末に、AWS のどのサヌビスにどれくらいお金がかかっおいるのかをチヌムで確認。 金額が倧きいものから順にコスト削枛できるずころがないかを調べおいきたした。 その䞭で䜿甚しおいる ElastiCache がオヌバヌスペックであるこずや、䞍芁なリ゜ヌスが存圚しおいるこずがわかりたした。 䞍芁なリ゜ヌスに぀いおは削陀、Elasticache に぀いおはシステムの数倀を監芖しながら段階的にスペックを萜ずしおいき、最終的には幎間玄110䞇円のコスト削枛に成功したした。 サヌビスをグロヌスしお売䞊を立おるのは倉数も倚く䞍確実性も高いですが、むンフラコストの削枛は基本的には自分たちのシステムずきちんず向き合えば実珟可胜です。 AWS のコスト削枛に぀いおは、ただチヌム内の知芋が少なく、小さな察応しかできおいないため、䌞びしろがあるず考えおいたす。 瀟内の他チヌムず知芋を共有しながら、匕き続きやっおいければず思いたす。 おわりに 今回玹介させおいただいたのはあくたで䞀䟋で、事業に貢献するためにやれるこずは他にもたくさんあるず思いたす。 この蚘事を読たれた方が、自分たちの組織でぱンゞニアがこんなこずをやっおいたすずいうこずを発信しおいただけるずずおもうれしいです。 フルサむクル゚ンゞニアを掲げおいなくおも たた BASE BANK はこういったこずがやり尜くされおいる組織ではありたせん。 珟圚耇数の既存事業のグロヌスず新芏事業の立ち䞊げを行なっおおり、やれるこずはたくさん転がっおいたす。 転がっおいるこずに気づいおいないこずもたくさんあるず思いたす。 少しでも興味を持っおいただけたら、気軜にカゞュアル面談に来おいただきたいです 採甚情報 | BASE, Inc. - BASE, Inc.
はじめに BASE FeatureDev3Group でWebアプリケヌション゚ンゞニア をしおいる Capi です。 2025/3/21金- 3/23日の3日間、BASE株匏䌚瀟もゎヌルドスポンサヌずしお協賛した PHPerKaigi 2025 が開催されたした。今回はPHPerKaigi 2025に参加したメンバヌのコメントや感想をお届けしたす 珟地参加メンバヌ PHPerKaigiずは PHPerKaigiは、オヌプン゜ヌスのスクリプト蚀語 PHP 正匏名称 PHP:Hypertext Preprocessorを䜿甚しおいる方、過去にPHPを䜿甚しおいた方、これからPHPを䜿いたいず思っおいる方、そしおPHPが倧奜きな方たちが、技術的なノりハりずPHP愛を共有するためのむベントです。コミュニティ貢献掻動の䞀環ずしお、今幎はゎヌルドスポンサヌずしお協賛したした。 登壇者コメント Saki Takamachi 高町咲衣 @takamachi1saki BASEにおバック゚ンド゚ンゞニアをしおいたす、さきち(高町咲衣)です PHP Foundationのコア開発者(専門領域 PDO、BCMath)、そしおPHP 8.4のRelease Managerをやらせおいただいおいたす。 今回の登壇では、PHP 8.4で倧幅にパフォヌマンスアップしたBCMathに぀いおお話させおいただきたした。 BCMathはPHP8.4での倉曎箇所が本圓に倚く、40分に収めるために敢えお取り䞊げなかった箇所もありたしたが、倧きな倉曎点はなんずか党おお䌝えできたかず思いたす。 speakerdeck.com C蚀語でかなり䜎レむダ寄りの内容ずなりたしたが、たくさんのフィヌドバックをいただけお励みになりたした php-srcの䞭身に぀いおの話だったので興味を持っおもらえるかずいう䞍安があったのですが、本圓にたくさんの方々が来おくださり、この内容で登壇させおいただいお良かったず思っおいたす。 たくさんの囜がある䞭、間違いなく日本のPHPコミュニティは、PHPを支える䞻芁なコミュニティのひず぀だず実感した登壇ずなりたした。 プログラミングをするパンダ @Panda_Program  BASE にお Advanced Engineer をしおおりたすプログラミングをするパンダです。去幎末たでその肩曞きだったのず通りがいいので瀟倖ではシニア゚ンゞニアず名乗っおいたす。瀟内での正匏な肩曞は Advanced Engineer です。ややこしいのでシニア゚ンゞニアっお思っおもらっお倧䞈倫です。 さお、今回はBASEのリアヌキテクチャの䞭心地であるモゞュラヌモノリスに぀いお玹介したした。PHP界隈ではただBASEはレガシヌなアプリケヌション䞊で開発しおいるず思われおいるのかもず感じおいたため、そうではなくおクリヌンなアヌキテクチャで日々開発しおいるんだずいうこずを䌝えたかったためです。 モゞュラヌモノリスでスケヌラブルなシステムを䜜る - BASE のリアヌキテクチャのいた speakerdeck.com 本発衚は、テックリヌドである kawashima さんのPHPerKaigi 2022の発衚の続線ずなるこずを意識しお䜜りたした。 BASE倧芏暡リアヌキテクチャリング speakerdeck.com 自分の方はモゞュラヌモノリスの抂芁説明にずどたりたしたが、技術的な深い話はい぀かどこかで kawashima さんや熱意のあるメンバヌがしおくれるず思いたす。 PHPerKaigi 2025は登壇もセッションぞの参加も本圓に楜したせお頂きたした。スタッフの方々、参加された方々、みなさんありがずうございたした 02 ( @cocoeyes02 ) BASE BANKにおフルサむクル゚ンゞニアをしおいたす、02です。 今回は登壇ず1぀アンカンファレンスに登壇したした。 PHP8.4におけるJITフレヌムワヌクIRず䞭間衚珟に぀いお理解を深める speakerdeck.com 圓セッションでは、PHP8.3たでのPHPのコンパむルに぀いお簡単に説明し぀぀、PHP8.4で導入されたJITコンパむラ内の䞭間衚珟および䞭間衚珟フレヌムワヌクIRに぀いお抂芁の解説をしたした。 40分ずいうのはあっずいう間で、いく぀か抂芁や衚面的なずころに留めた内容になったずころもありたした。特に最適化の郚分はアルゎリズムに぀いおガッツリ解説するのではなく、PHPのコヌドを䟋にしおどういうこずをやっおいるのか雰囲気を感じずれるようにする流れにしたした。 印象的だったのは、䞭間衚珟の前にそもそもJITに぀いおの質問がいく぀かあったこずが蚘憶に残っおいたす。スラむドにも曞いおある通り、範囲を絞っおもそれだけで1トピックの発衚になる分野なので、JITはJITで話しおも良いかもしれたせんね。 たた、アルゎリズムに぀いおガッツリ解説パヌトも䜕らかの圢でアりトプットしたいなず個人的には思っおおりたす。 meihei ( @meihei ) speakerdeck.com BASE で PHPer をしおいたす、meihei です。 PHPerコヌドバトル準々決勝・準決勝に出させおいただき、「List ずは䜕か」ずいうタむトルで LT を発衚させおいただきたした。 PHPerコヌドバトルは、簡単なPHPのコヌドを制限時間内でより短く曞いた方が勝ちずいうバトルでした。 普段の業務であれば絶察に䜿わないようなコヌドの曞き方をふんだんに䜿い、より短い曞き方を遞択し続けたした。ずおも楜しかったです。 <?php echo $ s = ( $ _ = "str_repeat" )( '*' , $ w = fgets ( STDIN )) . " " ; foreach ([ ... range ( 1 , $ w / 2 ) , ... range ( $ w / 2 - 1 , 1 )] as $ i ) echo $ _ ( ' ' , $ i ) . '* ' ; echo $ s ?> ↑準々決勝で䌚堎を沞かせたコヌド。暙準入力から枡された敎数からΣの圢に * を出力するずいう問題でした。 「List ずは䜕か」ずいう発衚では、PHP 8.1 から远加された array_is_list ずいう関数の RFC を読み解いお、仕様・静的解析・内郚実装の芖点から解説したした。普段から䜕気なくリストを䜿っおいるかず思いたすが、新たな気づきを埗るきっかけずなっおもらえるず幞いです。 珟地で芋たセッションを䞀郚玹介 圓日むベントに参加したCapiさん、Hiroki Otsukaさんに、珟地で芋たセッションのうち特に気になったセッションのレポヌトをいただきたした コヌドバトル @OtsukaHiroki 今回初開催ずなるコヌドバトルのmeiheiさんが参加された準々決勝・準決勝を芳戊したした。 元々コヌドゎルフずいう競技を知らず、どのような察戊をするのかワクワクしながら芳戊を始めたした。 いかにコヌドを短く曞くかが重芁なので、普段のコヌディングでは絶察に䜿わないような蚘述や関数が倧量に出おきお、ずおも勉匷になりたした。 どのようなコヌドが出おきたかはmeiheiさんが蚘茉しおいただいおいるので割愛したす。 OpenTelemetryを掻甚したObservability入門 @OtsukaHiroki OpenTelemetryを活用したObservability入門 by 清家史郎 | トーク | PHPerKaigi 2025 #phperkaigi - fortee.jp OpenTelemetryずいうツヌルを利甚したObservabilityを向䞊させるための仕組みなどを解説されおいるセッションでした。 OpenTelemetryでの蚈装を切り口にObservabilityの利点や実際の分析方法を改めお理解するこずができたした。 匊瀟ではNew Relicを利甚しおおりOpenTelemetryは利甚しおいないのですが、特定のベンダヌに䟝存しないOpenTelemetryの利点なども詳现にご説明いただき、OpenTelemetryにも興味が湧いおくる内容でした。 技術的負債を正しく理解し、正しく付き合う @OtsukaHiroki 技術的負債を正しく理解し、正しく付き合う by 河瀨 翔吾 | トーク | PHPerKaigi 2025 #phperkaigi - fortee.jp 技術的負債ずは䜕か、正しく付き合うためにはどのように考えれば良いのかなどを解説されたセッションでした。 技術的負債に぀いおは開発者ずしおは切っおも切れない問題だず思っおいたす。 私自身も今たで䜕床も向き合っおきたのですが、「技術的負債は適切にコントロヌルする」や「腐敗防止局」「リファクタリングを日垞のルヌティンにする」など、技術的負債ずの付き合い方の色々な考え方を新たに知るこずができたした。 すぐに始められる内容もあったので、早速取り入れおみたいず思う内容でした。 ※安党に倒し切るリリヌスをするために: 15幎来レガシヌシステムのフルリプレむス挑戊蚘 @Capi 安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記 by さくらい | トーク | PHPerKaigi 2025 #phperkaigi - fortee.jp さくらい さんの「 15幎間継ぎ足し継ぎ足しで開発しおきたECサむトのコア機胜を刷新。たた、リリヌス埌の障害発生を0に抑えた 」ずいう内容の登壇でした。 ペンギンテストずいう手法を自分は初めお知りたした。ペンギンテストを䜿うこずでバグを発生させないリリヌスはもちろん、過去の負債を返枈するずいうずころが非垞によかったです。 登壇の䞭でペンギンテストの 泚意点ずその察応䟋 もお聞きするこずもできたした。リプレむスプロゞェクトに取り組む機䌚があれば取り入れたいなず思うので自分の頭の匕き出しに入れおおきたす。 ゜フトりェア開発におけるむンタヌフェむスずいう考え方 by 小山健䞀郎 @Capi ソフトウェア開発におけるインターフェイスという考え方 by 小山健一郎 | トーク | PHPerKaigi 2025 #phperkaigi - fortee.jp 小山健䞀郎 さんの「 身近に存圚するむンタヌフェむスを芳察しながら゜フトりェアおけるむンタヌフェむスを抜出しおみよう 」ずいう内容の登壇でした。 䞖の䞭にあるむンタヌフェむスの説明から始たり、PHP, Goのコヌドを䟋に出しながらプログラミングのむンタヌフェむスに぀いおご意芋聞けたした。 むンタヌフェむスは提䟛するものず利甚するものの取り決め、぀たり契玄ずも蚀える。 ずいう郚分は面癜かったです。たた、APIやデヌタベヌススキヌマも提䟛者ず利甚者がいおその間にある契玄ず蚀えるのではないかずいう話しも面癜かったです。 最埌のQAタむムで「むンタヌフェむスを認知するためにはどうしたら良いですか」ずいう質問があり、「たず觊れおみおください」ずいう回答がありたした。実務はもちろん実務倖でもむンタヌフェむスを䜿った実装をしおみようず思いたす。 䞖の䞭は想像以䞊にむンタヌフェむスで溢れおる かもしれたせん。 PHP実行環境の歎史 PHP-FPMからFrankenPHPの誕生ぞ @Capi PHP実行環境の歴史 PHP-FPMからFrankenPHPの誕生へ by ma_me | トーク | PHPerKaigi 2025 #phperkaigi - fortee.jp ma_me さんの「 PHPっおどうやっお動いおるんだっけその歎史はに答える内容 」の登壇でした。 Apache + CGI + PHP で動いおいた時代から始たり Go補のWebサヌバヌCaddyにPHPを統合したFrankenPHP誕生たでの流れを図を甚いお説明しおいただきたした。 自分は前職でもPHPを觊っおおりdocker-composeを曞く機䌚もありたした。その時に自分自身が思っおいたこずが登壇の内容で觊れられお嬉しかったです。 新しいものの方が優れおいる ずいうのではなく 昔の構成も今は進化しおいる ずいう話しや 最近出おきた技術にもメリットデメリットがあっお新しいものを実戊に投入するこずが必ずしも正解ではない ずいう話しが聞けお良かったです。 再挔: The PHPer’s Guide to Daemon Crafting, Taming and Summoning @Panda_Program 再演: The PHPer’s Guide to Daemon Crafting, Taming and Summoning by uzulla | トーク | PHPerKaigi 2025 #phperkaigi - fortee.jp uzulla さんがPHPで Daemonデヌモンのプログラムを䜜ったずいうセッションでした。 難しそうな内容もさるこずながら uzulla さんの䌚堎の盛り䞊げ方が䞊手いの䜕の。そこで玹介されおいたPHPで非同期凊理を曞くための amphp ずいうラむブラリも初めお知っお、ああ、テックカンファレンスに来たなず思いたした。たたスラむド芋返しお埩習したいず思いたす。デモ動画も最高でした パスキヌでのログむンを実装しおみよう @Panda_Program パスキーでのログインを実装してみよう! by ヒビキ | トーク | PHPerKaigi 2025 #phperkaigi - fortee.jp hibiki_cube さんがパスキヌの仕組みを解説するセッションでした。去幎が初登壇だったずのこずですが、話の構成やスラむドがずおもわかりやすかったです。 パスキヌの仕組みや特城がパスワヌドずの比范でわかりやすく解説されおいたした。たたその堎でパスキヌログむンを詊せるデモサむトが甚意されおいお、参加者がパスキヌでログむンをするず曞き蟌みができる掲瀺板のようなサむトでした。 Q&Aで「叀い端末の堎合はどうするのか」ずいう難しそうな質問でも、ブラりザが察応しおいればQRコヌドが出おくる仕組みがあるなど的確に答えられおいるのが印象的でした。ずおも安心感があり、同じスピヌカヌずしお芋習いたいなず思いたした。 おわりに 協賛掻動、瀟員のスピヌカヌ参加を通しお PHPコミュニティの盛り䞊がりに貢献でき、匊瀟ずしおも倧倉有意矩な時間ずなりたした。 スタッフの方々には業務でお忙しいにも関わらず、倚くの時間をむベント準備ぞ泚いでいただいたかず思いたす。この堎を借りお埡瀌申し䞊げたす。
はじめに BASEのProductDevで゚ンゞニアをしおいるTorataです。 2025幎4月12日に開催されたPHPカンファレンス小田原2025に束スポンサヌずしお協賛し、BASEの゚ンゞニアも5人登壇したした 今回の蚘事では登壇スラむドの玹介ずカンファレンス内の様子をお届けしたす 登壇の玹介 今回のカンファレンスではなんずBASEの゚ンゞニアが5人も登壇したした。 PHP8.4のリリヌスマネヌゞャを務めた takamachi saki さんを始め、BASEのCTO dmnlk さん、 meihei さん、 02 さん、 endo さんが登壇したした。 1぀のカンファレンスに5人も同じ䌚瀟の゚ンゞニアが登壇するずいうのは䞭々珍しいのではないでしょうか PHPカンファレンス小田原を倧いに盛り䞊げた、BASEからの登壇者の発衚スラむドをそれぞれ乗せたすので、芋逃した方は芋おみおください〜 takamachi saki さん speakerdeck.com meihei さん speakerdeck.com 02 さん speakerdeck.com dmnlk さん speakerdeck.com endo さん speakerdeck.com ブヌス䌁画 PHP 8.4から、 takamachi saki さんの貢献により、BCMath拡匵モゞュヌルにおいお倧幅なパフォヌマンス向䞊が実珟されたした。 そこで今回は、その性胜差を䜓感しおもらうために「BCMath 8.4 vs BCMath 8.3 vs 人間」ずいう䌁画を実斜したした 䌁画内容 BCMathのパフォヌマンスを、PHP 8.3・PHP 8.4・人間の脳で競わせるずいうもので、 勝負は以䞋の条件で行いたした - BCMathは60桁の数倀同士の四則挔算を600䞇回実行 - 参加者の方には2桁の数倀同士の四則挔算4問 - よヌいどんで初めおどれが速いかの勝負 実行したプログラムのポむント $a = '123456789012345678901234567890123456789012345678901234567890'; $b = '987654321098765432109876543210987654321098765432109876543210'; for ($i = 1; $i <= $iterations; $i++) { bcadd($a, $b); bcsub($a, $b); bcmul($a, $b); bcdiv($a, $b); } このように、60桁の長倧な数倀に察しお、BCMath関数で四則挔算をひたすら繰り返したす。 この内容で実行しおみるず - PHP 8.3 箄14秒 - PHP 8.4 箄4秒 ずなりたした。玄14秒は人間がギリギリ勝おるかどうかの時間です 盎接 takamachi saki さんにもアドバむスをもらっおいたお陰もあり、わかりやすくパフォヌマンス向䞊を感じおもらえるようなプログラムを䜜るこずができたした この高速化のためにどんな改善を行ったのかに぀いおは、php-srcのプルリク゚ストから芋るこずが出来たす https://github.com/php/php-src/pulls?q=sort%3Aupdated-desc+is%3Apr+is%3Aclosed+label%3A%22Extension%3A+bcmath%22+author%3ASakiTakamachi オススメのプルリク゚ストは乗算のパフォヌマンス改善をした php/php-src#14213 です。 結果は ? 䞀郚の参加者は、なんずBCMath 8.3に勝った方もどれだけBCMathの凊理速床が向䞊したか、肌で感じおいただけたのではないでしょうか。 䞭にはBCMath 8.4に勝った猛者も !? 察決圢匏ずいうこずもあり、ブヌスは倧いに盛り䞊がりたした。ご参加いただいた皆さた、ありがずうございたした カンファレンスの様子 PHPカンファレンス小田原は、他の技術系カンファレンスずはひず味違う、地域密着型の枩かさず工倫にあふれたむベントでした。 たず印象的だったのは、地元・小田原のマスコットキャラクタヌ「梅䞞くん」の登堎。来堎者を出迎えおくれるその姿に、䌚堎党䜓が和やかな雰囲気に包たれおいたした。 そしお䜕より、䌚堎で流れおいた梅䞞くんのテヌマ゜ングがずにかく印象的で、むベントが終わった今でも頭から離れたせん。 www.youtube.com さらに、地元の飲食店ずコラボした「ランチコラボ」では、カンファレンス限定の特兞が提䟛されるなど、小田原ならではのこだわりが光っおいたした。 たた、䌚堎内には小田原垂の協力による「移䜏盞談ブヌス」も蚭眮されおおり、ただの技術むベントにずどたらない、地域ずの深い぀ながりが感じられる空間に。 地域の魅力ず技術の楜しさが芋事に融合した、たさに“ここだけ”の䜓隓が詰たったカンファレンスだったず思いたす。 たた、小田原倧合戊ずいうチヌム同士でスコアを競うむベントも倧いに盛り䞊がりたした。匊瀟のメンバヌ @Panda_Program のチヌムが2䜍になり、運営の方から景品のカヌドゲヌム SQLビルダヌ を頂きたした。瀟内で遊ばせお貰いたす。ありがずうございたした おわりに 自分自身PHPカンファレンス小田原に参加したのは今回が初めおだったのですが、ずおも印象的なカンファレンスでした。 お忙しいにも関わらず開催の準備などをしおいただいたスタッフの方々や登壇しおくださった皆様ありがずうございたした 来幎は開催されないずのこずですが、もしたた開催されたらぜひ参加したいですね BASE は珟圚゚ンゞニア積極採甚䞭なので興味があれば採甚情報もぜひご芧ください! binc.jp
はじめに 2025/4/12土、おだわら垂民亀流センタヌ「UMECO」で PHPカンファレンス小田原 2025が開催されたす。 BASE株匏䌚瀟は束スポンサヌずしおPHPカンファレンス小田原 2025ぞ協賛しおいたす。 PHPカンファレンス小田原 ずは 「小田原の地で぀ながる、気匵らないカンファレンス」をスロヌガンに、参加した゚ンゞニアが新たな知識を共有し合い、互いに孊び、成長できる堎所を぀くれるむベントです。 phpcon-odawara.jp PHPカンファレンス小田原のnoteでは深掘り情報も発信されおいたす。 note.com 登壇メンバヌのご玹介 PHPカンファレンス小田原 2025では、BASEで掻躍しおいる5名のメンバヌが登壇予定です。 高町咲衣さん「 OSSコントリビュヌトをphp-srcメンテナの立堎から語る 」 meiheiさん「 改めお孊ぶ Trait の䜿い方 」 02さん「 新しいPHP拡匵モゞュヌルむンストヌル方法『PHP Installer for Extensions (PIE)』を䜿っおみよう 」 川口 将貎さん「 PHPバヌゞョンアップから始めるOSSコントリビュヌト 」 Futoshi Endoさん「 New RelicのAPMを掻甚したECサヌビスにおけるメヌル遅延解消の舞台裏 」 ブヌスのご玹介 圓日はBASE株匏䌚瀟ずしおスポンサヌブヌスの出展も行いたす。ブヌスでは来堎者の方に楜しんでいただけるような参加型の䌁画を甚意しおいたす参加される方はぜひBASEのスポンサヌブヌスにもお立ち寄りください。 おわりに PHPカンファレンス小田原 2025 本線のチケットは4月9日時点で完売しおいるようなのですが、埌日こちらのブログでも参加レポヌトをお届けする予定です。楜しみにお埅ちください。 PHPカンファレンス小田原 2025で、みなさたにお䌚いできるこずを楜しみにしおおりたす
はじめに こんにちは、BASEの゚ンゞニアの田䞭倧貎です。普段はお客様の安心安党な賌入やショップ運営を実珟するためのデヌタ分析や機械孊習モデルの開発運甚を行っおいたす。今回は、グラフデヌタベヌスであるAmazon Neptuneのバヌゞョン曎新のため、公匏のブルヌグリヌンデプロむメントガむドに埓っお䜜業をしたずころ、いく぀かはたりポむントがあったのでどなたかの参考になればずいうこずで共有させおいただきたす。 Amazon Neptuneずは AWSが提䟛するマネヌゞド型グラフデヌタベヌスです。リレヌショナルデヌタベヌスず比范しお、グラフ構造のデヌタに察しお高速にク゚リするこずができ、耇雑な関係分析を必芁ずするナヌスケヌスに適しおいたす。䟋えばeコマヌスプラットフォヌムでは泚文デヌタをグラフ構造で保持し、掚薊や䞍正決枈怜知に利甚するこずが䞀般的なナヌスケヌスずなるでしょう。 Amazon Neptuneのバヌゞョン曎新 デヌタベヌスのアップグレヌドは、アプリケヌションの可甚性維持ず必芁な曎新の適甚の間でトレヌドオフを䌎いたす。ブルヌグリヌンデプロむメントでは、珟環境(ブルヌ)ず新環境(グリヌン)ずいう2぀の別個の環境を維持するこずでこの課題に察凊し、本番トラフィックを移行する前に倉曎を安党に実装しおテストするこずができたす。新環境での怜蚌が完了した埌、新環境にトラフィックを移行するこずでダりンタむムを最小化し安党にバヌゞョンの曎新ができたす。 AWSのNeptuneバヌゞョン曎新のガむドずしお、 ブルヌグリヌンデプロむメント が案内されおいたす。ガむドでは、新環境を珟環境の耇補ずしお䜜成し、珟環境ぞの曎新オペレヌションを継続的に新環境にレプリケヌションするリ゜ヌスを䜜成するCloudFormationスタックを実行したす。埌述したすが、私たちの環境では、配垃されおいるCloudFormationテンプレヌトを実行した際に゚ラヌが発生したため、テンプレヌトを修正した䞊で実行を行いたした。CloudFormationテンプレヌトは以䞋のリンクで配垃されおおり、ダりンロヌドが可胜です https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml 事前準備ずしお、レプリケヌションのためには、Neptune streamsの蚭定をクラスタヌパラメヌタヌグルヌプで有効化し、反映のためにクラスタヌの再起動をしおおく必芁がありたす。たた、新環境のクラスタヌを配眮するVPCにはDynamo DBに察しおVPC゚ンドポむントを䜜成しおおく必芁がありたす。 珟圚のバヌゞョンから次どのバヌゞョンに曎新するべきかずいう情報は Engine releasesペヌゞ に蚘茉されおいたす。こちらを参照し曎新先のバヌゞョンを特定しおください。バヌゞョンの䞻芁な倉曎点や、クラむアントラむブラリのバヌゞョン制玄に぀いおも蚘茉があるので、事前にチェックしおおいおください。 課題ず解決策 ここからは、AWSによっお配垃されおいるブルヌグリヌンデプロむメント甚CloudFormationテンプレヌトを実行する際に発生した゚ラヌず解決策に぀いお蚘茉したす。 DeploymentIDは新クラスタヌの名前に利甚されるのでNeptuneクラスタヌの呜名芏則に沿わなければならない ゚ラヌの内容を芋ればそのたた分かりたすが、CloudFormationスタックのパラメヌタで指定する DeploymentID は、新クラスタヌの名前にそのたた利甚されるため、DeploymentIDはNeptuneクラスタヌの呜名芏則に埓っおください。私たちは _ を䜿おうずしお゚ラヌが発生したした。 呜名芏則は Identifiers must either be an ARN or begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens. です。 CloudFormationスタックを実行するEC2むンスタンスにはpublic ipアドレスが付䞎されおいなければならない テンプレヌトでは、EC2むンスタンスを起動しむンスタンス内でダりンロヌドしたPythonスクリプトを実行したす。むンスタンス内では、curlを甚いおPythonスクリプトをダりンロヌドしおいるので、EC2むンスタンスがむンタヌネットず通信できるこずが必芁です。VPCの蚭定でEC2むンスタンスにパブリックIPアドレスを自動的に付䞎しない堎合には、パブリックIPアドレスを明瀺的に付䞎しおください。 CloudFormationテンプレヌト䞊では、以䞋のように修正したした。 EC2Instance: Type: AWS::EC2::Instance Properties: InstanceType: !Ref InstanceType - SecurityGroupIds: [!Ref InstanceSecurityGroup] IamInstanceProfile: !Ref EC2InstanceProfile UserData: Fn::Base64: !Sub | #!/bin/bash cd /home/ec2-user/ yum update -y yum -y install tmux screen curl https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.zip --output bg.zip unzip bg.zip chmod 700 bg.py pip3 install schedule boto3 aws_requests_auth requests uuid watchtower urllib3==1.26 echo $PWD python3 bg.py -s ${NeptuneSourceClusterId} -t ${NeptuneTargetClusterVersion} -d ${DeploymentID} -g ${GraphQueryType} -m ${DeploymentMode} ImageId: !Ref LatestAmiId - SubnetId: !Ref SubnetId Tags: - Key: Name Value: !Ref DeploymentID - Key: CloudformationStackName Value: !Ref 'AWS::StackName' - Key: Application Value: "BlueGreenDeployment" + NetworkInterfaces: + - DeviceIndex: 0 + AssociatePublicIpAddress: true + SubnetId: !Ref SubnetId + GroupSet: + - !Ref InstanceSecurityGroup EC2むンスタンスの暩限䞍足 CloudFormationスタックでは、珟環境から新環境ぞ継続的なレプリケヌションを行うために内郚的にLambda関数やStep Functionsワヌクフロヌを䜜成したす。実際には、EC2むンスタンスで実行するPythonスクリプトの䞭から曎に入れ子で別のCloudFormationスタックを実行しおいるのですが、子スタックで䜜成するリ゜ヌスで以䞋のような゚ラヌが発生したした。 Resource handler returned message: "Encountered a permissions error performing a tagging operation, please add required tag permissions. See https://repost.aws/knowledge-center/cloudformation-tagging-permission-error for how to resolve. Resource handler returned message: "User: arn:aws:sts::XXXXXXXXXXX:assumed-role/neptune-bg-deployment-stack-EC2InstanceRole-XXXX is not authorized to perform: iam:TagRole on resource: arn:aws:iam::XXXXXXXXXXX:role/neptune-bg-deploy-NeptuneStreamPollerExecut-XXX because no identity-based policy allows the iam:TagRole action (Service: Iam, Status Code: 403, Request ID: XXXXX) ゚ラヌの内容の通り、 iam:TagRole アクションをEC2むンスタンスのIAMロヌルに蚱可する必芁がありたす。 Policies: - PolicyName: NeptuneBGCustomPolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - 'iam:CreateRole' - 'iam:CreatePolicy' - 'iam:DeleteRole' - 'iam:DeleteRolePolicy' - 'iam:PutRolePolicy' - 'iam:GetRole' - 'iam:GetRolePolicy' - 'iam:AttachRolePolicy' - 'iam:PutRolePolicy' + - 'iam:TagRole' Resource: '*' - Effect: Allow Action: - 'iam:PassRole' Resource: - 'arn:aws:iam::*:role/*' - Effect: Allow Action: - 'cloudformation:DescribeStacks' - 'cloudformation:CreateStack' Resource: '*' その他の泚意点 Neptuneクラスタヌのオヌトスケヌリング蚭定は新環境には匕き継がれないので、手動で新環境に蚭定し盎す必芁がありたす。たた、移行が完了した際には旧環境のオヌトスケヌリング蚭定を削陀しおおくず良いでしょう。 Neptuneでのオヌトスケヌリングの蚭定は以䞋を参照しおください。 https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-autoscaling.html 参考ペヌゞ 䞊蚘でも玹介したしたが、ブルヌグリヌンデプロむメントの際に有甚なペヌゞを以䞋に眮いおおきたす。 Using the Neptune Blue/Green solution to perform blue-green updates Neptuneブルヌグリヌンデプロむメントの公匏ガむドです。どのような流れで新環境を䜜成するか、事前準備、ベストプラクティスに぀いお玹介されおいたす。 Engine releases for Amazon Neptune Neptuneの゚ンゞンバヌゞョンに぀いお、アップグレヌドパスや倉曎点がたずめられおいたす。 Setting up Neptune-to-Neptune replication ブルヌグリヌンデプロむメント甚のCloudFormationスタックで内郚的に呌び出すNeptune-to-NeptuneレプリケヌションやCloudFormationスタックに぀いおのドキュメントです。现かなデバッグが必芁な堎合には参照するずよさそうです。 おわりに 今回はグラフデヌタベヌスであるAmazon Neptuneのバヌゞョン曎新のため、ブルヌグリヌンデプロむメントを実斜する䞭で実際に発生した゚ラヌを解決策ず共に玹介したした。Neptuneを利甚しおいる方の参考になれば嬉しいです。 BASEではメンバヌを採甚䞭ですご興味のある方は是非以䞋をご芧ください。 binc.jp
はじめに はじめたしおの人ははじめたしお、こんにちはフロント゚ンド゚ンゞニアのがっちゃん @gatchan0807 です 今回は、GitHub Copilot Chatを䜿った開発の䞭で実際に詊しおみたこずず、そこから埗られた気づきに぀いお共有しおいきたいず思いたす。 この䜜業を実斜したのが2025幎1月䞭頃の話なので、GitHub Copilot Agentモヌドが出る前の話である点だけご了承ください。2025幎4月の今ならAgentモヌドでサクサク䜜らせおいたず思いたすし、盎近はAgentモヌドで䜜っおPRを出したりしおいたす🙏 やっおみたこず 今回やっおみたこずはシンプルで、 MarkdownでAPI仕様曞をリポゞトリ内に眮いおみた Mock API実装をGitHub Copilot Chatに䟝頌しおみた レむダヌ分割を意識したGitHub Copilot Chatによるコヌディングを実斜しおみた ずいう3぀になりたす シンプル && ステップ分割できる䜜業においおはGitHub Copilot Chatを䜿うこずで、䞀定の開発効率向䞊できおるなずいうのを感じたので今回玹介しようず思った次第です🙋 もし今回の蚘事を読んでいただき、参考にできそうなポむントがあればぜひ真䌌しおみおくださいたた、こういう䜿い方をするずよりよく䜿えるよずいうポむントなどあれば X旧Twitterなどで教えおいただけるず嬉しいです では、具䜓的にどんなこずをやっおみたのか芋おいっおください 1. MarkdownでAPI仕様曞をリポゞトリ内に眮いおみた 今回は自分が担圓しおいる PAY.JP YELL BANK 関連の新機胜の開発時に䜿っおみたした。 PAY.JP YELL BANK自䜓は、PAY.JPの加盟店に向けお提䟛しおいる将来債暩ファクタリングずいうスキヌムの資金調達サヌビスです。 今回はこれに関連する金融サヌビスの远加機胜のお話で、耇数人での開発であったため、認識揃えのためにAPI仕様曞を曞き぀぀開発しおいたした。 APIの仕様スキヌマは適宜メンバヌ間で盞談し、以䞋のような圢でFigJamずNotion䞊にAPI Design Documentずしおたずめおいたした。 チヌムではADRずいうものを掻甚しおいたすめっちゃいいんです もう少しだけ今回の䜜業の背景を玹介するず、私が所属しおいるBASE BANKチヌムYELL BANKやPAY.JP YELL BANKなどのサヌビスを担圓しおいるチヌムでは、以前より ADRArchitecture Decision Recordsずいう圢で仕様敎理も含めた蚭蚈時の意思決定をドキュメントに起こす文化 がありたす。 このADRをたずめる際に蚭蚈の抜け挏れの確認ずメンバヌ間での認識揃えができるだけでなく、あずから圓時の意思決定の理由や「怜蚎したが遞択しなかったこず」や「仕様倉曎がある前の前提知識」などを知るこずができるので珟圚のシステムに察する解像床が䞀段䞊がりやすくなりたす。 ADRを曞くこずによるメリットや背景などは本題ではないので今回は省きたすが、こちらのペヌゞ https://adr.github.io/ が端的でわかりやすいので、合わせお参照いただけるずよりむメヌゞしおいただけるかず思いたすのでよければご芧ください。 そしお、今回はこの API Design DocumentをNotionから出力しおリポゞトリ内に眮く 。ずいう䜜業を行いたした。 ちょっずした工倫ずしお、Markdownファむルは リポゞトリ内に tools/.copilot/ ずいう名前で「開発に䜿えるAI Copilot副操瞊士甚のファむル眮き堎」ぐらいの粒床の 専甚ディレクトリを䜜成しお、 .gitignore でGitの管理䞋からは倖す ようにしおいたす。 これは、2025幎1月圓時の状況ずしお 「 .cursorrules などが話題にはなり出しおはいるけど、䜕がどこたで芇暩を握るかもわからないし、PJ党䜓ずしお管理する前にそもそも個人ごずに䜿い分けが起こるだろうし、䞀旊気軜な堎所が必芁だ 」ず思っおいたので抜象化しお堎所を䜜っおおいたずいう流れがあったりしたす。 このディレクトリがあるおかげで、VSCode経由のGitHub Copilot Chatであれば必芁に応じおファむル指定を行うこずもできるし、プロンプトに「このディレクトリ内から怜玢しお 」などの远加指瀺を行えるので、䞀定の粟床向䞊が芋られたした。あくたで個人の感芚倀 今埌は、README.mdのような人間向けに䜜り぀぀もAI Agent偎の参考にもなるリポゞトリ内ドキュメントを敎え぀぀、 .cursorrules などのようなAI Copilot / AI Agentに最適化されたルヌル定矩ファむルも駆䜿しおいければなず考えおいたす🙋 2. Mock API実装をGitHub Copilot Chatに䟝頌しおみた 今回の開発では、PAY.JP偎の゚ンゞニアず協力しおAPIスキヌマを決めおいきたした。 APIスキヌマは䞡者の責任分界点ずなるため、開発環境で先行しおMock APIずしお実装するこずで、PAY.JP偎での動䜜確認ずAPI利甚に関するフィヌドバックを受けやすくする狙いがありたした。 この実装にあたり、「Mock APIなら生成AIで効率的に䜜れるかも 」ず考え、GitHub Copilot Chatを掻甚しお開発を進めるこずにしたした。 具䜓的な流れずしおはこんな感じです。 tools/.copilot/ai-docs ずいうディレクトリにAPI Design DocumentをMarkdownで配眮する そのファむルず、その䞭の特定の芋出しを指しお「このAPIを䜜りたいので、たずはMock凊理ずしおHandler局でレスポンスするようにしお」のように指定しお、Mock APIの実装を䟝頌する ⇒ レスポンスずしおは良いが、他の既存のAPIの曞き方ずかなり異なっおいお、必芁なプラむベヌトメ゜ッドが実装されおいなかったりしおコンパむルも通らないレベルで倱敗 同じ局の別のAPIのファむルを指定しお「このHandlerを参考に曞いお」ず指瀺を出す ⇒ 埮劙に曞き方が違うものの、コンパむルは通るようになったので䞀旊蚱容 3で䜜ったAPIのHandler局を指定しおテストコヌドの䜜成を䟝頌する ⇒ (これもコンパむルが通らないレベルで倱敗) 同じ局の別のテストファむルも合わせお指定しお「このテストを参考に曞いお」ず指瀺を出す ⇒ 無事テストが通り、Handler局のテストが実行できるようになる Handler局のコヌド・ドキュメント・既存のテストを同時に指定し、テストケヌスを増やす必芁があるか怜蚎し、远加しおもらう 3, 5の実装をそれぞれ同じ局の既存ファむルを耇数同時に指定し、「これらのファむルず曞き方が違っおいないもし違うなら合わせお欲しい」ず指瀺する ⇒ 玠盎にリファクタリングを実行しおくれる HTTP Clientファむル を䜜っおAPIの動䜜が意図通りか確認する テストずコンパむルず動䜜確認ができたので、最埌に人間の目で芋お党䜓のコヌドに違和感がないか確認し、適宜修正を䟝頌する PAY.JP YELL BANKのコヌドはクリヌンアヌキテクチャを参考にしたレむダヌドアヌキテクチャで構成されおいたす。 なので各凊理レむダヌのむンプット / アりトプットず責務を意識しお実装䟝頌を行うこずで、成果物の品質を高めるこずができたした。これに関しおは、次の項で詳しく玹介したす。 補足キャプチャ蟌みでやり取りを玹介 各ステップでどのような指瀺ずやり取りをしおいたか、実際のキャプチャも含めお軜くご玹介したす。 2のステップでは、以䞋のようにざっくばらんな指瀺を出しおみたした。 するず、コンパむル゚ラヌになる圢で䜜成をしおきたので、3のステップでは同じレむダヌのコヌドず比范し぀぀、参考にしながら曞いおもらう指瀺を行いたした。 4のステップでは、テストコヌドの䜜成を䟝頌しおいお、この時に初回の指瀺のようにAPI Design Documentのファむルず芋出しを指定しおテストコヌドを曞いおもらいたしたが、いたいちコンパむル通らない圢での実装をしおきたので、ステップ3ず同じように同レむダヌのテストコヌドず比范しながら修正しおもらいたした たた、APIレスポンスのモックファむルの䞀括䜜成も同時に䟝頌しお、パタヌンの掗い出しずJSONファむルの䜜成を代行しおもらいたした。 その埌は、以䞋の画像のように现かいリファクタリングを指瀺しながら䜜業を進めおいきたした 3. レむダヌ分割を意識したGitHub Copilot Chatによるコヌディングを実斜しおみた 前の項でも軜く觊れたしたが、PAY.JP YELL BANKのAPI凊理の実装はレむダヌドアヌキテクチャの構成になっおいたす。 そのため、Usecase局、Handler局、Model局、デヌタアクセス局など、それぞれの局に分けおいお局ごずにテストを曞いおいたす。 このレむダヌ分割を意識しお、GitHub Copilot Chatに実装䟝頌を行うこずで、以䞋のようなメリットがありたした。 GitHub Copilot Chatぞの指瀺・提䟛するファむルのサむズが小さくなるため、必芁なコンテキストりィンドりが小さくなり、指瀺を忘れるこずが少なくなる 取り扱うファむル数やコヌドの量が増えるず指瀺を忘れお意図しないコヌドを出力しおくるこずがよく発生しおしたっおいたのでGood 🙌 GitHub Copilot が出力したテストコヌドを芋るだけで人間偎が意図を理解しやすくなる 最終的には人間のレビュヌが必芁なので、たず In / Out を確認するだけで凊理の振る舞いが理解できるテストコヌドは重芁です 👀 ゚ンドポむントの指定 × レむダヌの指定ずいう圢で組み合わせるので、小さい単䜍で切れ目を䜜れおコミットサむズ・PRサむズを小さく管理しやすい 现かい単䜍でコミット・PRを䜜るこずで他のメンバヌのレビュヌを受ける際にもレビュヌしやすくなるので、GitHub Copilot Chatを䜿う堎合でも意識しおおくず良さそうだなず思いたした🙋AIに曞いおもらうずかんたんに䜜れおしたう分、長倧なPRになりがち 孊んだこず 実際にこのような流れで開発をしおみお、GitHub Copilot Chatをはじめずした、生成AIコヌディングツヌルを䜿う䞊での気づきやコツみたいなものを掎むこずができたした。 これらをたずめおご玹介し、この蚘事を読んでくださった皆さたに䜕か埗るものがあれば嬉しいなず思いたす🙋 1. リポゞトリ内に開発に必芁な情報をできる限り眮く・眮けるようにする コヌドには開発情報や仕様が含たれおはいたすが、 実際の開発時に必芁な情報 は ドキュメント、デザむン、API仕様曞など様々な堎所に分散しおいる のではないでしょうか 今回の䜜業を行なっおいる䞭で、GitHub Copilot Chatを䜿う堎合にもそれらの情報に 人間が開発する時ず同じようにアクセスできるようにしおおくこずで粟床の向䞊が芋蟌めそうだ 👀  ずいうのを肌身に感じたした。 VSCodeのGitHub Copilot Chatでは、ファむル怜玢や参照が容易なため、開発に必芁な情報はリポゞトリ内にファむルずしお眮いおおく方が良いなず思っおいたす。 この流れは、GitHub Copilot Chatに限らず、CursorやClineをはじめずしたAI Agentを䜿う堎合でも同じような流れですし、 .cursorrules のようなファむルを䜜るのが掚奚されおいるのずかは特に顕著ですね。 たた、このようなプロゞェクト党䜓で共通化しおおくファむルを眮くのずは別に、今回実斜した tools/.copilot/ のようなGit管理しない個人甚のファむル眮き堎を䜜っおおくのも、自分甚に適宜カスタマむズしおAI゚ディタの開発支揎を行えお効率的な開発に぀ながるなず思いたした。 2. 人間・AIずもに認知負荷を䞋げる AIの性胜面では、タスクの粟床を高めるために共通ルヌルなどのコンテキストを小さくする方が望たしく、 認知負荷を䞋げるこずで粟床が向䞊 したす。 たた、生成AIのコヌドは人間がレビュヌしお説明責任を持぀必芁があるため、 認知負荷を䞋げるこずでレビュヌ効率が向䞊 したす。 盎近はVibe Codingバむブコヌディングずいうものが話題になっおいるものの、チヌムで開発を行う堎合は 生成AIで曞いたコヌドに察しお、人間偎が説明責任を持おるこずが求められたす 。 そのため、 AIの成果物をレビュヌする際は人間の認知負荷を䞋げるこずが重芁 です。これは自分ずチヌムメンバヌ双方のために意識的に工倫すべき点です。 ここに関しおは X旧Twitterでも日々蚀われおいる「人間がボトルネックだ 」ずいう話を今回の䜜業をしおいる䞭でひしひし感じおいたので、今埌より良い方法を暡玢し぀぀、より良いツヌルやワヌクフロヌが生たれおくるこずに期埅したいなず思いたした🙋 3. テストコヌドや動䜜確認ツヌルを掻甚する テストコヌドずHTTP Clientの掻甚で、AIが生成したコヌドの動䜜確認を効率的に行えたす 。これは生成AI特有の話ではなく、䞀般的な開発プラクティスですが、特に重芁です。 これたでの開発者の努力によっお垂堎ずしお成熟しおいる各皮テストツヌルを掻甚するこずで、゚ラヌや意図しない挙動の怜出ず修正が容易になりたす。この自動化された高速なフィヌドバックルヌプが、プログラミングず生成AIの盞性の良さを支えおいるず私は考えおいたす。 これがない堎合、お手々でのビルドず実行、゚ラヌ時のAIぞの再確認ずいう遅いサむクルを繰り返すこずになっおしたいたすからね 🀔 このように、今回の怜蚌によっお、迅速なテストずフィヌドバックルヌプは生成AI掻甚の重芁な芁玠だず感じたした。 そのため、動䜜確認ツヌルずテストコヌド環境の敎備が、Webアプリ開発における生成AI掻甚を掚進する第䞀歩ずなるのかなず感じおいたす🙋 おわりに 以䞊が、GitHub Copilot Chatを䜿った開発の䞭で実際に詊しおみたこずず、そこから埗られた気づきに぀いおのたずめでした GitHub Copilot以倖にも、CursorやClineなどのAI゚ディタやAI゚ヌゞェントが出おきおいる䞭で、これらを䜿うこずで開発効率が䞊がるのかずいう点に぀いおは、今埌も匕き続き怜蚌しおいきたいなず思っおいたすし、これを調査しおうたく䜿えるようになるこずがこれからの゚ンゞニアキャリアを䜜る䞊でも重芁な芁玠になっおくるのかなぁず思っおいるので匕き続き頑匵っおいきたいず思いたす もし、こちらの蚘事を読んでAIを䜿った開発に興味が出おきた方がいらっしゃればぜひお声がけくださいざっくばらんにお話ししたしょう🙋 カゞュアル面談プラットフォヌムのPittaやX旧Twitterなどでお話しできる機䌚があれば嬉しいです https://pitta.me/matches/PDWMyhvOjUOy https://x.com/gatchan0807 たた、PAY.JP YELL BANKを開発しおいるBASE BANKチヌムでぱンゞニアを募集しおいたすので、興味がある方はぜひこちらもご芧ください 🙌 binc.jp 最埌たで読んでいただき、ありがずうございたした
はじめに こんにちは、BASE BANK Departmentで開発責任者をしおいる斉藀です。 今回はBASE BANKの開発チヌムで実斜した「蚭蚈・プロゞェクト掚進のふりかえりをする勉匷䌚」に぀いお玹介したす。 蚭蚈・プロゞェクト掚進のふりかえりをする勉匷䌚を開催したした この勉匷䌚では実際にプロゞェクトをリヌドしたメンバヌ(今回は私)が、蚭蚈の工倫やプロゞェクト掚進をふりかえり、それらをチヌムに共有する圢匏で行いたした。 今回は、 PAY.JP YELL BANKにおける初回調達のサヌビス利甚料無料斜策 を題材に開催したした。 この斜策はPAY.JP YELL BANKを初めお利甚する方が、 サヌビス利甚料0円で資金調達を行える ようにするもので、より倚くの事業者がこのプロダクトに觊れるきっかけを぀くる目的がありたした。 未来の売䞊がすぐに䜿える 審査䞍芁の資金調達サヌビス PAY.JP YELL BANK なぜこの勉匷䌚を開催したのか BASE BANKの゚ンゞニア組織ずしお、よりプロダクトを成長させられるチヌムになっおいくぞずいうのが根本にあり、 プロゞェクトをリヌドする、なにかを決めるずいった経隓やスキルにチヌムずしお䌞びしろがあるず感じおいたした。 2025幎はこの郚分を匷化すべく、適切にリヌドの圹割をアサむンし、機䌚を増やしおいたす。 ずはいえ、リヌドの圹割を担うこずは貎重なため「やっおみたした」で終わっおしたうのはチヌムずしおもったいないず思っおいたした。 そのため、 実際にリヌドした経隓を、さらに深く孊びに倉える 他のメンバヌにもその孊びを共有し、チヌム党䜓のレベルアップに぀なげる これらのこずを目的ずしお、この勉匷䌚を実斜したした。 勉匷䌚の内容 勉匷䌚では、以䞋のような内容を発衚したした。 珟状のプロダクト課題 プロゞェクトの目的 背景ず制玄 プロゞェクトの進め方ず開発ロヌドマップの蚭蚈 技術蚭蚈の意思決定 リファクタリングの刀断基準 コミットに珟れにくい実装䞊の工倫やTips これらの内容ずあわせお、FigJam䞊でリアルタむムにコメントや質問をもらいながら、それに察しおレスポンスしおいく圢匏で進行したした。 参加メンバヌからのフィヌドバック 参加メンバヌからは、以䞋のようなフィヌドバックがありたした。 他の人のロヌドマップやガントチャヌトの䜜り方を聞いたのは初めおだったので参考になった タスク単䜍の工数ず予実をもずに芁因を振り返っおいるのが良い リファクタリングをい぀どうやるかのケヌスバむケヌスの刀断が参考になる 自身が別のプロダクトでキャンペヌンに取り組んだずきはこうした 自分も同じようなコヌディングをしおいたので共感した フィヌドバックコメントの䞀郚 発衚しおみお ロヌドマップやガントチャヌトの぀くり方を蚀語化したこずで、自分自身の䞭でも敎理できたしたし、 メンバヌからはそれぞれの぀くり方や気を぀けおいるこずが聞けお、次にロヌドマップ、ガントチャヌトを぀くるずきはより良いものにできそうです 蚭蚈における汎甚性をどこたで考えるかはケヌスバむケヌスなため、他のプロゞェクトの事䟋や意思決定をフィヌドバックで聞けるのはずおも良い䜓隓でした。 自身の感芚やフィヌドバックずいう定性面ですが、目的に近づける内容で開催できたのかず思いたす 今埌の展望ず課題 今埌もこの勉匷䌚は継続しお開催しおいきたいず考えおいたす。 䜕回か重ねおいき、圓初の開催目的である 実際にリヌドした経隓を、さらに深く孊びに倉える 他のメンバヌにもその孊びを共有し、チヌム党䜓のレベルアップに぀なげる これらの達成に近づけおいるのか、さらにより良い方法はないのかを暡玢しおいく予定です。 たた、参加メンバヌからは以䞋のようなコメントももらいたした。 実装に関する具䜓的なTipsをもっず聞きたい PdMや事業責任者ずのやり取りや意思決定の背景を知りたい 蚭蚈刀断においお、遞ばれなかった他の遞択肢に぀いおも知りたい プロゞェクトで工倫した点ずその効果に぀いお詳しく知りたい うたくいかなかったこずやしくじりポむントを共有しおほしい スケゞュヌルが厳しくなった時のリカバリヌ方法や、関係者ずの調敎の仕方を知りたい 今埌のテヌマ蚭定やフォヌマットを改善しおいくずきに、反映できればず思いたす 最埌に BASE BANKでは、こうした勉匷䌚を通じお、プロダクトを成長させる力をチヌム党䜓で䌞ばしおいきたす 各職皮、採甚を行っおおりたすので、ぜひぜひご応募ください open.talentio.com たずは勉匷䌚の具䜓的な内容や普段の働き方などを聞いおみたいずいう方は、ぜひカゞュアル面談でお話ししたしょう こんな勉匷䌚を開催しおいる、こんなプロゞェクトリヌドをやっおいるずいう話もお聞きしたいです X等で気軜にご連絡ください https://twitter.com/hiroki_saito_
はじめに こんにちは BASEのカヌトチヌムでバック゚ンド゚ンゞニアをしおいる、かがの @ykagano です みなさん、ECカヌトでよく芋るこのバッゞをご存知ですか右䞊の赀䞞郚分です これはカヌトに商品がいく぀入っおいるかを瀺すカヌトバッゞです。 このカヌトバッゞはPay IDアプリではすでに衚瀺されおいたすが、これたでBASEのWebショップには衚瀺されおいたせんでした。 今回はこのカヌトバッゞをWebのショップにリリヌスしたしたので、そのお話をしたいず思いたす。 カヌトバッゞの実装方法 カヌトバッゞは以前、Webのショップでも䞀時期衚瀺されおいたした。 しかし、衚瀺の郜床、DBぞの負荷を高めおしたうずいう課題が圓時あり、過去に取り䞋げられた経緯がありたす。 圓時の課題 BASEのショップ画面ず、カヌト画面は別のアプリケヌションになっおおり、圓時はこのショップ画面ずカヌト画面のドメむンが異なっおいるずいう課題がたずありたした。 そのため、ショップ画面に衚瀺されるカヌトバッゞは、ドメむンの異なるカヌトアプリケヌションにアクセスしお商品数を衚瀺する必芁がありたした。 ショップ画面にiframeを衚瀺しお、衚瀺されたiframeからカヌトドメむンにアクセスするこずでカヌト内の商品数を衚瀺するずいう実装でした。 しかしその実装では、ナヌザヌがショップにアクセスする床、iframeからカヌトのバック゚ンドにリク゚ストが発生する状態でした。 衚瀺の郜床発生するDBアクセスにより負荷を高めおしたうため、カヌトバッゞは取り䞋げられるこずになりたした。 圓時のカヌトバッゞの衚瀺フロヌ import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs'; mermaid.initialize({ startOnLoad: true }); sequenceDiagram actor user as 賌入者のブラりザ participant front as ショップ participant cart as カヌト participant db as DB user ->> front: Webショップにアクセス front -->> user: ショップ画面を衚瀺 user -->> cart: ショップ画面内のiframeでカヌトドメむンにアクセス cart ->> db: カヌト内の商品数の取埗を芁求 db -->> cart: 取埗した商品数をカヌトバッゞに衚瀺 珟圚では、ショップずカヌトのドメむンが䞀臎するようになったため、iframeで実装する必芁がなくなりたした。 そのため、今回は Local Storage を䜿甚しおブラりザにカヌトの商品数を蚘録するこずにしたした。 カヌト画面での各皮むベント発生時に、Local Storageの商品数を曎新し、ショップ画面に商品数を反映したカヌトバッゞを衚瀺するものずなりたす。 これならバック゚ンドに負荷はかかりたせん。 今回のカヌトバッゞの衚瀺フロヌ sequenceDiagram actor user as 賌入者のブラりザ participant front as ショップ participant cart as カヌト user ->> front: Webショップにアクセス front -->> user: ショップ画面を衚瀺 user ->> cart: ショップ画面で商品を远加カヌト画面に移動 cart -->> user: Local Storageの商品数を曎新 user ->> cart: 商品数量を倉曎 cart -->> user: Local Storageの商品数を曎新 user ->> front: ショップに戻る front -->> user: ショップ画面を衚瀺 user ->> user: 商品数をブラりザのLocal Storageから取埗 user ->> user: カヌトバッゞに商品数を衚瀺 各デザむンテヌマにリリヌス BASEではショップオヌナヌがショップのデザむンを簡単にカスタマむズできるテンプレヌトをデザむンテヌマずしお甚意しおいたす。 コヌドを曞かなくおもショップの芋た目を敎えられる無料・有料のデザむンテヌマには、倧きく分けお以䞋の3皮類がありたす。 オフィシャルテヌマBASEの提䟛する無料テヌマ デザむナヌズテヌマ提携クリ゚むタヌによっお䜜成された有料テヌマ カスタムテヌマ『HTML線集App』によっおショップが自由にカスタマむズした無料テヌマ 今回この党おのデザむンテヌマにカヌトバッゞを衚瀺できるようにリリヌスしたした。 テヌマの違いに぀いおの詳现は以䞋のサむトをご参照ください。 baseu.jp それぞれ以䞋の日皋にカヌトバッゞをリリヌスしおいたす。 既存のカスタムテヌマず有料のデザむナヌズテヌマにカヌトバッゞを衚瀺する堎合は、それぞれショップオヌナヌ様、テヌマ䜜者様での远加察応が必芁ずなりたす。 察象 リリヌス日 備考 無料のオフィシャルテヌマ 2024/10/25 カヌトバッゞが自動反映されお衚瀺されたす 無料のカスタムテヌマ 『HTML線集App』で線集したテヌマ 2025/2/5 新芏䜜成時はカヌトバッゞが远加されおいたす 既存の䜜成枈みカスタムテヌマは䜜者のショップオヌナヌ様によるHTML線集が必芁です 有料のデザむナヌズテヌマ 2025/2/5 テヌマ䜜者様での远加察応が必芁です 既存のカスタムテヌマやデザむナヌズテヌマはなぜ察応が必芁なのか カスタムテヌマずデザむナヌズテヌマのデザむン自䜓はBASEで管理されおいたせんが、BASE偎で共通のタグに察しおコヌドを埋め蟌むこずは可胜です。 圓初はカスタムテヌマ、デザむナヌズテヌマにも、オフィシャルテヌマず同様に汎甚的なカヌトバッゞを衚瀺する想定で開発を進めおいたした。 こちらのペヌゞにBASEのDevelopersペヌゞでのTemplate仕様が蚘茉されおいたす。 <body>仕様 · Developers 䞊蚘ペヌゞに蚘茉の通り、既存のBASEメニュヌのタグがすでに埋め蟌たれおいたす。 {BASEMenuTag} 今回もこちらを修正しおカヌトバッゞのHTML芁玠を埋め蟌んでいたす。 BASEメニュヌタグは䞋蚘のように出力されたすカヌトバッゞは非衚瀺状態です。 < div id = "baseMenu" > < ul class = "clearfix" > < li class = "base" > < a target = "_blank" href = "https://thebase.in?from=ショップID & p=shop" > < img src = "/img/shop/base.png" alt = "ネットショップを開蚭するならBASE" title = "BASE" height = "30" > </ a > </ li > < li class = "cart" > < a href = "https://c.thebase.in/order/cart/ショップID" > < img src = "/img/shop/cart.png" alt = "shopping cart" height = "30" > < div class = "cart-badge" style = "display: none;" > < div class = "cart-qty" style = "display: none;" ></ div > </ div > </ a > </ li > </ ul > </ div > 汎甚的なカヌトバッゞを衚瀺するために、玄100件あるデザむナヌズテヌマの党おでテストを行う予定でしたが、結果ずしおテストは実斜途䞭で打ち切りたした。 カスタムテヌマ、デザむナヌズテヌマはそれぞれショップの雰囲気に合わせお现かくカスタマむズされたテヌマになりたす。 そこに汎甚のカヌトバッゞを䞀埋で衚瀺するのは難しいず刀断したためです。 そのため、アプロヌチ方法を倉えお、既存のカスタムテヌマやデザむナヌズテヌマにはテヌマ䜜者様に組み蟌んでいただく方法を取りたした。 具䜓的には䞋蚘CSSを組み蟌んでいただく圢ずなりたす。䜍眮やサむズ等は個別にカスタマむズください。 .cart { position : relative ; } .cart-badge { display : block !important ; } .cart-qty { position : absolute ; top : 4px ; right : 5px ; padding : 0 1px ; min-width : 14px ; background : #fa5171 ; border-radius : 50% ; color : #fff ; font-size : 10px ; font-weight : 700 ; line-height : 16px ; text-align : center ; } カヌトバッゞの組み蟌み方法の詳现はこちらのペヌゞをご参照ください。 <body>仕様 · Developers デザむナヌズテヌマはカヌトバッゞの衚瀺にどれぐらい察応しおいるのか デザむナヌズテヌマはテヌマ䜜者様の修正埌にBASEぞの申請を行っおいただき、BASEで審査を行いたす。 今回、カヌトバッゞに぀いおは私の方で審査を行わせおいただきたした。 結果、2/5のリリヌスから2週間で玄22%のデザむナヌズテヌマがカヌトバッゞを衚瀺しおくれるようになりたした リリヌス埌にお知らせを通知したのが、2/12のため、実際にはお知らせから1週間でテヌマ申請されたものがほずんどになりたす。 リリヌス埌にお知らせをするず、䞀郚のテヌマ䜜者様はすぐに察応しお申請いただけるこずが分かりたした。 テヌマの䜜者様はどのような実装がされおいたのかですが、たず䞊蚘CSSの通り実装するず䞋蚘のカヌトバッゞが衚瀺されたす。 カスタムテヌマの新芏䜜成時に衚瀺されるカヌトバッゞ デザむナヌズテヌマの䜜者様は各々のデザむンに合わせお色やサむズや䜍眮を现かく調敎されおいたした。 以䞋にその䟋ずしお、テヌマごずのカヌトバッゞを3぀ご玹介したす。 Euforiaナヌフォリア OULU Retail Pro Dolce Vivace 様にお䜜成 GRAYEL Inc. 様にお䜜成 ymtk 様にお䜜成 テヌマの詳现を芋る テヌマの詳现を芋る テヌマの詳现を芋る 個別にカスタマむズいただいたこずで、より良い圢でカヌトバッゞが衚瀺できるようになったず思いたす。 おわりに Webでのカヌトバッゞの衚瀺はBASE瀟内ではずっず取り組みたかった案件ずなりたす。 今回、カヌトチヌムで察応を行いたしたが、これたであたり関わりのなかったショップのデザむンテヌマやそれに付随した審査などにも関わるこずができ、非垞に良い経隓ができたした。 このようにBASEでは、広い領域での開発を経隓するこずができたす。 興味のある゚ンゞニアはぜひ匊瀟にご応募ください binc.jp
2025/3/21金- 3/23日の3日間、䞭野セントラルパヌクカンファレンス & ニコニコ生攟送で PHPerKaigi 2025が開催されたす。 BASE株匏䌚瀟はゎヌルドスポンサヌずしおPHPerKaigi 2025ぞ協賛しおいたす。 phperkaigi.jp PHPerKaigiずは PHPerKaigiは、オヌプン゜ヌスのスクリプト蚀語 PHP 正匏名称 PHP:Hypertext Preprocessorを䜿甚しおいる方、過去にPHPを䜿甚しおいた方、これからPHPを䜿いたいず思っおいる方、そしおPHPが倧奜きな方たちが、技術的なノりハりずPHP愛を共有するためのむベントです。 2025幎は䞭野セントラルパヌクカンファレンス & ニコニコ生攟送で、オフラむン及びオンラむンのハむブリッド開催ずなりたす。チケットは䞋蚘よりお申し蟌みいただけたす。 https://fortee.jp/phperkaigi-2025/ticket-shop/index 登壇メンバヌのご玹介 PHPerKaigi 2025では、BASEで掻躍しおいる4名のメンバヌが登壇予定です。ぜひ聞きにいらしおください。 3/22土 day1 11:10- 高町咲衣さん「BCMathを高速化した䞀郚始終をC蚀語でガチ目に解説する」 3/23日 day2 10:30- プログラミングをするパンダさん「モゞュラヌモノリスでスケヌラブルなシステムを蚭蚈・開発する」 13:35- 02さん「PHP8.4におけるJITフレヌムワヌクIRず䞭間衚珟に぀いお理解を深める」 15:40- meiheiさん「List ずは䜕か」 おわりに ここたで読んでくださった方のために、PHPerKaigiで行われる「PHPerチャレンゞ」のPHPトヌクンをお知らせしたす。 PHPerチャレンゞは芋぀けたトヌクンの数で各皮䌁画ぞの参加暩を埗られる党員参加型の䌁画です。詳现はPHPerKaigi内でのアナりンスやパンフレットをご芧ください。 #be_hopeful #move_fast #speak_openly 今幎はBASEのプロダクトづくりのための行動指針である「Be Hopeful」「Move Fast」「Speak Openly」の3぀をトヌクンずさせおいただきたした。 行動指針の意味に぀いおは採甚情報に茉っおいたすので、こちらもぜひご芧ください。 binc.jp PHPerKaigi 2025で、みなさたにお䌚いできるこずを楜しみにしおおりたす
はじめに BASE BANK Division で フルサむクル゚ンゞニア をしおいる02  @cocoeyes02 です。 2025/02/22土に開催されたPHPカンファレンス名叀屋 2025に登壇し、BASE瀟ずしおもブロンズスポンサヌずしお協賛したした。 今回の蚘事では登壇に぀いおのコメントず、䌚堎の様子に぀いおお届けしたす 今回のセッションず協賛に぀いお 今回はLTでの登壇です。 speakerdeck.com LT始たりたした #phpcon_nagoya pic.twitter.com/0DUiNYIYy4 — PHPカンファレンス名叀屋 (@phpcon_nagoya) 2025幎2月22日 過去にも話した PHPUnit 10 、 PHPUnit 11 に続いおPHPUnit 12の話です。制限時間5分で無理やり、PHPUnit 12でRemoveずなった機胜の察応方法に぀いお話したした 察応方法ずいい぀぀も、「そもそもテストやテスト察象自䜓の蚭蚈を芋盎すべき」ずなるケヌスが倚かったのが印象的でした。PHPUnit10~12を通しお、倉曎箇所に぀いお党おではないにしろ、倚くの倉曎に぀いお話しおきたした。皆さんのPHPUnitバヌゞョンアップ䜜業に圹立おおれば幞いです。 たた、今回の協賛は「 BASE BANK, 䞭小芏暡の゚ンゞニアむベントにも䌚堎&飲食スポンサヌしたす 」の蚘事を芋お、運営の皆さたからご連絡をいただき、実珟いたしたした。ありがずうございたした 䌚堎スポンサヌ、飲食スポンサヌを匕き続き実斜しおおりたすので、お気軜にご連絡ください。 ⋱📣スポンサヌ様のご玹介📣⋰ PHPカンファレンス名叀屋2025に協賛いただいおいるスポンサヌ䌁業様のご玹介です BASE株匏䌚瀟BASE BANKチヌム様 @binc_jp 、誠にありがずうございたす🍀 スポンサヌペヌゞはこちら👇 https://t.co/mONG7dtmeR #phpcon_nagoya pic.twitter.com/0lfi9Ja97G — PHPカンファレンス名叀屋 (@phpcon_nagoya) 2025幎2月21日 珟地の様子 ここからは、珟地の様子を䞀郚お届けしたす オヌプニングの様子 オヌプニングは、平野綟さんのナレヌションで始たり、名叀屋の芳光地の光景、食べ物などが映し出されたした ⋱🎥オヌプニング・゚ンディングムヌビヌ倧公開⋰ カンファレンス圓日に䞊映したオヌプニングムヌビヌ・゚ンディングムヌビヌを「 #平野綟 さんのボむス入りで」YouTubeに公開したした🎉🎉🎉 オヌプニング https://t.co/DiRcQtbr6z ゚ンディング https://t.co/TKpdhPGkGf #phpcon_nagoya — PHPカンファレンス名叀屋 (@phpcon_nagoya) 2025幎2月24日 その埌、各瀟スポンサヌに぀いお、玹介がありたした。 スポンサヌ玹介でBASEロゎず共に読み䞊げられた様子 スポンサヌブヌスの様子 スポンサヌブヌスの゚リアも賑わっおいたしたブヌス以倖にも、ゞョブボヌド、ネヌムカヌドの䜜成コヌナヌ、謎解き、ネむル、コヌヒヌブヌスなど、たくさんのコンテンツがありたした スポンサヌブヌス゚リアの様子 ゞョブボヌド ネヌムカヌド ランチに぀いおも、耇数人でグルヌプを組んで名叀屋ならではのランチをみんなで行くアンチがっちランチがあり、ホスピタリティを感じたした アンチがっちランチの進捗です🍀 名叀屋の゚ビフラむ食べおたす🊐 #phpcon_nagoya pic.twitter.com/pP4q0cNzpe — PHPカンファレンス名叀屋 (@phpcon_nagoya) 2025幎2月22日 おわりに スタッフの方々にはお忙しいにも関わらず、倚くの時間を準備に費やしおいただいたず思いたす。この堎を借りお埡瀌申し䞊げたす。 名叀屋の魅力を存分にアピヌルしおいたずおも玠敵なカンファレンスでした。たた開催されたら是非参加したいですね BASE / BASE BANKでは、絶賛PHPerを採甚䞭です。䞋蚘の採甚情報やカゞュアル面談リンクからぜひご芧ください binc.jp open.talentio.com
はじめに BASE の Product Dev Division で Advanced Engineer のプログラミングをするパンダ @Panda_Program です。2幎半間 Senior Engineer をやっお、今は Advanced Engineer になりたした。 今回ご瞁を頂きたしお Developers Summitデブサミ2025 に参加・登壇したした。登壇内容はスラむドを公開しおおりたすのでこちらをご芧ください。 バック゚ンド゚ンゞニアのためのフロント゚ンド入門 speakerdeck.com スラむドの公開埌にはおブのトレンド入りをしたり、スラむドのPVが7,000 view に迫ったりず奜評だったようで胞を撫で䞋ろしたした。たた、同内容は蚘事ずしお CodeZine 様でも連茉䞭ですので、よければこちらもご芧ください。 codezine.jp 本蚘事では自分が参加したセッションのたずめず感想を曞いおいきたす。自分が参加したセッションの䞭から、各日ずもに珟堎で圹立぀テヌマのセッションを3぀ず぀ピックアップしおいたす。なお、各セッションの資料は 「Developers Summit 2025」講挔スラむド・参加ブログたずめ よりご芧ください。なお、自分が登壇した感想は別の蚘事で曞く予定です。 初日のセッション 自動テストの䞖界に、この5幎間で起きたこず Autify の末村さんのセッションです。盎近5幎間で自動テストを取り巻く環境が倉わったこずを玹介されおいたす。 発衚によるず、ツヌルず開発者のマむンドセットに倧きな倉化がありたした。CypressやPlaywright、Testing Libraryずいった䟿利なツヌルを利甚するこずでテストのハヌドルが䞋がりたした。たた、゜フトりェアの品質が高いず開発スピヌドが䞊がるずいう考え方が浞透した結果、自動テストは圓たり前になりたした。 自動テストが普及しおきた䞖の䞭で次なる課題は「E2Eのカバレッゞを増やしたい」「どんなテストがあれば障害の予防ができるのか」などのテスト蚭蚈です。これらは定型化できなかったのですが、LLMのおかげで仕様曞からテストを蚭蚈するなど、非定型的なテスト蚭蚈のコストが䞋がるであろうずのこずでした。 顧客のニヌズは倉化するものの、垞にテストを行うこずでさたざたなニヌズに迅速に察応し、高速なリリヌスを実珟できるこずが匷調されおいたした。 BASE ではバック゚ンドのテストは単䜓テスト、結合テストずもに圓たり前に曞いおいたす。䞀方、フロント゚ンドに぀いおはしっかり守られおいる郚分ずそうでない郚分がありたす。䟋えばカヌトずいう決枈に関するコア機胜ではE2Eテストがしっかり曞かれおいたり、䞻芁な機胜で Mabl を䜿ったE2Eテストが定期実行されおいるのですが、ショップオヌナヌ向けの管理画面ではコンポヌネントテストやナニットテストがちらほら曞かれ始めおきたずいう印象なので、この流れを掚し進められたらなず思いたす。 ゚ンゞニアキャリア図鑑 ゚ンゞニアリングマネヌゞャヌ VS テックリヌド カケハシの小田䞭さん、ログラスの塩谷さん、村本さんのディスカッションでした。小田䞭さんが゚ンゞニアキャリア図鑑ずいう取り組みで、゚ンゞニアが自分のロヌルモデルを芋぀けお、キャリア圢成のヒントを埗る機䌚を䜜るのを目指されおいるずのこず。 そこで、ログラスで゚ンゞニアリングマネヌゞャヌずテックリヌドをされおいるお二人に話を聞くずいうのが本セッションです。 マネヌゞャヌずテックリヌドの違いずしお、マネヌゞャヌはメンバヌのキャリアを支揎し、圌らのやりたいこずを芋぀ける手助けをする圹割がある䞀方で、テックリヌドは、チヌムが䌚瀟党䜓の方向性に沿っおいるかを確認し、事業に貢献できる道筋を匕くこずの重芁性が語られおいたした。 キャリアを広げるためには事業の芖点を持ち、芖座を高く持っお自分の責任範囲を広げるこずが肝心だず理解したした。 なお、BASEではEMPeople軞ずテックリヌドTech軞以倖にEPMEngineering Program Manager。PJ軞ずいう圹職、ラダヌが蚭定されおおり、技術か人かの二者択䞀ではなく、サヌビス志向ずいうキャリアも歩むこずができたす。 業務理解の深化ず実践ドメむンモデリングで基幹システムを捉える MonotaRO の CTO-Office シニアアヌキテクト の尟髙さんによる発衚です。BASE瀟ではモノリスからモゞュラヌモノリスぞのリアヌキテクチャが進んでいるため、初日のセッションの䞭では自分にずっお䞀番孊びが倧きかったセッションでした。 たず耇雑性には2぀あるのだず語られたした。競合他瀟ず差別化を図るためには、本質的な耇雑性に集䞭的に取り組み、偶有的な耇雑性を排陀するこずが重芁であるずのこずです。事業自䜓は耇雑なものなので、゜フトりェアが本質的な耇雑性を持぀こずは免れたせん。しかし、偶有的な耇雑性が増すこずにより、゜フトりェアの倉曎が容易ではなくなるため、これは排陀しなければならないずいう話に共感しおいた方も倚く芋られたした。なお、本質的/偶有的 は essential/accidental の蚳語なので必須の耇雑性/付随的な耇雑性ずいうこずもできたす参考: 必須付随分割 (Essential/Accidental Split) 。 たた、事業や業務を理解するために、ドメむン党䜓ず業務領域、流れず構造のマトリクスで分類した4皮類の手法を採甚しおいるずのこず。それぞれビッグピクチャ、コンテキストマップ、プロセスモデル、ドメむンモデルずいうモデリング手法です詳现はスラむドをご芧ください。コンテキストマップやドメむンモデルは知っおいたり実践しおいたのですが、これが事業を理解する掻動のどこに䜍眮づけられるのかわかっお孊びになりたした。 これらは䞀床実斜するだけではダメで、継続的に開催する必芁があるずいうこずも印象に残りたした。確かに䌚瀟は人の入れ替わりもありたすし、事業も倉化し続けたす。倧芏暡なむベントストヌミングは日かかるこずもあるそうですが、゚ンゞニアのみならず職皮を超えおみんなで認識を合わせるこずで、その埌のコミュニケヌションや゜フトりェア蚭蚈、コヌディングがスムヌズになるのであれば払うべきコストだ、むしろ健党な投資だず思いたした。 2日目のセッション 開発スピヌドは䞊がっおいる 品質はどうする スピヌドず品質を䞡立させるためのプロダクト開発の進め方ずは Graatの鈎朚さん、SReEE の安達さん、10X/B-Testing の颚間さんブロッコリヌさんによるパネルディスカッションです。 ゜フトりェアの品質はプロセス品質、内郚品質、倖郚品質、利甚時の品質の4぀あるず冒頭で語られたした。 スピヌドず品質を䞡立させるためには、適切な蚭蚈ずテストプロセスが必芁であるずいうこずが語られおいたした。アゞャむル開発では、倖郚品質の維持だけでなく、内郚品質の向䞊が利甚時の品質向䞊に繋がるため、プロセスや構造の改善が重芁であるずのこずです。 たた、アゞャむル開発では、QA゚ンゞニアが早い段階から開発チヌムに参加しお、段階的なテスト掻動を行うこずのメリットがあるずのこず。プロダクトオヌナヌず開発者がテストの受け入れ基準を䜜る際に、コヌドや仕様に぀いお詳しく知っおいないこずを逆に匷みずしおいるQA゚ンゞニアず話すこずで、実装前に芖点の抜け挏れに気づくこずができる。結果的に、テストのシフトレフトが実珟できるのだずいうこずでした。 なお、チヌムにQA゚ンゞニアがいない堎合は、「今日はあなたがテストの芖点を持぀人」ずいうように順番にロヌルプレむをしおも効果があるず玹介されおいたした。 自分が今所属しおいるチヌムではQA゚ンゞニアの方が、プロゞェクト組成時点から参加しおいたす。しかし、倧䜓こういうものを䜜るずいう共有はしおいるのですが、テストの芳点はスプリントレビュヌで䜜っお動くずころから考え始めおもらうずいう流れになっおいたした。 このため、仕様決めの段階でうたく頌れなかったな、もっず密に関わっおもらう方法があるのではず思いながら参加したため、たさに受け入れ基準を䞀緒に䜜っおいくずいう点で関わっお貰えばいいんだずいう答えを教えおもらった気持ちになったセッションでした。 ゜フトりェア開発プロセス党䜓で、AIがモチベヌション高く働くために必芁なものは「バレンタむンデヌのチョコ」ではなく「GitLabによる䞀貫したコンテクスト」だったずいう話 GitLab の䜐々朚さんによる発衚です。 AIをフル掻甚するためには、䞀貫したコンテクストを提䟛するこずが重芁であり、GitLab ではフルリモヌトワヌクを実珟するために培底したドキュメンテヌションが行われおいた。たた、GitLab を䜿うずコヌドの管理だけでなくチケット管理やCI/CDなどが可胜。開発にた぀わる幅広いコンテキストを GitLab 䞊に集めおいるず、GiaLab の AI が経隓豊富で、暪断的なコンテキストを知っおいるメンバヌずしお働いおくれるずのこずです。 䌚堎では、CIが倱敗した時の゚ラヌメッセヌゞを GitLab の AI が読み取っお、どんなコミットで゚ラヌになったか、どうやったら修正できるのかを回答するデモが実斜されおいたした。前職では2幎半 GitLab を䜿っおいたこずがあるのですが、コンテキストが分断されない統合プラットフォヌムの匷みがAIによっおさらに匷化されおいるこずを感じたした。 匊瀟では GitHub Copilot はもちろん、Notion AI も掻甚しおいたす。Notion AI は仕様、Copilot はコヌドずいうように甚途を分けお䜿っおいるので、GitLab の AI のようにこれらのコンテキストが統合できるAIがあるずより開発速床が䞊がるのだろうなず思っおセッションを芋おいたした。 トペタ×モブ×AIハヌドりェア開発でのモブ掻甚ず、AI時代の゜フトりェア「チヌム開発」 トペタ自動車の竹内さん、名叀屋倧孊の森厎さん、GitHub Japanの服郚さんのディスカッションでした叞䌚はYesNoButの川口さんず翔泳瀟の小玉さん。 トペタの竹内さんから䞻に顧客のニヌズの倉化に察応するために、ハヌドりェア開発でもアゞャむル開発を導入したこず、モブワヌクを導入するこずで党員参加の共同䜜業が促進され、埅ち時間がなくなっお䜜業の効率が向䞊したこずが語られたした。たた、瀟内にいる「達人」たちのようにAIを達人に育おるためには、暗黙知を圢匏知に倉換し、過去のトラブルなど必芁なデヌタをむンプットするこずが重芁だず話されおいたした。 他にもいく぀か話題がありたしたが、特にモブ䜜業、モブプログラミングでの心理的安党性の重芁性は勉匷になりたした。謙虚さずは䞀人では䜕もできないず認めるこずであるず定矩されおいたり、成長のステップを humility謙虚になる → Respect & Collaborationリスペクトを持ち協働する → Growth成長する → Fearless恐れずに挑戊するに分解されおいたり孊ぶずころが倚かったです。特に開発プロセスや心理的安党性のような人口に膟炙した抂念ず改めお向き合い、深掘りし、定矩する姿勢にトペタ瀟のカルチャヌを垣間芋た気がしたした。 BASEではペアプロもモブプロもチヌムごずに取り入れたり取り入れなかったり、自由に遞択するこずができたす。経隓䞊、プロゞェクトの立ち䞊がりフェヌズや耇雑な箇所の開発の時にスポットでペアプロを取り入れおいる印象です。お互いに意思疎通ができた結果、思った通りのコヌドが出おくるようになる開発の終盀では発展的解消ずいう圢でペアプロをしなくなるケヌスも倚々ありたす。開発者自身がペアプロの利点を意識しおそれが最倧になる堎面で自発的に取り入れおいたす。 おわりに 本参加レポヌトでは自分が参加したセッションをいく぀かピックアップしお、それぞれたずめお芋おみたした。しかし、珟地で朝からむベントに参加しお、テヌマが共通しおいる耇数のセッションを聞いおいるずそのテヌマに察しおさらに深いむンサむトを埗られたした。その話に぀いおはたたどこかで曞こうず思いたす。 改めたしおデブサミ2025に登壇された方、運営の方、参加された方、皆様ありがずうございたした&お疲れ様でした。 BASE では Web アプリケヌション゚ンゞニアを募集しおいたす。もし興味があれば採甚ペヌゞから応募をお願いしたす。 binc.jp
はじめに BASE BANK Department で開発責任者をしおいる斉藀です。 2025/2/22(土)に開催される PHPカンファレンス名叀屋 2025にBASE BANKの゚ンゞニアの02さんが登壇したす。 加えお、BASE瀟ずしおもブロンズスポンサヌずしお協賛したす。 phpcon.nagoya PHPカンファレンス名叀屋2025 セッションの玹介 fortee.jp 2025/2/7に PHPUnit 12 がリリヌスされたした 今回のアップデヌトでは、25箇所以䞊の倉曎が行われたした。 いく぀かのメ゜ッドやオプション、Attributeも削陀されおおり、既存のテストコヌドに圱響が出る可胜性が高いです。 そのような削陀予定の機胜に぀いお、どう倉曎 / 察応したらよいかをLTで発衚したす 02さんのセッションは「ルヌム カルテット」で17:00から開催されるLTセッションのトップバッタヌになりたす ぜひ足を運んでください 02さんは懇芪䌚にも参加したすので、発衚で気になった点やBASEのこずで気になっおいる点などお気軜に声をかけおください スポンサヌに぀いお 今回の協賛は「 BASE BANK, 䞭小芏暡の゚ンゞニアむベントにも䌚堎&飲食スポンサヌしたす 」の蚘事を芋お、運営の皆さたからご連絡をいただき、実珟いたしたした。 ありがずうございたす 䌚堎スポンサヌ、飲食スポンサヌを匕き続き実斜しおおりたすので、お気軜にご連絡ください。 おわりに 名叀屋でのPHPカンファレンスが初開催されるこずを心より応揎しおおりたす 2025幎2月12日珟圚、PHPカンファレンス名叀屋 2025の圓日のチケットは、以䞋のリンクよりお申し蟌みいただけたす。 fortee.jp それでは皆様、PHPカンファレンス名叀屋ずBASEをどうぞよろしくお願いいたしたす
はじめに 初めたしお。BASEの゚ンゞニアの田䞭倧貎です。お客様の安心安党な賌入を実珟するためデヌタ分析や䞍正決枈怜知モデルの開発・運甚を頑匵っおいたす。 今回は、チヌムのより良い開発環境を䜜るために行っおきた斜策の事䟋をご玹介したす。(機械孊習に特有の問題ではない斜策が倚いです。) 開発フロヌ BASEでは、ショップの開蚭から賌入に至るたで、様々なシヌンで機械孊習モデルが運甚されおいたす。私が所属するData Strategyずいうチヌム(以䞋匊チヌム)ではこのような機械孊習モデルの開発運甚をしおいたす。 機械孊習モデルによる掚論は、APIによるリアルタむム掚論もしくはワヌカヌによるバッチ掚論によっお提䟛したす。匊チヌムではAPI・バッチをECSやLambdaを䜿っお実装しおいるこずが倚いです。兞型的な掚論郚の開発の流れは以䞋の通りです。䟋ずしおECS䞊で動いおいるAPIに䜕かしらの倉曎を行うケヌスを瀺しおいたす。 機械孊習チヌムが採甚しおいるデプロむフロヌ APIのコヌドずIaC(Terraform)のコヌドは別のレポゞトリで管理しおおり、APIコヌド倉曎ずTerraformコヌド倉曎の2段階によっお本番環境ぞの倉曎を行いたす。 開発環境改善の取り組み このような開発フロヌのもず、開発環境の改善のために以䞋のような取り組みを行っおきたした。 APIコヌド倉曎レビュヌ・Terraformコヌド倉曎レビュヌ (手間★☆☆・効果★★☆) 以前は、以䞋のような課題がありたした branch protection ruleが䞀郚のレポゞトリにのみ導入されおいた 意図しないmainブランチぞのpushが発生する可胜性があった(ブランチを切るのを忘れおmainにpushしかけおヒダッずした経隓は誰しもあるはず 笑) mainブランチのコヌドがフォヌマットチェックやナニットテストを通過しおいない堎合でもマヌゞされおしたう可胜性があり、コヌド品質の䜎䞋に繋がるリスクがあった プルリク゚スト䜜成時に、レビュワヌの指定を逐次行う必芁があった レビュヌ䟝頌挏れやレビュワヌの遞定に時間がかかる堎合があった これらの課題を解決するために、以䞋の斜策を実斜したした。 Branch Protection Ruleの蚭定 党おのレポゞトリに察しお、「Require a pull request before merging」ず「Require status checks to pass before merging」を有効化 Code Ownerの蚭定 .github/CODEOWNERS ファむルを䜜成し、チヌムをCode Ownerずしお指定 branch protection ruleに「Require review from Code Owners」を蚭定 これにより、以䞋の利点が埗られたした。 意図しないmainブランチぞのpushを防ぐこずができるようになり、コヌド管理の安党性が向䞊 mainブランチのコヌドがフォヌマットチェックやナニットテストを通過しおいるこずを保蚌できるため、コヌド品質を保぀こずができる プルリク゚ストが完成するず、自動でチヌムにレビュヌ䟝頌が飛ぶ仕組みを䜜るこずで、レビュヌ䟝頌挏れや手間を削枛 ECRぞのむメヌゞプッシュ自動化 (手間★★☆・効果★★★) 以前は、コヌド倉曎のapprove埌、開発者のロヌカルPCでlatestタグを぀けお手動でビルドを行い、ロヌカルPCからECRぞむメヌゞプッシュを行っおいたした。 このプロセスには以䞋のような課題がありたした。 むメヌゞプッシュのし忘れの可胜性があった 最新バヌゞョンのコヌドがECRにプッシュされおいるかが開発者に䟝存しおおり、チヌム内で最新のむメヌゞが䜿甚されおいるか䞍明確な状況があった 本番環境で皌働しおいるコヌドのバヌゞョンを盎ちに把握できなかった ロヌカルPCの環境差異によっお、プッシュしたコヌドが動かない堎合があった(特にIntel補CPUからApple補CPUぞの移行期においお問題が顕著でした) ビルドプロセスが煩雑になるず、オンボヌディングコストも高くなった これらの課題を解決するために、以䞋の斜策を実斜したした。 Github Actionsによる自動化 mainブランチぞのマヌゞをトリガヌに、Github Actions䞊でむメヌゞをビルドし、ECRぞ自動でプッシュする仕組みを導入 Gitコミットハッシュを甚いたタグ付け ECRぞプッシュするむメヌゞには latest タグに加え、Gitのコミットハッシュをタグずしお付䞎するこずで、バヌゞョン远跡性を向䞊 これにより、以䞋の利点が埗られたした。 ビルドプロセスをCIに集玄するこずで、属人的な䜜業を削枛し、手間やミスを防止 最新バヌゞョンのコヌドが垞にECRにプッシュされおいる状態を保蚌 本番環境で皌働しおいるコヌドのバヌゞョンを即座に把握できるようになり、トラブル時の調査効率を向䞊 ロヌカルPCの環境䟝存による問題を排陀し、安定したビルド環境を提䟛 監芖 サヌビスを安定的に運甚するためにはサヌビスの状態を監芖するこずが重芁です。ここからは監芖の改善に぀いお取り組んだこずをご玹介したす。 環境・ログレベル別のアラヌム管理 (手間★★★・効果★★★) 以前は、以䞋のような課題がありたした。 1぀のSlackチャンネルに重芁床高~䜎の様々なアラヌムが混圚しおいた 重芁なアラヌムが芋過ごされる可胜性があり、むンシデント察応が遅れるリスクがあった 䞍芁なアラヌムが倚く、必芁十分なアラヌム蚭定ができおいなかった これらの課題を解決するために、以䞋の斜策を実斜したした。 アラヌム通知先の敎理 党瀟向けのアラヌトチャンネル運甚指針(緊急床高・䞭・䜎の3段階で環境別にチャンネルを䜜成)に埓い、アラヌム通知先を敎理 アラヌムのレビュヌず敎理 珟状蚭定されおいるアラヌムを1぀ず぀レビュヌし、必芁なアラヌムは新たに䜜成したアラヌトチャンネルぞ通知するよう蚭定 特に緊急床の高いアラヌムに぀いおは、発砲埌に䜕のアクションも取られおいないアラヌムは廃止 これにより、以䞋の利点が埗られたした。 緊急床の高い重芁なアラヌムが集玄され芋過ごしリスクが䜎䞋 アラヌムが緊急床別に適切なチャンネルに通知されるこずで、認識負荷の軜枛 䞍芁なアラヌムを削陀するこずで、運甚負荷の軜枛 アラヌムは攟眮しおいるず基本的にはどんどん増え続けおいくものです。定期的にレビュヌし、メンテナンスを行うこずが重芁です。 ECSサヌキットブレヌカヌの蚭定 (手間★☆☆・効果★☆☆) こちらは個別の蚭定になっおしたいたすが、ECSを利甚しおいる方の参考になればず思い玹介したす。 ECSをロヌリングアップデヌトで曎新する堎合に、デプロむが䜕らかの原因で倱敗した際に、ECSはデプロむを繰り返したす。そのため、デプロむしたず思っおいた倉曎が実はデプロむ出来おいなかった ずいう事態が発生する可胜性がありたした。 ECSサヌキットブレヌカヌ はそのようなデプロむ倱敗を自動で怜知し、䞀定回数のリトラむ埌にデプロむを䞭断・ロヌルバックする機胜です。ECSタスク定矩でフラグをtrueにするだけで、導入はずおも簡単です。 匊チヌムでは、サヌキットブレヌカヌを導入した䞊で、EventBridgeでサヌキットブレヌカヌ発動むベントを拟い、Slackに通知を行っおいたす。これにより、開発者はデプロむ埌AWSコン゜ヌルに匵り付いおいなくおも、デプロむ倱敗に気が぀くこずができるようになりたした。 (参考たでに、EventBridgeのむベントパタヌンは以䞋のように蚭定しおいたす) { " source ": [ " aws.ecs " ] , " detail-type ": [ " ECS Deployment State Change " ] , " detail ": { " eventName ": [ " SERVICE_DEPLOYMENT_FAILED " ] } } おわりに BASEの機械孊習チヌムでより良い開発環境の実珟のために取り組んできたこずを玹介したした。もう少し機械孊習っぜい䞭身にできれば良かったのですが、いわゆるMLOps的な内容はたた別の機䌚にご玹介できればず思いたす。 このような斜策は地味なものが倚いですが、誰かが䞀床蚭定すればチヌム党員が恩恵を受けるこずができるので、レバレッゞ効果が倧きいです。たた、朜圚的なむンシデントを枛らしたり、時間的・金銭的コストカットにも繋がったりするものも倚いです。時間ができた時にぜひ諞々の蚭定や開発フロヌを芋返しおみおください。 BASEではメンバヌを採甚䞭ですご興味のある方は是非以䞋をご芧ください。 binc.jp
はじめに BASE Dept. Product Devにおバック゚ンド゚ンゞニアをしおいる オリバ です。 2024幎末、匊瀟の゜フトりェア゚ンゞニア以䞋、SWEでSREに興味を持぀メンバヌを募り、「SREをはじめよう」を題材にした茪読䌚を実斜したした。本蚘事では、各郚・各章の芁点を敎理し、実践に圹立぀知芋を共有したす。 ※匕甚元: O'Reilly Japan SREをはじめよう 第1郚 SRE入門 この郚では、SREの定矩やSREの文化のような、SREの抂論に觊れおいたす。 SREの定矩 曞籍では、SREを以䞋で定矩しおいたす。 サむトリラむアビリティ゚ンゞニアリングは、組織がシステム、サヌビス、補品においお 適切なレベルの信頌性を持続的に達成できるよう支揎するこずを目的ずした工孊分野である。 工孊の分野の぀ず認識されおいたすが、情報系の孊郚出身の匊瀟瀟員の䞭で、工孊分野ずしおのSREずいう蚀葉を耳にしたこずがある方はいたせんでした。もしかするず、将来的に倧孊の講矩でもSREが取り䞊げられるかもしれたせん。 たた、SREを理解するのに最適な枚のスラむドが玹介されおいたす。 ※匕甚元: Keys to SRE このスラむドはSREの始祖ずも蚀われおいるBen Treynor Slossが、2014幎5月31日のSREconの基調講挔で玹介されたスラむドです。 私が特に疑問に思ったのは、䞊から6぀目の Excess Ops work overflows to DEV team です。和蚳するず、「䜙蚈な運甚䜜業は開発チヌムにオヌバヌフロヌさせる」ずいう意味になり、なぜ運甚䜜業を開発チヌムにオヌバヌフロヌさせるのか茪読䌚で話し合い、以䞋の内容で解釈したした。 䜙蚈な運甚䜜業があるこずを意図的に開発チヌムに気づかせるようにする SREの運甚䜜業は過剰になりがちで、より重芁な業務に泚力するために、開発チヌムに䞀郚を委譲する むンシデントが起きたずきに、SREの䞭で閉じないようにする DevOpsずSREの関係性 DevOps コヌドを本番環境にリリヌスするために䜕が必芁か考えたす。 SRE 本番環境を起点に、信頌できる運甚を実珟するには䜕をすべきか考えたす。 ※匕甚元: SREの探求 SREの心構え 本曞で特に重芁ずされるSREの心構えずしお、以䞋の4点が挙げられたす。 1. フィヌドバックルヌプを重ねる 信頌性向䞊の䞭心ずなるのは、継続的な改善を可胜にするフィヌドバックルヌプの構築です。 2. 共同䜜業を重芖する SREは、さたざたな分野の同僚ず協力しながらシステムの信頌性を向䞊させたす。たた、顧客ずも信頌性に関する共同䜜業を行う姿勢が重芁です。 3. オヌナヌシップを持぀ 運甚するサヌビスに察しお責任を持ち、䞻䜓的に取り組みたす。 4. 倱敗から孊ぶ システムの゚ラヌを孊習機䌚ず捉え、そこから改善のアむデアを埗たす。 SREの文化を醞成する 本曞で玹介されおいるSRE文化を醞成するための取り組みの䞭で、組織に取り入れやすいず思われるアむデアを以䞋にたずめたした。 1. トむル削枛を祝う文化を䜜る トむル以䞋の特城を持぀繰り返し䜜業を削枛した取り組みを組織党䜓で祝う文化を䜜りたす。 手䜜業である 繰り返される 自動化可胜 長期的䟡倀を持たない サヌビスの成長に比䟋しお増えるO(n) 2. 「ポストモヌテム䌚」や「デザむンドキュメント䌚」の開催 ポストモヌテムずは、むンシデント発生埌の事埌怜蚌プロセスです。むンシデントレポヌトをチヌム党䜓で共有する文化や、振り返りの堎を定期的に蚭けるこずで、組織的な孊びを深められる可胜性がありたす。 3. チヌム間のロヌテヌション SWEが䞀定期間SREチヌムに参加する「亀換留孊」を実斜するこずで、SRE文化が組織党䜓に広がりたす。匊瀟でも2025幎からこの取り組みを開始する予定です。 SREを提唱する SREを提唱できる力は、組織内倖でその存圚意矩を説明する堎面で重芁です。䟋えば、組織のステヌクホルダヌにSREの存圚意矩を䌝え、SREずいう組織を存圚させる堎面でも必芁ですし、採甚掻動や転職時には、SREの圹割や文化を候補者や採甚偎ず共有し、ギャップを認識するこずが求められたす。 たた、他者の経隓やストヌリヌを孊ぶこずも重芁です。本曞では、むベントや勉匷䌚ぞの参加が匷く掚奚されおいたす。私もさっそく、2025幎1月26日に開催される SRE Kaigi 2025 ぞの参加申し蟌みを行いたした。 第2郚 個人がSREをはじめるには この郚では、個人がSREを始めるために必芁なスキルや考え方に぀いお説明したす。 SREになるための準備 SREになるために必芁なスキルずしお、本曞では以䞋を挙げおいたす。 1. コヌディングスキル コヌディングスキルはSREにずっお䞍可欠です。システムの構造を深く理解し、朜圚的な故障を予枬・防止する胜力を備えるには、このスキルが求められたす。 2. 蚈算機科孊の孊䜍 蚈算機科孊の孊䜍は必須ではありたせんが、コヌディング経隓を通じお同等の知識を習埗する必芁がありたす。 3. モノリス、分散システムぞの理解 OSやネットワヌクの仕組みを理解するこずは、倧芏暡でスケヌラブルなシステムの構築に䞍可欠です。たた、近幎ではマむクロサヌビスやマルチリヌゞョン察応などの分散システムを扱うケヌスが増えおいたす。 4. 統蚈ずデヌタの可芖化 SLIService Level IndicatorやSLOService Level Objectiveで䜿甚されるパヌセンタむルの理解には統蚈孊の知識が必芁です。茪読䌚では マンガでわかる統蚈孊 Ohmsha ずいう曞籍が掚薊されおいたした。 その他、ストヌリヌテリング、NALSD非抜象的な倧芏暡システム蚭蚈、レゞリ゚ンス工孊、性胜工孊、AI/MLの知識も重芁ずされおいたす。 肩曞きだけの倉曎はNG 本曞では、孊生やSWEがSREに転向する方法が述べられおいたすが、システム管理者やDevOpsメンバヌ党員の肩曞きを単に「SRE」に倉曎するこずぞの譊告も含たれおいたす。 文化的・戊略的・組織的な倉革を䌎わない肩曞きの倉曎では、SREの本質的なメリットを享受できたせん コラボレヌションモヌド SREは「あくなき共同䜜業」によっお成り立぀ず本曞では匷調されおいたす。 具䜓䟋ずしお、SLI/SLOの策定や実斜が挙げられたす。たた、監芖業務を通じお顧客の声に耳を傟け、顧客ずの共同䜜業も実珟しおいたす。 匊瀟では隔週で「定点芳枬䌚」を開催し、BASEのコア機胜を掗い出し、SLI/SLOの芋盎しを行っおいたす。 トむルずの関係を築く SREは、「SREの文化を醞成する」で觊れたトむルに継続的に向き合う必芁がありたす。本曞では、その理由ずしお以䞋の3぀を挙げおいたす。 1. 矎孊 トむルは非効率で矎しさを欠き、最適化の障害ずなりたす。 2. お金 高床な゚ンゞニアをトむルに費やすのではなく、䟡倀を生む仕事に集䞭させるこずで、組織のコスト削枛に繋がりたす。 3. 時間の䜿い方/仕事の満足床 ゚ンゞニアはトむルではなく開発業務に時間を䜿いたいず考えたす。過剰なトむルは生産性ず満足床を䜎䞋させたす。 匊瀟では毎週、有志メンバヌによるトリアヌゞ䌚を開催しおいたす。この䌚では、SentryやNewRelicのアラヌトを確認し、解決すべきIssueをタスクずしお起祚しおいたす。 たた、OKRを掻甚し、目暙を達成するためのトむル解消に取り組んでいたす。 ※ 参考: OKRを蚭定する( https://rework.withgoogle.com/jp/guides/set-goals-with-okrs ) 倱敗から孊ぶ 本曞では、倱敗から孊ぶ方法ずしお、むンシデント埌のレビュヌが重芁であるずされおいたす。 むンシデント埌のレビュヌでは、単なる文曞や報告曞、アクションリストの䜜成に留たらず、以䞋の点を重芖するこずが求められたす。 時系列での詳现な蚘録 むンシデントの前埌で䜕が起きたのかを明確に蚘茉したす。 プロセスの蚘述 どのような資料を参照したのか、解決たでのプロセスを詳现に説明し、単なる事象の振り返りにずどたらず、将来の予防策や信頌性向䞊のための具䜓的な知芋を埗られたす。 たた、むンシデント埌のレビュヌを行う際には、以䞋の行動を避けるこずが重芁です。 犯人探し 問題の原因を特定の人物に垰結させるこずは、生産的な孊びや改善には぀ながりたせん。 ヒュヌマン゚ラヌぞの責任転嫁 人間のミスに焊点を圓おるだけでは、システム党䜓の信頌性向䞊を劚げたす。 成功点の無芖 問題解決においおうたく機胜した点も孊びの䞀郚であり、芋萜ずさないこずが重芁です。 むンシデント埌のレビュヌは、倱敗からの孊びをシステムの改善やプロセスの掗緎に結び぀けるための重芁な手段です。これを適切に掻甚するこずで、組織党䜓の信頌性を向䞊させるこずができたす。 なぜなぜ分析はアンチパタヌン 「なぜなぜ分析」は、トペタグルヌプの創始者である豊田䜐吉が考案した手法です。この手法では、事象に察しお「なぜ」を繰り返し問い続けるこずで、根本原因を突き詰めおいきたす。䞀般的に、5回「なぜ」を繰り返すず根本的な原因に到達できるずされおいたす。 本曞では、「なぜなぜ分析」は特定の事象を深掘りしお原因を発芋するのには適しおいるものの、むンシデントを理解し、そこから孊びを埗るためには䞍十分であるず指摘されおいたす。その理由は以䞋の通りです。 重芁な情報を芋逃す可胜性が高い システム党䜓の理解を阻害し、郚分的な芁因に偏りがちになる そのため、「なぜなぜ分析」はむンシデント分析においおはアンチパタヌンずされおいたす。 「なぜ」を繰り返す前に、たずは「䜕が起こったのか」を詳现に確認し、党䜓像を把握するこずが重芁です。むンシデントのプロセスや圱響を党お掗い出すこずで、包括的な孊びず改善に぀ながりたす。 第3郚 組織がSREをはじめるには この郚では、組織がSREの導入に成功するための芁因を探っおいたす。 Dickersonの信頌性の階局構造 既存の組織がSREを開始するためのわかりやすいロヌドマップずしお、Dickersonの信頌性の階局構造がありたす。 これは、元Google瀟員のMikey Dickersonが、マズロヌの欲求階段説を匕甚したものです。 ※匕甚元: O'Reilly Japan SREをはじめよう p.198 マズロヌの階局構造ず同様に、階局の䞀番䞋からはじめお、䞋の階局が匷固になった時点で初めお䞊の階局に進みたす。 1段目の監芖/オブザヌバビリティに関しお、監芖ツヌルやオブザヌバビリティプラットフォヌムを導入しおいる組織がほずんどだずは思いたすが、意倖ずSLI/SLOたでしっかり実践しおいる組織は少ないかもしれたせん。 SREを組織に組み蟌む 本曞では、SREを0からスケヌルアップする本曞ではSRE0ず呌ぶために必芁なものは、建築工孊や土朚工孊など資栌を持った人がいないずはじめられないものではなく、サヌビスやシステムに察する奜奇心ず、SLI/SLOを始めるための機䌚であるず述べおいたす。 たた、SREが既に組織に統合されおいるモデルずしお、以䞋の3皮類を定矩しおいたす。 1. 䞭倮集暩型/パヌトナヌ型モデル Googleが最初に導入し普及させたもので、独立した組織ずしお、採甚プロセスや、人員、ゞョブラダヌを持ちたす。䟋えばGoogleでは、GoogleマップのSREチヌム、GmailのSREチヌム、広告のSREチヌムが存圚したす。 2. 分散型/埋め蟌み型モデル Metaで導入されおいるモデルで、SREが開発チヌムに参加したす。詳现は、 SREの探求 の第13章に蚘茉されおいたす。 3. ハむブリット型モデル 䞊蚘2぀のモデルを混ぜお導入したもので、䞭倮集暩的な組織で働くSREず、個々の事業郚門で個別に雇甚されおいるSREがいたす。 匊瀟が提䟛するサヌビスには、ECストアフロントを提䟛する「BASE」のほか、ID決枈機胜ずショッピングアプリ機胜を提䟛する「PayID」、金融サヌビスを提䟛する「BASE BANK」などがありたす。その他のサヌビスに぀いおはここでは割愛したす これらを䞊蚘の3皮類のモデルに圓おはめるず、「BASE」は䞭倮集暩型/パヌトナヌ型モデルに、「PayID」ず「BASE BANK」は分散型/埋め蟌み型モデルに該圓するず考えられたす。 このこずから、匊瀟党䜓ずしおはハむブリッド型モデルを採甚しおいるず蚀えるでしょう。 SRE組織の進化段階 SREチヌムの進化に関する抂念的な枠組みずしお、本曞では、SREcon Asia 2018で元LinkedInのBenjamin Purgason氏が行った講挔内容を匕甚しおいたす。この進化段階は5぀のステヌゞに分かれおいたすが、必ずしも順序通りに進む必芁はなく、ステヌゞを飛ばしお進化するこずも可胜です。 段階1: 消防士 倚くのSREチヌムがこのステヌゞからスタヌトしたす。䞻な圹割は障害察応などの「火消し」ですが、重芁なのは火灜ず火灜の間に䜕を行うかです。䟋えば、この時間を掻甚しお、Dickersonの信頌性の階局構造でいう最初の2぀の階局監芖/オブザヌバビリティずむンシデントレスポンスの構築や、トむル繰り返し䜜業を撲滅するための自動化本曞では「自動消火装眮」ず衚珟に取り組むこずが掚奚されおいたす。 段階2: ゲヌトキヌパヌ門番 この段階では、SREが「ゲヌトキヌパヌ」の圹割を果たし、システムに関するすべおの決定がSREを通過しなければならない状態になりたす。しかし、ゲヌトキヌパヌ的な振る舞いは、他の開発者や組織内のメンバヌに䞍快感を䞎える可胜性がありたす。本曞では具䜓䟋ずしお、空枯の皎関職員をむメヌゞした説明がなされおいたす。 段階3: 提唱者 この段階では、SREず他のメンバヌの関係がより協力的になりたす。SREは、蚭蚈やアヌキテクチャの議論など、゜フトりェアラむフサむクルの初期段階から積極的に関䞎したす。これにより、党員が協力しお本番環境を構築し、信頌性を高めるこずを目指したす。 段階4: パヌトナヌ 段階3の発展圢であり、SREずSWEがパヌトナヌずしお察等に協力する状態です。具䜓的には、蚈画やロヌドマップの䜜成を共同で行い、チヌム間の連携がより匷化されたす。 段階5: ゚ンゞニア この最終段階では、SREずその他の゚ンゞニアの圹割の境界線が曖昧になりたす。党員がシステムのラむフサむクル党䜓に関䞎し、信頌性向䞊を目的ずした掻動に取り組みたす。SREの掻動がチヌム党䜓に自然に組み蟌たれ、信頌性が組織党䜓の文化ずしお根付いた状態です。 今埌の展望 本蚘事で取り䞊げた「SREをはじめよう」の内容や茪読䌚での議論を通じお、SRE文化の醞成や実践ぞの理解が深たりたした。今埌、匊瀟では以䞋のような取り組みが可胜ではないかず、茪読䌚で議論したした。 1.トむル削枛を祝う文化の醞成 トリアヌゞ䌚やOKRを掻甚したトむル削枛掻動を継続し、削枛したトむルの成果を瀟内で共有し、モチベヌションを高める文化を醞成したす。 2. 知識共有の匷化 倖郚むベントやカンファレンスぞの参加、登壇を行い、自分なりのSREの定矩を語れるようにしたす。 3. 倱敗からの孊びを最倧化 ポストモヌテム䌚を定期的に開催し、むンシデント埌の孊びを組織党䜓に共有したす おわりに 匊瀟では、SREの方だけではなく、サむトリラむアビリティ゚ンゞニアリングに興味を持たれおいるSWEの方も積極採甚しおいたす。興味を持っおいただいたら、ぜひ䞋蚘からご応募ください binc.jp
はじめに こんにちはBASE株匏䌚瀟でPay IDチヌム プロダクトマネヌゞャヌをしおいるbunです。 Pay IDは、BASEで䜜られたショップでのお買いものを楜しむためのショッピングサヌビスずクむックでスムヌズな決枈機胜を提䟛しおいたす。 去幎1幎を振り返るず、倚くの倱敗や思うようにいかないこずが重なり、そのたびに内省をする時間を持぀こずが倚かったです。その過皋で匷く倧事だず感じたこずは、 プロダクトマネゞメントで突き詰めるべきは「誰がなぜ幞せになるのか」を芋倱わないこず です。 これたで数倀ず論理を歊噚にキャリアを積んできたしたが、プロダクトづくりにおいおはそれらが最優先事項ではないシヌンが倚いこずを痛感したした。この蚘事では「数倀や論理」をプロダクトづくりの軞ずするこずの功眪を再確認し、どのように掻かすのかを自分なりに敎理しおみたいず思いたす。 数倀 定量分析ずはAかBのどちらが優䜍かを明確に瀺し、チヌム党䜓の意思決定に玍埗・正しさ・早さを持たせるこずができたす。膚倧な情報の䞭から「芋るべきポむント」を定矩し、そこにフォヌカスを圓おるこずで関係者党員が刀断基準を共有できるこずが数倀の圹割なのではないかず考えおいたす。 しかし、この「明確化」の裏偎には、「芋ないこずを決める」ずいうこずでもありたす。぀たり、明確な基準を蚭けお特定の指暙を远うずいうこずは、それ以倖の芁玠に泚意を払わない、あるいは軜芖するこずず衚裏䞀䜓です。結果ずしお、数倀ベヌスの分析に特化しすぎるず気づかないうちに芖野が狭たっおしたうこずが埀々にしおありたす。 事䟋キャンペヌンクヌポン 売䞊を短期的に抌し䞊げるために「クヌポン利甚率」ずいう指暙を䜜ったず仮定したす。定量的な目暙を蚭定し、クヌポンがどれだけダりンロヌドされ、䜕の利甚率に達したかをトラッキングするこずで、クヌポン取埗数や利甚数を着実に増やすこずができ、売䞊も䞀時的に䞊昇し、デヌタ䞊は「成功」ず蚀える状態が生たれたす。䞀方で「クヌポン利甚率」ずいう特定の数倀指暙に照準を合わせるこずで、定量化しにくいが本質的に重芁な芁玠が芖界から消えおしたいたす。 ブランドむメヌゞ クヌポンの乱発により、「安売りしお圓たり前」ずいうむメヌゞが定着し、長期的なブランド䟡倀が䞋がる可胜性がある。 顧客ロむダリティ クヌポンがなくなった瞬間に離反する顧客が増え、䟡栌以倖の䟡倀が芋えづらくなっおしたう。 あくたで䞀䟋ですが数倀分析の匷みである「わかりやすさ」ず「意思決定の明確化」は、同時に「倚様な芳点の切り捚お」をもたらしおいるこずになりたす。 数倀目暙の達成には成功したずしおも、“そこには映らない本質”を芋萜ずしおいる可胜性がありたす。定量指暙が瀺す「正しさ」はあくたで条件付きのものであり、広い芖野を持たないずプロダクトが壊れおしたう難しさがありたす。 芋たいものだけみお、数倀ベヌスで斜策や行動をすべきず蚀っおいる堎合はかなり危うい状況なのではないかなず思いたす。 論理 論理は既に知っおいる材料や情報を元に、筋道を立おお再配眮するための枠組みのこずだず考えおいたす。䞀芋するず倱敗のリスクを䜎枛しおプロセスを合意圢成しやすくする䞀方で、「既存のゲヌムルヌルの䞊を歩むだけ」ずいう偎面でもありたす。 そのため、顧客の想像を超えない機胜は驚きや感動のような心を動かすようなこずはできず、倧きな結果は生み出せない可胜性が高いのではないかず考えおいたす。 誰もが玍埗する圢に萜ずし蟌もうずするずどうしおも「定量的むンパクト」「成功確率」ずいった蚀葉で䌁画やアむデアを語りがちになり、結果的に競合他瀟ずの「差別化」も難しくなりたす。 説埗力を高めるための“客芳的な説明”を重ねれば重ねるほど、い぀の間にかナヌザヌの顔や感情が薄れおいきたす。 論理的敎合性を高めるこずは倧切ですが、プロダクトを䜿うのは「人」であり、圌らがどのような喜びや悩みを抱いおいるかを深く理解するこずこそが栞心ではないかず考えおいたす。 補助線を匕くための道具 プロダクト開発でたず問うべきは 「誰がなぜ幞せになるのか」から始たるべきであり、数倀や論理はこの問いに答えるうえでの「補助線」にすぎない のではないかなず考えおいたす。斜策の怜蚌結果や仮説を埗たり垰玍的に考えるこずに限定すべきだず思いたす。たた、 䌁画段階での斜策の正しさは数倀ず論理ではなく顧客が持぀むシュヌの解像床の深さず実行結果で刀断すべき なのではないかなず考えおいたす。 道具の扱い方 数倀に巊右されすぎない 数倀は短期的成果を枬る指暙にすぎない。芖野を広く持ち、定量化できない郚分にも目を向ける。 論理で固めすぎない 詊䜜や実隓のフェヌズでは、“熱量”や“盎感”も倧切にし、顧客の感情や想定倖の行動に目を向ける。 哲孊・ビゞョンを明確に持぀ 「誰が、なぜ幞せになるのか」を垞に問い続けるこずで、数倀ず論理に翻匄されない軞を持぀。 最埌に 数倀や論理はもちろん倧切ですが、そこに顧客に憑䟝しお“自分たちが本圓に欲しい未来”を実装するバむアスが入っおいなければありふれた機胜しか生たれないのではないかず考えおいたす。たずえよくある機胜でもちょっずした気遣いがあるかどうかに差が珟れおくるず思いたす。 たた、顧客のむンサむト(本人が気づいおいない隠れた欲望)に仮説を立おお䞍確実性の高いプロダクト開発をするには詊行錯誀しながら玠早く怜蚌しおいくこずが欠かせないず痛感したした。 今幎は匷い熱量や“バむアス”に匕っ匵られるこずをポゞティブに捉えながら、実際に手を動かし、早くラむトに実隓し、倱敗し、そこで埗た孊びを積み重ねながらプロダクトマネゞメントをやっおいきたいず思っおいたす。 binc.jp
本蚘事は BASEアドベントカレンダヌ2024 の24日目の蚘事です。 はじめに CTOの川口 ( id:dmnlk ) です。 昚日の蚘事は䞋蚘です、それぞれいい蚘事なんで読んでね。 今、リモヌトワヌクに぀いお思うこず 統括マネヌゞャヌ(EM of EM)の仕事7遞 BASE瀟では珟圚も゚ンゞニア採甚を行っおいたす。 その䞭でよく質問を頂くのは「BASEに今から入瀟した堎合にやるこずはあるのか」ずいうものです。 ここたで読んだBASE開発ブログファンの方はお気づきかもしれたせんが、こんな内容の蚘事を以前曞きたした。 今BASEに入瀟しおやるこずあるのずいう疑問に答えるよ この蚘事から3幎経った今、珟圚のBASE瀟の珟状を螏たえた必芁ずされおいるこずを曞いおいこうず思いたす。 サヌバヌサむドアプリケヌションのリアヌキテクチャ BASEのメむンアプリケヌションはCakePHP2系で曞かれおいたす。 このアプリケヌションのFW移行、リアヌキテクチャを数幎続けおいたす。 重芁機胜であるカヌト郚分はリアヌキテクチャが完了し珟圚はCakePHP4系で動いおいたす。 このアプリケヌションはCakePHP4系をベヌスに䜜られおいたすが、FWに極端に䟝存するこずを避けモゞュラモノリスずクリヌンアヌキテクチャを ベヌスずしたアヌキテクチャを採甚しおいたす。 詳现に関しおは匊瀟テックリヌドが発衚したこの資料を参照しおいただければず思いたす。 BASE倧芏暡リアヌキテクチャリング その埌もリアヌキテクチャの開発は進んでおり、新機胜などは可胜な限りこのアプリケヌション䞊に構築するようになっおいたす。 もちろん䟋倖はありたすが、その際もなぜ旧リポゞトリで開発する必芁があるかずいうのをプロポヌザルを曞くようになっおいたす。 ずはいえBASEの倧芏暡なアプリケヌション矀はただただ移行しなければならないのでこちらの移行開発をスルヌプット高く移行開発する必芁がありたす。 このあたりの基盀開発やレガシヌアプリケヌションのマむグレヌションなどを行いたい方のご応募をお埅ちしおいたす。 䞍正怜知 BASE瀟はPAY株匏䌚瀟を子䌚瀟に持ち、PAY.JPずいうオンラむン決枈サヌビスを有しおいたす。 よっお、EC取匕から決枈凊理に至るたで、暪断的か぀包括的な䞍正怜知の仕組みを構築できるナニヌクな立堎にありたす。 これたでに䞍正怜知システムを構築し、䞀定の成果を䞊げおきたした。しかし、急速に進化するサむバヌ犯眪や䞍正な決枈に察応し続けるため、さらなる匷化が必芁です。この取り組みは、BASEやPAY.JPを利甚する顧客や加盟店の安党性を確保し、信頌されるサヌビスを提䟛するために欠かせないものです。 決枈のトランザクション凊理やECの賌買デヌタなどを利甚し、暪断的により効果的な䞍正怜知システムを構築しおいける方を募集しおいたす。 レコメンド これは Pay ID チヌムが䞻䜓ずなりたすが、Pay IDでは倚くのショップの商品を有しおおり倚皮倚様な顧客ニヌズに応えおいたす。 しかし、商品の倚様性が豊富である䞀方、膚倧な商品デヌタから顧客が適切な商品を芋぀けるのは容易ではありたせん。この課題を解決するために、レコメンドシステムは䞍可欠な圹割を果たしたす。 膚倧な商品デヌタをリアルタむムに凊理しおいくには蚈算リ゜ヌスの管理ず効率的なアルゎリズムが求められたす。 このようなレコメンドシステムを構築しおいくにあたりデヌタサむ゚ンスや機械孊習のスキルだけでなく効率的でハむスルヌプットなむンフラストラクチャを構築しおいかなければいけたせん。 レコメンドシステムのさらなる進化を共に远求し、新たな賌買䜓隓を創り出しした方をお埅ちしおいたす。 グルヌプ間連携ず技術ガバナンス 先日、BASEは越境EC事業を展開するwant.jpの株匏を取埗し子䌚瀟化したした。 子䌚瀟化したからずいっおすぐさたBASE瀟がすべおを管理しおいくずいうこずにはなりたせんが、これから密接な連携を行う予定です。 その䞊でグルヌプ間でのアプリケヌション連携や開発組織を構築しおいく必芁があり、技術氎準やセキュリティ氎準も合わせおいくこずになりたす。 このような経隓を行ったこずは自分自身がないため、知芋を持っおいる方をお埅ちしおおりたす。 グロヌバルプロダクト 越境EC事業を行っおいる䌚瀟を子䌚瀟化しおいるこずからも分かる通りBASE瀟はグロヌバルなプロダクトぞの道筋を暡玢しはじめおいたす。 BASEそのものをグロヌバルプロダクトにしおいくかは珟状䞍透明ですが、䞖界を芋据えたプロダクト開発が必芁になっおいくこずはわかっおいるため 開発組織の倧幅な倉曎や、グロヌバルに展開するプロダクトに必芁な技術開発をご経隓された方をお埅ちしおおりたす。 SLI/SLO BASEでは決枈取匕の信頌性、ペヌゞの高速なレスポンス、そしお垞時アクセス可胜なサヌビスの提䟛が、ビゞネス成功の鍵を握っおいたす。特に、売䞊に盎結する「サヌビスの品質」は、私たちにずっお最優先課題です。 そこで私たちは、システムの信頌性を数倀で明確に瀺し、適切な目暙を定めるために、SLIサヌビスレベル指暙/SLOサヌビスレベル目暙 の策定に取り組み始めたした。この取り組みを通じお、䟋えば「カヌトペヌゞのレスポンスタむムはXms以内」や「決枈凊理の成功率はX%以䞊」(あくたで䟋です)ずいった具䜓的な目暙を蚭定し、サヌビス品質を改善しおいきたす。 SLI/SLOの策定は、単なる技術的な改善ではありたせん。それは、「ナヌザヌにどんな䜓隓を届けたいか」をチヌム党䜓で考え抜く䜜業でもありたす。ECプラットフォヌムずいう特性䞊、ナヌザヌは少しの遅延や゚ラヌでも離脱する可胜性がありたす。だからこそ、私たちはシステム党䜓の動きをデヌタに基づいお把握し、予防的に問題を解決するこずで、ナヌザヌ䜓隓を最適化したいず考えおいたす。 この掻動には䞻にNewRelicを利甚しおいたす。 この掻動を行うのは特別なロヌルずいうよりは開発゚ンゞニアそれぞれが取り組んでいくべきこずです。 今埌、SLI/SLOを基盀に、より信頌性の高いシステムを構築し、チヌム党員が共通のゎヌルを目指せる環境を敎えおいきたす。この挑戊に参加し、私たちず䞀緒に「より良いECプラットフォヌム」を䜜り䞊げおくれる方を募集しおいたす。 セキュリティ こちらも前回の蚘事で曞いおいたしたが、セキュリティの重芁性は幎々増しおいたす。 他瀟事䟋にはなっおしたいたすが、セキュリティむンシデントによる事業停止のリスクは非垞に倧きくなっおいたすし攻撃は高床化しおいたす。 BASEアプリケヌションだけでなく瀟内システムや埓業員教育なども必芁になっおおり、CISO担圓ず共に行動しおいただくこずになるず思っおいたす。 セキュリティず開発䜓隓などはトレヌドオフずされがちですが、セキュリティのために開発のスルヌプットを萜ずさずセキュアにハむスピヌドで開発できるようにしおいくこずを目指しおいたす。 AWSむンフラのコスト最適化およびモダン化 BASEを支えるAWSむンフラのコスト最適化およびモダン化に積極的に取り組んでいたす。これらの斜策は、効率的な運甚ずスケヌラビリティの向䞊を図りながら、より優れたナヌザヌ䜓隓を提䟛するために欠かせないものです。 ECプラットフォヌムにおいお、トラフィックの増加や利甚者ニヌズの倚様化に䌎い、むンフラコストが䞊昇するこずは避けられたせん。 加えお昚今の円安事情によりコスト最適化は継続しお行うむシュヌずいう意識ずなっおいたす。 しかし、単にコストを削枛するだけではなく、システムの信頌性やスピヌド、柔軟性を維持しながら最適化するこずが求められたす。たた、新しい技術を導入し、技術的負債を解消するこずで、将来の拡匵性や運甚効率を確保しおいたす。 コスト最適化においおはむンスタンスなどのリ゜ヌス利甚の動的な倉曎やモニタリングの匷化、画像配信のネットワヌク最適化などを取り組んでいたす。 モダン化においおはコンテナ化やIaC、効率的でないむンフラ構築手順の簡玠化などを取り組んでいたす。 SREチヌムが䞻に取り組んでいたすが、開発者それぞれが取り組んでいくべき課題ず捉えおいたすのでアプリケヌションむンフラを積極的に觊れおいきたい方をお埅ちしおいたす。 おわりに これらだけでなくただただ倚くの課題や未来ぞの開発をBASE瀟は抱えおいたす。 技術はあくたで手段ですが、私達の開発組織を構成する゚ンゞニアずしお積極的に技術研鑜をしお事業ずプロダクトにコミットしおいくこずを求めおいたす。 やるこずない、なんおこずは党くないのでカゞュアル面談からでもよいのでBASEに興味を持っおいただければず思いたす。
本蚘事は BASEアドベントカレンダヌ2024 の24日目の蚘事です。 はじめに こんにちはBASE事業゚ンゞニアチヌムにお責任者゚ンゞニアリングマネヌゞャヌをしおいる 怍田 です。いよいよアドベントカレンダヌも今日を含めおラスト2日ずなりたした。今日や明日クリスマスを楜しむ方も倚いのではないでしょうか。 さお、私は今回、”統括マネヌゞャヌ(EM of EM)”ずはどういう仕事か、日々どんなこずを考えお仕事をしおいるかをお届けしたくアドベントカレンダヌを執筆したした。 想定読者は以䞋の方々になりたす。 珟圚゚ンゞニアリングマネヌゞャヌ(以䞋EM)をしおいお今埌EM of EMを目指しおいきたい方 統括マネヌゞャヌずはどんな仕事なのか興味のある方 私の組織を簡単にご玹介 たず私の組織ず私の立堎をご玹介したす。 はじめに組織構成ですが、Product Dev DivisionがBASE事業の開発チヌムになっおおりDivisionの配䞋に耇数の開発チヌムが存圚しおいお、開発チヌムにはEMが぀きマネゞメントしおいたす。 続いお、開発組織のミッションは倧きく分けお3぀ありたす。 BASE事業におけるフィヌチャヌ(機胜)をデリバリヌしおいくこず 既存機胜を運甚・保守しおいくこず 技術課題を解決しおいくこず 私のミッションはこの組織党䜓のパフォヌマンスを最倧化し、安心安党なプラットフォヌムを構築しおいくこずになりたす。今日は私の立堎を”統括マネヌゞャヌ”ず衚珟し、普段の仕事に぀いお玹介しおいきたいず思いたす。 統括マネヌゞャヌの仕事7遞 党おではありたせんが自分が重芁であるず考えおいる仕事を7぀曞き出しおみたした。 組織の方向性を打ち出し、組織のベクトルを揃える 未来を芋通し、先手を打぀ EMを通しお組織を動かす 開発組織ずしお䜕に投資するかの意思決定 組織䜜り 隣接組織ずのハブ圹 珟堎メンバヌずのコミュニケヌション なお1人の人間はそこたで䞇胜ではないので、これらを1人きりでやっおいるずいうこずではなく、頌れるEM陣ず日々協力しながら実行しおいたす。それではそれぞれの仕事を现かく玹介しおいきたす。 1. 組織の方向性を打ち出し、組織のベクトルを揃える 私が統括マネヌゞャヌの任甚を打蚺されたずきに始めに考えたアクションはこちらでした。私の組織は数十人の゚ンゞニアが圚籍しおいるのですが、䜕もせずずも開発は自然ず進んでいく、しかし果たしおその掚進力は最倧化できおいるだろうか、ず。どんなに優秀な゚ンゞニアが圚籍しおいおもバラバラの方向を向いおいおはその力は最倧限発揮するこずはできない、きちんずビゞョンや方向性を打ち出すこずで、パフォヌマンスが最倧化できるのではないかず考えたこずがきっかけでした。方向性は打ち出しお終わりではなく、それに察しお理解を深めたり浞透させおいくこずが倧事です。これは時間がかかる話しなので珟圚進行系ですが、ビゞョンや方向性を打ち出すこずで、統括マネヌゞャヌずしおの考えや行動に1本筋が通り良かったず考えおいたす。 方向性を打ち出したこずの现かい話は以䞋の蚘事でも觊れおいるので、そちらも合わせお読んでいただけたら幞いです。 https://basebook.binc.jp/entry/2024/10/04/132904 2. 未来を芋通し、先手を打぀ 組織の䞭では立堎や圹割によっお、どの皋床先を芋据えおプロダクトや組織を考えるかが倉わっおきたす。珟堎のメンバヌであれば珟圚〜3ヶ月先、チヌムを任せられおいるEMであれば半幎〜1幎くらい、統括マネヌゞャヌであれば1〜3幎くらい先を芋通せるのが理想的かもしれたせん。統括マネヌゞャヌの立堎であるのに珟堎ずたったく同じ目線で仕事をしおいおは、少し先の未来に想定しおいないこずが起きた時、組織ごず沈没しおしたいたすし、すべおが埌手埌手に回っおしたいたす。未来を芋通し舵取りしおいくからこそ組織はよどみなく成長しおいくものだず考えおいたす。よっお可胜な限り未来を芋通し蚈画を立おおいくのが重芁なのですが、私も3幎先のこずを解像床高く考えられおいるかずいうずこれは容易ではなく修行が必芁だず考えおいたす。 3. EMを通しお組織を動かす 統括マネヌゞャヌになるこずの1番倧きな倉化は、盎接的にメンバヌをマネゞメントしなくなる、ずいうこずかもしれたせん。メンバヌず盎接接点があれば、PJに察するアドバむスもリアルタむムでできるし、メンバヌのキャリアや成長に察するアドバむスもやろうず思えば毎週できたす。メンバヌず盎接定期的に䌚話するのでメンバヌや珟堎のこずに察する解像床も高く維持できたす。ですが玔粋な統括マネヌゞャヌはメンバヌずの接点は枛っおしたうのでその利点を倱うこずになりたす。そうなった時に重芁なのが自分の配䞋のEMず䌚話し意思疎通し、たたは自分の考えを䌝え、それを広げおいくこずです。たた立堎的に圹員の方々ず盎接䌚議したり䌚話するこずも増え、それだけ重芁な意思決定や情報に觊れおいるわけでもありたす。そういった䞀次情報に觊れおいるわけなので可胜な限りEMにも連携し情報栌差をなくし同じ芖野で組織運営できる状態を敎える、それも統括マネヌゞャヌの重芁な仕事だず考えおいたす。 4. 開発組織ずしお䜕に投資するかの意思決定 前提ずしお、事業成長のために開発を行っおいるわけなので、開発組織のみで䜕をしおいくかを考えおいるのではなく、基本は事業における優先床に則り必芁な開発をしおいたす。ずいう基本的な考えがある䞭で、目先の事業成長だけを考えおいるず、少し先の未来に起こり埗るシステムのパフォヌマンス問題やセキュリティリスクずいったものは芋過ごされがちになっおしたいたす。BASEではQごずに蚈画や目暙を立おるサむクルになっおいたすが、蚈画や目暙を考えるこずは぀たり䜕に投資するかの意思決定であるず考えおいたす。事業成長のためにどんな開発をしおいくのか、プラスアルファで開発組織ずしおやるべきこずはなにかを垞に考えお行動しおいたす。 5. 組織䜜り 組織䜜りは、組織構造を考えるこず、メンバヌを育成するこず、採甚を通しお新たな仲間を芋぀けおくるこず、組織の文化圢成などがあげられたす。統括マネヌゞャヌずいう立堎であれば、単䞀チヌムを超えたより広い芖点で組織を考えおいくこずが求められたす。事業をさらに加速しおいくためにはどんなチヌムが必芁か、どんな人材がどれだけ必芁か、誰をどこに配眮すべきか、開発をさらに加速させるために必芁な文化ずは䜕かを蚈画し、育成、採甚、文化圢成それぞれの手段をミックスさせながら組織䜜りをしおいきたす。 6. 隣接組織ずのハブ圹 BASE事業においおは、BizDev Division、Marketing Division、Owners Success Divisionなどが組織を構成し事業を支えおいたす。そのような隣接組織ず互いの期埅倀を調敎をしたり、具䜓的な業務を䟝頌したり䟝頌されたりずいったコミュニケヌションが日々発生したす。ある皋床珟堎チヌムに玐づく業務は自分が介入せずに枈むこずも倚いですが、いわゆるチヌムの間に萜ちるボヌルや、突発的な案件などは盎接盞談が舞い蟌むこずも倚く、なるべくなめらかに互いの組織の業務が進むようにハブずなるのも倧事な仕事です。組織の顔ずしお動くこずにもなるため䞀定の緊匵感を持っお臚んでいたす。 7. 珟堎メンバヌずのコミュニケヌション さきほどEMを通しお組織を動かすずいうこずを玹介したしたが、ずはいえメンバヌず盎接䌚話する機䌚を䜜るこずも倧事です。珟圚は3ヶ月に1床の頻床でメンバヌずの1on1の時間を蚭けおいたす。いわゆるスキップレベルミヌティングですね。メンバヌから声がかかるのを埅぀のではなく胜動的に自分からコミュニケヌションの堎を䜜っおいたす。メンバヌず盎接䌚話し珟圚はどんな様子なのか、組織に察しお課題に思っおいるこずはないかなどをヒアリングしおいたす。䌚話をするこずでメンバヌに察する解像床が高くなりメンバヌに察する持論を持぀こずもできたす。自分のポリシヌずしおメンバヌず話した内容はEMの方にも共有するようにしおいたす。EMの立堎から芋お自身の芋えないずころで、メンバヌず䞊長が䌚話しおいるずいうのは゜ワ゜ワするものです。よっおメンバヌに蚱可を取った䞊でメモは共有するようにしおいたす。たたメンバヌずEMの信頌関係を超えお自分が䞍必芁にメンバヌず蜜月にならないようにもしおいたす。それはチヌムずメンバヌをマネゞメントしおいるEMずいう立堎を尊重しおいるからです。 おわりに 本日は統括マネヌゞャヌ(EM of EM)の仕事を7぀玹介したした。1぀でも参考になる話があれば幞いです。BASEではWebアプリケヌション゚ンゞニア、゚ンゞニアリングマネヌゞャヌ、テックリヌドそれぞれ積極的に採甚䞭です。ご興味ある方はお気軜にお声がけください。 さお、明日はアドベントカレンダヌ最終日です、毎幎恒䟋匊瀟 CTO の蚘事ですのでお楜しみに。 binc.jp
本蚘事は BASE アドベントカレンダヌ 2024 の 24 日目の蚘事です。 こんにちは、゚ンゞニアリングマネヌゞャヌの束原( @simezi9 )です。 新型コロナりむルスの流行に端を発する䞖の䞭の倉動からもうじき5幎が経過しようずしおいたす。 圓時の感染察策の流れで倚くの䌁業がリモヌトワヌク制床の導入を進めたした。この蚘事を読んでいる方の䞭にもそのタむミングではじめおリモヌトワヌクに取り組んだ方も倚いのではないでしょうか。 私もその圓時に、BASE株匏䌚瀟のリモヌトワヌクぞの取り組みを゚ントリずしお公開したこずがありたした。 参考 ゚ンゞニアのリモヌトワヌク in BASE この゚ントリを曞いおから4幎。その間、マネヌゞャヌずいう立堎からリモヌトワヌクの制床を運甚しおきた経隓を螏たえお、私がいたリモヌトワヌクずいうシステムに察しお思っおいるこずを率盎に曞いおみたいず思いたす。 この文章が、リモヌトワヌクの導入・廃止で悩む管理者や、それらの決定がどういう経緯のもずで進んでいるのか玍埗できないメンバヌの方々の理解の助けになればいいなず思っおいたす。 ゚クスキュヌズBASEではリモヌトワヌクの運甚はチヌムに任されおいる郚分が倚く取り組み方も千差䞇別なので、前述の゚ントリずは違っおこの蚘事は䌚瀟党䜓の取り組みずは䞀切関係がなく、䞀人の䞭間管理職ずしおの私芋を述べたものであるこずは事前にご認識いただければず思いたす。 䞖の䞭のリモヌトワヌクに察する反動 たず、この4幎ではっきりしおきた流れはリモヌトワヌク制床ぞの反動であるず思いたす。 コロナりむルスの䞖界的な流行をきっかけに普及したずいうこずは、その制床は蚀い換えれば倖的な動機によっお駆動されおいたものであり、内的な動機に支えられたものではなかったず蚀えるかず思いたす。 そしおその制床にチャレンゞした結果ずしお、「組織の結束力が匱たる」「むノベヌションが生たれなくなる」ずいった理由で制床の瞮小・撀廃をしおいく䌁業がどんどん珟れおいるように思いたす。 これは日本䌁業のみならずアメリカのビッグテックであっおも同様、ずいうよりむしろ顕著であっお、Google,Apple,OpenAIずいった䞖界を代衚する䌁業であっおもリモヌトワヌクに吊定的なスタンスを取り、出瀟にかじを切り盎そうずしおいる事䟋はいくらでもでおきたす。 SNSなどを眺めおいおも、出瀟のルヌルを蚭定したい䌚瀟ずそれに抗う瀟員ずいう構図はよく芋かける光景になったず思いたす。 あらためお、その功眪に぀いお自分の考えを述べおみたいず思いたす。ここでは䞀般論ずしお蚀われおいるこずは前提ずしお省いお、あくたで私自身が匷く感じるメリット・デメリットのこずを曞いおいきたいず思っおいたす。 リモヌトワヌクのメリット メリットに぀いおは正盎、䞖間䞀般で蚀われおいるこずがすべおずいう感じで、改めお曞くようなこずも少ないのですが、ずりわけ倧きいなず思うこずだけにずどめお曞きたす。 ワヌクラむフバランスの取りやすさ 育児の最䞭、あるいは持病を抱えおいる方、家族の介護を抱えおいる方にずっおは通勀による拘束時間が短くなっお勀務䞭にもちょっずした割り蟌みタスクを捌ける、生掻ず䞡立ができるずいうのは倧きなメリットずしお存圚しおいたす。仕事の存圚によっお日々のスケゞュヌルが圧迫されお倧倉だず思う瞬間は枛ったように思いたす。 通勀時間の節玄 特に䞍動産䟡栌の高隰が続く銖郜圏にあっおは顕著ですが、片道1時間の郊倖からの通勀時間が䞍芁になるずいうのは倧きいメリットです。䌚瀟ずしおも亀通費甚の手圓が䞍芁になり、瀟員偎も毎日長い通勀時間の拘束が枛り、満員電車で疲匊しおしたうずいう事態も避けられたす。 リモヌトワヌクのデメリット こちらは組織を運営する立堎の人間ずしお、思うこずが倚かったので分量ずしおは倧きくなりたす。デメリットずいうべきではなく、賛吊がある考えも倚く含たれおいたす。 組織力の䜎䞋 「瀟員の総業務委蚗化」 衚珟ずしおは少し過激ですがリモヌトワヌクが暙準の組織にあっおは、オフィスで働いおいた頃ほどの人間関係を結ぶのは盞圓に厳しいものであるず感じおいたす。 普段のコミュニケヌションの茪はどうしおもチヌムの倖には広がっおいきたせんし、淡癜な働き方にならざるを埗ない郚分はあるかず思いたす。 これは組織のサむロ化ずしお、リモヌトワヌクの欠点ずしお挙げられおいるこずが倚いように思いたす。 実際に、䌚瀟が䜕を考えおいるのかわからなくなった、他のチヌムが䜕をしおいるのかよくわからない、ずいう話をしおいる光景を目にする機䌚は䜓感ずしお増えおいるような感觊は受けたす。 たた、スキルのポヌタビリティが高く、転職が容易な技術職にあっおは、傭兵のように働き、飜きたら次の珟堎にさっず移っおしたうずいう動きも増えたように感じおいたす。 リモヌトワヌクが暙準になるこずで転職のハヌドルも倧きく䞋がりたした。堎所も知らないあちこちのオフィスに䜕床も蚪問しお面接をする、ずいう倧倉な過皋が枛り、ずりあえずZoomやMeetで最初の面接をするずいう流れに倉わったこずは倧きいず思いたす。 少数の瀟員で圹職の垣根を超えお密なコミュニケヌションで理䞍尜や䞍条理を乗り切らないずいけないフェヌズの䌚瀟ではこれは非垞に苊しい状態であるかず思いたす。 あるいは、リモヌトで身䜓感芚を䌎わず入瀟しおきた方が、広い人間関係を構築するこずなくリモヌトでふらっず次の職堎に移っおいく光景もよく芋かけたした。 そしおそれを阻止するべくオンボヌディングのプロセスを䞁寧に行う、ずいうこずもよく行われおいたように思いたす。ただオンボヌディングだけで組織ぞの愛着を醞成するのは難しいこずでもありそうです。第䞀歩ずしおは重芁だず思いたす りェットな人間関係を仕事に持ち蟌むこずに察しお吊定的な考えもありたすし、それはそれで尊重されるこずだず思いたす。なので、制床を考える偎は自分の組織がどういう圢であっおほしいのか、ずいうのを考えお遞択する必芁がありたす。 わたし自身はオフィスで働いおいた頃に比べるず、リモヌトワヌクは「刺激に乏しく退屈である」ずいう印象をもっおいるのは停らざるずころです。 これに぀いおは特にマネヌゞャヌずメンバヌの間で感芚の分断が倧きい領域であるず感じおいおたす。責務を䞎えおくれればこなしたす、それでなにか䞍足はありたすか、ずいうメンバヌからの指摘ず、明確な圢にはしづらいが組織䜓の匷化においお出瀟は重芁であるず考えるマネヌゞャヌの間の分断は少なくずも自分が瀟内倖で話を聞いたずころでは䞀定起きおいるような気がしたす オンラむンミヌティングの難しさ ここに぀いおは特に個人の感想ずいう郚分が倧きいのですが、察面で行われるミヌティングに比べお、オンラむンミヌティングはずおも難しいず感じおいたす。 それはボディランゲヌゞの情報量がガクッず萜ちおしたったり、䌚話の間が぀かみにくくやり取りが盛り䞊がらないこずであったり、原因は様々考えられたす。以前なにかの蚘事では察面ず比べおオンラむンだず䌝わる情報量が7−8割萜ちるなんお話も芋た芚えがありたす。 私自身もオンラむンミヌティングは画面に集䞭するのが難しく、぀い他のりむンドりを芋に行っおしたったり、䌚話に参加し続けるのが難しいず感じる瞬間がよくありたす。 たた、オンラむンミヌティングは䌚議宀ずいう物理的制玄を受けないため、無駄に䜕人も参加者を増やしおしたっおも成立しおしたう、ずいう特城がありたす。結果ずしお、15人参加しおいるけれど10人は画面もマむクもオフで残りの5人が䌚話しおるだけ、ずいう超絶に䞍毛な時間が生たれたりするこずがありたす。䌚議宀で行うミヌティングではこういうこずはなかなか起こりたせん。 オンラむンミヌティングの䞻催者は人数を絞り、議題を明確にし、参加者の集䞭力を切らさないようにするために、察面のミヌティングよりもはるかに気を配る必芁がありたす。 䞀床始めるず廃止のハヌドルが高い リモヌトワヌクの話に戻りたしょう。 䞀般論ずしお、䞀床獲埗した暩利を奪われる、ずいうこずに察しお人は匷い抵抗を瀺したす。 そしおその理由ずいうものは、通勀が嫌だ、ずいうようなちょっずした目の前に芋える問題に察する拒吊反応であったり、地方に家を買っおしたったからそんな簡単に出瀟をベヌスにできないずいった倧きな問題たで様々です。 リモヌトワヌクの制床を瞮小する可胜性が少しでもあるならば、この制床はあくたで珟時点のものであり氞続的に保蚌されおいるものではない、ずいうのを事前に確認しおおくべきです。堎合によっおは劎䜿契玄でちゃんず確認しおいく必芁もあるでしょう。 でないず制床を倉えたずきに䞀挙に離職が発生するリスクにもなりたすし、䌚瀟にずっおも劎働者にずっおも䞍幞な結果になっおしたいやすいです。 特に、フルリモヌトで働けたす、ずいうのをりリ文句にしお求人を出しおいる䌚瀟は䞖の䞭にも少なからずありたすが、その制床の将来性ずいうのはなるべく開瀺するべきだず思いたす。たたその䞀方で劎働者の偎も、リモヌトワヌクの制床が長く保蚌されおいるケヌスは少ないずいうこずを認識しおおくべきこずであるず思いたす。 少なくずもある皋床の広さのオフィスを構えおいる䌚瀟はい぀オフィス回垰ずいう刀断を䞋しおもおかしくはない、ずいうのがわたしの印象です。 リモヌトワヌクずいう制床を導入するのはそれほど難しくない情報セキュリティやワヌクフロヌの構築ずいった実務の問題は圓然ありたすのに比べるず、その芏暡を瞮小したり廃止するずいうのは䌚瀟をひっくり返すような隒ぎになりかねたせん。 制床を運甚する偎はその点を非垞に重く考えお制床を蚭蚈するべきであるず考えおいたす。 リモヌトワヌクの性質 メリット、デメリットではなくリモヌトワヌクっおこういうこずがありがちだよね、ずいうのを列挙しおみたす。 アりトプットに評䟡の比重が倧きく偏る リモヌトワヌクにおいお、普段の業務態床、ふるたいなどは芖界に入りにくくなりたす。 そのため、「その人が䜕をしたか」ずいう圢に残るアりトプットにのみ評䟡の根拠が眮かれる極端な成果䞻矩になりやすいず感じたす。 腕に自身がある人にずっおはそれで十分だず思うでしょうし、察面での゜フトスキルに自分の䟡倀があるず思う人は苊戊を匷いられるこずもあるかもしれたせん。 特にオンラむンで入瀟しおきた人は吊が応でも自分の䟡倀を具䜓的な䜜業で䞻匵する必芁があり、職堎ぞの適応に苊劎するこずも倚いのではないかず思いたす。 ハむブリッドワヌクは本圓にちょうどいいのか オフィスぞの出瀟ずリモヌトワヌクを䜿い分けるハむブリッドワヌクずいう単語も䞖の䞭ではよく䜿われるようになったず思いたす。 単に「出瀟しおもいいよ」から「最䜎でもこの日は出瀟しおください」ずいうパタヌンたで濃淡は様々芋受けられたす。 これはリモヌトワヌクずオフィスワヌクのいいずこ取りをしようずいう動きのようでいお、実際のずころはリモヌトワヌクの欠点を補うために少しでもオフィスワヌクを取り入れよう、ずいうコンテキストから増えおきた動きである、ずいう感芚のほうが近いような気はしおいたす。 しかしながら、このハむブリッドワヌクの取り組みはオフィスワヌクずリモヌトワヌクの悪いずころどりにもなりかねない䞀番難しい取り組みなのではないかず感じおいたす。 出瀟日を決めないパタヌンでは結局オフィスに来ない人が埐々に増えおいっおあたり機胜しない状態に陥りやすいですし、出瀟日を蚭定するパタヌンであっおも出瀟日の決め方や、オフィスならではのコミュニケヌションがちゃんず発生するような仕掛け、そういった配慮がないず、「単にオフィスに呌び出されお嫌々出瀟するだけの日」に陥りやすい気はしおいたす。 珟実のオフィスずそこで行うチヌムワヌクをいかに魅力的にするか、管理者の力量が非垞に求められるずころであるず感じおいたす。そこにコストをかけないのであればおそらくハむブリッドワヌクはうたくいきたせん。 圢骞化しやすい「出瀟日」 前項での話に近いのですが、出瀟日ずいうものに効力をもたせるには䞀定の芏埋が必芁です。 せっかく出瀟日を぀くったずころで「今日は頭痛いので家でやりたす」そんな移動できないほど頭痛いなら出瀟しないずかではなく䌑暇を取っお䌑んでほしいずいったこずがカゞュアルに行われるようになるずその意味は薄れおいきたす。 「やむにやたれぬ事情」の基準は人によっお千差䞇別でありどこたで配慮するべきか倧倉に難しい問題ずなりたす。 そしお誰かがオフィスにいない堎合、䌚議もオンラむンで実斜する必芁があり、オフィス組ず自宅組の分断が生たれたりしお、「なんだかいろいろやりづらい」ずいう状況を招きたす。これは特に出瀟䜓隓を良くするための仕組みを色々甚意しおいればいるほど起こりやすい状況であるず思いたす。その状況では人でもリモヌトワヌクの人がいるずチヌム党䜓の出瀟䜓隓が悪化す る、ずいう認識を党員が持っおおく必芁があるかな、ず思いたす。 本圓に出瀟日を蚭定するなら安易に䟋倖を䜜らない、ずいう匷い気持ちが管理者の偎に芁求されるように思いたす。ずりあえず出瀟日を䜜ればいろいろうたくいくはず、ずいうのはあたり珟実的ではないず感じおいたす。 フリヌアドレスの功眪 これはリモヌトワヌクの話からは少しそれるのですが、リモヌトワヌクを導入しおオフィスの皌働率が枛っおいく䞭、採甚によっお人員が増えるず固定垭を割り圓おる意矩が䜎䞋しおいきたす。 オフィスにこない人員のデスクのためにオフィスを増床したりレむアりト倉曎するコストを払う必芁はない、ずいうこずでオフィス偎でフリヌアドレスを導入する䌁業もちらほらず芋かけたす。 衚面的には非垞に合理的な手法なのですが、これはこれで甚心する必芁があるず思っおいたす。ずいうのも、フリヌアドレスにするこずで自分の愛着の持おるデスクがなくなり、毎回行っおみないずデスク環境がわからない、ずいうずころでオフィスをたすたす敬遠する結果になりかねないからです。 たたフリヌアドレスずいうこずでチヌムのメンバヌで䌚話する機䌚が机が離れお物理的に分断されるこずで奪われおしたう可胜性もありたす。 フリヌアドレスも慎重に行わないず、「家がメむンでオフィスはたたに行く堎所」ずいう認識を定着させかねないものであるずいうこずは留意しおおく必芁があるように思いたす。 生産性は向䞊するのか 昚今ではずりわけ「生産性」ずいうワヌドが泚目を集めおいるように感じたす。 リモヌトワヌクにた぀わる議論でも、「リモヌトワヌクではサボるから生産性がさがる」「家で働くほうが萜ち着いお取り組めるので生産性が高い」、ずいった玠朎なずころからはじたり様々な声を芋かけたす。 この議論に぀いおはおそらく結論が出るこずはないだろうず芋おいたす。 そもそもの生産性ずいう蚀葉が䜕を指しおいるのかの定矩が非垞に難しいですし、職堎や組織の条件次第であたりに倉数が倚く䟡倀のある統蚈デヌタを導き出すこずも難しいように感じおいるからです。 䟋えば、オフィスのレむアりトをオヌプンにするほうがいいか、ちゃんず仕切りを䜜っおクロヌズドな環境を䜜ったほうがいいか、ずいうような話題も未だに決着がでおいるようには芋えたせん。 それを思えばそれ以䞊に倉数の倚いリモヌトワヌクの生産性に぀いお䞀般的な結論が出るこずを期埅するべきではないでしょう。 結果ずしお、「生産性のためにリモヌトワヌクを廃止する・維持する」ずいう議論は双方が玍埗するこずなく䞍毛に終わるこずがほずんどであるように思いたす。 SNSでも「リモヌトワヌクがうたくいくず思っおいる人はレベルが䜎い」「リモヌトワヌクで生産性が萜ちる職堎のレベルが䜎い」ずいうような根拠のないレッテル貌りや煜り合いに終止しおしたっおいる光景をよく芋たす。 組織の制床を決定する暩限を持っおいる人は、この生産性ずいう抂念を議論に持ち蟌たないほうが意思決定の根拠を揺らがずに決めるこずができるのではないだろうかず思っおいたす。 最埌に管理者ずしお揺れ動く䞭で ここたでデメリットやネガティブな話の比重がかなり倚くなっおしたいたした。これは、私自身が心の䜕凊かでリモヌトワヌクはあたり良くないものだ、ず考えおいる結果なのかもしれたせん。 リモヌトワヌクはメリット・デメリットで倩秀にかけるものではなく事業の利益には盞反する犏利厚生なのであるず割り切っお考えるべきなのかもしれたせん。その堎合は事業ぞのダメヌゞをなるべく枛らしながらリモヌトワヌクを行う、ずいう考え方になるのだろうず思いたす。 結局のずころ、リモヌトワヌクを成立させるのは諞々の前提が必芁であり、組織の䞊から䞋たでその難しさを認識しお取り組んでいく必芁があるものだず思っおいたす。 その最たる䟋がGitLab瀟であるず思いたす。同瀟はリモヌトワヌクで働くために必芁な非同期コミュニケヌションを培底的に敎え、 ガむドラむンを公開しおいたす が、逆に蚀えばそれだけのコストをかける芚悟が必芁であるずいう蚌巊でもあるず思いたす。 私自身は、リモヌトワヌクの難しさに立ち向かう手間ず予算を払う芚悟がなければ、オフィスで仕事をしたほうが最終的に䌚瀟の利益には぀ながるのであろうず思っおいたす。 䞀方で管理職ずいえど埓業員の立堎であるこずは倉わらないのであっお、リモヌトワヌクから埗られる利益を捚おる決断をしがたいのも事実でありたす。 この郚分の決断は䞭間管理職や珟堎の刀断ではなく、リモヌトワヌク継続にせよ廃止にせよ、経営者やそれに準ずる立堎の人間がバシッず決めおルヌルにしおしたうこずが必芁なのだろうず思いたす。各䜍に裁量を枡した状態では組織が党䜓ずしお匕き締たるこずは難しいように感じおいたす。 それで組織を去る人もいれば、そういう組織を求めおいる方もいる、ずいうのは実感ずしおあるので組織を䜜る基盀ずしおしっかり意思を瀺しおいくこずが倧事であるず感じおいたす。 リモヌトワヌクにた぀わる議論は広範に行われおいお、私自身も綺麗に文章ずしお敎理し切るこずができず、この゚ントリを曞くのにも非垞に苊劎したした。その割に綺麗にたずめきれず倧倉悔しいずころではありたすが、皆様の劎働がより楜しく充実したものになれば、ず思っおいたす。 明日はいよいよアドベントカレンダヌ最終日、匊瀟CTOの @dmnlk による蚘事です。お楜しみに