プログラミング未経験者の記録

# ◉はじめに
私は、2022年の10月に全く異なる業種からエンジニアの部署に異動し、現在進行形で日々プログラミングについて勉強しているガチ初心者です。
まだプログラミングを学んで数ヶ月ですが、メンターの下これまでやってきてガチ初心者的に「これ良かったぞ！」という教材などを記録していこうと思います。

:::note info
前提として…
- プログラミング未経験
- 学ぶ言語はKotlin
- Android Studioを使用
:::

# ◉簡単な自己紹介
- 今までの仕事：撮影（簡単な画像編集も）、労務系、CS（少し）、在庫管理
- プログラミング経験：（見ての通り）皆無！

# ◉勉強した内容
### ①ITパスポートで基礎的なITを学ぶ
https://www.amazon.co.jp/%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE-IT%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88-%E4%BB%A4%E5%92%8C04%E5%B9%B4-%E3%81%8D%E3%81%9F%E3%81%BF-%E3%82%8A%E3%82%85%E3%81%86%E3%81%98/dp/4297124491/ref=sr_1_5?adgrpid=51410128737&gclid=CjwKCAiA9NGfBhBvEiwAq5vSy4uB3NnMisIgcQST7Iw4h_cwsm48gJ89kJ9t7NEX2rQDtqO8sJ0ejxoCljwQAvD_BwE&hvadid=611262262203&hvdev=c&hvlocphy=1009247&hvnetw=g&hvqmt=e&hvrand=2038966340664349785&hvtargid=kwd-333495601840&hydadcr=4074_13255661&jp-ad-ap=0&keywords=%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F+it%E3%83%91%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88&qid=1677034768&sr=8-5

まずはじめに「ITってなんだ？」というところから取り掛かりました。
今まで以上にPCと向き合うことになるため、これは読んでおいて間違いはないと思います。
プログラミング言語とは何かというのも書かれているため、本当の基本的なことを知るには良いと思いました。
特にこのキタミ式の本にはシンプルなイラスト付きの説明や、１章ごとに問題があるので復習もでき良かったと思います。
このままITパスポートの資格を取得するのも良いかと思います。


### ②UNIXコマンドをWEBで学習
https://prog-8.com/courses/commandline

この辺りで初めてフォルダはディレクトリと呼ぶということを学びました(笑)
「mkdir」ってなんの略？と思った時に初めて知りました。（疑問を持つことって大事ですね…！）
そんなレベルの私ですが、こちらはProgateがものすごく親切で1つ1つコマンドを学ぶことができました。
おそらく超基本的なコマンドのみでしたが、Progateは最初にとっかかるのに最適かと思います。



### ③いざKotlin学習
https://www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3%81%84Kotlin%E5%85%A5%E9%96%80-%E9%87%8E%E5%B4%8E-%E8%8B%B1%E4%B8%80/dp/4877834273

大体世の中に出ているKotlin入門系の本は前提として「Javaの知識がある」上での内容ばかりで、この本に辿り着くまでは結構苦戦しました。（私はもちろんJavaも未経験）
しかし、こちらのKotlin入門の本は表紙にも大きく書いてある通り、「超初心者のためにJavaの知識は必要なし！」とあったので、出版されたのはちょっと古めですが初心者の基礎的なところを学ぶのであまり問題はないかと思います。
「超初心者のために」と謳っているだけあって、内容も1つ1つ砕いた言い回しだったり、初心者に寄り添った良い本だったと思います。
読み終わった現在でも頻繁に見返していて、個人的には重宝しています。

また、こちらの本で紹介されている開発環境がありますが、私はそちらは使用せず[Kotlinの実行環境](https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS43LjIxIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoiLyoqXG4gKiBZb3UgY2FuIGVkaXQsIHJ1biwgYW5kIHNoYXJlIHRoaXMgY29kZS5cbiAqIHBsYXkua290bGlubGFuZy5vcmdcbiAqL1xuZnVuIG1haW4oKSB7XG4gICAgcHJpbnRsbihcIkhlbGxvLCB3b3JsZCEhIVwiKVxufSJ9)を使用し何とかなったのでどちらでも良いかと思います。
私は、物覚えが悪い方なのでノートがわりに[scrapbox](https://scrapbox.io/ayumikatsuki-70254616/)も併用して大事なところはメモを取ってあとで見返せるようにしました。


<font color="#a9a9a9">↓scrapboxこんな感じ</font>
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3172794/e05c60ed-ee97-a9ed-15c9-4152c81fd203.png">

ただ、それでも脳みそのスペックが足りない私は理解が難しく感じる箇所が多かったので、補助教材として以下の<font color="#ffa500">2点</font>も併せて学びました。

**◉<font color="#ffa500">Progate</font>**

https://prog-8.com/courses/java

- 残念ながらKotlinはなくJava用でしたが通ずる箇所も多かった
- １項目学んだ後にすぐ演習があるため非常にわかりやすく手をつけやすかった
- ある程度までは無料で受けられるがさらにやるには月額1000円がかかる
- 絵がかわいい

**◉<font color="#ffa500">Javaの絵本</font>**

https://www.amazon.co.jp/Java%E3%81%AE%E7%B5%B5%E6%9C%AC-%E7%AC%AC3%E7%89%88-Java%E3%81%8C%E5%A5%BD%E3%81%8D%E3%81%AB%E3%81%AA%E3%82%8B%E6%96%B0%E3%81%97%E3%81%849%E3%81%A4%E3%81%AE%E6%89%89-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%A2%E3%83%B3%E3%82%AF/dp/4798150371/ref=sr_1_1?adgrpid=52472183519&gclid=CjwKCAiAl9efBhAkEiwA4Toriv2EcvkHDQ-x6pZDA-W4fJ-AMtUKGkiX6yISnGni7Rrlwu1Dc4NzLBoC0_AQAvD_BwE&hvadid=618614852305&hvdev=c&hvlocphy=1009247&hvnetw=g&hvqmt=e&hvrand=3287156968327217438&hvtargid=kwd-334987630055&hydadcr=15817_13600566&jp-ad-ap=0&keywords=java%E3%81%AE%E7%B5%B5%E6%9C%AC&qid=1677060206&sr=8-1

- KotlinではなくJavaですが、この本は例えば「変数とは？」というところから図付きで解説してくれているので初心者に対して非常に親切
- 要所要所で再確認するのにもってこい

### ④同時進行で用語集も作成
もちろん今まで学んでこなかった分野のため、知らない単語は非常に多く、1日で何度も調べていました。
自分のためなのはもちろんですが、今後もし自分と同じような未経験の方が来たときにぜひ使って欲しくて作成しています。
用語集の中身はざっくりプログラミング系、Android開発、SourceTree、GitHub…等に分けて素人の私が素直にわからない！知らない！と思った単語を記録しています。
まずは必ず自身で調べるようにして、それでもピンとこない用語があった場合は、自部署の先輩方に教えてもらいました。

<font color="#a9a9a9">↓用語集こんな感じ</font>
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3172794/958edd51-2d86-2de9-338b-89460c10e61b.png">

### ⑤CodelabでAndroidを基礎から学ぶ

https://developer.android.com/courses/kotlin-android-fundamentals/toc?hl=ja

今までAndroid Studioの扱いに慣れていなかったため、Android Studioの操作や仕様を学ぶのにもとても良いと思いました。
実は現在もまだCodelabで学習の真っ只中なのですが、エミュレータの表示の仕方やビルドなども何度も使うため嫌でも覚えていけると思います。

また、こちらのCodelabは基本英文なため日本語訳に表示を変えたくなりますが、無理やり日本語翻訳している感じがあり、はちゃめちゃな翻訳の箇所が多々あるためお勧めはしません。
基本は英文のままにして、[DeepL](https://www.deepl.com/ja/translator)で翻訳していくと良いです。（DeepLは正ししく翻訳されました！）

### <font color="#ffd700">…現在書けるところはここまでです。 まだまだ学習三昧なので今後も進捗あれば更新していきたいと思います！　to be continued✌🏻</font>