未経験からのプログラミング学習【4ヶ月経過】

こんにちは。フィヨルドブートキャンプ(以下、FBC)でプログラミング学習中の「のん」です。学習を始めて4ヶ月が経ちました。日々の学習記録はFBC内の日報につけているのですが、学習の振り返りをしたことがなかったので、この4ヶ月を振り返ろうと思います。

bootcamp.fjord.jp

目次

この4ヶ月の振り返り(12月〜3月)

私は、FBCに入会してからターミナルを初めて触ったプログラミング超初心者です。学習を始めてから4ヶ月経った今は、簡単なコードを書いたり、他の方が書いたコードを読むことができるようになりました。

個人的に感じる大きな変化は、学習を始めた当初はコードがまるで呪文のように見え、エラーが出た時には恐怖さえ感じていたのですが、今ではコードやエラーを読み解くことを楽しめるほどに成長しました。

 

【修了したプラクティス】

108個ある内、34個のプラクティスを修了しました。

終了したプラクティス一覧
  • 学習の準備
    • フィヨルドブートキャンプにようこそ!
    • 学習の進め方を知る
    • チャットを使えるようになる
    • ブログを作る
    • SNSの登録
    • GitHubアカウントの登録
    • 日報を書く
    • 質問する力をつける
  • 開発環境
    • 開発環境を作る
  • HTML & CSS
    • HTMLの基本を理解する
    • Markdownを使ってHTMLを書く
    • CSS初級
  • Vi
    • viの基本を理解する
  • Linux
    • Terminalの基本を知る
    • Linuxをインストールする
    • UNIXLinuxについて知る
    • Linuxのファイル操作の基本を理解する
    • aptの基本を理解する
    • sudoをインストールする
    • SSHの基本を理解する
    • 標準入出力・リダイレクション・パイプを理解する
    • SSL/TLSの基本を理解する
  • Git & GitHub
    • Gitの基本を理解する
    • GitHubの基本を理解する
    • Pull Requestを行う
  • Ruby
    • rben
    • Ruby初級
    • FizzBuzz問題Ruby
    • カレンダーのプログラム(Ruby
    • rubygemsの基本を理解する
    • プログラムの修正
    • Bundlerの基本を理解する
    • rubocopの使い方を知る
    • ボウリングスコア計算プログラム

【学習時間】

4ヶ月間の総学習時間は、300時間でした。

月の平均だと、75時間です。

学習計画は、100時間/月で考えていたので予定よりも少ないです。

原因は、3月に体調を崩し学習時間が20.15時間しか取れなかったことにあります。この反省から、4月以降の学習計画と体調管理を見直しました。

学習時間

できるようになったこと

1. Git、GitHubを使ってファイルの管理・提出ができるようになった。

ラクティスでGit、GitHubの使い方を学び、その後の課題はGitHubからPull Requestで提出しています。まだ操作には慣れていないですが、git diffやgit statusで変更点を確認する癖が付き、操作ミスや苦手意識が軽減されました。

 

2. Rubyで簡単なプログラムを作成できるようになった。

RubyFizzBuzzプログラム、カレンダーのプログラム、バグの修正、ボウリングスコアの計算プログラムを作成しました。初めのうちはタスクの粒度が大きいまま取り組んでしまい、予定よりも時間がかかった上に理解度も低いままでした。その後、やるべきことを書き出したり文章に起こしたりして取り組んでみたところ、自然と「仮定と検証」を繰り返すことができるようになり、理解を深めながら学ぶことができています。

 

3. オンラインでのコミュニケーション、イベントへの参加を積極的に行った。

私は、リモートワークやオンライン交流の経験があまり無いので、FBC内で積極的にオンライン交流を行っています。この4ヶ月間で、他の受講生の日報や分報へのコメント、輪読会への参加、音声チャットでの交流、FBC内のオンラインイベントへの参加、メンターさんに文章やペアプロで質問などを行いました。対面のコミュニケーションだと問題なく伝わっていたことも、オンラインになると伝え方を工夫しなければいけないと感じ、意図が伝わりやすい文章構成や質問の仕方など相手へ負担をかけないコミュニケーションを意識するようになりました。オンラインでのコミュニケーション力を養うことが目的でしたが、FBCの受講生、メンターさんとの交流は長期の学習のモチベーションにつながっています。お世話になっている皆さんに、いつか直接ご挨拶がしたいです。

また、FBC内だけではなくconnpassでのオンラインイベントにも複数回参加しました。エンジニア職のイベントはオンラインで学べる場が多くあり、子育て中の私でも参加がしやすく大変ありがたいです。今後も積極的に参加していきたいと思います。

 

4. FBC内Q&Aで他の受講生からの技術的な質問に回答することができた。

FBCのコミュニティへの貢献と困っている方への支援、習得した知識のアウトプットのために他の受講生の質問に回答しました。

以下を意識して回答しました。

  • 正しい情報
  • 相手に伝わりやすい表現
  • 正解ではなくヒント

回答にはベストアンサーをつけていただきお役に立てたことがとても嬉しかったです。また、自分自身の知識の定着にもつながり大変良い経験でした。今後も答えられそうな質問には積極的に回答していこうと思います。

苦労したこと

1. Git、GitHubの操作を誤った

課題提出時に、提出不要な設定ファイルまでコミットしてしまったため、該当ファイルの取り消しに苦労しました。2つの対応策(⑴不要な設定ファイルを別ディレクトリに移して再コミット。⑵ .gitignoreに追記して差分をコミット)を考え、試したところ⑵の方法で解決に至りました。誤ってGitHub上にあげてしまったものは完全に削除されないので、以降git diffやgit statusで随時確認を行い、より慎重に操作しています。

今の気持ち

学習計画を見直して心理的負担を減らしていく

3月に子どもと私の体調不良から学習に遅れが生じたので、学習計画の見直しを行いました。元々おおまかな計画と月の目標学習時間だけ定めていたのですが、これを週ごとの学習計画に作り直しました。学習の進め方が掴めてきたので、今回の見直しでは学習計画の指標を時間での管理からプラクティスの進捗管理に変更しました。

また、週計画が達成した場合は学習を進めるも休憩するも良しとし、余白を設けています。時間を指標として管理していた時は、「とにかくプラクティスを進めなければ…!」と焦った状態が続いていたので、今回の変更で心理的な負担が軽減されることを期待しています。

 

次月の目標

  • Rubyラクティス修了
  • 技術ブログ執筆