dskst9のブックマーク (94)

  • VPoE READMEを書いて3ヶ月経った振り返り - Konifar's WIP

    2022年1月からKyashで VP of Engineering(以下、VPoE)という役割で開発組織全体を見ています。VPoEになった背景はまた別途書くとして、この3ヶ月は反省も学びも多かったので振り返りを書いておきます。 自分がVPoEになった時、VPoE README というドキュメントを社内に共有しました。同じ内容をKyashの採用GitHubリポジトリで公開しています。 github.com 今回はこれを自分で読み返して引用する形で振り返ってみます。先に注意をしておくと、体系だった話やどこでも応用が利くような話というよりは、完全に自分個人の振り返りの内容になっています。 README書いてよかった READMEを書く目的を以下のように書いていました。 VPoE の最初にやるべきことは、何をミッションにして何をやっていくかを定義し、周囲に理解してもらうことだと考えています。その一

    VPoE READMEを書いて3ヶ月経った振り返り - Konifar's WIP
    dskst9
    dskst9 2022/04/13
    自分自身の期待値と役割を明文化するって、とてもとても大事だよな
  • アーキテクチャデシジョンレコード(ADR)を組織構造の変更にも適用する - こまぶろ

    ソフトウェアアーキテクチャに関するプラクティスとして、アーキテクチャデシジョンレコード(Architecture Decision Records, ADR)というものがあります。この記事は、それを組織構造に適用してみるとどうなるだろうと考えてみるものです。100%妄想ですので、予めご了承ください。 (↓妄想が湧いたときのツイート) 組織構造についてのアーキテクチャデシジョンレコード(ADR)というプラクティス、あると助かる場面はありそうだなと思いました— こま (@koma_koma_d) 2021年11月27日 2021/11/30 追記: 数日前に、同じくADRを組織の領域に適用する話が出ていました。 dev.classmethod.jp ADRとは? 今回の題材である(家の)ADRとは、以下のようなものです。 テキストベースの軽量なテンプレートを使用して、アーキテクチャ上の設計判

    アーキテクチャデシジョンレコード(ADR)を組織構造の変更にも適用する - こまぶろ
    dskst9
    dskst9 2022/03/11
    組織のADRというわけではないが似たようなことをやっていて、Background(背景)とIssues(解決したい課題)は書くようにしていました
  • 10年エンジニアリングマネージャーをやって気づいた4つの大事なポイント 【EMはもっと自由でいい】 - MonotaRO Tech Blog

    はじめに ※この記事はEngineering Manager Advent Calendar の22日目の記事になります。前日はmtx2sさんの技術的負債に対するマネジメントの記事でした。個人的には「負債上限」「負債ベースライン」の考え方良かったです。 こんにちは。モノタロウでエンジニア組織のマネージャーをしております普川(@taipuka0)です。 自分は前職から通算10年以上してエンジニアリングマネージャーを続けた後、現在モノタロウでは8人のEMのみなさんと日々ソフトウェア・エンジニアリングの現場でマネージャーとして課題解決に向き合っています。これまで色々な壁にあたり、試行錯誤を繰り返して来ました。EMの難しさを痛感したことも多々ありました。 なぜEMが難しいのか?その一つとして、エンジニアからEMにジョブチェンジした際のギャップというのがあると思います。同じチーム、現場にいたとしても

    10年エンジニアリングマネージャーをやって気づいた4つの大事なポイント 【EMはもっと自由でいい】 - MonotaRO Tech Blog
    dskst9
    dskst9 2021/12/22
    いい記事
  • Pull Requestから社内全チームの開発パフォーマンス指標を可視化し、開発チーム改善に活かそう - Hatena Developer Blog

    こんにちは。id:shiba_yu36です。MackerelチームでWebアプリケーションエンジニアをしています。最近の開発合宿で、id:syou6162やid:polamjagと一緒に、社内の全チームの開発パフォーマンスを表す指標をGitHubのPull Requestから可視化し、開発チームの改善に活かせるようにしました。今回はその紹介をします。 説明するサンプルコードは、次のレポジトリで公開しているので参考にしてください。ここではGitHubhatenaオーガニゼーションで集計していますが、forkして少し手直しすれば、別のオーガニゼーションの集計も可能になっています。 hatena/pull-request-analysis-sample 開発チームの改善におけるいくつかの課題感 開発チームのパフォーマンス指標に何を使うか 4つの指標のうち何からまず集計するか 変更のリードタイム

    Pull Requestから社内全チームの開発パフォーマンス指標を可視化し、開発チーム改善に活かそう - Hatena Developer Blog
    dskst9
    dskst9 2021/03/04
    これは素敵だ!
  • どのようにPlatformチームの組織変更をしたか | メルカリエンジニアリング

    Platform チームの@deeeeeeeetです. Platform チームは2年前にMercariがMicroservicesの移行を始めたときに一緒に立ち上げられたチームです.Platform チームはMicroservicesを動かすための基盤や開発や運用のためのツールセットなど提供しています.立ち上げ時は自分を含めて2-3人で始まったチームですが2年が経ち10人を超えるチームにまで成長しました. チームのメンバーが増えるほど1チームとして動くには限界がきており,またMicroservices化が進めば進むほどチームの負う責任範囲も広くなりCognitive load (認知負荷) も高くなっていました.これらの課題を解決するために組織変更を行い,Platform チームを複数の専門性に特化したチームに分割しました. 記事ではチームのデザイン,チームが分離しても独立性を保ちつつ

    どのようにPlatformチームの組織変更をしたか | メルカリエンジニアリング
    dskst9
    dskst9 2020/07/16
    なるほど。ライフサイクルでのチームか。 そして何よりも、組織設計の詳細を言語化してチームにちゃんと伝えてることに大きな価値があると感じた。
  • 7つの設計原則とオブジェクト指向プログラミング - ソフトウェア設計を考える

    設計原則はよい設計をするための指針です。 では、よい設計とはなんでしょうか? もっとも重要なソフトウェア品質は発展性 ソフトウェアの発展性がビジネス価値を生む 発展性をうみだす7つの設計原則 モジュール化 モジュール化の2つのアプローチ 型によるモジュール化 手続き的なモジュール化 関心の分離 関心の4象限 入出力と計算・判断の分離 業務の関心と実装の詳細の分離 もっとも複雑な関心事(ビジネスロジック)の分離を徹底する カプセル化と抽象化 カプセル化 ビジネスロジックのカプセル化 抽象化 データ抽象 ビジネスロジックとデータ抽象 高凝集と疎結合 凝集度 結合度 隠された結合性の問題 定義の一点性 見た目が同じコード 7つの設計原則の学び方 コードの実装例 ドメインオブジェクト設計のガイドライン 実践ガイドとして使える 設計の考え方を理解するための もっとも重要なソフトウェア品質は発展性

    7つの設計原則とオブジェクト指向プログラミング - ソフトウェア設計を考える
    dskst9
    dskst9 2020/07/01
    外部品質と内部品質
  • 分散アジャイルチームについて考える会。またはMuralの負荷試験について #distributed_agile_team #オンライン勉強会 - うさぎ組

    COVID-19の影響でIT系の人達はテレワーク導入をすすめているけど、どうなんでしょうね。っていうかんじで勉強会を spring_akiさん、TAKAKING22くんの3人でやってみました。 4月21日と5月5日の2回やり、どちらもLTを数と、OST(みんなでトピックをきめるディスカッション)。 特に、5月5日は、13:30 - 19:00までのほぼ1日やってみるというものでした。 これらの回の概要、そしてどんなツールをつかったのかを紹介します。またツール選定にあたっておこなった負荷試験のスクリプトも紹介します。 イベント概要 利用したツール Muralは50名付箋のみ同時編集なら余裕、80名以上でもたつく オンラインOSTはいいぞ! 最後に イベント概要 分散して活動していくアジャイルチームについて議論していく場があればいいなと思って、4月頃に某コミュニティで話していて、特に大きな知

    分散アジャイルチームについて考える会。またはMuralの負荷試験について #distributed_agile_team #オンライン勉強会 - うさぎ組
    dskst9
    dskst9 2020/05/07
    気になってたイベント。ツールとか参考になります。
  • エンジニア評価制度の取り組みを振り返ってみた - Retty Tech Blog

    はじめに Rettyでは2018年から組織的な改善活動を数多く始めており、その一つにエンジニアフィードバック(以下、フィードバックはFBと省略します)制度があります。 記事はRettyエンジニアFB制度への取り組みの紹介を兼ねた、これまでの改善活動の振り返り記事となっています。 (2018, 2019年のアドベントカレンダーの小迫の記事に組織的な改善活動についての紹介がありますので興味がありましたらご参照ください) engineer.retty.me engineer.retty.me エンジニアFBは今なお半年の評価ごとに継続的に改善を繰り返していて、今は4回目の改善サイクルとなる2020年上期のエンジニアFBが終わった頃となります。 対象としたい読者 下記のような項目にピンと来る方に読んでいただけると嬉しいです。 会社のエンジニアが評価に対して不満を抱えており、他社の評価制度の取り

    エンジニア評価制度の取り組みを振り返ってみた - Retty Tech Blog
    dskst9
    dskst9 2020/04/20
    評価に対する課題とその取組をオープンにしていくというのは、業界全体に貢献するのでとても好感を持てる。
  • エンジニアリングスキルで捉えるチームマネジメント - mtx2s’s blog

    チームのマネージャーが、自らの責務をジョブディスクリプションとして明文化することは難しい。職務内容や権限を、断片的にしか書けないかもしれない。もしそうなるなら、実務も断片的になっている可能性がある。 チームマネジメント(組織マネジメント)という活動は、個々のマネージャーの経験や関心によって、断片的になりやすいように感じている。断片的とは、マネジメント活動が、責務の一部の領域に偏ってしまっていたり、問題を検知してはじめてその領域がマネジメント範囲であることを知る、といった様子を指している。 このような状態になる背景は、マネージャーにとって、マネジメントが、日々の実務を通して蓄積された経験に基づく活動になっているからではないか。マネージャーは孤独だ。ひとりでその責務を担う。エンジニアとは違い、チームで協働するわけではない。だから、形式知として言語化されず、個人の経験として暗黙知にとどまる。その

    エンジニアリングスキルで捉えるチームマネジメント - mtx2s’s blog
    dskst9
    dskst9 2020/03/24
    おもしろい。言語化したかったものがここにあった
  • SRE NEXT 2020 で「SLO Review」というタイトルで登壇しました #srenext - スタディサプリ Product Team Blog

    こんにちは。SRE の @chaspy です。 先日行われた SRE NEXT 2020 にて、SLO Review というタイトルで発表してきました。 記事では、会場に来られた方には内容を追体験してもらえるように、来られなかった方には伝えたかった内容を持ち帰っていただけるように解説します。 来場者への質問 セッションを聴きに来られている会場の方に、SLO に関する質問をしました。 会場への質問 SLO という言葉の意味を知っているひと:9割以上、ほとんど全員 自分のサービスに SLO を定めて運用をしているひと:2割程度 Error Budget Policy を定めて、SLO 違反になった際にリリースを止めるなどをしているひと:2,3人 事前に予想した通りの比率でした。まさに僕の発表は 1 を満たしているが、2をこれからやる、というひとに対するヒントを提供する発表だったからです。

    SRE NEXT 2020 で「SLO Review」というタイトルで登壇しました #srenext - スタディサプリ Product Team Blog
    dskst9
    dskst9 2020/01/30
    SLI/SLOの導入について、とても学びが多い記事だ
  • Regional Scrum Gathering Tokyo 2020のスライドまとめ #RSGT2020 - スクラムマスダーの日記

    2020/01/08から、Regional Scrum Gathering Tokyo 2020(以下、RSGT2020)が始まりました! 2020.scrumgatheringtokyo.org ブログでは、RSGT2020のセッションの発表資料をまとめています。 個人で発見した発表資料のみですので、掲載していないセッションの発表資料がありましたら、コメント欄などで教えていただけるとさいわいです。 現時点では、1日目のスライドのみです。 2日目まで追加しました! 3日目まで更新しました。 1日目(2020/01/08) keynote The Ten Bulls of the Scrum Patterns Hall WEST アジャイルコーチ活用術 slide.meguro.ryuzee.com みなさんのプロダクトバックログアイテムはOutcomeを生み出していますか? プロダクト生

    Regional Scrum Gathering Tokyo 2020のスライドまとめ #RSGT2020 - スクラムマスダーの日記
    dskst9
    dskst9 2020/01/14
  • マネージャーを否定しない組織をつくる - Unknown Error

    RSGT2020が1/8~10に開催された。 昨年は楽しかったの一言に尽きたが、今年はとにかく考えさせられた。 というのも、私にとってここ2~3年のテーマだった、Agile × マネージャーというドンピシャなキーノートがSahotaさんよりあったためだ。 confengine.com 記事では、このキーノートに焦点をあてる。 マネージャーを否定してはいけない Sahotaさんのセッションで最も印象に残った言葉が、「組織を変革させるとき、誰も取りこぼしてはいけない」というものだ。 私がBas(LeSSの提唱者)の認定スクラムマスターの研修に参加したとき、どんな役割を今やってますか?と質問された。 私はそのときScrumを推進する人ではあったが、Scrum Masterではなかった。なぜなら、私の行う役割にはエンジニアの評価やエンジニアの採用も入っていたからだ。 そのときはEngineeri

    マネージャーを否定しない組織をつくる - Unknown Error
    dskst9
    dskst9 2020/01/14
    Agile と Manager について
  • 【翻訳】あなたが求めていたリアクティブプログラミング入門 - ninjinkun's diary

    original: The introduction to Reactive Programming you've been missing (by @andrestaltz) (translated by @ninjinkun, reviewed by @ma0e) あなたはリアクティブプログラミングと呼ばれる新しい方法が気になっている。 勉強するのは大変で、良い教材がないのでさらに難しい。私が勉強を始めたときは、まずチュートリアルを探した。見つけたのは一握りの実践的なガイドだけ、しかもそれらは表面をなぞっているだけで、リアクティブプログラミングのアーキテクチャ全体像を構築しようとしてはいなかった。ある関数を理解するのに、ライブラリのドキュメントは役に立たないことがある。 これを見て欲しい。 Rx.Observable.prototype.flatMapLatest(selector,

    【翻訳】あなたが求めていたリアクティブプログラミング入門 - ninjinkun's diary
    dskst9
    dskst9 2020/01/10
  • @octokit/restのアーキテクチャについて調べた - dackdive's blog

    良いREST APIクライアントの設計というものに関心があり、GitHub社の公式REST APIクライアントである @octokit/rest のコードを読んでみたメモです。 (ドキュメントは https://octokit.github.io/rest.js/) 知りたかったこと 漠然と、こういう疑問に対してなんらか知見が得られればいいなーと思っていました。 全体的なディレクトリ構成やレイヤー。どういうふうに責務を分けているか 各APIエンドポイントに対応するメソッドはどのように実装している?命名ルールやnamespaceなどの分割基準は? Node.js環境とブラウザ環境を両方サポートするために、環境の差異をどのように吸収しているのか エラーハンドリングはどうしてる? テストはどうしてる? 何に対してテストを書いているか。リクエスト部分のモックはどうしているか 調べてわかったことメモ

    @octokit/restのアーキテクチャについて調べた - dackdive's blog
    dskst9
    dskst9 2020/01/06
  • ドメイン知識とユースケースの違いは何か?[ドメイン駆動設計][DDD] - little hands' lab

    DDDの文脈の中で、 「ドメイン知識とユースケース(≒アプリケーションの知識)は何が違うのか?」 という疑問がよく持たれます。 この記事ではその違いを説明し、DDDのコードにどう反映するかを書きます。 あるToDoアプリの仕様 事例として、ToDoアプリの話をします。 「仕様を決める」と言ったとき、以下のように箇条書きで決めることがあると思います。(Jiraのようなチケット管理システムのチケット詳細として書いたりしますよね) ユーザー登録、非活性化ができる メールアドレスは重複登録できない タスク登録、更新、完了、未完了に戻す、延期、ユーザーへのアサインができる タスクは3回までしか延期ができない 非活性化されていないユーザーにアサインができる タスクを完了、アサインするとタスクレポートが作成される これはいわゆる「ビジネスロジック」と呼ばれて、3層レイヤーのアーキテクチャではBusine

    ドメイン知識とユースケースの違いは何か?[ドメイン駆動設計][DDD] - little hands' lab
    dskst9
    dskst9 2019/12/27
  • エンジニアリングマネジャーになってから技術力が伸びるパターン - valid,invalid

    あまり声を大にして言っていなかったが、Engineering Managerになってからのほうが学習意欲が増して技術力が伸びたのではないかという自負がある— ohbarye (@ohbarye) 2019年3月26日 もう半年以上前だが、このツイートにそこそこFavが付いたのでもう少し丁寧に考えや経験を補足しようと思った。 僕が観測する界隈ではエンジニアがマネジャーになることに対するネガティブな印象として「コードを書けなくなる」「技術力が落ちる」といった意見を聞くことが多いので、いち反例として個人的な経験を挙げてみる。*1 どういうことか 僕がエンジニアリングマネジャーになったのは2017年で、今から約2年前。*2 過去に記事で書いたようにその頃は 「日常の業務を漫然と続けるだけで成長するフェーズは終わった」という焦燥感があった一方、目線の上げ方・課題の見つけ方・実行するための冴えたやり方

    エンジニアリングマネジャーになってから技術力が伸びるパターン - valid,invalid
    dskst9
    dskst9 2019/11/11
    いい話だ
  • 読んだ : What Is An Engineering Manager? - ひだまりソケットは壊れない

    エンジニアリングマネージャってエンジニアリングに対するマネージャだと思うんだけど、たまに 「エンジニアリングマネージャはエンジニアリングをわかっていなくても務まる」 みたいな言説を目にする。 それはエンジニアリングマネージャではなくて単なるエンジニア組織のラインマネージャなのでは?— Nobuoka Yu (@nobuoka) 2019年2月19日 最近エンジニアリングマネージャという言葉をよく聞くようになった気がするのだけど、自分の思っているエンジニアリングマネージャ像 *1 と全然違うエンジニアリングマネージャ像を語っている人もいる *2 ので、何かしら文献があったりしないのかなーと思って調べたところ、1997 年の paper を見つけた。 peer.asee.org 修士課程のエンジニアリングマネジメントのカリキュラムで使えることを目的とした paper らしく、なかなか興味深かっ

    読んだ : What Is An Engineering Manager? - ひだまりソケットは壊れない
    dskst9
    dskst9 2019/09/03
  • Mac と Windows のパス変換を Slack コマンドで作ってみた話 - ASKUL Engineering BLOG

    こんにちは。フロントエンドのごましおらぶです。 2 回目の登場です! 導入 Slack の Command にこんな機能を作りました。MacWindows のパスを変換するシンプルなコマンドです。百聞は一見にしかず。 理由 コミュニケーションツールとして多く使われている Slack。 相手から共有ドライブのファイルパスが送られることも結構あるのではないでしょうか。 お互いに同じ OS を使っている場合は、何の違和感もない話です。 しかし、MacWindows ユーザーが共存する開発現場では手間な作業が発生します。 例えばこんなパスが送られたとすると \hoge-drive\hoge開発\zzz-secret\yyy\010_管理\sub-dir\20191231 \を全部/に変えて...もしくは先頭のディレクトリにアクセスして下へ下へと黙々と移動。 地味な作業ですが地味に手間で

    Mac と Windows のパス変換を Slack コマンドで作ってみた話 - ASKUL Engineering BLOG
    dskst9
    dskst9 2019/07/10
    便利に使っております!OSをものともしないURIは偉大だ
  • 新メンバーが多い大型プロジェクトでの不確実性との戦い方 - スタディサプリ Product Team Blog

    ペアプロ・モブプロ、スキルマップ、1-on-1等々… チーム開発にまつわる各論・方法論・話題をよく見る昨今、関心の高まりは歓迎さるべきことながら つまるところそれらが現実のどのような問題を解決していくのか? どのように相互作用するのか? これらが有機的に結びつくことで現実のどのような問題を解決していくか? こうした疑問に答えたり、具体例とともに記した記事はさほど多くないのではと思います。 記事では昨年度に筆者のチームが約7ヶ月携わったプロジェクトにて、プロジェクト特性に起因する不確実性と我々がいかに戦ったかを記します。チーム開発を行う方にとってこの記事が実りあるケーススタディとなれば幸いです。*1 なお、記事では以下のことは旨とは逸れるため割愛させていただきます。 プロジェクトの機能的側面 技術的不確実性 各取り組み単体の詳細 はじめに / プロジェクトの雰囲気を伝える図 この記事で

    新メンバーが多い大型プロジェクトでの不確実性との戦い方 - スタディサプリ Product Team Blog
    dskst9
    dskst9 2019/06/28
    ”何がチームにとって理想なのか、理想に至るための最大の課題は何なのかをプロジェクト中に深く掘り下げていなかった” そうなんだよな、ふりかえりとかでもここを深く掘れてない
  • マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

    この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。その中でPaymentServiceは決済トランザクション管理の基盤サービスとして、下位層のサービス(外部サービスも含め)が提供する各種決済手段を利用して、上位層のサービス(メルカリ、NFC,コード払いなど)に必要な決済フローを共通APIとして提供しています。PaymentServiceが提供する決済処理に複数のサービスを跨いでお金の動きを正確に管理する必要があるので、作り始めた頃から決済トランザクション管理を最も重要な課題として、サービスを跨いでもデータの整合性が取れる仕組みを作ってき

    マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
    dskst9
    dskst9 2019/06/10
    すごいいい記事