2022-11-29

anond:20221129085814

申し訳ないが、コンピュータサイエンスを履修せずにプログラマーになった人に多いのは

まずそもそも困っていることに気付けていないのでスタートラインに立ててない

スラムダンクでいうところの「下手くその 上級者への道のりは 己が下手さを知りて一歩目」というやつだ

ちなみにコンピュータサイエンスってのはオーダの話だけではなくて

例えばメモリCPUキャッシュスワップなどのスピードやその使い方、コンパイラによる最適化OSリソース共有、状態管理の考え方なんかも含まれ

性能をもっと上げたいっていうときにオーダだけじゃなくてそういうことを網羅的に考える必要がある

ところがそもそもコンピュータサイエンスを履修してないと「性能向上が必要かどうか」を分かって無い人が多い

「これ、1秒で処理終わってるけど、本来なら1msec以内に終わるはずじゃない?」

というのに気付けてない場合が多い

1秒で処理が終わればユーザ体験は満足してしまうので気付けないんだが、ユーザが増えてくるとユーザ体験が途端に悪くなってくる

そのときに「プログラミング上のミスがあって性能が劣化している」ということに気付くか、「性能限界からさらなるリソース必要」と誤解するかによってビジネス上の戦略まで変わってくる

それだけではなくてクリーンアーキテクチャみたいな話も「機能が増えたんだから実装時間がかかってバグが増えるのは当たり前」というところに落とし込んでしまうか

もっとアーキテクチャを整理して考えれば機能追加も楽になるはず」という考えに至るか、というところで大きな差がある

この辺りでビジネス上の戦略まで変わってしまうからGoogleMicrosoftなんかは積極的コンピュータサイエンスを履修してる人を雇う

もう少し簡単に言うと、コンピュータサイエンスを履修してないプログラマーに多いのが

「今は動いているけれど触るとどうなるかわからない」

というソフトウェアを作りがちなところだと思う

レビューしてても

「とりあえず動いてはいるけれどこれではダメ

というコメントをするが、大抵

「動いているのでいいでしょwww」

みたいな感じで返してくるからどうしようもない

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん