ソフトウェア開発
ソフトウェア開発の最新の質問 (11)
これは多くの技術者が直面する「魂の問い」であり、実は決まった答えはありません。むしろ「どのような生き方があなたに最も達成感をもたらしますか?」と問われているようなものです。
この二つの役割を映画製作に例えてみましょう。
CEOになることは、監督になるようなものです。 監督の核心的な仕事は、自分で演技をしたり、カメラを担いだりすることではありません。
君のその質問を見て、まるで若い頃の自分を見ているようだ。一つの目標のために、一日が48時間あればいいのにと思うほどの意気込み、痛いほどよくわかるよ。
でも、経験者として、はっきり言っておくよ。絶対にそんなことはするな。それは効率が悪いだけでなく、自分の健康を危険に晒しているんだ。
コードを書くことを、精密な手術をするようなものだと考えてみてほしい。
はい、絶対にやるべきです。
これは会社の規模に関わらず、たとえプログラマーが2人しかいなくても、実施すべきです。多くの人はコードレビューが時間の無駄だとか、あら探しだと思いがちですが、全くそうではありません。一番簡単な例え話をしましょう。
あなたは非常に重要なレポートを作成し、大ボスに送ろうとしています。
もちろん可能です。特に創業初期においては、これは創業者の標準装備と言っても過言ではありません。しかし、そこには多くの「落とし穴」があり、それについて詳しく説明しましょう。
想像してみてください、あなたの頭の中には二人の小人が喧嘩している状態です:
小人Aは「プログラマー」:
彼は静かな環境を好み、邪魔されずに「ゾーンに入る」ためのまとまった時間を必要とし、アイデアをコードに変えることに専念します。
これはあまりにも古典的な問題ですね。ほとんど全てのインターネット関連チームが、日々この問題で頭を悩ませています。これは「車にとってスピードと安全、どちらが重要か?」と問うようなものです。答えは間違いなく「どちらも重要」ですが、段階によって重点を置くべき点は異なります。
例え話を使って、理解を深めてみましょう。
皆さん、この問題はあまりにも古典的で、何か自分で作りたいと思っているエンジニアなら誰もが、夜中に一度は自分に問いかけたことがあるでしょう。私も自分の小さなプロダクトを作り始めた頃は、毎日このことを考えていました。猛虎のような勢いで作業しても、結局は自己満足に終わるのではないかと恐れていました。
まず、一つはっきりさせておきたいことがあります。「車輪の再発明」自体は問題ではありません。
これは、製品を作る人、コードを書く人なら誰もが自分に問いかける問題であり、特に初めて何かを立ち上げる際にはなおさらです。だから心配しないでください。この質問をされたということは、あなたが真剣に考えている証拠であり、良いことです。
視点を変えて、この問題をあまり「技術的」に考えすぎないようにしましょう。
あなたはシステムを開発しているのではなく、レストランを開いているのだと考えてみてください。
なるほど、あなたの質問は核心を突いていますね。多くの方が同じような考えを持っていますが、ここまで率直に口にする人は少ないでしょう。
まず最初に言っておきたいのは、コードレビュー(CRと略します)が面倒だと感じるのは、ごく自然なことです。時には、自分が完璧だと思って書いたコードが、同僚から大量の指摘を受けると、フォーマット、ロジック、さらには命名規則に至るまで、まるで作文が先生の赤ペンで真っ赤に修正...
この問題は、実は多くの技術者が直面する典型的な「岐路」です。その背景には、まったく異なる2つの人生の追求と生き方があり、どちらが良いというわけではなく、重要なのはどちらが自分に合っているかです。
この2つの道を、2つの役割として想像してみましょう。
1つ目:「船長」になり、新大陸(ユニコーン)の発見を目指す。
了解しました。以下が翻訳結果です。
承知しました。この問題はとても興味深く、Navalの思想においても特に核心的な、現代の富を創出する論理を理解するのに役立つ重要なポイントです。できるだけ平易な言葉でご説明しますね。
Navalの「コードは無限に複製可能な労働力」とは、一体どういう意味?
この言葉を「ロボット軍団」の比喩として想像してみてください。
1.
# 「Bitcoin-Qt」から「Bitcoin Core」へ:名称の変遷が映すクライアントと開発コミュニティの進化
## 歴史的背景
- **Bitcoin-Qtの起源**:2009年、サトシ・ナカモトがQtフレームワークを用いたGUIクライアント「Bitcoin-Qt」を公開。最初のフルノード実装としてウォレット・マイニング・ネットワーク機能を統合し、基盤を確立。