web-dev-qa-db-ja.com

プログラミング後に生産性を高めるにはどうすればよいですか?

私はプログラミングの実際のプログラミング部分を本当に楽しんでいます。実際にコードを書いて、それを理解しています。しかし、私が取り組んでいるこのプロジェクトでは、私の時間のほとんどは親切な愚かなことに費やされています(バックグラウンドでJavaプログラムを実行しようとしています(javawは同じことをすることを誓います) Java)とjarをjarに入れようとし、これらの両方の代替方法を調べます)。

多くのプロジェクトでこれをやっているような気がしますが、数時間見ても問題が解決しないと、何もしなかったような気がして、無駄だと感じます。時間。

すべてのプログラミングセッションの後に、プログラミングにより多くの時間を費やし、より多くのことを行い、より生産的に感じるにはどうすればよいですか?

6
user2350459

プログラマーの仕事をコーディングに同化することは還元的です。あなたの目標はコードを書くことではなく、与えられた問題を解決することです。通常はコードを通じてですが、onlyコードではありません。

一連の要件が決まったら、それらを満たすために一連のタスクを実行する必要があります。これは、コードの記述だけでなく、アーキテクチャの実行、デプロイメントスクリプトの記述、外部依存関係の設定と構成(Twilioなど)、本番環境の設定(Amazon AWSなど)、テストの記述、文書化などから構成されます。

大企業では、特定のタスクが専任の担当者に委任されます。中小企業では、通常、同じ人が多くの異なる責任を負っています。しかし、大企業でも、テストとドキュメントの特定のサブセットを作成し、設計を行い、特定の環境でコードを実行する方法を理解するのはプログラマーの責任です。これ自体は、通常、コードを書くよりもはるかに時間がかかります。

目標について考えます。目標は、顧客のニーズに迅速かつ安価に対応することです。 Javaプログラムをバックグラウンドで実行せずに、またはJARをJARに入れずに実行できますか?はいの場合、実際に顧客の時間とお金を浪費しています。実行できない場合は、次に、これらの2つのタスクを理解することで、実際に仕事をしているです。

それを理解するのに1日を費やした場合、あなたは1日を仕事と学習に費やしました。これはよく費やされた1日です。コードをゼロ行作成したことは問題ではありません。これが理由の1つです。プログラマーの生産性を比較するときにLOC /日メトリックが意味をなさない理由。

しかし、待ってください。もし別の同僚が1日中問題に費やすのではなく、ほんの数分で解決策を見つけたとしたらどうでしょうか。

これが経験が重要な理由です。プログラミング言語を知っているだけでは十分ではありません。エコシステムも知っている必要があります。それは、オペレーティングシステム、フレームワーク、またはツールです(ツールを忘れないでください!)。

経験豊富なプログラマーは、言語とエコシステムの両方を知っているため、問題をより早く解決できます。

プログラミング言語を知っているが、最近、以前に使用したことのないオペレーティングシステムに移行したプログラマーは、効果が低下します。

環境を知っているが最近新しいプログラミング言語を使い始めたプログラマーも効果が低くなります。

14