【ISSUE】何故コンピュータサイエンスが大切なのか?
2024年12月23日 22:38
こんにちはばーんです!
(進みたくない)
といった理由でコンピュータサイエンスの学習をしていたのですが、今回もっと具体的に「何故必要か?」がわかった出来事があったので、つらつら書いていきます。
初学者がエラーを遭遇した時に
この辺りをよくやると思うんですよね(実体験)
で、なんでこれやっちゃうのかな?と考えました。
色々考えましたが答えが出ないので、
「本業(パチンコ屋さん)なら上手くエラー対応できるのになぁ…」と自分自身に置き換えて考えていました。
で、何故本業は適切に対応できて、エンジニアリングになると途端にできなくなるのか?を自身の経験を元に深掘りしてました。
※補足
僕は現在パチンコ業界で働いています。約8年間。この後パチンコでの例えもでてきます。
あまりご存じない方は専門的な部分は飛ばすか読み替えて頂けると幸いですm_ _m
実はパチンコ台って結構壊れます。よくエラーがでます。
そして、自分は8年間働いている + 知的好奇心からパチンコ台の仕組みを殆ど理解できています。
なので、エラーが出た際も「原因が何か?」を見つけて早く&適切に対応できます。
しかし、入社したばかりの方に多いのが、エラーに遭遇すると
といった対応が多いです。自分も入社直後はやったことあります。
これもう少し具体的な例をあげてみます。
下記文章はパチンコをあまりご存じない場合は、専門的な部分は飛ばすか読み替えて頂けると幸いですm_ _m
エラーケース「パチンコで玉が飛ばない場合」
そして、この時の助けを求める内容(報告)は、「玉が飛びません」みたいな内容が多いです。
(適切な報告ではない。ユーザーと同じ視点)
で、この事例の正しい対応はまず原因を特定することです。
というよりエラーへの対応方法の99%はこの(↑)手順が正しいです。
そもそも玉が飛ぶ仕組みは、
とユーザーからすると
と2つの動作で動いているように見えますが、中ではこれほど細かく動いています。
(もう少し細分化できますが逸れるので省略します)
今回の「玉が飛ばない」エラーの正しい対応方法は、原因を特定しその原因を取り除くことです。
といったことを確認していかなければいけません。
そして、原因を特定するには仕組みを把握していないとまずできません。
僕自身あまりよろしくないとされる、いわゆる「おまじない」をしてしまいます。
では、基礎の重要性を知らないのか?というと、新しく入社した方に
**「仕組みを理解してください」**と口酸っぱく言い続けてます。
応急処置としてその場その場のエラーを教えることもありますが、後で必ず仕組みの説明をします。
こういった理由で仕組みについて説明しています。
大抵の人は新しいパラダイムに挑戦するとおまじないをしてしまう
これは別に本人に悪気があるわけでもなく、論理的に考えられないわけでもなく、基礎の重要性を理解していないわけでもない。
僕自身の体験談でもそうですし、新入社員を30名ほど見てきた中でも同じような傾向があるなと感じます。
まず、仕組みを理解する
仕組みを理解すると、様々なメリットが得られる(↓)
そして、エンジニアリングではこの仕組みの部分がコンピュータサイエンスに当たるので、理解を深めていく必要がある
こうやって振り返ると僕自身「まずは動くものを作ろう」のフェーズが長すぎたように感じます。
最初は「まず動くもの」で良いと思います。ただ、時間配分などのバランスは考えないといけないし、明らかに基礎を疎かにしていたなと反省してますorz
なので今後は Git / SQL / Linux / C言語 辺りを学んでいく予定です^^
最後まで見ていただいてありがとうございましたm_ _m
[cv:issue_marketplace_engineer]
診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。