algonote

There's More Than One Way To Do It

プログラミング

[Zenn投稿] Flogを使用したリファクタリングの必要性の可視化と負債返却の説得の仕方の一例

複雑性の高い部分の探し方 まとめ Zennに「Flogを使用したリファクタリングの必要性の可視化と負債返却の説得の仕方の一例」を投稿しました。 zenn.dev 所感 カスタマイズが少し弱い部分があるのでPull Requestを出してみたりしたいですね。 rubocopの内部仕…

[Zenn投稿] アーキテクトがチェックすべきオープンソースのWebサービス一覧

実装の参考の当たり Zennに投稿しました Zennに「アーキテクトがチェックすべきオープンソースのWebサービス一覧」を投稿しました。 zenn.dev 企業によってはバックエンドと切り離して独立のアーキテクトを置いていることもあります。自分はDevOpsと同じで極…

[Zenn投稿] Software Design、WEB+DB PRESS全巻読破のすすめ

Web開発の歴史の復習の仕方 Zennに投稿しました Zennに「Software Design、WEB+DB PRESS全巻読破のすすめ」を投稿しました。 zenn.dev WEB+DB PRESS休刊、悲しいですね。 所感 似たような雑誌はInterface、日経PC21、トランジスタ技術あたりでしょうか。 Int…

rails statsと企業価値

開発スピードが遅いのか、作っているものの筋が悪いのか 前口上: rails statsで企業価値は測れるか? rails stats はRailsリポジトリの統計情報が取れる便利コマンドです。LaravelでもLaravel Statsを使って php artisan stats で同様のことができます。 結…

バックエンド開発に必要な能力の半分以上は言語力以外の部分

ChatGPT時代の戦い方 言語経験年数だけ見るのは間違い ソフトウェアエンジニアの能力を測る指標としてしばしばプログラミング言語の経験年数が使われることがあります。Perl〇〇年、Go〇〇年というやつですね。 一方で例えばWebフロントエンド開発にHTMLやCS…

全エンジニアにGitHub Copilotを提供している企業一覧

GitHub Copilotは人権になるか 前口上 GitHub CopilotはGitHubの言葉を借りるならAI pair programmerです。Visual Studio Code、Visual Studio、Neovim、JetBrainsのIDE拡張として動き、コードの一部を書くことで残りを補完してくれます。 Twitterを開いたら…

[Zenn投稿] ソフトウェアのバグはコードそのものよりも組織構造から生じることが多い

テックリードは組織を忘れられるか TLDR Zennに「ソフトウェアのバグはコードそのものよりも組織構造から生じることが多い」を投稿しました。 zenn.dev 執筆後記 THE INFLUENCE OF ORGANIZATIONAL STRUCTURE ON~でGoogle検索かけると結構他の論文のサジェス…

HIGH OUTPUT PLAYER - 評価されるプレイヤーはどういう人か

独自理論を提唱してみる 前口上 HIGH OUTPUT MANAGEMENTというマネジメントについて書かれた本があり、そのなかでマネージャーの評価の公式が出てきます。 マネジャーのアウトプット=自分の組織のアウトプット+影響力が及ぶ隣接組織のアウトプット という…

[Qiita投稿] Twitterはタイムラインをどうやってキャッシュしているか

Twitterの内部構造を読解してみる TLDR Qiitaに「Twitterはタイムラインをどうやってキャッシュしているか」を投稿しました。 qiita.com 所感 結構頑張ってリソース探したのですが、最近のものは少ないですね。 TwitterのメインDBのManhattanが気になってい…

日本のWeb開発にスクラムは本来不要かもしれない

専任のスクラムマスターは必要か 前口上 最近スクラムの源流である論文『The New New Product Development Game』を読みました。概ね日本企業を良い開発手法を採用している企業として、米国企業はどうやったら日本企業のようなよい企業になれるかを論じたも…

エンジニア1000人に1人の技術力になった

一つの参考 前口上 LAPRASという求人サイトがあるのですが、GitHubなどと連携するとパブリックな情報を収集して日々のアウトプットベースにLAPRAS SCOREを算出してくれます。 スコアとして出るのは技術力、ビジネス力、影響力なのですが、最近技術力の算定基…

[Qiita投稿] Twitterを支えるインフラ: スケール

Twitterの技術ブログを訳してみる TLDR Qiitaに「Twitterを支えるインフラ: スケール」を投稿しました。Twitterの技術ブログの非公式訳です。 qiita.com 所感 イーロンマスクがTwitterの構成図をTwitter上にあげたのが先日話題になりました。 Twitterの公式…

2022年に読んだ本、個人的トップ10

例年の倍本を読んだ 前口上 ここ何年かは年150冊ほど本を読んでいたのですが、感染症対策と生来の引きこもり気質が融合した結果、今年は300冊程度読んだようです。例年の倍 毎週図書館に行っていたのも大きいですね。東京23区だと隣接区はもちろん区によって…

[Qiita投稿] 職務範囲が増え続けるのを防ぐジョブディスクリプション・ポーカー

デリゲーション・ポーカーを改造してみる TLDR Qiitaに「職務範囲が増え続けるのを防ぐジョブディスクリプション・ポーカー」を投稿しました。闇の魔術に対する防衛術 Advent Calendar 2022 Day8の記事です。 qiita.com 所感 3人の間でボールも整理するかも…

ふるさと納税で買えるREALFORCEの比較

キーボードの比較 前口上 そろそろ12月ですね。日本において一定の収入のある人はふるさと納税を活用することで実質タダで物を買えるわけですが今年の期限がせまっています。 プログラミング関係ならラズパイだったり、IoTキットだったりを買えます。キーボ…

AssessOpsを提唱してみる

組織構造は評価の運用も考慮して 前口上 DevOpsという用語があります。ソフトウェア開発を開発担当(Development)、運用担当(Operations)と完全に分けるような構成をとるより、開発と運用はより協調して、時には兼任した方が変化に素早く対応できるという考え…

0=>1の開発で注意するポイント

ゼロイチでの上手な振る舞い方 前口上 全てのプロダクトにはフェーズがあり、0=>1、1=>10、10=>100で戦い方が違います。老舗のサービスなら100=>90の段階にいることもあるかもしれないですね。 世の中の求人の量で言えば、圧倒的にある程度規模が大きくなっ…

リモートワーク時代こそOJTでペアプロをしよう

新人含めてリモートワーク体制にする方法 前口上 内定式のシーズンですね。本記事執筆時点で日本はまた感染者数が谷に入り、ちょうど入国規制が緩和されました。とは言え、リモートワークを部分的にしろ全部にしろ実施しているIT企業がまだ多いです。おそら…

システム高度化時代にPMがRailsを学ぶべき理由

SQLの次に獲得すべき技術スキルは何か 前口上 破談になりそうですが、Twitterの買収をイーロンマスク氏が実行しようとした際、マネージャーの解雇が話題になりました。 いわく、「IT分野の管理職は高いIT能力を持っていなければならないと思う。優れたコード…

IT企業の評価制度を設計してみる

評価制度設計の一例 前口上 仕事の報酬を考えた時、個人としてはもちろん5000兆円欲しい訳ですが、経営者視点で見ると投資効率へのプレッシャーを投資家から受けたり、事業が上手くいかなくなった際の倒産確率を低めるためにも、全ての従業員を5000兆円で雇…

GraphQL採用アンチパターン

GraphQLは銀の弾丸か 前口上 Webやアプリ開発において、サーバー間やサーバークライアント間でデータを受け渡す方式には色々なものがあります。 古くはSOAPやXML、最近のWEB APIはほとんどの場合JSONのREST API、マイクロサービスならProtocol BuffersでgRPC…

創業CTOは安易にVPoEを採用しようとしてはいけない

独自理論を提唱してみる CTEO体制から成長時の苦悩 技術職のキャリアパスとして最近は技術専門性に特化したIndividual Contributorなども注目されていますが、逆に管理もやるような職種がCTOと呼ばれることが多いように思います。 スタートアップ初期のCTOは…

CTO・VPoE参画時の100日プラン〜プロCTOは成立するか〜

生え抜きでなくても活躍したい 前口上 日本企業の雇用形態は伝統的メンバーシップ型雇用から、ジョブ型雇用に変わったと言われることもありますが、割合歴史の浅いIT企業においても移行は完璧にはできておらず、とりわけ管理職やシニアポジションの募集をし…

[Zenn投稿] チーム分割の独自ガイドライン

チーム分割について思うこと TLDR Zennに「チーム分割の独自ガイドライン」を投稿しました。 自分が開発チームを分割する場合に、どういった目安で実施するか、どういったところに気をつけるかについて書いています。 zenn.dev Future Works 一番大事などう…

障害対応はファーストエイドと恒久対応を分けよう

まず止血する 前口上 Webサービスを運営していると気をつけていてもしばしば障害が発生してしまうことがあります。 全てのケースを網羅したつもりだったのにコーナーケースを考慮できておらずエラーとなったり、開発環境の少ないデータでは問題なかったのに…

Railsの開発でよく使うライブラリー(gem)一覧

よく使うgemをまとめてみる 前口上 先月まとめたように、SaaSブームの中でアプリからWebへの回帰が少し起きている感覚があり、アプリのバックエンドでAPIだけなら軽量フレームワークでいけた場合でも、画面の描画もやる場合はなんだかんだでフルスタックフレ…

おすすめの企業テックブログ一覧(2022)

面白そうな技術ブログをまとめてみる 前口上 普段技術情報を追うのにニュースレターやSNS、ソーシャルブックマークをベースに使っています。ニュースレターは英語、SNSやソーシャルブックマークは日本語が多いです。 これで概ね面白い記事や動画、ポッドキャ…

2D<=>3D互換の死なないメタバース開発について考える

死なないメタバースの作り方 前口上 メタ社がメタバースに力を入れると発表した際は猫も杓子もメタバースだったのですが、Googleトレンドの推移を見ていると少し過熱感が落ち着いてきたようにも感じます。 メタバースがいつ実現するかは各社意見がバラバラな…

0→1のWeb開発においてRDBMSを使った方がその先につながりやすく、Railsが復権したのがSaaS時代のトレンド

プロダクトの変遷でアーキテクチャーがどう変わったか 前口上 Web開発においてとりうるアーキテクチャーにはいくつかパターンがあります。 サーバー構成をモノリスかマイクロサービスかで分ける場合もありますし、データベースを内製で持つか外部のmBaaSに任…

メッセージをやりとりするサービスの難しさについて

チャット機能の難しさについて 前口上 新しい技術やプロダクトトレンドを追うのが好きで、よくピッチイベントを見たりするのですが、その中でプレゼンされるプロダクトの中にはチャット機能を持つものがしばしばあります。 システムは何かしらの利用料を得て…