やりたいことができるようになるには、物事の素因数分解を理解すること

2021年10月16日

日記

eyecatch やりたい事を、プログラミングで実行する専門家の、ユゲタです。 プログラミングを仕事にしている人の多くが、「もっとプログラミングのスキルを上げたい」と思っているということで、 そうした人は、「実は、自分はあまりプログラミングが得意ではない」と思っているのだそうです。 これは、プログラミング初心者というわけではなく、プログラミングって、どこまで行っても、「上には上がいる」という事を知るのと同時に、 自分がやりたいと思ったことが、思ったとおりにデキる人も、限りなく少ないのだそうです。 年齢に関係なく、プログラミングを仕事でやっている人から、「どうすれば、もっとスキルアップができるのか?」という相談を受けることもあり、 いつも、助言させてもらっている内容を、ブログに書かせてもらいます。

やりたいことの見極め

まずはじめに、プログラミング初心者と、仕事でプログラミングをやってるけど、これまでやったことにブチ当たった時に、どうすればいいかわからなくなる人の特徴について説明してみます。 この2つは、大きく違うように思われがちですが、実はほぼ同じ状態で悩んでいることが非常に多く、 実際に自分で考えたサービスを作りたいと思ったプログラミングを作ろうとすると、これまでやったことが無いことに、ニッチモサッチモいかなくなり、 いわゆる、行き詰まった状態になってしまいます。 この時に、多くの人が取る行動としては、
・ググる ・書籍を読む ・先輩やプログラミング上級者に聞く
これを見て、思い当たる人もいるかもしれませんが、「自分でなんとか頑張る」というのは、かなりマイノリティみたいですよ。 自分でなんとも出来ないから、悩んでいるから仕方がないんですが、こういう人からユゲタに相談をもらう時に、多くの場合、次のような会話になります。
  • [質問者] 〇〇って、どうやればいいですかね?
  • [ユゲタ] 〇〇って、実際にどういう内容なの?
  • △△と□□を組み合わせて〇〇になるんですよ。
  • △△と□□はどうやって作り出すの?
  • それはもうできてます
  • じゃあ、△△と□□の結合する方法がわかれば良いんだね。
  • そうですね。なんか検索して、ライブラリを見つけました
この会話から分かる通り、実は簡単に解決できるのに、自分でそこまで持っていけないというスキル不足が多いみたいですね。 この会話サンプルみたいに、○○をストレートに作成できるような近道を探していて、見つけられない人が、このような落とし穴に陥りやすいようです。

やりたいことの素因数分解

プログラミングって、苦手な人からすると、魔法のように思われるかもしれませんが、実は、小さなプログラミングを寄せ集めて大きな処理をする集合体で、 その小さなプログラムをいかにきれいに整列させるのかというのが、腕の見せ所になります。 やりたいことを一括で実行できるプログラムが作れればスマートでいいかもしれませんが、その処理が難しくなればなるほど、遠回りして確実に実行できる方が 安定してクオリティの高いサービスになったりもします。 ここで考えたいのは、「やりたいこと」というのは、実際にどうやってプログラミングで実現するかというのを、「ストレートなライブラリを探す」のではなく、 「自分の知識範囲内で、できる遠回りの道が無いかを模索してみる」という思考を持つことで、やりたいことの素因数分解ができるかどうか、 この素因数分解は「スキル」になり、一度行った素因数分解は、その後「約分」していき、例えば10個の処理を組み合わせてできた「やりたいこと」が「8個」「5個」というように、 効率的に作っていくことができるようになっていきます。 もちろん、初心者の人で、自分で出来ることが数少ない人は、この素因数分解が出来ない場合もありますが、逆に考えると、「やりたいことが実現できないスキル不足」と考えて 頑張って学習を進めていくのがいいでしょう。 よく残念に思うのは、十分にスキルを持っているのに、素因数分解ができないというタイプのプログラマーの人です。 話していくと解決はするのですが、自ら解決に持っていくことができないので、プログラミングと同時に、「設計」や「モノのしくみ」についての学びを進めるのをオススメしています。

まとめ

今回のブログは、こうした質問をしてくる人を、ダメ呼ばわりするという風に、捉えないでください。 実は、プログラミングスキルって、モノの考え方次第で、簡単に伸びしろがあり、自分のやりたいことって、そんなに難しくなく実現できてしまうモノだということを分かってもらえればいいというお話でした。 直接こうした話をすると、「では、☆☆ってどうすれば実現できますか?」という質問をすぐにしてくる人も結構いて、 そうした人に、まずこのブログを見てもらいたくて、記事を書いてみました。 自分でわからないことを自分で解決できる面白さに気がついたら、質問の仕方が変わってくるような気がするので、ユゲタは、その人の肩書などではなく、 質問の仕方でスキルを判別するという事も合わせてお伝えしておきます。 あ、決して、ダメ呼ばわりしたいわけではありませんよ。 くれぐれも、お間違えなく! 自分のスキルを判別してもらいたい、というエンジニアの方がいらっしゃいましたら、是非とも、ご連絡をお待ちしています。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ