ホーム 開発 このプログラマは、問題ごとに適切なツールを選択することに同意していません。これはその理由を説明します

このプログラマは、問題ごとに適切なツールを選択することに同意していません。これはその理由を説明します

ソフトウェア開発の世界には、 「常に仕事に適したツールを選択せよ」という古い格言があります。しかし、デジタル製品の独立系開発者であるマーカスは、この常識に異議を唱えるだけでなく、それに反論し、プログラマーとしてのすべてのニーズを 1 つのツールで満たすという決断に賛成することを決意しました。言語 Go プログラミング。

マーカス氏がGo の実験を始めたのは 2016 年のことでした。Go は Google が開発したプログラミング言語ですが、当時はそれほど印象に残っていませんでした。しかし、時間が経つにつれて、何かがうまくいき、Go が頼りになるツールとなり、Python や Javascript などの他の言語を放棄するまでになりました。

見てみると…
人のコードを見た時【エンジニアあるある】
2017 年と今後のプログラマーのキャリア (ハビエル サンタナと)

仕事の哲学

マーカスにとって、真の成功は、習得した言語の数ではなく、関連プロジェクトを効率的に開発する能力によって測られます。そして彼にとって、Go 言語はこれを達成するための完璧なツールです。実際、この分野における彼の個人的な哲学を次のフレーズに要約しています。

「囲碁は私にとってハンマーであり、[私にとっては]すべてが釘です。」

しかし、その哲学を理解するために考慮すべき要素があります。

「私は一人で生きています。設備や下請け業者はいませんし、それを維持するつもりです。私は自分のビジネスを経営することを含むライフスタイルに従ってきました。[…]残りの人生を中心に仕事を組み立てます。いわば「。」

Markus にとって、ソロ開発者であることは、使用するツールの選択に決定的な影響を与えます。チーム環境では、作業負荷を複数のメンバーに分割するのは簡単ですが、一人になると、テクノロジーの複雑さがすぐに障害になる可能性があります。 。

同氏が指摘するように、過度に複雑な「技術スタック」があると、製品の開発よりもインフラストラクチャの維持に多くの時間が費やされる可能性があります。

理由 1: 囲碁には多面性がある

Markus が Go を普遍的なツールとして採用することを決めた主な理由の 1 つは、その多用途性です。各プログラミング言語には長所と短所がありますが、ほとんどの言語は最終的にはほぼ何でもできます。

Markus によれば、Go はシンプルで読みやすく、一貫性があります。 Go のすべてが完璧ではないことは認識していますが、コマンド ライン アプリケーションやクラウド インフラストラクチャや HTTP サーバーの開発などの「通常の」タスクには理想的ですが、 Nintendo Switch やグラフィカル インターフェイス (GUI) を備えたアプリケーション。

理由2:安定を求める

Markus 氏は、複数の言語を扱う開発者に共通する問題、つまりコンテキストの絶え間ない切り替えを強調しています。ある言語から別の言語に切り替えると、精神的に大きな負担がかかり、作業が遅れたり、フラストレーションが生じたりすることがあります。しかし、マーカスは単一言語に限定することで、この摩擦を排除しました。

しかし、それぞれのプログラミング言語は、ソフトウェア開発のための単なる構文規則のセットではありません。これには、コンパイラ、統合開発環境 (IDE)、ライブラリとプログラムのエコシステム、および対話するコミュニティも含まれます。これらすべての要素を複数の言語で把握し続けるのはストレスがかかる場合があります。

理由 3: さらに深く追求する

したがって、マーカスは囲碁だけに集中することで、囲碁への理解と習熟を深めていくことに自分自身を「限定」することができました。このアプローチにより、彼は他の方法では考えられなかった言語の側面を探ることができ、生産性が向上しただけでなく、真の Go エキスパートになることもできました。

マーカスは、自分の決断が自分のキャリアの選択肢を制限しているように見えるかもしれないことを認識していますが、そのようには考えていません。彼にとって、ソフトウェア開発の世界は広大であり、事実上無限の数のプロジェクトがあります…そしてさらには、によって制限されています。したがって、この分野は、キャリア全体を通して忙しくし続けるのに十分なほど広大です。

経由 | マラグ.dev

ソフトウェア開発の世界には、 「常に仕事に適したツールを選択せよ」という古い格言があります。しかし、デジタル製品の独立系開発者であるマーカスは、この常識に異議を唱えるだけでなく、それに反論し、プログラマーとしてのすべてのニーズを 1 つのツールで満たすという決断に賛成することを決意しました。言語 Go プログラミング。

マーカス氏がGo の実験を始めたのは 2016 年のことでした。Go は Google が開発したプログラミング言語ですが、当時はそれほど印象に残っていませんでした。しかし、時間が経つにつれて、何かがうまくいき、Go が頼りになるツールとなり、Python や Javascript などの他の言語を放棄するまでになりました。

見てみると…
人のコードを見た時【エンジニアあるある】
2017 年と今後のプログラマーのキャリア (ハビエル サンタナと)

仕事の哲学

マーカスにとって、真の成功は、習得した言語の数ではなく、関連プロジェクトを効率的に開発する能力によって測られます。そして彼にとって、Go 言語はこれを達成するための完璧なツールです。実際、この分野における彼の個人的な哲学を次のフレーズに要約しています。

「囲碁は私にとってハンマーであり、[私にとっては]すべてが釘です。」

しかし、その哲学を理解するために考慮すべき要素があります。

「私は一人で生きています。設備や下請け業者はいませんし、それを維持するつもりです。私は自分のビジネスを経営することを含むライフスタイルに従ってきました。[…]残りの人生を中心に仕事を組み立てます。いわば「。」

Markus にとって、ソロ開発者であることは、使用するツールの選択に決定的な影響を与えます。チーム環境では、作業負荷を複数のメンバーに分割するのは簡単ですが、一人になると、テクノロジーの複雑さがすぐに障害になる可能性があります。 。

同氏が指摘するように、過度に複雑な「技術スタック」があると、製品の開発よりもインフラストラクチャの維持に多くの時間が費やされる可能性があります。

理由 1: 囲碁には多面性がある

Markus が Go を普遍的なツールとして採用することを決めた主な理由の 1 つは、その多用途性です。各プログラミング言語には長所と短所がありますが、ほとんどの言語は最終的にはほぼ何でもできます。

Markus によれば、Go はシンプルで読みやすく、一貫性があります。 Go のすべてが完璧ではないことは認識していますが、コマンド ライン アプリケーションやクラウド インフラストラクチャや HTTP サーバーの開発などの「通常の」タスクには理想的ですが、 Nintendo Switch やグラフィカル インターフェイス (GUI) を備えたアプリケーション。

理由2:安定を求める

Markus 氏は、複数の言語を扱う開発者に共通する問題、つまりコンテキストの絶え間ない切り替えを強調しています。ある言語から別の言語に切り替えると、精神的に大きな負担がかかり、作業が遅れたり、フラストレーションが生じたりすることがあります。しかし、マーカスは単一言語に限定することで、この摩擦を排除しました。

しかし、それぞれのプログラミング言語は、ソフトウェア開発のための単なる構文規則のセットではありません。これには、コンパイラ、統合開発環境 (IDE)、ライブラリとプログラムのエコシステム、および対話するコミュニティも含まれます。これらすべての要素を複数の言語で把握し続けるのはストレスがかかる場合があります。

理由 3: さらに深く追求する

したがって、マーカスは囲碁だけに集中することで、囲碁への理解と習熟を深めていくことに自分自身を「限定」することができました。このアプローチにより、彼は他の方法では考えられなかった言語の側面を探ることができ、生産性が向上しただけでなく、真の Go エキスパートになることもできました。

マーカスは、自分の決断が自分のキャリアの選択肢を制限しているように見えるかもしれないことを認識していますが、そのようには考えていません。彼にとって、ソフトウェア開発の世界は広大であり、事実上無限の数のプロジェクトがあります…そしてさらには、によって制限されています。したがって、この分野は、キャリア全体を通して忙しくし続けるのに十分なほど広大です。

経由 | マラグ.dev

最新記事一覧