ブックマーク / bufferings.hatenablog.com (71)

  • こんなエンジニアリングマネージャだから仕事がしやすいんだなぁと思う10個のこと - Mitsuyuki.Shiiba

    最近、毎日のようにEMのいくおさん( @dora_e_m )とTwitterXでわちゃわちゃしてる。彼のポストを見ていると、ガンプラをつくるかビールを飲むかしかしていないように見えるが、それで合っている。 という冗談はおいといて真面目な話をすると、エンジニアとしての僕は彼と仕事ができている今の時間のことを当に貴重な時間だと思っている。とにかく仕事がしやすいし、いろいろな気づきを与えてくれるおかげで、自分自身の成長も感じている。 エンジニアリングマネージャとしての知識が豊富でスキルが高いというのはもちろん、人との接し方や日常的なふるまいもとても尊敬できるものなのだ。 そこで今日は、僕が彼とこの3ヶ月間仕事をしていて、やりやすい・尊敬していると感じていることの中から10個だけ簡単に紹介しようと思う。僕からいくおさんへの日頃の感謝の気持ちをあらためて書いておこうと思っただけとも言う(ふだんから

    こんなエンジニアリングマネージャだから仕事がしやすいんだなぁと思う10個のこと - Mitsuyuki.Shiiba
  • お願いしなくても毎日その場がやってくる良さ - Mitsuyuki.Shiiba

    軽くリファインメントをする時間 いまのチームでは、デイリースクラムのあとに毎日15分だけ、軽くリファインメントをする時間をとっている。目の前のスプリントのタスクのことをいったん忘れて、次のスプリントやもう少し先のことについてチームで相談する時間。 そこでは、PdM(プロダクトマネージャ)が「こういうこと考えてるんだけどどう思う?」って話をしてくれたり、エンジニアが「このあたり早めに改善しておきたいんだよねぇ」って話をしたりしている。 こういう軽い相談の場とは別に、もっと深く議論したいと思ったり、要件がかっちりと決まってきたりしたら、別途時間をとって、軽くないリファインメントでしっかりと相談している。 軽いリファインメントが結構好き 僕はこの日次の軽いリファインメントが好き。自分の「技術的な部分の改善をしたい」という考えをふわっとしてる段階で聞いてもらえるし、PdMがプロダクトの機能追加や改

    お願いしなくても毎日その場がやってくる良さ - Mitsuyuki.Shiiba
  • 40歳を過ぎてもソフトウェアエンジニアを続けてるって話 - Mitsuyuki.Shiiba

    昨日、ゆのんさん( https://twitter.com/yunon_phys )が社内の勉強会で「エンジニアリングマネージャとは?」って話をしてくれて、面白いなぁって思いながら聞いてた。 今日は @yunon_phys が社内勉強会で、エンジニアリングマネージャについてお話をしてくれてとてもよかった。こんな話が社内で聞けるのって福利厚生だなぁと思いながら聞いてた。— SHIIBA Mitsuyuki (@bufferings) October 13, 2023 その中で「エンジニアリングマネージャが見ることのできる範囲はめちゃ広いから、すべてを完璧にしようとするんじゃなくて、その場に応じてスキマを埋めるような動きができるといい。組織の成長とともにその動きも変わっていく」ってことを言っていて、これって自分のソフトウェアエンジニアとしての動きにも似たところがあるなぁと思ったので雑にメモ。

    40歳を過ぎてもソフトウェアエンジニアを続けてるって話 - Mitsuyuki.Shiiba
  • アジャイルと通過点とベクトル - Mitsuyuki.Shiiba

    昨日と比べて今日一歩前進してる? もう10年以上前になるけど、計画とリソース効率を重視していた大きな組織の中で、より良いサービスづくりをしたいと、アジャイルなプラクティスやスクラムを取り入れてやり方を変えたことがある それは、うえから「アジャイルな開発をするように」とふってきたトップダウンな指示ではなくて、自分がそういうものづくりをしたいなと思ったというボトムアップな始まり(幸運なことに、少し進めていたところでトップダウンでも話が出てきたので、ボトムアップとトップダウンの両方から取り組むことになってとても良かった) そのボトムアップな改善のときに考えていたのは、その瞬間にやっていることが理想的かどうかというスナップショットじゃなくて、昨日と比べて今日一歩前進してるかというベクトルだったなと思う。まぁ、あんまり深く考えるタイプじゃないので、結果的にそうだったという側面が大きいかもしれない 計

    アジャイルと通過点とベクトル - Mitsuyuki.Shiiba
  • CircleCI に入社してちょうど2ヶ月がたちました - Mitsuyuki.Shiiba

    こんばんは。しーばです。この記事は Calendar for CircleCI Advent Calendar 2021 | Advent Calendar 2021 - Qiita の17日目の記事です。ほんとは明日に書くつもりだったけど、空いてたから今日書くことにした。 16日目は、ふなっきーの 緑(Succeed)と赤(Failed)を区別する - よりinclusiveなCircleCIを目指して - Qiita でした。なんか Failed の色が変わったなぁって思ってたら、カラーユニバーサルデザインに対する取り組みで、僕は全然詳しくなかったんですけど、そういう取り組みをしてるのって良いなって思いました。 さて、今日は CircleCI の Year End Party で東京に来てました。 オフィスに来たらヒューガルデンが無限に出てくる pic.twitter.com/k7OO

    CircleCI に入社してちょうど2ヶ月がたちました - Mitsuyuki.Shiiba
  • スクラムマスターの次のステップって何だろう? - Mitsuyuki.Shiiba

    SCRUMMASTER THE BOOK を読んだ。 books.rakuten.co.jp もっと大きな物語 最初は(ほうほう。。。)って読んでて途中で(んー???)ってなってその後(あぁそういうことか・・・まじかwww)ってなった。面白い。スクラムの中のスクラムマスターという話よりも、もっと大きな物語だった。だけど、ページ数も多くなくて読みやすくて楽しかった。 わー!いただきました。よむー! https://t.co/T8dEP6bUay pic.twitter.com/lC0t1SRCMN— Mitsuyuki Shiiba (@bufferings) September 4, 2020 悩むだろうなぁ スクラムマスターとして動いてる人であるかなぁと思うのが、雑用係みたいになってるとか、自分がいらなくなることを目指すけどその後どうしよう?とか。 特に後者の、チームとしてある程度うまく

    スクラムマスターの次のステップって何だろう? - Mitsuyuki.Shiiba
  • そのふりかえりの改善策って実現可能なのかな? - Mitsuyuki.Shiiba

    大変だったプロジェクトの反省会みたいな振り返りとかで、うまくいかなかったことだけを並べて「反省しています!次からはそうならないように、これこれといった対応をしていきたいと思います。」みたいなのをたまに見る。 そういうときに感じるのは「良かったところを知りたいなー」ってのと「そもそもその改善策って、実現可能なのかな?」ってこと。 ## 信頼していること そもそも僕は、全員が全力でプロジェクトを成功させようとしていたこと、良いものを作ろうとしていたことを信頼している。誰も手を抜いていたわけじゃない。 だから、たくさんの良かったことをまず知りたい。この判断は良かったよね。とか、ここは大変だったけどなんとかなったね。とか。 ## 課題 そのうえで、思った通りに進まなかったということなので、課題を出していく。例えば、Bが思っていた以上に難しかった。とか。 ## それって改善になる? さて。その課題に

    そのふりかえりの改善策って実現可能なのかな? - Mitsuyuki.Shiiba
  • 2時間スプリントでソロ、ペア、モブ、学習セッションを実験した - Mitsuyuki.Shiiba

    忘れる前に走り書き的にメモ。 ## Day0 実験の場をゲット! とあるチームのテックリードから「助けて欲しい」という相談があった。話を聞くと、プロジェクトが遅れている状況で、まだ大きく分けて3つの技術的課題が残ってて、でも、チームはその技術にあまり詳しくないので先が見えなくて不安。ということみたい。 チームの構成は、プロダクトオーナー、テックリード、エンジニア2人の4人チーム。開発手法にはスクラムを採用してる。スプリント期間は2週間。 「いいよー。水曜から金曜の3日間だけなら手伝えるし、それで不安は解決できると思う。スプリントはその間は止めようかな」と言いながら、折角だから実験させてもらおうかなと思い、条件を出した。「この3日間は全員がこの課題解決を最優先すること」それから「僕の好きにやらせてもらうねー」。 実験してみたかったのは、別々に作業するのと一緒に作業するのとではどっちがどうなん

    2時間スプリントでソロ、ペア、モブ、学習セッションを実験した - Mitsuyuki.Shiiba
  • サービスエンジニアとサービス開発と3年後 - Mitsuyuki.Shiiba

    最近何人かからキャリアパスの相談を受けてて、話をしているうちに自分の考えが少し整理できた気がするので忘れる前にメモ。雑記。 ## サービスエンジニア 僕の今いる部署に求められてるエンジニアは、技術をコアにしたエンジニアじゃなくて、サービスをコアにしたエンジニアだと思ってる。図の左側。技術を突き詰めて「この技術で何ができるか」というよりも、サービスのことを考えて「このサービスのためにあの技術が使えないか」という感じ。 ## アプリ開発とサービス開発 Webアプリの開発経験が10年以上あります、って人よりも、新卒の2,3年目の人の方が頼りになったりして、どういうところなんだろうなぁ?って思ってたんだけど。アプリ開発スキル、と、サービス開発スキル、が別のスキルってことなのかもしれない。 サービスを開発するときは、アプリの機能を実装するだけじゃなくて、全体のアーキテクチャ、インフラ、ビジネス側の運

    サービスエンジニアとサービス開発と3年後 - Mitsuyuki.Shiiba
  • たまに「スクラムが難しい」って相談があって見に行ったりする。 - Mitsuyuki.Shiiba

    「プロダクトオーナーとしてやることはしっかりやってるんです」 「もちろんバックログがあります。そして、ストーリーが優先順にならべられています」 「MVP(Minimum Viable Product)も考えていて、ここまでが必須だと考えています」 「そしてこのMVPをこの日までにリリースしたいと考えているんです」 いいですね。 でも、ストーリーポイントを見たところ難しそうですね。 「そうなんです。もうプロダクトオーナーとして自分ができることは全てやりましたから、あとは開発チームに、この日までにリリースできるようになんとか頑張ってもらうしかないと思っています。スクラムではこういうときどうしますか?」 そうですね・・・。まずは、実現できないということを受け止めましょう。 「え?」 そして、ここで頑張るのは開発チームではなくてプロダクトオーナーですね。 「もう自分のできることは全てやっていますよ

    たまに「スクラムが難しい」って相談があって見に行ったりする。 - Mitsuyuki.Shiiba
  • 組織を改善するときは足すより引く感じで - Mitsuyuki.Shiiba

    僕は数年前に改善グループってのを立ち上げて、部内の他のグループに行ってそこの改善を手伝うみたいな活動をしてる。開発の進め方の改善をしたり、アーキテクチャーの改善をしたり、他のグループの人どうしをつないだり、とか。そういう感じのこと。 そしたら、この前「うちの部署の改善活動の参考にしたいから、意見交換しようー」って、他の部署の人が話をしに来てくれて、そのおかげでぼやーっと感覚でやってた自分の頭の中が少し言葉にできたのでメモ。 良くないの こういうのは良くないよねーって話をしたのが。 上からの指示で改善活動をさせられてるけど意味分からん。 みたいなの。 良くないの2 でも、こういうのも良くないよねーって話をしたのが。トップダウンじゃうまくいかないから現場を中心にしよう!ってことで 「ぜひ自分たちで問題と思ってるところを出して、それを改善する方法を考えて、実施してください!」みたいなの。 結局そ

    組織を改善するときは足すより引く感じで - Mitsuyuki.Shiiba
  • 「まず公式のドキュメントを読め」というのは分かってるんだけど・・・ - Mitsuyuki.Shiiba

    サービスやライブラリーやフレームワークを触るときは「まず公式のドキュメントを読め」というのは分かってるんだけど。なんだかつらいときが多くて。僕の順番的にはこういう感じだなーって思ったメモ。 1. 公式ドキュメントを読もうとする 雰囲気だけパラパラと。特に英語の場合は、中身を読もうとしてもすぐに挫折する。 後で倒しに来るために、いちどボスの姿を見ておこう。みたいな気持ち。 2. ググる:ブログとかキータとか Stack Overflowは、まだはやいので、ブログとかキータとかみたいにまとめられた情報を漁る。日語の情報が少なければ英語のブログとかも。 みんなが使ってみた感じとか、どんな風に使ってるか、困ったかとかを知る感じ。 3. 手を動かす とりあえず、細かいことはいいから手を動かしてみようか。って。全く理解せずにチュートリアルとかをやってみる。 そしたら、自分が興味ある部分とかツールの使

    「まず公式のドキュメントを読め」というのは分かってるんだけど・・・ - Mitsuyuki.Shiiba
  • k8sでロギングってどんなやり方があるんかな? - Mitsuyuki.Shiiba

    と思ってここを読んでみたら面白かった。 kubernetes.io 理解したことをざっくりと書くと コンテナレベルからクラスタレベルへ Dockerからログを出力したとして、コンテナがクラッシュしたりノードが落ちたりしたときでもログは見られるようにしときたいよね。だから、ログの保存先は別にしといて、コンテナとかノードとかとは違うライフサイクルで管理したい。てのがクラスタレベルロギングって呼ばれてるコンセプト。 クラスタレベルロギングの前に基とノードレベルの紹介から。 k8sのロギングの基 コンテナから stdout とか stderr に出しとくと kubectl logs で見られる。 ノードレベルのロギング (Image from https://kubernetes.io/docs/concepts/cluster-administration/logging/ ) コンテナから

    k8sでロギングってどんなやり方があるんかな? - Mitsuyuki.Shiiba
  • 読みやすいコード(僕にとって) - Mitsuyuki.Shiiba

    最近気づいたことがある。それは、僕はみんなみたいに複雑なことが理解できない、ってこと。 話をしてても「ごめんなさい。いまのわかんなかった。もう一回教えて欲しい。」とかよくあるし。ドキュメントも、ちょっと複雑なことが書いてあると、全然頭に入ってこない。 色んなルールがドキュメントに書いてあって、それをちゃんと守りながら開発してる人たちとか見てると、みんなすごいなぁって思うのであった。 なんだろうなぁ。こう・・・色んな想像が始まってしまって、考えが落ち着かないんよね。 そんな僕なのだけど、ここ数年はありがたいことに色んなコードを読む機会がある。読みやすいコードもあれば、パズルみたいに複雑なものもあって。そんな中で、たぶん、僕にとって読みやすいコード、というのは普通の人にとってはとても読みやすいコードなのかなぁって思って。書いてみる。 JavaでWebのアプリを開発してる。基盤とかフレームワーク

    読みやすいコード(僕にとって) - Mitsuyuki.Shiiba
  • 僕がJavaのWebアプリのコードレビューをするときって何を気にしてるっけなぁ? - Mitsuyuki.Shiiba

    コードレビューをするときには、フォーマットや慣例的な書き方とか、名前ちゃんとした方が良いよとか、処理にも名前をつけようねとか、そういうことは伝えるんだけど。それよりももっと気にするのは、「ここで見つけておかなきゃいけない」ってことだなぁってふと思ったのだった。 ここで見つけておかなきゃいけないこと? 仕様に従ってるかどうかとかは、動かしてみれば分かるし、PDM(Product Manager)が受け入れテストとして見てくれたり、QAと呼ばれるテストのチームがやってくれたりもする。ので、そこまで気にしてない。 気にするのは、エンジニアがソースを読むことでしか見つけづらいバグ。かな。特定の条件が重なったときにだけ発生するようなやつとかそういうの。10msのタイミングで発生するとか、12/31の0時にだけ発生するとか、エラーが発生したときにだけ発現するとか、今は大丈夫だけど2年後ぐらいに発火する

    僕がJavaのWebアプリのコードレビューをするときって何を気にしてるっけなぁ? - Mitsuyuki.Shiiba
  • TDDはあんまり使わなくなったけど心の中にある - Mitsuyuki.Shiiba

    今日は娘たちとコログ探しして楽しかった。 この数年間、頭の中にTDDを入れた状態で開発をしてきたんだけど。タイトルに書いた風に思う。 良い所がいっぱいある 見失わずに済む 僕にとってTDDの良さは、まず、自分が何をしようとしているかを見失わずに済むところ。一歩先にゴールを立てて、そこに向かって一歩進む、たどり着いたら、次の一歩を進める。その繰り返し。だから、遠く離れたゴールに対して、急いで走って、途中で道に迷ってどこに向かってるか分かんなくなったりしないで済む。 余計なものを作らなくて済む 「必要なものはこれだよね?」という確認から入って、それを実現するための実装に集中するから余計なものを作らなくて済む。実装を先に作ると「こういう機能もあるといいかもだから入れとこうかな」ってついつい入れてしまう。 リファクタリングできる まず最初に動くものを作ってから、その状態をキープしたまま、実装の改善

    TDDはあんまり使わなくなったけど心の中にある - Mitsuyuki.Shiiba
  • モブプロをやってみた。良さ。使いどころ。 #devkan - Mitsuyuki.Shiiba

    devlove-kansai.doorkeeper.jp モブプログラミングやってきました!面白かったー。疲れたー。面白かったー。 モブプログラミングって? チーム全員(プロダクトオーナー含む)が集まって、1人だけがコードを書いて、それがスクリーンに映しだされてて、その他の人みんなでやいやい言いながらものを作っていく。というスタイル。ルールは「ドライバー(コードを書いてる人)は、ナビゲーター(周りでやいやい言ってる人)に言われた通りにコードを書く。ドライバーが自分で考えてコードを書くのはダメ。」という感じ。 やってみた 7人ぐらいのチームで、プロダクトオーナーからのお題に対してTDDで実装をやってみた。2部制でやったのだけど、第1部はKotlin + IntelliJ IDEAでローマ数字の計算を。Kotlin全く知らないし、IntelliJも全然慣れてない。第2部はJavaで自動販売機を

    モブプロをやってみた。良さ。使いどころ。 #devkan - Mitsuyuki.Shiiba
  • Headless ChromeをDockerに入れてGebで遊んでみた - Mitsuyuki.Shiiba

    昨日書いたんだけど、Kafkaを触ろうと思ってるんだよ?でも、触ろう触ろうと思ってると、違うものが目に入ってくるのであった。ということで Headless Chromeで遊んでみた Kafka一切関係なく、この記事を見かけたから。 Getting Started with Headless Chrome  |  Web  |  Google Developers この辺のこともあるので、ちょっと見とこうかなって。 Phantom.jsのメンテナー、プロジェクトの将来に疑問を呈し、その座を降りる ただ、今手元にある環境でごにょごにょするのもなんか嫌だなぁ・・・って思ったので、無駄にDockerに詰め込んでGebで遊んでみた。そして、そのせいで疲れた(ヽ´ω`) できあがったものは これ。 https://github.com/bufferings/sandbox-gebheadlesschr

    Headless ChromeをDockerに入れてGebで遊んでみた - Mitsuyuki.Shiiba
  • だんだん開発スピードが遅くなっていくのをどうやってとめたら良かったんだろう? - Mitsuyuki.Shiiba

    先日、モブプロをやってきた。その中で、モブプロとは別で、いくつか感じたことがあって、今日はその中のひとつを思い浮かんだままにメモ。 bufferings.hatenablog.com 要件を満たすプロダクトをより早く出す モブプロでTDDしながら、要件を満たすプロダクトをより早く出すことに集中してみた。例えば、第2ラウンドのお題はTDDBCなどでお馴染みの「自販機」。 「100円を入れてボタンを押すとコーラが1買えること」 最初に「100円を入れてボタンを押すとコーラが1買えること」と言われ。 assertThat(get(100), is("コーラ")); みたいなテストを書いて。 String get(int money) { return "コーラ"; } みたいな実装を書いた。爆速! 「200円を入れてボタンを押すとオレンジジュースが1買えること」 次に「200円を入れてボタ

    だんだん開発スピードが遅くなっていくのをどうやってとめたら良かったんだろう? - Mitsuyuki.Shiiba
  • #Java本格入門 は実践的だなー! - Mitsuyuki.Shiiba

    Java格入門を読み終わりました。著者の谷さんからいただきました。ありがとうございます。もし面白くなかったらどうしようwとドキドキしながら読み始めましたけど、全然そんなことはなくて色々と勉強になりました。当に読んで良かったです。周りの人にもおすすめしたい一冊です。 楽天ブックス: Java格入門 - モダンスタイルによる基礎からオブジェクト指向・実用 - 谷心 - 9784774189093 : 機能ごとにひとめぐりしてくれてるところが良い 僕は1.4の頃にJavaに入門して、その後は新しい機能が追加されたらそれをチェックしていく、という感じでつけたしつけたしやってきたので、頭の中がごちゃごちゃしていたのですが。Java格入門では、基的な文法からJava8の機能までを時系列ではなく機能ごとにひとめぐりしてくれてるので、頭の中が整理されました。 また、自分が知識を更新してい

    #Java本格入門 は実践的だなー! - Mitsuyuki.Shiiba