ソフトウェアエンジニアとして20年間で学んだ20のこと
(simplethread.com)- まだよく分かっていない:私たちは生涯学び続ける人間だ
- ソフトウェア開発で最も重要なのは、必要なものを作ること
- 最高のソフトウェアエンジニアはデザイナーのように考える
- 最高のコードは、コードが存在しないこと、あるいは保守する必要がないコード
- ソフトウェアは目的のための手段
- 時にはのこぎりの刃を研ぐのをやめて、とにかく何かを切り始めるべきだ
- 何が可能かを十分に理解していなければ、良いシステムは設計できない
- どんなシステムも結局は腹立たしくなるのだから、乗り越えること
- 誰も「なぜ」を十分に問わない
- 私たちは10xプログラマーを探すことよりも、0.1xプログラマーを避けることにもっと集中すべきだ
- シニアエンジニアとジュニアエンジニアの最大の違いは、ツールやソフトウェアの書き方について自分なりの意見を持っているかどうかだ
- 人は本当の意味でのイノベーションを望んでいない
- あなたのデータはシステムで最も重要な部分だ
- 技術的なサメ(急速な変化の中でも長く生き残ってきた技術)を探すこと
- 謙虚さを無知と取り違えないこと
- ソフトウェアエンジニアは定期的に文章を書くべきだ
- プロセスは可能な限り簡潔に(Lean)保つこと
- ソフトウェアエンジニアも、すべての人間と同じように、オーナーシップを感じる必要がある
- 応募者が良いチームメンバーになるかどうかを、面接だけで知ることはできない
- 常により小さなシステムを構築するよう努めること
重要
- この記事の冒頭には次のような警告があります。
「アドバイスの多いブログ」を読もうとするとき、ほとんどの助言は文脈依存であるにもかかわらず、多くのアドバイスはその文脈と一緒に伝えられない
文脈を理解しないまま受け取る助言は無意味であり、時には有害ですらある - そこで自身の文脈について少し説明すると、
- キャリア前半は中小企業やスタートアップで働き、その後コンサルティング会社で大規模ビジネス向けの仕事をした
- その後 SimpleThread を創業し、2人から25人まで成長させた
- 10年前は主に中小企業と仕事をしていたが、今は大企業と中小企業が混在している
- そのため本人は、
- 常にごく小さなことから多くをこなさなければならない、小さく Lean なチームで働いてきた
- 特定のツールよりも「動くソフトウェア」を重視する
- 常に新しいプロジェクトを始める一方で、複数のシステムを保守しなければならない
- 他の多くの考慮事項よりも、エンジニアの生産性を重視する
- この文脈を理解したうえで上の内容を見てください。タイトルだけを移したので、詳細は原文を参照してください。
14件のコメント
1日に1回ずつ読みに来ます。23/06/04
これは
のほうがよさそうです。
ソフトウェア開発で最も重要なのは、
必要なものを作ることです。こちらのほうがより良く見えます。
いいですね、ありがとうございます〜!
人々は本当の意味でイノベーションを望んでいない <- これはどういう意味でしょうか?
人々はイノベーションについて語りますが、実際には革新的なものを持ち込むと、たいてい否定的なフィードバックが返ってくるということです。だからこそ、長い目で見て進めるべきだと語っています。
とても心に響く警告ですね
わあ、本当にいい文章ですね..
技術的なサメは「古い」技術というより、実証済みで安定した技術という意味ですね
あ、少し表現がおかしかったですね。修正しました。
良い文章ですね。
「重要」と別に示してくれている部分が本当に良いですね。文脈も一緒に提供してくれている点で。
あ、ずっと良くなりました。修正しました。