code baseに通ってみて
こんにちは.もう梅雨ですね^^;
ゲリラ豪雨を走り抜け靴ビッショビショになりながらブログ書いてます.(2019/06/04)
さてブログのタイトルにあるように,4月から6月にかけての2ヶ月間,code baseのプログラミングスクールでwebアプリの勉強をしていました.
ちょうど昨日は自作アプリケーションの発表会で,自作したwebアプリを紹介してきました. 機能褒められて嬉しかったな☺️
そんなcode baseに通ってみて学んだことや感じたことを書いていきます.
なぜプログラミングスクールに通おうと思ったか.
そもそも私はenpitという取り組みでRailsを使ったwebアプリをアジャイル開発をしていました.
それなりに完成度の高いアプリも作れて賞も取り,以前より実力もついたと感じてました.
しかし開発を振り返ってみると,Railsの使い方はある程度理解したけど,HTMLやCSS,セッション,SQLがどう発行されているのかよくわからなかったので,それでもなんとなく作れてしまうRailsの便利さに感謝しつつ,ちゃんと勉強しなきゃなという思いがありました.(RailsもRailsで難しかったし奥が深い...)
そこから一ヶ月後にYAPC懇親会にてLINEのエンジニアさんと話してる中で,「webの仕組みを知りたいなら,薄いFWで作ってみた方がいい」とアドバイスをもらい,確かに「自分で実装せざるを得ない」という制約がある方が力になるなと考え,軽量FWで何か作ろうと頭の中で構想を立ててました.
そしてSNSでみたのがcode baseのプログラミング教室の紹介でした.カリキュラムを見ると,HTML,CSSの基礎から学びjQuery,Ruby, sinatraと,段階的にwebの仕組みを学ぶことができるようになっており,なんとなく見過ごしてきた部分を学べるんじゃないかと思えました.
また研究室の先輩方にもOBがいて,継続的なコミュニティ活動をしつつ学生フリーランスとして働いており,とても輝いて見えました.自分もこんなエンジニアになりたいなと思い,プログラミング未経験の先輩も誘って一緒に参加しました.
教室の雰囲気
教室の雰囲気は明るかったです.また質問ウェルカムで,「むしろ質問してくれ!」とばかりにサポーターの方々がうろうろしてたので心理的安全性は高かったかなと思います.
ただ自分の場合,自己解決したいと意固地になる悪い癖が出てしまい,長い時間沼にはまることもしばしばありました.少し調べて分からないことがあれば迷わず質問すればよかったと反省してます(教室で一人で二時間ぐらい沼ってることも)
経験上,少し考えて分からなければ聞いた方が効率が良いです.全く調べないで聞いちゃうのはググり力が育たないので30分ぐらいが目安かなと考えてます.
また同期のみなさんの成長意欲がすごいので,刺激がもらえます.他方面からの分野から来た人も多く視野が広がりました.
学べたこと
一番は習慣化の方法です.
私は飽き性にも関わらずプログラミングは継続的に続けられていて自分でも不思議だったのですが,さぼさんのお話を聞いてその訳が納得できました.
外的トリガー: 研究室で自習室で周りがプログラミングしている環境にいるので,毎日新聞を読む人のようにコーディングが無意識に習慣化され,当たり前のライフスタイルになっていました.結果モチベーション関係なく継続できてました.
内的トリガー: 自分に自信がないけど負けず嫌い,かつ前向きという性格がプラスに転じたのか,理想モデルを設定してそこを目指すというマインドが無意識に出来上がっていました.
知らず知らずのうちに良い循環を生み出せていたのは結構うれしかったです.
余談ですが,最近先輩に教えてもらった勉強法としてポモドーロ仕事法があります.以前よりも集中力が維持できるようになった気がします(たぶん).
記事の通りガチガチでやってるわけではなく,25分集中して5分休憩を繰り返しています.(普通にマルチタスクしてるよ)
こちらのアプリを使ってます.
HTML, CSS, params
技術的な面でいうとHTML,CSSのフロント周り,パラメーターについて学べたのが大きかったです.
いままでRailsでフォーム画面をつくる際にはerb書いてHTMLを自動生成してたのですが,吐き出したHTMLがどういった処理なのかいまいち理解しておらず,パラメーターによって臨機応変に作り変えるのに苦労していました.
今回一から学び直したことで,HTMLの検証やパラメータの受け渡しに関するスキルがついたので,RailsでWebプログラミングする際にも活かせると考えてます.
SQL
またSQLについても多くのことが学べました.
code baseはあえてActive Record
を使わずにWebアプリを開発するので,DBの操作をSQL直書きで行います.
なのでRailsのModel操作では扱いづらい複雑なCRUD処理を記述できるスキルがついたと思います.
成果物発表会
code baseでは最後に成果物発表会があり,自作のwebアプリを発表します.
アプリの紹介は,本番環境にデプロイしてないため後日追記します!
機能を盛りだくさんに紹介しすぎて発表時間がオーバーしてしまいましたが(削るの難しい...),実装を褒められたのは嬉しかったです. ユーザーストーリーをうまく伝えられてなかったのは反省点なので,次のアウトプットの機会に活かしていきたいと思います.
また同期のみなさんの発表がすごく面白くて,特に自身のバッググラウンドとITを組み合わせて新たな価値を生み出す内容が興味深かったです.個人的にmamaのサービスも最高でした🙏
これからどういった進化を遂げていくのか楽しみです! 今度ハッカソンで一緒にIT × 〇〇のプロダクトを作りたいな~
これから勉強していきたいこと
これから勉強していきたいことは
です.JSはカリキュラムで学びますが,卒業制作で少し苦労したので,もう一回基礎から固めていきたいです.
sinatraの次の段階としてRailsです.アプリ開発経験はありますが,スケーラビリティを考慮した設計やコーディング等,実務的な技術はまだまだなのでチュートリアルやweb系のバイトを通して学んでいきたいです.
またRubyそのものの言語仕様についても興味があり,メタプログラミングしていきたいです.
Web APIはRailsでAPIモードが流行ってることと,スマホアプリと連動したサービスを作りたいという思いがあるので勉強していきたいと考えています.
Dockerは流行りの技術であるのと,Infrastructure as Code(IaC)
で作業効率化を図ることに興味があるためです.少しかじっているのですが,設定が結構難しい..(汗)
機械学習とアルゴリズムは,私が所属している研究室が扱っているテーマであり,応用が効くアカデミック分野なので,血肉にしていきたいです.
まとめ
code baseは私のようなちょっと触ったことあるけど,基礎的なことから学び直したい人にも勧められると思います.またコミュニティとして継続的に勉強会や進捗報告があるので長い目でサポートしてくれると思います.
でも結局は自分の努力しだい! 頑張ってく🙌