31才転職奮闘記

31才未経験がエンジニアを目指しているブログです。

半年間プログラミング学習を続けてみたら色んな変化があったのでまとめてみた

こんにちは!スージーです!

 

はてなブログをしばらく放置してました...プログラミング学習を初めて半年経ったので現状をまとめて振り返りたいなと思いブログを書いてます。

 

プログラミングを開始して得た物

1.学習する仲間

 私は仲間がいてくれたので楽しく学習を続けられる事ができましたし、良い意味で競争心みたいなものもあってモチベーション高く学習を続けられました。私の場合はスクールに通い学習したので同期がいました。夜間コースで仕事をしながらの学習になるので正直いなくなった同期はたくさんいました。恐らく残ったのは1/3くらいかな。仕事しながら学習を継続するってスゴイ事だと思います。短期間を瞬発的に学習する方が効率は良いと思いますが、コツコツでも半年間も学習を続けられる継続力はエンジニアに転職してからも絶対に役に立つを思っています。 

・誰かと一緒に学習を進められるというのはとても大切。

 同じ悩みや同じ躓きを経験している同期はとても貴重な存在でした。同期からアドバイスを貰えたり、逆にアドバイスしてアプトプットする機会が作れたりとメリットはたくさんあると思います。1人でも何とかプログラムを動かせるくらいまで学習が進めば1人でも続けていけると思いますが、そこまでが私は大変でした。分からない事も分からないというか、八方塞がりに感じる状況も結構ありました。しかし同期にアドバイスをもらったり、メンター以外に気軽に話ができる仲間がいてくれた事で私は何とか乗り越える事ができたと思います。

・同期なら質問するハードルがぐっと下がる

 分からない事を聞きたいが、何て言葉にして説明して良いか分からないと感じる時にメンターに質問する心理的なハードルが高いなぁという時がありました。うまく思考がまとまらない時は1人で考えてしまう傾向が私にはありました。うまくまとまらないなりに仲間に話していくと自分の思考がまとまってきて何を考えるべきなのかクリアになる事は結構ありました。そんな分かりにくい話を聞いてくれた仲間には本当に感謝です。

・人に話す事で人の思考は整理され洗練されていく

 インプットとアウトプットのバランスが良いと学習効率が高まると思いますが、そんな時に仲間にアウトプットできる事はとても大きいです。チーム開発時に初めてハマったエラーについて自分で調べて何となくで一連の流れが理解はできるという場面がありました。チームメンバーになぜそのエラーが起きたか?何が原因だったか?どうやって解決できるのか?を説明していく中で最初はうまく言葉がまとまらずに伝えきれない事も何回か説明していくうちに自分の思考は自然と整理されて纏まっていきました。そして仲間に納得してもらえた時に自分が言いたい事が伝わったんだなーという事がありました。

アウトプットが苦手、伝える事が苦手な自分にとっては仲間がいてくれた事で克服する機会をたくさんもらう事ができました。

2.時間の大切さ

 プログラミングを初めてからもっと時間を有効に使ってくればよかったと反省しました。「お金がない」とか「仕事が忙しい」って結局は自分が何もしたくない言い訳だったんだなーっと痛感しました。意図的に何もしない時間を作るのは息抜きとして必要だと思います。何も考えずにダラダラ過ごす時間は本当にもったいない。

・目的を持って時間を使う

仕事をしながら学習をしていると学習時間は限られてきます。その時間で「何をしたいか?」とか「何をすべきか?」を考えてから学習しないと何となく学習したで終わってしまいます。「今日はここまで学習したい」くらいでも良いから1日の学習のゴール(目標)みたいなのを設定して学習に取り組めば目標を達成すれば成功体験になりますし、未達成であれば「明日はどうやって改善すれば良いか」を考え成長機会に変える事ができます。

・時間は自分で作るもの

 働きながら学習をしていると突発的な仕事で学習時間が想定よりできない事は多々ありました。その時に「人の時間を奪うな。学習時間減るじゃん。」で完結するのは簡単ですが、そんな事を考えても時間は返ってきません。じゃあどうやったらその時間を回収できるか?を考える事が大切だと思います。翌日いつもより早起きをする。隙間時間も学習する。時間がかかりそうな躓いている部分を早々に解決する為の解決策を考えておいて試してみる等、簡単な事でいいので積み重ねていく事が大切だと思います。

・気づきの時間は学習時間以外にもたくさんある

 プログラミング学習時間以外も貴重な時間です。目的ない時間は無駄ですがテレビを観ている時間も意外と学びはあるんだなと気づく事もあります。私は初対面の人と会話を続けるのが苦手です。顔色を伺ってしまってこれ聞いてもいいのかなーって考えてしまう事があります。1つ質問をして返答してもらって「そうなんですねー」で会話が終わってしまうパターン多いです。例えばテレビでアナウンサーが素人さんのご自宅でロケしている番組などでのアナウンサーの質問の仕方や話の広げ方は気にして観ていると勉強になる事が多いです。話のプロがアナウンサーなのでただの娯楽として観るか自分の為になる事は何かと考えて観るのでは同じテレビを観る時間であっても得られるものが違うと思います。

時間の効果的な使い方は何か?を考えて過ごす事で気付きや学びはたくさんあります。

3.成功体験

私は自己肯定感が低く自分の実績を 過少評価してしまいます。過大評価はしてはいけないですが、過少評価し過ぎて自分は何も価値が無い・何をやってもダメな人間なんだと思ってしまうともったいないです。それを克服するには自分の目標をクリアしていく成功体験は大切だなとプログラミング学習を初めてから体験してきました。

・理想の目標は一気に達成でき無い

自分の理想ってあると思います。こんな生活がしたいとかこんな仕事がしたいとか。その理想に近く為には小さい目標を1つずつ達成していくしかないです。私の場合は半年後にエンジニアに転職したいという目標を立てて、その為に1ヶ月後に成りたい姿を想像したり、身に付けたい技術を考えたりしました。それを目指して小さい目標を毎日クリアしてくイメージで学習を続けてきました。いきなり1ヶ月後の自分に成れはしないけれど、毎日の小さい目標をクリアしていくと当初考えていた1ヶ月後の目標を達成する事はできます。1日の成功、1ヶ月の成功と積み重ねていくと成功体験も増えていきます。

・難しくてできない事も1週間後にはできる

 スクールのカリキュラムやチーム開発、個人アプリを作る中で技術的に実力が足りなくてうまくいかない事があります。10時間考えてあれこれやっても課題が解決しなくてその時は「なんでできないんだー」と打ちひしがれます。時には「自分にはできない」と悲観的になる事もあります。でも翌日いとも簡単にできる事があります。翌日ではなくとも一週間後にできる事もあります。プログラミングに集中している時はなんだか視野が狭くなって問題箇所の検討が外れていたり解決方法が間違っていたりするのに気付かない事が多いです。学習から離れて思考をリセットして考え直してみるとその時に気付いていなかった問題が分かったり他の解決方法が見つけられたりします。自分にとっては大きな成功体験になる出来事でした。

・理想の将来も大事だが自分の過去を振り返る事

 転職活動をしていると自分の過去に目を向けなくてはいけません。キャリアの棚卸しや成功体験・失敗体験、長所・短所などなど。私はとても苦手です。苦しい作業というか自分がよく分からないって感じです。職務経歴書に書ける実績ないし自信持って面接で話せないとネガティブになる事もありました。そんな時は事実だけを見ていきます。自分がどういう行動(=事実)をしたのか。どんな背景(=事実)があったのか。成果(=事実)はなにか。しつこいくらいに事実だけを見ていきました。事実を適切に把握してそれを自分の言葉でまとめる事ができれば十分だと思います。自分の言葉でしゃべれると実績の中身がどうであれ自信が少しづつ付きました。これもまた成功体験です。

成功体験の積み重ねが自信に繋がり考え方や行動を良い方向へ向かわせてくれます。

4.前向きな姿勢

 前項と重なる事もありますが、私はネガティブに考えてしまう事が多いです。スクールのライフコーチやキャリアアドバイザーに言われた事は「ネガティブな人と一緒に働きたくないよね」「自分に魅力が無いと思っている人に魅力を人は感じないよね」でした。後ろ向きな姿勢は人に伝わります。同じ言葉で伝えていると思っていても前向きな人と後ろ向きな人とでは相手の受け取り方は変わってきます。

・自分がやりたいと思える事をやって胸を張る事

 言われたからやっているとかやらされている時、心の中では「なんでこんな事やってんだろ?」と疑問を持っていては自分のやった事に自信を持てません。一生懸命にやっていない事に後ろめたい気持ちが生まれます。前向きに人に伝える事はできません。前向きに取り組んでないのは自分なので一番良く分かっているはずです。自分がやりたい事があってそれを叶える為に行動しているなら自信を持って人に言えるはずです。自信は気持ちを前向きにしてくれます。その姿勢を評価してくれる人はいるはずです。

・ポジティブな面を見る事

 自分がうまくいかない時にできない部分だけ見ていてはどんどんできない自分に自信を無くし後ろ向きになっていきます。100%うまくいった状態に比べ、50%の達成度でも50%しかと考えるのか50%もと考えるのかは大切です。私の場合は転職活動の最初の1週間が1通も書類が通りませんでした。でも書類を出して転職活動を始める所まで辿り着いた事は認めてあげたい部分です。次の週は書類が1通通過し面接までいきました。振り返ると着実に前に進んでいるのです。このサイクルを積み重ねていけば少しづつ前向きに物事を考えられると思います。

・成功体験を積み重ねる事

 前項で書きましたが、とても大切です。人がどう見るかはその人が考える事なので自分軸で良いです。昨日の自分ができなかった事が少しでもできるようになればそれは成功体験です。昨日の自分から変化した事は全て成長に繋がっています。目的意識を持って取り組めば成功した時の自分の姿と現実の自分のギャップを埋めようと行動します。そのギャップを埋めて行く過程を振り返ってみるとたくさんの成功を積み上げていると思います。私は後ろ向きに考えてしまう事が多かったですが小さい成功体験を体験していく事で徐々に前向きに考えていけるようになりました。

成功体験を得て前向きになると自分なら出来ると挑戦する勇気が湧きます。挑戦する事ができれば色んな事が良い方向へ変化していきます。

5.社外の繋がり

 前職で働いている時に社外の人と交流はほとんどありませんでした。自分がそういう場が苦手だったのもありますし、苦手な所にわざわざ時間を割いて行くというのも億劫でした。プログラミングを学習するようになってからエンジニアの勉強会に参加する機会があり、今まで経験してこなかった新しい発見がたくさんありました。それに気付く事ができて今では積極的に勉強会に参加するようになりました。

・フラットな目線で話ができるし聞いてもらえる

 社外の人だとバックボーンも全く違いますし、考え方や物事の見方も全然違います。私は現役エンジニアの方と話をする機会を頂き話を聞いてもらう事がありますが、ちゃんとアドバイスをしてくれます。現役と未経験では全然立場が違いますが、そんな私に対してエンジニアに転職する為に色々な話を聞かせてくれますし、スクール出身だから独学だからとか年齢や経歴など勘定せずに対人間として話をしてくれます。私は今までこういう機会を作らずに自分1人の考え方に固執していて勿体無かったなと思いました。これからも定期的に社外の繋がりを作っていこうと思います。

・経験を基にした話は人の心に残る

 時間は有限なので自分が全てを経験するのは不可能ですが、自分と違う経験をした人の話を聞くと納得感があるし心に残ります。「本を読んで自分の経験ように話す人」と「自分で色んな経験をして自分の話をする人」だと後者の方が魅力的に感じます。そして言葉に説得力があります。私は幸いにもそんな魅力的な人にこの半年たくさん出会えました。そんな体験自分もしていみたいと感化されて自分の行動を良い方向へ変えていく事ができるようになりました。自分が変化する事を楽しめるようになれました。

・自分がどんな人間か理解してもらおう

 社内だけだと、だいたい自分がどんな人間か周りは理解してくれるようになります。わざわざ自分を説明しなくても分かってくれます。初めて会う人には自分がどんな人間なのか自己紹介します。そして理解してもらおうと言葉で伝えようとします。自分が何を考えていて何をやっているのか興味を持ってもらいたいと思います。これは自分を理解するにも良い機会ですし、伝える力が養われる場だと思います。私は初対面で話をする事が苦手でしたが、この半年間で今まで付き合った事のない人たちに出会えた事で苦手を少しづつ克服する事ができました。

自分の考え方にあまり固執しない事は大切です。新しい考え方を取り込んでみて違う結果を得る事が今まで経験できなかった事に繋がると思います。

6.番外編

プログラミング学習をしていく中で捨てた(?)失った(?)事もあります。

・仕事辞めて収入なくなりました。

 正直、収入が無い不安もあります。このまま転職がうまくいかなかったらどうしようと考えてしまう事もあります。でも今は全ての時間をプログラミングや転職に集中するしかこの現状を変える事ができないのでやり切るのみです。

・旅行や山登りが好きですが今は我慢しています。

 たまに気分転換にはした方が良いと思いますが、未経験で転職する最初のハードルを超えるまでは可能な限りの時間をプログラミングに使いたいです。今の状態で旅行に行ってもプログラミングの事が頭から離れなくて本気で楽しめない気がしますし。器用に頭を切り替えらるようになれればと思います。

・ウィンドウショッピングしなくなりました。

私はウィンドウショッピングするのが好きなのですが、これもプログラミングの時間にしています。良いのか悪いのか物欲もあまり無くなりました。収入が無くなったのもありますが。なのでたまにショッピングセンターに行くと色々新しい発見があってそれはそれで良かったと思います。

 

逆にプログラミングを始める前より大切にしている時間もあります。

・好きな物を食べる。

食欲は我慢しないです。その日食べたい物は晩ご飯で食べる。1日の終わりに好きな物を食べれるのは純粋に幸せなので大事な時間です。あと食べたいお菓子も食べます。呑みたい時(毎日だが)に呑む。

・睡眠時間は8時間取る。

一時期、仕事と学習時間どちらもハードな時があって4時間くらいしか寝れない時が続いた時にやはりパフォーマンスが悪かったです。仕事もつまらないミスしたり、学習時間も集中できずに効率悪かったりと良い事なかったです。今は眠かったら寝る。しっかり休む事は大切です。

6.まとめ

 ここまで読んで頂いた方ありがとうございます。半年前にプログラミングを始める時に31歳で本当に転職できるのか?不安だった時にプログラミング学習をしている30代の方のブログをたくさん読んで勇気をもらって挑戦する事ができました。私の場合はまだ転職できたわけでもないので偉そうな事は言えないですが、この半年間でプログラミング以外にも学ぶ事が多かったのでブログにまとめたいなと思いました。もしこのブログを読んでプログラミングに挑戦してみようかと思ってくれる人がいたり、何かに挑戦する人の一助になれば幸いです。次のブログはエンジニアに転職できた時に書こうと思います。

 

終わり

某オンラインプログラミング学習の広告を見て思う事

こんにちは!スージーです!

 

昨日youtube見ていたら某オンラインプログラミング学習の広告が流れてきて、つい最後まで見入ってしまいました。

内容は4週間でプログラマになれるというものでした。自分がプログラミング学習を約半年続けているので「ちょっとこれはどうなんだろう?」と感じたのでプログラミング学習について自分の意見を述べたいなと思いました!まだプログラマ/エンジニアに転職できたわけではないので学習者としての意見ですが。

4週間でプログラマになれるの?

私が半年間スクールに通っている中でそのような人は恐らくいません。私の感覚で1ヶ月だとhtml/css,ruby,railsの基礎の基礎ができるようになるくらいです。Javascript/jQueryやgit管理,SQL,デプロイ関係を網羅的に学ぶには1ヶ月ではほぼ不可能でしょう。フレームワークを使って簡易アプリが作れるようになれば十分凄いと思います。1ヶ月でプログラマになれる人はこの手の教材やスクールに通わずにプログラミング大好きで自分でゴリゴリコード書いて調べて作りたいアプリ作ったよ!って人かなと思います。本当のプログラミング未経験者が1ヶ月でプログラマになるのはほぼ不可能でしょう。

会社は営利目的なのでね

これに尽きます。慈善事業じゃないのでお金稼いでナンボです。スクールやオンライン学習の場合は生徒数×授業料=売り上げなので生徒数を増やす事が一番の近道です。某スクールみたく生徒数も増えて授業料も上げて、それでも人が集まるなんて商売としては素晴らしいですね。生徒数を増やす為には広告を打って今までプログラミング学習に興味ない層までを広げる必要がありますよね。その人たちに響くキャッチコピーは「簡単に!」「稼げる!」「好きな働き方ができる!」って書いたら非常にキャッチーですよね。現状の仕事に不満がある人が見たら「自分もプログラマになれるかも。」って思う人も一定数いるはずです。「4週間でプログラマになれる」も同様にキャッチーですね。私も4週間でなりたいですもん、プログラマー

私がプログラマの立場でこの広告みたら

これは私の妄想です。もし仮に私がプログラマ/エンジニアでこの広告みたら「は!?ふざんけんな」って思いますね。だって仕事に誇り持ってプログラマ/エンジニアやっている人からしたら簡単に4週間で素人もプログラマになれるなんて言われたら腹立つでしょ。私なら自分の職業を舐められるなって思ってしまいます。某スクールの広告や記事が炎上気味になったりとか、スクール出身者へ対するアンチをtwitterで見る事がありますが、その気持ちは理解できます。広告のキャッチコピーの打ち方だったり記事の一部内容は確かに問題ですが、覚悟持って学習していて本気でプログラマ/エンジニアを目指している人たちもたくさんいます。私は半年間そういう人たちを見て来ています。スクールに通って最後(10週間または半年)までやり切る人たちは本気でプログラミングに取り組んでいます。

学習するのでれば短期間で集中的にやる

私の場合はスクールでの学習なので、その立場での意見になりますが短期間で集中的に学習する事をオススメします。1日10時間以上の学習時間を確保して下さい。仕事は辞めましょう。本気でプログラマ/エンジニアになりたいなら。仕事をしながら学習する場合は挫折率かなり高いです。挫折せずに続けられても学習時間が確保できないと学習進捗が上がりません。時間がかかります。時間がかかればモチベーションも下がりますし挫折もします。仕事をしながら半年間勉強できて、そしてエンジニアに転職できる人達は自己管理学習者のはずです。エンジニアになっても勉強を続ける習慣が身に付いているので自己研鑽を続けられるでしょう。しかし可能であれば短期間で学習した方が良いです。覚悟持って本気になりたいなら逃げ道はない方がいいです。自分の家族いても仕事辞めてスクール通ってエンジニアに転職している人もいます。

まとめ

簡単にプログラマにはなれません。簡単には稼げません。努力が必要です。転職するだけが目標ならなれるのかもしれません。しかし転職の先にプログラマ/エンジニアとしての目標があるはずです。エンジニアとしてやりたい目標がないと学び続ける事はできないはずです。「簡単だ」と言えるのは現役プログラマ/エンジニアで既に活躍している方々です。スクールの運営会社の立場も分かりますけど、ちょっと気になる広告だったので個人的な見解を述べてみました。

おわり

8/27振り返りと退職

こんばんは!スージーです!

qittaには何度か記事を書けましたが、ブログの更新が全くできていなかったので久々に技術的な事以外も投稿しようと思います!

前回のブログではカリキュラム最後のawsでのデプロイ中でしたので既に1ヶ月半経っていますね...

時間が経過し過ぎて詳細は思い出せないのでざっくりした振り返りと退職について書こうとおもいます!

振り返り①

応用カリキュラムの最後のawsでs3を使った画像アップロードをギリギリの精神状態で完了しました。 ターミナルと何時間・何日もにらめっこしてエラーが解決できないでいると精神がどんどんやられていきます笑

コードを書く時は見た目の変化やrailsエラー文が表示されたりと、"何か"は変化しているのでいいですが、ターミナルは無機質な英文を吐き出すだけ...(今はプロンプトを編集して見やすくなって以前よりはターミナルがお友達感がでましたが)しかもアクセスキーバリュー(一度しか発行されない)のファイルを見事になくし、確認できなくなるという超初歩的ミス...仕方なくec2インスタンス作成からやり直しました...再作成も最初から最後まで躓き続けましたが、メンターさんの力を 4日間借りてやっと完了...!!達成感より疲労感の方が超越していたのを覚えています笑

振り返り②

応用カリキュラムを終了した後は2週間ほど時間の猶予があったのでミニアプリの改修やらrails tutorialをやっていました。ミニアプリにいいね機能を実装しようとしましたが、ajax通信が全く実装できず...JS/jQueryあんなに苦労してやったのにまだまだ自分の身になっていない事が分かりました。ひとまずQiita見ていいねサンプルアプリをajax通信なしで作って動かしてみましたが、自分のミニアプリにはうまく実装できずに挫折。心機一転してrails tutorialで勉強をはじめました。railsエンジニアとしてtutorialの内容が完璧に理解しているのは最低条件と何かで見聞きしたので現在も引き続きtutorialやっています...(進捗遅ッ!!)

振り返り③

7/26よりチーム開発がスタートしました。初めて複数人でアプリを開発していますが

私は楽しく開発できています。といっても私は簡単な部分しかまだ完成させていないですが...ここまでの流れはDB設計、本番環境へデプロイ、サインイン実装、マイページ実装、出品機能実装やそれに伴うビューのマークアップなどをしています。チームメンバーがいてくれると、自分が分からない所にアドバイスをくれたり、すげぇ機能を実装していたりと、自分の未熟さを痛感する事が多いです。もっと力になれるように実力つけないといけないです。

退職

 今は有休消化に入り無職です。

就活は10月からなのにこのタイミングで辞めた理由としては、

もっと学習したい

これにつきます。学習時間の目標は転職までに1000時間勉強したいです。量(学習時間)が先で質(理解)は後からついてくると私は思っていますそれと並行して書類作成や面接対策、企業研究、ポートフォリオ作成、勉強会にも参加したい...とやりたい事が盛りだくさんです。もちろん勉強が目的ではないですよ。エンジニアに転職する事が私の中期目標なので勉強は手段です。(忘れちゃいけない!)まずは、

やれる事は全て全力でやりきる事

人より努力する事

その為には絶対に時間が必要だったので仕事を辞めました。学校に通う事が決まってからどのタイミングで退職しようかと悩んでいました。チキンなので無職になるのは怖かったです。もしエンジニアに転職できずに無職で年明けたらどうしよう...とか、31才という年齢もやはり考えてしまい、どこかに保険をかけておきたかったというのもありました。私は賢い人間ではないし、全くのプログラミング初心者で学習を開始しているので、人よりも時間をかけないと理解ができないです。人より1.5倍くらい時間を使わないといけない。仕事をしながら学習習慣が身に付けられのは本当に良かったですが、

"時間が欲しいのになかなか確保できない"

私は小売業だったので仕事が忙しくない時でもシフトの欠員がでると1~2時間シフトを伸びたり、欠員の代わりに出勤して休みが半日なくなったりと、そんな事が毎月ありましたね。インフルエンザ、風邪、忌引き、犬の手術、風邪(2回目)、犬の手術(2回目)なんで毎月こんなにシフト欠員でるの!?ってくらい誰かがいなくなる...

夜間コースの場合はみんな仕事しているし、残業だってしている。自分だけが特別に大変なわけじゃないんですよね。

でも!勉強したいのにできないイライラはすごいあった!

エンジニアに転職しようと思って本気で学習している人たちは睡眠時間を削って学習時間を確保していると思います。朝6時とかに起きて学習して仕事して夜中1時とかまで学習するっていう。それでも仕事しながらだと4~5時間学習が私には限界でした。私がこの何ヶ月かで強く感じた事は

時間は有限。

人に奪われる時間ほど腹立つ事はない。

なので仕事を辞めた後の心配よりも仕事を辞めて得られる時間の方が遥かにメリットがあり、今では不安も心配も無くなりました。

まとめ

プログラミングは楽しいです。もっと若い時にプログラミングに出会っていれば...と野暮な事をいつも考えてしまいます。 妻からは「その年齢で気づけて良かったじゃん。エンジニアに転職してはやく金稼いでこいよ。あんたがニートの間は私が稼ぐから。」的な励まし?激励?の言葉をもらいながら頑張っています!感謝しかないです。

 

終わり

7/10振り返り

 こんにちは!suzyです!

前回のブログで書いた通り技術的な記事をQiitaに書いてみました!

RubyRailsはマークダウン記法に未対応な部分がデフォルトではあるみたいで、見た目が美しくない所があるので自分でカスタマイズしていきたいなと思います。

 

振り返り〜ミニアプリ〜

先週〜今週はミニアプリの作成がメインでカリキュラムの進捗がちょろっとって感じでした。

同期の強強な2人はクオリティが高く、自分のアプリは本当に”ミニ”アプリのレベルでした。最終課題のチーム開発まで時間があるので、その間に"ミニ"から脱却できるように機能の拡張をしていきたいと思います。

同期の高クオリティのアプリを見ていて感じたのは、自分が使って便利になったり興味・関心のある分野でアプリを作成していたという事。私のミニアプリはカリキュラムになぞって作ったアプリだという事。

やはりコンセプトはとても大切だなと感じました。そしてそのコンセプトに沿って実装できる技術力を身につけていかないと!

振り返り〜カリキュラム〜

残りは自動デプロイしたアプリをawsのs3のバケットを登録して画像投稿ができるようになれば全てのカリキュラムが終了なのに、あと一歩の所でエラー!

フロントやバックエンドをいじってエラーがでるのは慣れてきたので何も感じませんが、ターミナルのLinuxコマンドで1日10時間以上ターミナル画面とにらめっこしているとさすがに精神が摩耗しました...

rubyrailsの学習の最初の頃もエラーが何がなんだか分からなかった時もそんな感じだったので慣れなんでしょうけど...

メンターさんの助言でec2インスタンス再作成した方が今の状態でエラーの原因特定するより簡単という事でawsと格闘しているわけですが、再作成したec2インスタンスでログインできない!ひとつ進むとエラー、ひとつ進むとエラーでしんどいす...泣

今日と明日は仕事が休みなので絶対にカリキュラムを終了させて残りのテストも完了したいと思います!

まとめ

最後のデプロイで詰まって足踏みしていますがカリキュラムは無事終われそう。最終課題のチーム開発がどんなふうにやっていくのか楽しみです。また仕事は来月末で退職するのでエンジニアに転職できるまでの間はニートです...エンジニアに絶対になるんだ!って不退転の覚悟といえば聞こえはいいですが、無職になるのは本当はとても怖いです。怖いですが学習漬けの毎日が楽しみですし、技術力を磨いて自信を持てるように引き続き学習と向き合いたいと思います!

 

終わり

7/6振り返り

おはようございます!suzyです!

 

またもやブログの更新が遅れ3週間ぶりの更新になってしまいました...

ちゃんと時間を管理してブログでのアウトプットの時間を作らないと週に1回の更新って難しいですね....

前回更新した6/16〜やった事は

  • 6/17~1/18カリキュラム進行
  • 6/19Rails勉強会
  • 6/20メッセージ送信の非同期通信の実装
  • 6/21~6/23インクリメンタルサーチの実装
  • 6/24~6/28自動更新の実装
  • 6/29~7/2カリキュラム進行
  • 6/30・7/3~7/4ミニアプリの作成

それぞれ内容が私には濃くて振り返ってみると、まだこれしかやってなかったんだって感じです。手帳に記録しておいてよかった!

カリキュラムも残り自動デプロイを残すだけとなりました。

2ヶ月しかまだTECH::EXPERTで学習していませんが、puts "Hello World"から始まってこんな所まできたのかというのが正直な感想です。同期の短期集中コースは昨日が最終課題発表でした。速い...

Rails勉強会

conpassというサイトを学校の同期が教えてくれて始めて勉強会に参加しました。もくもく会ではなくチーム3名ほどRailsでニアプリをで作るという感じでした。結局画面んにhello world的な表示をさせる所までで終了にしましたが笑

始めて現役のエンジニアの方とお話できた日でした。使用している言語はpythonphpフリーランスフルスタッグエンジニアの方などRailsを普段触っていないエンジニアの方がほとんどでした。私のようなrubyrails初学者の話もどんどん聞いてくれたり、技術的な事を教えてくれたり、この先学ぶべき言語や活躍する為には...などなど普段じゃ聞けない事をたくさん教えて頂いた時間になりました。これからも時間を作ってこのような勉強会に参加していきます!!

各機能の実装

非同期通信・インクリメンタルサーチ・自動更新の3つの機能追加

Js/jQueryajaxを使って実装していきましたが毎回、毎回ドツボにはまりエラー解決だけで3日過ぎちゃうって事も普通でした。前回のブログで書いた通り以前は全く理解できていなかったですが、Js/jQueryの記法やイベント発火・ボタン押下の仕様・変数宣言や引数の使い方などなど勉強する事がたくさんあり、理解度が深まりました。

ミニアプリ

最初はカリキュラムと並行しながらやるのがしんどいと思いました。しかし時間管理してカリキュラムやる時間とミニアプリ作成する時間を区切って取り組む事で良い息抜き的な感じで取り組む事ができました。materializeというマテリアルデザインcssを使っているので簡単にフロント機能は実装できていますが...それでも0→1でアプリを作成していくとカリキュラムで理解が浅かった所が理解でき始めたりと良い復習する時間にもなりました。またこういう機能実装したいなという部分が出てきてそれについて調べたりと今はしょぼしょぼアプリですがカリキュラム以外の機能を実装していきたいと思います。更にUI/UXを洗練させていきたい!まぁ明日の発表会には間に合いませんが...

まとめ

これから技術的なアウトプットはQiitaでやっていこうと思います。はてなブログは自身のスケジュールの振り返りや所感などをまとめて備忘録的に振り返れるようにしていこうと思います!

これを踏まえ、今日から取り組む改善策は

  • エラーや実装した機能など技術的な部分はQiitaに投稿
  • 週1回Qiitaに投稿する為に日々のアウトプットの時間を設定
  • アウトプットはQiitaに下書きみたいな感じで書いておき投稿するまでを効率的にできるようにする
  • 週1回はてなブログにスケジュールや振返りを投稿
  • 手帳に学習時間や取り組んだ学習内容を引き続き書いておく

カリキュラムを進めている時はカリキュラムをこなす事で精一杯でしたが、間も無く応用カリキュラムが終了し最終課題となります。ここからは敷かれたレールをなぞるではなく、自分で能動的にアクションしていく事がより学習の理解度を深める為には必要になってくると思います。なのでアウトプットの時間を大切にしていく為にも今日から早速改善行動!

終わり

6月の振り返り

こんにちは!@suzy1667687です!

カリキュラムでどツボにハマりまくり、先週分のブログの更新ができませんでした。先週〜今週は応用カリキュラムを進めていきました。

を学習しました。

正直JavaScriptjQueryはほとんど理解できていないです。この先のカリキュラムでRailsJavaScriptjQuery使ったインクリメンタルサーチの実装があるのでその中で学んでいきます!

応用に入ってからの時間のかなりの時間をhamlとsassを使ったフロント部分の実装です。恐らく50時間は使ったと思います笑

display: flex;

hamlは階層構造が非常に大切で、この階層構造がうまくネストできていないとcssが効かない事がよく発生しました。

f:id:suzyanamateurengineer:20190616092145p:plain

このように"test-user"と"日付部分"を横並びにして"こんにちは!"は一段下に配置する場合は方法の一つとしてdisplay: flex;を使って並べる事ができます。

しかしここでhamlの階層を考えなければいけません。

f:id:suzyanamateurengineer:20190616093131p:plain
私の場合はこのように"test-user"と"日付"の下に"こんにちは!"が潜り込んでしまいました。これは他の場面でもよく発生しました泣

f:id:suzyanamateurengineer:20190616093432p:plain

このhamlの記述では.Chat-main__messageの親要素(子要素に"test-user"部分の__message__nameと"日付"部分の__message__dateがいる)にheightで高さ指定をしているので"こんにちは!"(.Chat-main__message__text)は.Chat-main__messageと同じ階層にいるので.Chat-main__messageの下に位置します(htmlは左上に重力がある積み木みたいな構造になるので)。

それを解消しようと.Chat-main__messageの中に.Chat-main__message__text(こんにちは!)を入れてしまうとdisplay: flex;が当たってしまう為

test-user  2019/06/09  こんにちは!

 と3つの子要素全てが横並びになります。

下に潜り込むか横並びになるかでどツボにはまりました。

ここで考える必要があったのは、cssの当て方よりhamlの階層構造でした。

f:id:suzyanamateurengineer:20190616094621p:plain

まず.Messageの階層内に"test-user""日付""こんにちは!"を入れます。これで下に潜り込む問題が解決されます。

次に.Message_titleという階層内に"test-user"(.Message_title__username)と"日付"(.Message_title__date)を入れます。

f:id:suzyanamateurengineer:20190616095126p:plain

.Message_titleにdisplay: flex;を当てます。

"こんにちは!"(.Message_main)は.Message_titleと同じ階層にいますのでdisplay: flex;は影響しなくなります。

これでめでたく意図したレイアウトにできます!

この問題解決の為に5~6時間かかりました泣

 このdisplayプロパティはフロント実装では大変お世話になりました。自分のモノにできるようにこの記事を参考に勉強したいと思います。

overflow: scroll;

これもやっかいでした泣

overflowも色んな値があるのでこの辺の記事を参考にしました。 

f:id:suzyanamateurengineer:20190616100300g:plain

こういうスクロースの動きにしたかったんですが 

f:id:suzyanamateurengineer:20190616100219g:plain

このようにチャット内容が増えていくと下のテキスト入力欄が下に押し下げられる&チャット内容が無い時はヘッダー付近にいるっていう泣

overflow: scroll;はcssに記述しているのにうまくいかない状態でした。

f:id:suzyanamateurengineer:20190616101206p:plain

親要素の.messagesにoverflow: scroll;が記述されているのですが効かないです。私は原因は.messages内にあるはずと.upper-messageや.lower-messageにoverflow〜を記述したりheightを100%にしたりやりましたがダメでした。

f:id:suzyanamateurengineer:20190616101507p:plain

原因はここにありました。.chatが親要素で子要素に.messagesがあります。私は.chatにheight(4行目)を指定していなかったのです。この親要素.chatにheight指定がないと、子要素.messagesの.lower-messageは投稿が増える度に限度を知らずにどんどん下へ下へ伸びていきます。なぜなら親要素でheightの上限が決まっていないから!

子供を外で遊ばせる時に「公園の中で遊んでね!」といえば公園内で遊びますが、「どこで遊んでもいいよ!」っていうと好き勝手な場所で遊びますよね(意味不)

つまり子要素.lower-messageは親要素.chatでheight: 100vhと決まっている事で100vhの高さの上限にぶつかった時に初めてscrollしていくんですね。

まとめ

この2つの問題を解決するのに本当に10時間はかかったんじゃないか笑

他にも様々エラーは発生しましたが、この2つは特に手強かったのでブログにまとめてみました。説明力と文章力が無くうまく伝えられてないので、これからは読む方々に分かりやすい文章でかけるように努力します!

おわり

5/31今週までの振り返り

こんばんは!@suzy16676187です!!

 

本試験を突破しました!

エンジニアになる事が目標ですが、この本試験をパスしない事には目標にも近づけないので一安心です!

 

ライフコーチと面談

先週は本試験に向けて模擬試験を解きまくりました。ただ2回目以降だとある程度覚えてしまっていて、初見の本試験をパスできるかずっと不安でした。覚える=理解が深まるではないと思うので。

ちょうどライフコーチとの面談があったので今の不安を聞いてもらいました。

 

ライフコーチはRPGに例えると強いボスと戦うのはみんな怖い。どれくらい強いボスかは戦うまで分からない。鍋の蓋と棍棒で戦うのが不安なら、棍棒ではなくどうやったらソードを手に入れられるか?それが戦略・学習方略である。それには圧倒的学習時間の勉強をあなたは出来ているか?これからも出来るか?

「出来る」

じゃあ不安に感じなくて大丈夫。中間試験・模擬試験出来ないのは当たり前。一発目で出来たらこっちがビビる。仮に本試験がパス出来なくても再試験がある。そうなればあなたの理解はもっと深まるから良い事だ。

 

要約するとこんな話をしてくれました。

他にも目標をより深掘りしてくれたり、効果的な学習方法、今の不安を段階的に取り除く為にやるべき事などもアドバイスしてくれました。

 

ライフコーチのアドバイスもあり本試験を無事にパスする事ができ、ひとまず最大の不安は取り除かれました!

 

今までの学習を振り返ってみて①〜学習方法〜

私の場合、本試験までに約150時間を基礎カリキュラムの勉強時間に費やしていました。確かに基礎は大事ですが効率が悪いような気がします。私の問題点は1周目でのカリキュラムの定着率が悪い事です。どうすれば今までより時間をかけずに定着率を高めるかがこれからの課題です。

これからは、

  1. 「メモ書き、ブログやtwitterを活用してアウトプットをする事」
  2. 「隙間時間で復習」

上記2つの質を高めていく必要があります。

同じ時間を使って効率的で質の高い学習成果を出す為には、

  1. 「日々の学習戦略をより緻密に計画する事」
  2. 「その学習が効果的にできたかを1日単位でしっかり振り返り」
  3. 「改善できる事は翌日に即活かす事」

上記3つを徹底する事だと思います。TECH::EXPERTでは毎日学習報告フォームで1~3をやってますが、惰性になってしまってはいけないと思いました。今一度気を引き締めて学習に取り組まねば!

 

今までの学習を振り返ってみて②〜技術面〜

まだまだ技術的なアウトプットが弱いです。学習報告フォームの内容もそうですが、このブログにも自分の考え方や今の気持ちばかり書いていて、自分の思考の整理にしか使えてない事が課題です。この課題を解決する為にはアウトプットの時間を確保する事が必要です。そして技術的に難しかった事、調べて解決した事をPCだったり手帳に書き溜めて1週間毎に内容をまとめてブログで発信していきたいと思います。twitterなどオンラインだと一覧性に欠けて振り返りにくいので手帳やノート等のアナログの方がいいのかな。。。

例えば、

 

ajaxを使った非同期通信が難しかった。

→カリキュラム内容を復習してもなかなか理解が進まない。

→qiitaなどのサイトでカリキュラム以外の記事を隙間時間で読んでみる。

→理解ができた部分はキーワードを書いておいてブログにまとめる。

→疑問点は更に深掘りして検索していく。(検索力を身に付ける)

→理解が不十分でも分からない部分はどこなのかを明確にできるようにしてブログにまとめる。

 

この記事を参考にして思考と自身の技術的課題を整理できるようにしていきたいと思います。メンターさんや周りの人に質問するわけではありませんが、自身の抱えている問題点を明確にしてそれを言葉に纏める事は一緒だと思うので。

qiita.com

 

まとめ

基礎カリキュラムの時は学習方法(質)よりも学習時間(量)に重きを置いていました。プログラミング学習を開始して1ヶ月半で毎日勉強する習慣が身に付いたので、次は質を高める事を意識していきたいと思います!

 

おわり