ブックマーク / blog.shibayu36.org (25)

  • サービス開発の施策に納得できない時にエンジニアができるアクション - $shibayu36->blog;

    サービスの開発をしていてPMから施策案が出てきた時、ソフトウェアエンジニアとして施策案が当にユーザーのためになりサービスの成長につながるか納得できないことがある。 このような時にただ文句や愚痴を言っても何も始まらない。エンジニアからも何らかのアクションを起こし施策を前に進める必要がある。 そこでエンジニアができるアクションについて、自分が思っていることを書いてみる。 納得できないケースは大まかにどのようなものがあるか 納得できないケースでは大まかに2つのケースがあるのかなと思っている。 (1) 施策をしたい目的や仮説自体に納得できていない (2) 施策の目的や仮説は良いが、それを達成する手段に納得できていない 1つ目は、たとえば「ターゲットとしているようなユーザーって当にいるか?」「ユーザーにこういう課題があると言っているが当にそういう課題があるか?」「この指標に繋がると言っているが

    サービス開発の施策に納得できない時にエンジニアができるアクション - $shibayu36->blog;
    fkmy
    fkmy 2024/08/08
  • MySQLのREPEATABLE READとREAD COMMITTEDの違いを知るために色々試した - $shibayu36->blog;

    MySQLのトランザクション分離レベルについてふんわりとした理解しかないなと感じた。もう少し理解するために、とくにREPEATABLE READとREAD COMMITTEDの違いを手を動かして色々確認してみた。 以下の記事を参考にした。 [RDBMS][SQL]トランザクション分離レベルについて極力分かりやすく解説 #SQL - Qiita MySQL :: MySQL 8.0 リファレンスマニュアル :: 15.7.2.1 トランザクション分離レベル 大まかな違い 公式ドキュメントを見る限り ノンリピータブルリード、ファントムリードが発生するか 範囲に含まれるギャップへのほかのセッションによる挿入をブロックするか の違いがありそうに見える。 ノンリピータブルリード、ファントムリードが発生するかを試す 以下のテーブルを作る。 CREATE TABLE `posts` ( `title`

    MySQLのREPEATABLE READとREAD COMMITTEDの違いを知るために色々試した - $shibayu36->blog;
    fkmy
    fkmy 2024/02/27
  • 読書のやり方を変えてみたら知識の吸収速度・引き出し速度が上がった話 - $shibayu36->blog;

    最近以下のような記事やを読み読書法を変えてみたところ、知識の吸収速度・引き出し速度が上がったと感じるので紹介。 kentarokuribayashi.com 知的戦闘力を高める 独学の技法 作者:山口周ダイヤモンド社Amazon やり方 以下のような流れで読書している。 学びたいと思った知識が書いてありそうなを2~5冊選ぶ 1冊ずつざっくり読みながら、面白かった部分・気になった部分はKindleで黄色にハイライトしておく 全冊読み終わったら、ハイライトした部分だけ眺めて、やっぱり面白いと思ったところは赤のハイライトを付け直す 赤のハイライトを眺めて、読書ノートに転記する 特に面白い部分については、自分の知見まとめノートにカテゴリごとに整理する 学びたいと思った知識が書いてありそうなを2~5冊選ぶ 自分の中で学びたいテーマがあってを読むはずなので、そのテーマについて書いてありそうな

    読書のやり方を変えてみたら知識の吸収速度・引き出し速度が上がった話 - $shibayu36->blog;
    fkmy
    fkmy 2022/04/10
  • before_actionなどのCallbacksに登録されているものを知る方法 - $shibayu36->blog;

    Railsのbefore_actionとかが何が実行されたか知る方法はあるのだろうか— 柴崎優季 (@shiba_yu36) 2021年11月12日 と悩んでいたが、方法を教えてもらえたり、便利なツールを発見したりしたのでメモ。方法は二つ。 特定アクションアクセス時に登録されているCallbacksを全て表示する Callbacksが呼ばれたときにログを出力 特定アクションアクセス時に登録されているCallbacksを全て表示する before_actionとかのフィルターの途中にpryとかでブレークポイントを置いて、_process_action_callbacksするとchainされてるもの一覧をみることができます。 フィルタ(コールバックとも)は便利だけれど、追いかけにくくて謎バグを生みやすくてつらいですよね・・ 参考記事)https://t.co/a9Obwe35gr— だーい (

    before_actionなどのCallbacksに登録されているものを知る方法 - $shibayu36->blog;
    fkmy
    fkmy 2021/11/16
  • 株式会社アンドパッドに入社しました - $shibayu36->blog;

    2021/10/01から株式会社アンドパッドに入社しました。初めての転職なので緊張しているけれど、早めに馴染みたい。 andpad.co.jp 転職活動をしている中でいくつかオファーをもらっていたが、以下の理由で株式会社アンドパッドに入社を決めた。 裏側よりの難しい課題をクラウドネイティブな設計で解決するタスクができそう 組織規模が急拡大していて、組織マネジメントの経験が深まりそう 採用フローがしっかりしていて、今後も良い人がどんどん入ってきそう 裏側よりの難しい課題をクラウドネイティブな設計で解決するタスクができそう これまでのエンジニア経験の中ではインフラ〜フロントまで全体的に触ってきたが、自分の中ではインフラ領域〜バックエンド領域の中間くらいのエンジニアリングに最もモチベーションが湧いていた。またクラウドネイティブな設計をもっとできる機会があればなあと思っていた。 このように考えてい

    株式会社アンドパッドに入社しました - $shibayu36->blog;
    fkmy
    fkmy 2021/10/01
  • 開発パフォーマンス指標とバリューストリームマップでチーム改善をする - $shibayu36->blog;

    以前Pull Requestから社内全チームの開発パフォーマンス指標を可視化し、開発チーム改善に活かそう - Hatena Developer Blogの記事で、開発パフォーマンスを可視化する話を書いた。その後、バリューストリームマップを作り開発フローの課題を洗い出して、チームの改善を行い、そして開発パフォーマンス指標で効果を検証する取り組みを行ったので、その経験についてブログに書いておく。 前回の記事のサマリー バリューストリームマップを作り、開発フローの課題を発見する バリューストリームマップとは何か チームのバリューストリームマップを作る バリューストリームマップから課題を見つける 見つかった課題を解決する 開発パフォーマンスの指標で改善結果を振り返る まとめ:データを根拠にチーム改善するという進歩 参考 前回の記事のサマリー 前回の記事を前提として書くため、簡単にサマリーすると 開

    開発パフォーマンス指標とバリューストリームマップでチーム改善をする - $shibayu36->blog;
    fkmy
    fkmy 2021/08/14
  • リモートワークに必要なスキルの言語化を試みる - $shibayu36->blog;

    最近リモートワークでしばらく暮らしたところ、オフィスの時より人によって成果の差が出やすいと感じている。また昔からリモートワークしてきた人の様子を見ていると、仕事の進め方がうまいと感じることが多い。このことから、リモートワークに重要なスキルが何かあるはずだと感じていたのだが、自分の中でちゃんと言語化できていなかった。 そこで以下の資料を読み、少し言語化してみたのでメモ。 リモートワーク大全 作者:壽かおりポプラ社Amazon Effective Remote Working - Speaker Deck いくつか読んで、自分の中で以下のキーワードが重要なのかなと考えている。 セルフマネジメント モチベーション・集中力コントロール メンタルケア タスクマネジメント コミュニケーション こまめなアウトプットによる状況の可視化、それによる信頼の醸成 曖昧でない言葉で全てを伝えるコミュニケーション

    リモートワークに必要なスキルの言語化を試みる - $shibayu36->blog;
    fkmy
    fkmy 2021/08/05
  • 改善提案の議論をテキストで非同期に行う - リモートワークに合わせた提案方法を探る - $shibayu36->blog;

    最近はリモートワークが主体で、みんなで集まっての同期的コミュニケーションがやりづらくなり、他の人の非言語情報を受け取ることも困難になった。その結果として、自分がチームで改善提案をした時に、周りの人からコメントを受け取る、提案に対する温度感を探るということが難しくなった。 改善提案にこのような課題があったので、リモートワークに合わせた方法を探り、まず改善提案の議論をテキストで非同期に行うというやり方を行ったので紹介する。その過程で自分が作った提案のテンプレートも共有するので、参考にしてもらえると嬉しい。 課題: 現在の働き方でも改善提案に対するフィードバックをもらいやすくしたい もう一度課題をまとめる。 自分がチームの改善提案をした時は、チーム内の意見や反応を見ながら、より改善提案をブラッシュアップして実施したいと考えている。つまり開発フローなどチームの改善提案でもコードレビューと同様、コメ

    改善提案の議論をテキストで非同期に行う - リモートワークに合わせた提案方法を探る - $shibayu36->blog;
    fkmy
    fkmy 2021/05/04
  • プロジェクト初期は理想日見積もりし、徐々に相対見積もりへ移行する - $shibayu36->blog;

    プロジェクトマネジメントにおいて、見積もりをどのように行うかは結構難しい。僕は理想日見積もりの形式も、相対見積もり(ストーリーポイント)の形式も試したことがあるが、どちらも一長一短であった。 最近色々試す中で、プロジェクト初期は理想日見積もりし、徐々に相対見積もりへ移行するという方式がやりやすいと感じた。今回はその様子を紹介してみる。 理想日見積もりと相対見積もりそれぞれのメリット・デメリット 見積もりの基礎知識と「ストーリーポイント vs 理想日」の考察の記事を読むと、理想日見積もりと相対見積もり(ストーリーポイント)それぞれのメリット・デメリットがさっと把握しやすい。自分としては、それぞれ以下のように思っている。 理想日見積もり : 他の割り込みが全くなく、1日中タスクに取り組んだ場合を1理想日とする見積もり方式 メリット: 他に基準となるタスクがなくてもとりあえず雑に出せる。相対見積

    プロジェクト初期は理想日見積もりし、徐々に相対見積もりへ移行する - $shibayu36->blog;
    fkmy
    fkmy 2021/04/05
  • タスクの依存関係とリソースの両方を考慮してプロジェクトマネジメントをするCCPM理論を学んだ - $shibayu36->blog;

    自分のプロジェクトマネジメントのスキルをもう一つ伸ばしたくて、タスクの依存関係とリソースの両方を考慮してプロジェクトマネジメントをするCCPM(クリティカルチェーンプロジェクトマネジメント)理論を学んだ。この理論を学んだおかげで、よりプロジェクトの計画作りや、プロジェクトの現在の危険度の把握をやりやすくなったと感じる。アジャイルの手法であるベロシティでの管理ともうまく組み合わせられそうだったので、今度試してみたい。 参考にした書籍 クリティカルチェーン 作者:エリヤフ ゴールドラットダイヤモンド社Amazon 進む!助け合える!WA(和)のプロジェクトマネジメント――プロマネとメンバーのためのCCPM理論 作者:宮田 一雄ダイヤモンド社Amazon アジャイルCCPM: プロジェクトのマネジメントを少し変えて組織全体のパフォーマンスを大きくのばす 作者:宇治川浩一株式会社ビーイングAmaz

    タスクの依存関係とリソースの両方を考慮してプロジェクトマネジメントをするCCPM理論を学んだ - $shibayu36->blog;
    fkmy
    fkmy 2021/01/12
  • リモートワークでは自己主張スキルが大事な気がしてきた - $shibayu36->blog;

    リモートワークをしていると特定のスキルを保有しているか否かで自分の成果や成長が大きく変わってくると感じてきている。その中の一つとして最近感じているのが自己主張スキル。 なぜそう感じるか。それは最近ローカルでの開発からリモートの開発になったことで、自分がメンタリング・ファシリテーション・スクラム開発などをしている時に、非言語情報である表情や相槌、目線などの情報を使って良い感じに対処することが非常に難しくなったからだ。リモート会議だとミュートを多用したり人によってはビデオを切っていたりするので*1、言語情報以外の情報が全く入ってこなくなり、「良い感じ対処」のための情報量が圧倒的に不足するようになってしまった。例えば メンターとして困りごと相談を受けている時間に沈黙が生まれると、理解していて沈黙しているのか、今考え中で沈黙しているのか、全く理解不能で沈黙しているか分からず、どう対処したら良いか分

    リモートワークでは自己主張スキルが大事な気がしてきた - $shibayu36->blog;
    fkmy
    fkmy 2020/12/31
  • 開発チームの責務を「エンジニアリング観点でのサービス継続リスクをコントロールしながら、開発速度を最大化する」としてみた話 - $shibayu36->blog;

    最近開発チームの改善を行う時に、どういう目的で開発チーム改善を行うのかや、開発チームの責務は何なのかについて悩んでいた。色々を参考にしながら、自分の中でしっくり来た責務があったので、ブログにまとめておく。 まず自分の中で、開発チームの責務は次のものであると言語化した。 エンジニアリング観点でのサービス継続リスクをコントロールしながら、開発速度を最大化する なぜこの責務としたか まず現代のソフトウェア開発においては、非常に不確実な状況で、顧客にとって価値があるものが何かを探索しながら、高速に価値を創出・提供しなければならない。これを満たすためには、「正しいものをつくる」ということと、「正しくつくる」ということの両輪を回す必要がある。 この時、プロダクトオーナー側と開発チーム側で分業するとすれば、やはり開発チームは「正しくつくる」ことに焦点を当てて責務を持つと良いと考えた。つまり開発速度(価

    開発チームの責務を「エンジニアリング観点でのサービス継続リスクをコントロールしながら、開発速度を最大化する」としてみた話 - $shibayu36->blog;
    fkmy
    fkmy 2020/10/02
  • 現代のソフトウェア開発を学ぶために「正しいものを正しくつくる」を読んだ - $shibayu36->blog;

    最近はいかにエンジニアリングの立場でプロダクトを成長させられるかについて考えている。そこで、現代のソフトウェア開発やアジャイルについて学ぶため、同僚にオススメされた「正しいものを正しくつくる」を読んだ。 正しいものを正しくつくる プロダクトをつくるとはどういうことなのか、あるいはアジャイルのその先について 作者:市谷聡啓ビー・エヌ・エヌ新社Amazon なぜ現代ソフトウェア開発は難しいのかから始まり、現代ソフトウェア開発の不確実性へ対処するためにアジャイルを利用するという流れになっていて非常にわかりやすかった。また「正しいものをつくる」ことと「正しくつくる」ことをうまく切り分けて説明してくれたので、自分の中で論点を整理しやすかった。 「正しくつくる」部分に関しては、これまで自分も注力してきたところであったので、かなり経験知を言語化できた。一方「正しいものをつくる」部分に関しては、まだ経験が

    現代のソフトウェア開発を学ぶために「正しいものを正しくつくる」を読んだ - $shibayu36->blog;
    fkmy
    fkmy 2020/08/18
  • 開発チーム運営では問題発見・改善だけでなく、良かったことの共有も大事にする - $shibayu36->blog;

    開発チームをスクラムなどを使って運営している時、改善がどんどん行われることは良いことである。しかし、その時によく起こりがちなのが、問題発見と改善にフォーカスしすぎた結果、チームの悪いところばかり見すぎてしまうことだ。過剰に悪いところばかり見てしまうと、徐々にチームが疲弊してしまうといったことが起こる。改善が捗ることは良いことだが、それでチームが疲弊してしまわないように注意しなければならない。 ちなみにスクラムガイドを参照してみると、スプリントレトロスペクティブの目的には「うまくいった項目や今後の改善が必要な項目を特定・整理する」と書かれている。つまり、デイリースクラムやふりかえり会などでは、問題発見と解決だけでなく、良かったことを言語化し再生産可能にすることも重視されているのである。 以上から、開発チーム運営では問題発見・改善だけでなく、良かったことの言語化・共有を大事にし、その2つをうま

    開発チーム運営では問題発見・改善だけでなく、良かったことの共有も大事にする - $shibayu36->blog;
    fkmy
    fkmy 2020/07/28
  • 締め切りが厳しいプロジェクトで、プロジェクト初期にまずやっておきたいこと - $shibayu36->blog;

    これまで僕は締切がかなり厳しいプロジェクトを数回経験してきた。その経験から、締切が厳しいという特性を持ったプロジェクトの初期にまずこれだけはやったほうが良いということがいくつか見つかったので、今回はそれらを紹介していこうと思う。 前提となるプロジェクト 今回紹介する方法は、次のような特性を持ったプロジェクトを前提とする。 細かい仕様は決まっていないが、作るものの要件はある程度明確である アジャイルの定義におけるスコープ・コスト・品質・スケジュールの中で、スケジュールを特に優先したい(スケジュールを変えられないなど) 数ヶ月以上のプロジェクトである 短いスパンでリリースしてユーザーの様子を見てその後のプロダクトバックログの優先度を変えるような性質のプロジェクトでは、別のやり方を取る必要があると思う。そこは注意してほしい。 プロジェクト初期にやっておきたいことは何か 上記のようなプロジェクト

    締め切りが厳しいプロジェクトで、プロジェクト初期にまずやっておきたいこと - $shibayu36->blog;
    fkmy
    fkmy 2020/07/28
  • 特定のファイルだけgit stashする - $shibayu36->blog;

    いつの間にか普通に出来るようになっていた。 git stash push hoge.txt fuga.txt 参考 Stash only one file out of multiple files that have changed with Git? - Stack Overflow Git 2.13くらいから出来るようになったっぽい?

    特定のファイルだけgit stashする - $shibayu36->blog;
    fkmy
    fkmy 2020/07/17
  • MySQLをさらに理解するために読んだ記事まとめ - $shibayu36->blog;

    最近MySQLの勉強をしていました。実践ハイパフォーマンスMySQLを読むべきという話を聞いていたのですが、かなり網羅的に書かれていて、今の知識ではどれが重要なのかわからない状態でした。そこで色々調べてみて、参考になる記事をいくつか見つけたので、少しまとめてみようと思います。 今回まとめた記事を読んで、大体以下のことが理解できました。 インデックスの使われ方とその構造(MyISAMとInnoDB) EXPLAINの詳しい使い方、見方 InnoDBの特性 ALTER TABLEの特性 レプリ遅延 まず最初に Webエンジニアのための データベース技術[実践]入門 (Software Design plus)posted with amazlet at 12.06.02松信 嘉範 技術評論社 売り上げランキング: 9767 Amazon.co.jp で詳細を見る 松信さんの書いた「Webエンジ

    MySQLをさらに理解するために読んだ記事まとめ - $shibayu36->blog;
    fkmy
    fkmy 2019/05/16
  • 問題意識を感じたときに「効率的に良い状況に変える」ためのアクションリスト - $shibayu36->blog;

    自分の置かれた環境で問題意識を感じることってありますよね。例えば 上司全然ちゃんとやってくれないじゃん!最悪! 会社にこういう問題あるじゃん!なんで直らないの!最悪! みたいな感じ。 昔はこういう問題意識を持った時、自分で「良い状況に変える」ことに苦労をしていました。しかし、最近は自分の意識を変えることで「効率的に良い状況に変える」ことをしやすくなったなと感じています。そこで今回は、どのように自分が意識を変えたかということと、問題意識を感じた時に最近試しているアクションについて書いてみようと思います。 昔に自分がよくやっていたアクション 問題意識を感じた時、昔に自分がよくやってしまっていたのは 飲み会の場で愚痴る 上司に詰め寄る 問題意識だけを提起する というようなアクションです。このようなアクションをした時、良い上司はちゃんと話を聞いてくれて、実際に問題が解決することも多くありました。

    問題意識を感じたときに「効率的に良い状況に変える」ためのアクションリスト - $shibayu36->blog;
    fkmy
    fkmy 2019/03/05
  • アプリケーションは全員で監視する - 「入門 監視」を読んだ - $shibayu36->blog;

    最近話題になっていた「入門 監視」を読んだ。アプリケーションの監視をするための実践的なノウハウが詰まっていて非常に参考になる書籍だった。 入門 監視 ―モダンなモニタリングのためのデザインパターン 作者:Mike Julianオライリー・ジャパンAmazon このでは、アプリケーションを監視するための骨格となる考え方や、様々な層(フロントエンドからOSのメトリックまで)での監視の入れ方の実践的なノウハウ、さらには障害対応をスムーズに行うためのフローや障害の根対応をチームで行えるようにするためのやり方まで書かれている。実践的なすぐに取り入れられるような内容が多く、「アプリケーションをどう監視したら良いか分からない!」「障害対応をもっとうまくやる方法はないのだろうか?」と思う人には参考になる部分が多いと思う。 個人的にこのの中で一番良いなと思ったのは、 SREだけでなくアプリケーションエ

    アプリケーションは全員で監視する - 「入門 監視」を読んだ - $shibayu36->blog;
    fkmy
    fkmy 2019/02/13
  • エンジニアと1on1をするときの事前面談シートテンプレート - $shibayu36->blog;

    はてなのチーム横断のエンジニアメンター制度 - Hatena Developer Blog で紹介していますが、はてなにはチーム横断のエンジニアメンター制度があります。僕も最近までメンターとして5~6人ほどのメンティーを持っていました(今は事情があってメンターをやっていないのですが)。 メンターとして1on1をする時には1on1ミーティングに備えるアンケート - しるろぐを参考にし、事前にメンティーに面談シートを書いてきてもらうという工夫をしていました。その面談シートは改善を少しずつ加えながら運用していたのですが、一度知見共有も兼ねて最近使っていた面談シートテンプレートを公開してみようと思います。 面談シートテンプレート 以下のようなフォーマットで書いてもらっています。1on1の前にメンティーに1on1Google Docsに追記していってもらっています。1on1Google Docs

    エンジニアと1on1をするときの事前面談シートテンプレート - $shibayu36->blog;
    fkmy
    fkmy 2018/12/17