自分はアラフィフの素人プログラマである。
やりたいことは多々あるのであるが、まず自分で思っていること
それは
自分が使いたいツールを自分が作ること
→ つまり、仕様は自分が決めて、自分が満足できること
これは、自分が35年も前に、ゲームを開発していた時の頃を
思い出してしまう。
あの頃は、BASCI+Z80でゲームを雑誌に出していた頃であるが。。。
ゲームと言うもの同じくであるが、そのモチベーションというのは、
-自分がゲームセンターに行く
-新しいゲームを発見する
-そのゲームにハマる(大人に嵌められると、言った方がいいだろうな)
その次のステップであるが
・そのゲームを真似した投稿が、雑誌に投稿される
・大体のところが、PC-9801、PC-8801とかのメジャーな機種である。
・PC-8001に移植されることを願う
そして最後の行動は
・お小遣いでゲームセンターに通う
・親の財布から、お金を盗んで、ゲームセンターに通う
・ゲームセンターで不良に絡まれる
・友達と一緒に、カツアゲされてお金を失う
・他の人がやっているゲームを、一日ながめている
・自動販売機等の下で、お金が落ちていないか探す
・CREDITにお金が残っているゲーム機を探す
・・・
なんて、パターンに陥る。
ということで、結局は
・自分が得たいと思うゲーム体験と、自分が発揮できる技術の、トレードオフを考えて
・これならば、アルゴリズムはできそうだろうと思った瞬間
・そこの部分のみを、プログラムで作っていく
そういう感じで仕上げたソフトは、
・カーゲーム → スクロールして道が乱数で変わっていくゲーム
・ブロック崩し → アルカトラスのように、ボールがぬるっと動くゲーム
などなど
いまでも、自分の掲載された、BASICマガジンが記念である。
し、しかしながら
自分が雑誌に載せようと(急に欲が出てきてしまった)
ところから、急に発想が浮かばなくなって、
パソコンに向かうことが嫌になってしまう。
つい最近も、自分の仕事の中で、アプリケーションの必要性があり
さくっと、プログラムを完成させたのであるが・・・
そのときも、同じで
自分が嫌な作業を、なんとか自動化したいというのがきっかけで
最終的には、自分が気になる部分を、極力自動化していき
最後には、それがスタンダードになったのであるが
というわけで、一番最初の教訓を得たのであるが、
やはりソフトというのは、自分が人から請け負いして
仕様を決めるようなものではなくて、
まずは自分が、その仕事や刺激の本質をしっかりと理解して、
それをどうやってプログラムで肩代わりさせるのかと言った
そういうことを真っ先に考えた方がいいだ
Windowsだって、スマホだって、それは
その形を描く才能があったから、実現できたわけで
やはりvisionや構想がしっかりして、
始めてソフトウェアは成り立っているのである。
そこで、最終的な結論としては、
1)何を作りたいのか
その機能の本質に特化してスタートさせる。
吉野家は牛丼を売るための店であって、
松屋のように、そこでカレーを売ろうという発想は
最初に牛丼を売る店をまねて作ったのであり、
差別化のために、カレーを売り出したのであって。。。
最初に牛丼屋を作るところが、やっぱりこの店のコンセプトとしては
正解であり、そこで本業をずれるとおかしな話になるのである。
横道にぶれてしまうことは、アプリの開発でも良くあることで
これは、やはり問題に突き当たったときに実施する行為であって、
最初から、横道からスタートしていては、
描いた時期に、描いたものが手に入らなくなってしまうのである。
ゆえに、最初のスタートをどうやって切るのか?
ここが大事である。
25年も大企業で製品開発設計をやっていると、
この入り口での作業が重要だということに
いまさら気づかされる。
ソフトも一緒で、いきなりパソコンの前に座って
コードがバリバリ書けるわけではない。
曲がりくねった話だが、とりあえず自分がこれから
薦めていくテーマを、まずは吐き出させるところから
やって行こうと思う。
この段階で、既存のアプリケーションを使うのは、
もちろん、アリだと思う