最近、仕事の業務改善を目的として、いろんなシステムやアプリケーションの開発に取り組んでいます。
これまでにもブログで何度も書いてきましたが、私自身はプログラミングの専門家でも何でもありません。
多少のExcelの知識や、これまでに業務改善に取り組んできた経験はありますけど、基本的には素人です。
そんな私が、AIの力を借りれば自分の欲しいシステムが作れるんじゃないか?と思い立って始めたのが、現在のシステム開発。
ところが・・・。
今になって思えば、最初から難しいところに手を出し過ぎたんですよね~。
最初に作り始めたものが、まだ完成していない
私が最初に欲しいと思って開発に取り組み始めたシステム。
実は、いまだに完成していません。
もちろん、まったく進んでいないわけではありませんよ。
最初は出来なかったことが出来るようになったり、問題が発生するたびに改善を繰り返したりと、少しずつ前進はしています。
ただ、一つ問題を解決すると、また別の問題が出てくるんです。
「あれ?ここ直したら、こっちが動かなくなった・・・」
「この機能を追加するなら、あっちの仕組みも変更しないと・・・」
「そもそも、最初の設計から考え直した方が良いんじゃない?」
こんなことの繰り返し。
しかも、開発を進めている途中で新しいアイデアが浮かんでくるものですから、当初予定していたものよりも、どんどん規模が大きくなっていきます。
自分で欲しい機能を考えて、自分で追加しているんですから、誰に文句を言えるわけでもありませんけどね(笑)
そして気が付けば、完成までの道のりがまったく見えなくなっていました。
途中で思い付いたものの方が先に完成している
ところが、そんな開発の途中で思い付いた別のシステム。
こちらは、いくつか完成までたどり着いています。
もちろん、実際に使ってみれば改善したい部分も出てきますし、完成したからといって今後一切手を加えないというわけではありません。
それでも、自分が欲しかった機能が実際に動いて、使える状態になる。
これって、やっぱり嬉しいんですよね。
さらに面白いのが、一つ完成すると、その仕組みを利用して別のものまで作れるようになること。
「あれ?この前作った仕組みを使えば、こっちも出来るんじゃない?」
「この部分だけ変更すれば、別の用途にも使えそうだな~」
そんな感じで、次々とアイデアが出てくるようになりました。
実際、今日も休みだったので、ゆっくりパソコンを弄っていました。
以前作ったシステムの仕組みを利用して、別の用途に使えるアプリケーションを作ってみようと思ったんです。
前回、元になるものを作った時には、まるまる3日ほど掛かりました。
それが今回は・・・。
たった3時間で出来ちゃいました。
もちろん、ゼロから作ったわけではありません。
既に出来上がっている仕組みを利用しているんですから、開発時間が短くなるのは当然といえば当然です。
でも、以前は3日掛かっていたようなものが、今回は3時間で形になる。
この違いは大きいですよね。
しかも、以前の開発で苦労した部分は、今回はほとんど悩まずに進められました。
少しずつですが、自分の中にも経験が蓄積されているんでしょうね。
一番大事なのは「出来た!」という経験
今回、改めて感じたことがあります。
それが、「出来た!」という経験の大切さ。
どんなに小さな仕組みでも、自分が考えたものが実際に動けば嬉しいものです。
「おっ!ちゃんと動いた!」
「これなら仕事でも使えるぞ!」
「じゃあ次は、こんなことも出来るんじゃない?」
一つ完成するだけで、次のことを考える余裕まで生まれてきます。
逆に、完成が見えないものを延々と作り続けていると、どうなるでしょう?
「いつになったら完成するんだろう・・・」
「これ、本当に出来るようになるのかな?」
「今日も何時間も掛けたのに、結局何も変わってないじゃん・・・」
そんな気持ちになってきます。
実際には、問題を一つ解決しただけでも前進しているんです。
でも、完成という目に見える成果がないと、なかなか達成感を得られません。
これが精神的に結構キツイ。
特に私の場合、本業の仕事を終えてから、自宅で開発に取り組んでいます。
仕事で疲れて帰ってきて、さらに何時間もパソコンとにらめっこ。
それで何も完成しない日が続くと、さすがに気持ちもダレてきます。
最近はパソコンに向かうことすら億劫に・・・
実は最近、ちょっと困った状態になっていました。
以前は仕事から帰ってきても、
「今日はあの部分を直してみよう!」
「昨日思い付いた仕組みを試してみよう!」
なんて、パソコンに向かうこと自体が楽しみだったんです。
ところが最近では、
「あ~、またあの問題の続きか・・・」
「どうせ今日も完成しないんだろうな~」
なんて考えてしまう日が出てきました。
そうなると、パソコンに向かうこと自体が億劫になってきます。
しかも、私の場合は毎日のブログ更新もあります。
普段なら仕事で感じたことや、日常で気になったことを文章にするのも楽しみの一つなんですけど、最近ではブログを書くことまで面倒に感じることがあるんですよね。
これ、結構まずい状態だと思います。
別に誰かに命令されてシステム開発をしているわけではありません。
自分が欲しいから、自分が便利にしたいから、自分の意思で始めたことです。
それなのに、いつの間にか**「やりたいこと」が「やらなきゃいけないこと」に変わってしまっている。**
そりゃ疲れますよね・・・。
しかも、あれこれ手を出し過ぎて、途中になっているものがいくつもあります。
一つに集中すれば良いのでしょうけど、難しい問題にぶつかると、ついつい別の開発に手を出してしまう。
そして、そちらが完成すると嬉しくなって、また新しいアイデアが浮かんでくる。
結果として、最初に作り始めたものがいつまでも完成しないという悪循環。
いや~、完全に自分で自分の首を絞めていますね(笑)
最初から簡単なものを作ればよかった?
そんなことを考えていると、今更ながら思うんです。
「最初から簡単に完成するものを作っていればよかったんじゃない?」
小さなものを一つ完成させる。
そこで得た知識や仕組みを使って、少し難しいものに挑戦する。
また完成させて、次のものを作る。
こうやって少しずつ難易度を上げていけば、達成感を得ながら開発を続けられたんじゃないでしょうか。
ゲームだってそうですよね。
いきなりラスボスと戦わされても、勝てるわけがありません。
弱い敵を倒して経験値を貯めて、装備を整えて、少しずつ強くなっていく。
その途中で何度も「勝てた!」という経験があるから、次に進もうと思えるんです。
ところが私の場合、最初からラスボスに挑んでいたようなもの。
そりゃ苦戦しますよね~。
ただ、ここで一つ思うこともあります。
最初から難しいものに挑戦したことが、すべて無駄だったのかというと、決してそんなことはありません。
むしろ、難しいものを作ろうとしてアレコレ調べたり、何度も失敗したりしたからこそ、今では比較的簡単な仕組みなら短時間で作れるようになったんだと思います。
今回の3時間での完成だって、以前の3日間があったからこそです。
そう考えると、遠回りしているようで、ちゃんと経験は積み重なっているんでしょうね。
これからは「完成させること」も大事にしよう
これまでの私は、どちらかというと「何が出来るようになるか?」を優先して開発してきました。
こんな機能が欲しい。
あんな仕組みがあれば便利になる。
これとこれを組み合わせれば、もっと仕事が楽になる。
そうやって、完成形ばかりを考えていた気がします。
でも、いくら立派な完成形を思い描いていても、そこにたどり着く前に自分の気力が尽きてしまったら意味がありません。
だったら、途中で小さな完成を積み重ねていく方が良いんでしょうね。
もちろん、最初に作り始めたシステムを諦めるつもりはありません。
ただ、そこにばかり時間を使って、開発そのものが嫌になってしまうのは避けたいところです。
難しいものに挑戦する日があっても良いし、簡単なものをサクッと完成させる日があっても良い。
そんな感じで、もう少し気楽に取り組んでいこうと思います。
何より、今日のように3時間で一つ完成すると、やっぱり気分が良いんですよ。
「よし!次は何を作ろうかな~?」
なんて、また新しいことを考え始めています。
・・・って、これがアレコレ手を出し過ぎる原因なんですけどね(笑)
さて、次はどれが完成するのかな~。