どうも、としです。
今回はプログラマー・エンジニアに必須のスキルという内容の話をしていきます。
内容としては、、
●こんな人に読んで欲しい
・プログラムを完璧に覚えようとして挫折してしまった人
・挫折しかけてしまっている人
●こんな記事
今回の●●のスキルが必要だというのを理解しているだけで、プログラムで挫折することがなくなる
こんな内容を話しています。
今回の考え方を持ってもらえるとプログラミングに対して、挫折がかなりなくなります。
なので最後までお付き合いくださいね。
目次
結論はこのスキル
でっ、最初に結論を話してしまうのですが、、
問題を解決スキル
このスキルが超重要なスキルになります。
どういうことかっていうと、、
プログラミングってどれだけ勉強していても分からないことが絶対出てくるんですよ。
というのも完璧にプログラムを覚えることって不可能なんですね。
実際に僕もこれまで色々なシステムを組んでいますが、簡単なコードでも
「あれ?これってどう書くんだっけ」
という時が多いです。
昔は「あぁ、なんか自分ってプログラム向いてないのかな、、」って悩んでいたこともあります。
だけどぶっちゃけコードが書けるかどうかってどうでもいいんですよ。
コードの書き方を覚えている必要ってないんですね。
プログラミングは覚えるものではない
というのも日に日に新しいことがどんどん出てくるわけです。
それこそ今だったらAIっていうものが出てきたりとかしてるわけですよね。
AIの技術って5年前ありましたか?
10年前ありましたか?
っていったらそういった技術って発展してなかったわけですよ。
でも今ってChatGPTみたいな感じで誰でもある程度知っていれば使えるっていうふうなレベルまで来てるわけじゃないですか。
そういったものを常に自分の知識の中に蓄えることができるわけないんですね。
だから覚えているより重要なのは
問題が起きた時に、どうその問題を解決出来るか
この部分なわけです。
それこそ簡単なコードでも
「あれってどう書くんだっけ?」
とすぐに調べて解決することが出来れば、それでOKなんですよ。
調べればいいが挫折をなくす
プログラミングをやっていく中で絶対にわからないっていうところにぶち当たるんですね。
これは僕自身の経験ですが、、
seleniumって言ってPythonでChromeを動かすものがあるんですね。
そのChromeを動かす時に最初ってChromeが全然起動しなかったんですよ。
それこそ今だったら数秒で組めるようなプログラムです。
ちなみにこんな感じですね。
from selenium import webdriver
driver = webdriver.Chrome()
driver.quit()
Chromeを開いて閉じるという簡単なプログラムです。
この3行を1日かけてやっとできるようになったんですね。
確かに1日かかったけど、自分で調べて解決することが出来たんです。
これが僕にとってすごくいい経験で、、
やりたいと思ったことができなかったら、
「やっぱりプログラミングって難しなぁ、、自分にはできないな」
ってなってしまって挫折してしまうところにつながってしまうんです。
だけど「調べれば意外と出来るんだな!」っていう感覚があれば本当になんでも出来るようになるのがプログラミングなんですよ。
問題を解決するが成長になる
でっ、この
問題を解決するスキルがプログラマーとかエンジニアにとって本当に必要なスキル
っていうふうに考えを持っておくことが凄く重要なんですね。
というのも、、
プログラミングを挫折するのって、問題にぶち当たったときです。
だけど「できなかった時に問題を解決します。調べます」っていうのが当たり前になっていると、、
問題を解決するスキルの経験になるわけですよ。
経験値を積んでいるって考えてやることができるわけですよね。
そしたら分からない壁にぶち当たるって1つのチャンスになるんです。
「分からない、、もうやめちゃおうかな」
ではなくて
「分からない。よし調べてみよう!」
となるわけですね。
調べるスキルを身につける
どんなに簡単なことでも最初って数時間とか何日もかけて調べたりとかするわけです。
例えば検索をする時にキーワードを打ち込んで検索をするわけじゃないですか。
そのキーワードも最初であれば、、
Chromeを起動させるのにはっていう
- chrome driver(※今はいらない)
- selenium
っていうものが必要なんですね。
だけどその言葉が分からないわけですよね。
だから最初ってどうやって調べるかって言ったら
『プログラミング ブラウザ 起動』
みたいな感じで調べるわけです。
でっ、seleniumってものがあるんだなって、、
そこで知識が自分の中に蓄えることが出来るわけですよね。
こうやって頭の中の知識をどんどん蓄えていくと、
効率的に問題を解決できたり
頭の中の知識で解決できるようなったり
こういったことが出来るようになります。
そうなるとプログラムってもどんどん簡単になっていって、簡単なものでは数分で組み上がったりとかするわけです。
これって結局自分自身で問題をずっと解決してきた結果です。
プログラミングを独学で覚えるメリット
僕自身はプログラミングを独学で覚えました。
もちろんスクールに行って人に教わってプログラミングってものを書けるようになるっていうのもいいと思います。
人に教わることに比較すると独学って時間がかかってしまうっていうデメリットはあります。
それって今回の話の『挫折』につながる部分でもあります。
それこそ僕が分からなくて挫折しかけたものの1つに
『パスを通す』
っていうものがあるんですね。
当時はこの言葉が本当に分からなかったんですよ。
Pythonとかをやるときに
「Pythonのパスを通してください」
と調べると書いてあったりとかするんですよ。
そもそもそれが分からなかったんです。
この時に『パスを通す』を人に聞いて教えてもらえれば
「あぁ、そういうことなのね」
って挫折はしないです。
でも自分で調べたからこそ分かったことってもたくさんあるんですね。
例えばそのパソコンの中のファイルの構造っていうのかな?
どうやってパソコン内でソフトが起動しているのかっていう部分に関してを理解することが出来ました。
でっ、その知識から新しいシステムを思いつくっていうこともあるんですね。
何にでも活かせるスキル
でも『問題を解決すれば経験を積める』っていう考えがなければ、、
途中でこんなに時間使って何もできなくて
「自分ってなんか全然プログラム向いてないな」
みたいな感じになって挫折してしまうとかあると思うんですね。
僕も最初にプログラミングってものを始めた時に最初からできたかっていうとそういうわけではないです。
でも、、
とりあえずやってみよう!
分からなかったら調べればいい!
と繰り返すうちにいつの間にかシステムが組めるようになりました。
これってプログラミングだけの話じゃないです。
それこそ僕は8年ほど自分で事業をやっていて、、
全く同じ考えでやってきました。
事業も最初から上手くいくことってほぼないです。
むしろ上手くいってしまうと今回のスキルが身につかないのでやばいなと僕は感じています。
でっ、上手くいかないなら何か問題があるわけです。
じゃあその問題を1つずつ解決したら良くなるわけですよね。
もちろん解決しようとして悪くなることもあります、、
だけど結果として良くなったものだけを残していけば事業って成果がでます。
問題が出てこないものってないんですよ。
だからこの問題を解決するスキルって、すごく重要なんだなっていうのを事業から僕は学んだんですね。
とは言っても、プログラミングを始めたころは頭から抜け落ちてしまっていたわけですが(苦笑
でもそこからプログラミングっていうものも同じ考えでやっていったら出来るようになりました。
なのでもし何かに悩んだら、
今は問題を解決するスキルを身につけるためのチャンスなんだ!
という考えでやってみてください。
本当にこれだけでもプログラミングに限らずですが、挫折というのと無縁になります。
なのでぜひこの考えを持ってプログラミングってものをやっていってもらえればなと思います。
といった感じで今回はの話はここまでになります。
ここまで読んでいただいてありがとうございました。