極力プログラミングをしないという考え方

プログラミングを極力しないプログラマ。

この言葉は一見して矛盾しているように見えて、実はプログラミングにおいて重要なことを語っています。

管理人のわたしもそのような考え方の持ち主で、必要なだけプログラミングをし、あとはコンテンツ制作、デザインの調整などプログラミング以外の部分に時間を使うことが多いです。

車輪の再発明をしない

プログラミング用語のひとつに「車輪の再発明」というのがあります。

これは既存のプログラムと同じものを作ってしまうもので、プログラミングにおけるムダを指しています。

もしあなたが画像処理のソフトを作るとして、画像処理用のモジュールがあったらどうでしょうか?プラグインを使ったほうが手間がかからずに済み、効率的でしょう。

そこをいちいち「この機能を実装して…」とかやっているのは、基本的に時間のムダでしかありません。すでにあるものを利用してしまったほうが圧倒的に効率がいいでしょう。

使いたい機能があったらモジュールやプラグインを探したり、似たようなプログラムを探して書き換える。これはプログラミングにおいて基本中の基本です。

自作するのは学習するときのみ

基本的には車輪の再発明はムダですが、学習用に同じ物を作るというのはよくあることです。

ソースコードを書き換える場合でも、どこがどうなっているのかを理解できないと書き換えるのも難しいでしょう。

原理を理解するために同じ物を作るというのは勉強のひとつの方法であり、動作原理を理解すれば既存のものをより柔軟に使うことができます。

ソースコードのそれっぽい部分をそれっぽく書き換えるのと、アルゴリズムが頭に入っている状態で使えるように書き換えるのと、どちらがうまくいきやすいでしょうか?

後者のほうが多少時間はかかりますが、バグのなさを考えれば時間の節約になりますよね。

車輪の再発明は意図的に行うべきものであり、勉強のために行えばより効率よくかつ柔軟にプログラミングをすることができます。

既にあるなら使っちゃえばいいじゃん

無意識にやってしまうタイプの車輪の再発明は、作業効率を低下させます。

たとえばホームページを作る際、イチからHTMLを書いて作るよりも、既存のテンプレートを弄ったほうが早いですよね。

特にブログやアフィリエイトサイトで稼ぐ場合、一番やるべきことは記事を書くことであり、デザインにこだわることではありません。

ホームページ制作の面でも便利なツールはたくさん存在し、Wordpressで記事を書いて管理というのは普通です。そこをいちいちソースコード書くのは面倒でしょう?

デザインのために何十時間も費やしてしまい、肝心の記事が少量しか書けないというのは、ホームページ初心者が陥る落とし穴としてかなり有名です。

既存のツールやテンプレートを活用すれば、デザインにかかる時間は大幅に減らすことができます。

WEB上に公開されているテンプレートやツール、ソースコードをうまく使い、本当に時間を使いたいところに時間を割けるようにすることが、プログラミングをするうえでは重要です。

ムダを最小化せよ

このブログもWordpressに無料テンプレートのSimplicity、各種プラグインのインストールと、極力プログラミングをしないようにして作られています。

読みにくい、適切なところに表示できない場合にだけプログラミングし、ブログに使う時間の大半は記事の執筆に使っています。

ブログにおいてデザインなんてものは最低限あればよく、よさげなテンプレートを見つけて使うことで記事の執筆に時間を使えるでしょう。

文章が読める、必要な情報が入ってきやすいだけのデザインがあれば、それ以上追求するメリットもありません。

記事の最初におすすめ記事を紹介するなど、最低限必要なところだけコード書けばいいのです。

プログラミングもあくまで手段

アプリやツールを作る際も、わたしは使えるものを最低限使います。

便利なものを使ってプログラミングをしないというのは「プログラミングはあくまでも手段」という姿勢の現れであり、必要になった場合にだけ勉強します。

コードの秀逸さ、勉強することの達成感を意識してしまうプログラマは多いのですが、勉強は必要な部分だけやればよく、わからない部分や流行りそうな言語を勉強するだけで十分です。

いくら技術的にすごいコードを書いても、プログラムそのものが完成しなければ意味がありません。

これはプロとアマチュアの違いということができて、

プロ:80%をコンスタントに出し続ける
アマチュア:100%を追求するが不安定

と同じことを言っています。

そのため開発においてもポイントを押さえてプログラミングすることが重要で、必要以上に追求しないというのがムダのないプログラミングをするコツです。

プログラミングで何をするかが重要

あなたは何のためにプログラミングをしていますか?

技術的に高度なプログラミングをするため?
人の役に立つツールを作るため?

プログラミングをする以上は目的を意識すべきで、プログラミングそのものは一定レベルできれば問題ありません。

「目立つところよりも目立たないところ」というのはあらゆる物事において成り立つ普遍的法則で、プログラミングにおいてもあてはまります。

プログラミング関係の記事では技術的にすごい記事が取り上げられることが多いですが、それはコンテンツとして割り切るべきでしょう。

コンテンツもコンテンツで楽しませはしますが、人の役に立つプログラミングは地味で目立たないものが多いです。

家電製品を制御しているプログラム。
インフラを支えるエンジニア。
目立たないけど何百万も稼ぐプログラマ。

大事なことというのは目立たないところにあることのほうが多く、キラキラしていない部分にこそ金脈は存在します。

技術的にすごくてキラキラしているのは、もしかしたら勉強になるかもしれません。

しかしあなたが日々のプログラミングで直面する問題を解決するほうがよっぽど勉強になり、仕事におけるアウトプットもより質の高いものとなります。

まとめ

既存のプログラムやツール、モジュールなどをうまく活用し、人の役に立つものを作る。

これこそがプログラミングであり、プログラミング能力の有意義な使い方です。

技術的にすごいことを見つけたり、勉強への達成感によってあれこれ作りたくなるかもしれません。

しかし自分の作りたい物、やりたいことというのは最低限やるべきことをやってから行うべきであり、完成形を作ってから質を高めていったほうが効率的にプログラミングできます。

余分なところに時間をかけず、一番大事なところに時間を使うのは、プログラミングに限らず大切な考え方。

メインコンテンツの制作や致命的バグの修正など、やるべきことに時間をつぎ込むのが正しい時間の使い方であり、ムダのない仕事術です。

スポンサードリンク




スポンサードリンク




シェアする

  • このエントリーをはてなブックマークに追加

フォローする