Melting Pot of Thoughts

SaaSスタートアップのCTOです。思考の整理のため考えたことをメモとしてアウトプットしていくブログです。

プログラミング

ドメインエキスパートとどれだけ議論しても、完璧なドメイン理解にはたどり着けない

自分がこれまでSaaSを開発してきた経験の中で、「ドメイン領域に対する自身のモデリング精度が低かったゆえに、機能リリースからある程度時間が経ったのちに仕様をガッツリ見直した」ことがよくありました。 特に投資の計算指標などドメイン知識が複雑なもの…

ラバーダック・デバッグから考えるセルフレビューの方法

プログラミングにおいて、『プルリクエストのセルフコメントを書くのはオススメ!』という話を以前別の記事でしました。 プルリクエストは本来他の人にレビュー・コメントしてもらうために作るものですが、それを人に見せる前に自分自身でレビュー・コメント…

OSSにコントリビュートしたことで身についた力

OSSへのコントリビュートは業界への貢献であり、また個人の挑戦にもなるためオススメです。 実益もあり、よく言われるものとしては以下のようなものがあります。 他人のコードを読むことで、自身の引出しにない設計・実装に触れられ、技術力が向上する。 個…

ボーイスカウトルールをあらゆることに適用する

プログラミングには”ボーイスカウト・ルール”と呼ばれる有名な格言があります。 ボーイスカウト達は「来たときよりも美しく」という原則を大事にし、キャンプした後は過去に他の人が出したであろうゴミも持ち去りキャンプ前よりもキレイにしようという文化が…

日によってコミュニケーション密度を変える働き方

普段プログラミングしていて感じるのは、「細切れではないまとまった時間が確保できていないと集中して作業できない」ことです。 「あと1時間後にMTGがある」というだけでなぜか深く集中に入り込めなくなります。 深く集中するとそこから抜けるのに負荷がか…

新規開発立ち上げ期におけるコードレビューの役割

どんな開発現場でもコードレビューは重要です。今の時代だとGithubのプルリクエストなどをベースとしたコードレビューは、開発の現場ではもはや必須ともいえる制度です。 ただ私はスタートアップでの立ち上げ期を経て、新規開発立ち上げ期においてはコードレ…

コードそのものではなくプルリクエストを成果物として意識する

ソフトウェアエンジニアが直接的に生み出すものはプログラムのコードそのものです。 しかし個人的な経験として成果物をコードそのものではなくプルリクエスト全体だと捉えることでぐっと仕事の質が良くなったので、その話について書いてみます。 ※ 注:以降”…

JJUG CCC 2021 FallでKotlinの話をしました #jjug_ccc

JJUG CCC fall 2021というイベントで『Kotlinを研究する』というタイトルで40分喋ってきました。せっかく参加したので、雑に振り返ってみます。※ JJUGはJapan Java User Groupの略で、JJUG CCCは年2回春と秋に開催される1日カンファレンスです 発表資料 発表…

プログラミングは体で覚えるもの

『プログラミングは体で覚えるもの』 めちゃくちゃ脳筋なタイトルですが、私は昔からずっとこう感じており、プログラミング経験が浅い人にはこのアドバイスをしています。ただ他の人が言ってるのを聞いたことなかったので、記事にしてみました。 プログラミ…

一つのプログラミング言語に固執しないほうがいい理由

私は現在Kotlinというプログラミング言語をよく使っています。 JetbrainsというIDEで有名な会社が2021年に実施したサーベイによると、14%ぐらいがKotlinを直近1年で使ったことがあるようです。なおJavaは49%、PHPは32%、Goは17%、Rubyは6%、Scalaは3%だそう…

PDD(プロトタイプ駆動開発)

プログラミングの手法は世の中に様々あり、TDD(テスト駆動開発)・BDD(ビヘイビア駆動開発)・DDD(ドメイン駆動開発)など○○駆動開発の名がついたものがいくつかあります。個人的に気に入っていてよく実践している、PDD(プロトタイプ駆動開発)とでも呼…

プルリクへのセルフコメントという小技

プログラミングにおいて、お気に入りのよく使っている小技として「プルリクにセルフコメントしまくる」という小技があります。 良いプルリクの作り方については検索すれば色々ネット上に情報が転がっているのですが(説明文の書き方、PR分割の方針…etc)、セ…