プログラミングは失敗し放題!負けず嫌いになること
昨日で、半年間受講してきたプログラミングのオンラインスクールの最終発表会があり、無事に卒業しました。プログラミングを通して学んだことなど今日は書いていこうと思います。
●半年間で1,000時間のプログラミング勉強
●エンジニアは失敗し放題!試行錯誤が大事
●負けず嫌いになることが大事!?
半年間で1,000時間のプログラミング勉強
キックオフは去年の12月中旬(申込自体はもう少し前)だったので、早いものです。スクールでは、基礎カリキュラム、応用カリキュラム、発展カリキュラム、最終課題、試験もろもろ、オリジナルアプリと沢山やることがあるのですが、サポートしてくださる方もいるのでなんとか順調に進めることができました。感謝です。
しかし、これにはただならぬ継続力も必要だと感じました。気軽な気持ちで受けると到底乗り越えられないのではと思います。実際、同時期にスタートした方は沢山いましたが、卒業発表会まで参加していたのは半分もいなかったと思います(どんな諸事情かまでは把握していませんが)。
プログラミングは習得まで合計1,000時間くらいの勉強時間が必要そうですが、これを単純に半年間やると一週間に23時間です。確かにカリキュラムを順調に進めると実際に23時間はかかりますし、エラーなどにぶち当たるとその分だけ時間もかかります。なので受講するなら絶対に時間を確保できる状態にしないとかなり厳しいと思いました。
自分も会社の仕事の他、色々やっているので、時間の捻出に苦労しました。想定内に物事が進むわけでもないですし、思ったより自分が理解していないことも多々あります。ただし、しっかりスケジューリングして目標達成していけば誰にでも可能だろうとも思います。
エンジニアは失敗し放題!試行錯誤が大事
プログラミングをやっていて気づいたのは、失敗し放題ということです。例えば、営業や企画、接客って失敗し放題でしょうか。もちろん、失敗から学ぶことは多いので、成功体験以外も大事な要素ですが、エンジニアの場合は、一人で失敗して一人で学ぶことができます。
営業の場合、一度失敗するとしたら、顧客に少なからず迷惑がかかるでしょう。ただ、エンジニアの場合、一度失敗しようとしても、自分とPCの中で完結するので、試行錯誤し放題なわけです。失敗へのコストが低いですよね。
(チーム開発の場合でも自分のローカル環境で試せますしね)
失敗へのコストが低いと、熟練するスピードも早くなるはずです。このポイントは他の職業と比べてもかなり特徴的だなと感じました。
また、失敗(の原因)をすぐに示してくれるのもありがたいです。営業とか接客業って失敗したとしても、本当は何が原因だったのかって誰にもわからないと思うんです。
営業の場合、たまたま顧客であるおじさんがたまたま今朝娘さんに何か褒められて上機嫌だったら、買ってくれるかもしれません。しかし、これが「営業力」とは言えませんよね。
時代の変化の影響かもしれませんし、職場環境の影響かもしれません。前任者が関係値を築いていてくれただけかもしれませんし、実は自分の知らないところで誰かがフォローしてくれたのかもしれません。会社の製品が質や評判がいいだけかもしれません。
一握りのスーパー営業マンを除いて、いずれも、本当の「原因」を知ることは難しいです。(だからだめと言うことではありません)
ただし、プログラミングは、すぐにエラーがでます。そして、「エラーは友達」と学びましたが、大体の場合はエラーの原因までわかるようになっています。すぐわからずともエラー文章を見て、検索したり誰かに相談すればわかってくるものが多いはずです。
なので、失敗の原因がすぐにわかり、その経験を生かして次回から自分の知識として蓄えることができます。
試行錯誤をいつでもいくらでもできるわけです。
負けず嫌いになることが大事!?
受講していて思ったことの一つに、負けず嫌いの人はエンジニアに合っているのだろうなと思いました。エンジニアのことを知れば知るほど、格好良くコーディングしているというよりは、エラー解決が仕事であることがわかります。そして、そのエラー解決とは「粘り強さ」がものを言うと思います。
エラーが出た。検索する。あー、わからない。もういいや。
何度もこう思うことがあるのですが(笑)、もう一踏ん張り調べよう、とか、ちょっとここわからないと寝れないぞ、とか思える人は、そこに打ち込むことができます。仮に慣れておらず時間を浪費したとしても、そのおかげで学べるものは多いはずです。
しかし、もういいや、で終わってしまうと、そのエラー解決が先延ばしになってしまうので、解決(=知識習得)が遠ざかってしまいます。すると、なかなかPCを開けられなかったり、その状態に嫌気が差してきたりして、ネガティブスパイラルに突入するのです。実際、自分も何度もありました。一週間くらいずっと検索してもわからないエラーとかあって「助けてくれえ」と世界の中心で叫びたくなりましたが、いつかは解決します笑
なので、負けず嫌いの人は合っている、とも言えますし、負けず嫌いになることが大事、とも言えるかもしれません。
いくら負けず嫌いで合ったとしても、リフレッシュすることも大切です。ずっと気を張って調べてみてわからなかったことも、翌日PC開けてちょっといじったらすぐ解決した、なんてこともよくありました。エラーの原因を誤って理解しているときは、ずっとその方向性で夢中になっているのですが、一度客観的に見ると意外と簡単だったりするわけですね。
リフレッシュは、1日の間に決めてリズムにするといいと思います。自分の場合は、夜12時以降に新しい知識習得とかエラー解決しようとしても非効率だと思ったので、気分転換に麻雀したり動画見たりしていました。それがリズムになると、1日の間でリラックスできる時間があるので、張り詰めているものもリラックスさせることができます。そこでスイッチを切って、また翌日から、と言うリズムをつくるととても良いと思いました。