上記のようなプログラミングのさらに基礎となる部分の学習はどこかで必要になります。
プログラミングというのはプログラミング言語によってコンピューターに命令を出して動かしているだけなので、コンピューター側と関連知識を勉強しておくことでソフトウェアエンジニアとしてのレベルを上げられます。
また、一定以上のレベルの会社に応募する際にはコーディング試験は必須になるのと、その際にCSの基礎知識があるかが問われることはあります。
AI時代でもCSの知識はベースになりますし、その知識がプロンプト(AIへのインプット)に反映されるので、CSの基本的な部分は時間を割いて抑えておきましょう。
非エンジニア向けにCSの用語などに関して0からでも分かる優しめの内容が書かれています。
教養的な部分も多く含まれるので、結構優しめな内容ではありますが、最初の入門書としては十分です。
*入門レベルの内容を知ってからはネット検索やAIを使うことで、不足知識は自力で補填いけるようになります
↓内容はこんな感じです。
Amazonリンク: https://amzn.to/4iWqfUO
入門系の本をざーっと読みましょう。
メモを全部取りながら勉強すると量が多くて時間がすごくかかるので、ざーっと流し読みするのがおすすめです。
移動中や寝る前や隙間時間に時間を決めて勉強して、やや暗記というか内容を覚えている必要があるので、2~3周ぐらい読めるとBetterです。
全体像の輪郭を抑えるイメージで読んでいって、細かい枝葉の部分は調べれば出てくるので幹の部分を抑えていきましょう。
書き込んだり気になるところに折り目つけたりさらに関連する知識をChatGPTなどに聞きながら勉強を進めるのがおすすめです。
実務やアウトプットベースで手動かしてるときに何か疑問に思ったことがあれば、Google検索やChatGPTに聞いて知識を補填したり理解度を深めていきましょう。
用語と関連する部分を知っていればそこから細かい情報を取ること自体はインターネットでできるので、STEP1の幹の部分が抑えられていればあとは日々少し調べる習慣を持ってそれを継続していくだけです。
CSに関してはずっと勉強していると終わりがないですし、CSに詳しくなってもソフトウェアエンジニアとしての年収を上げることであったりのセンターピンとはならないので、勉強自体はある程度で終えましょう。
実際に実務ベースで仕事をしてる際にもちょいちょい「ポインタ」や「参照」や「計算量」などそういったCSに関連する知識が出てくるので、その時に調べて網羅範囲を少しずつ広げていくようなイメージで取り組むのが重要です。