エンジニアとしては、これからフリーランスとして開発していく、きどと申します。
箇条書きで自己紹介します。
・30代、文系出身です
・京都の宿泊施設で受付員をしています
・最初はWeb制作で副業をしたくて、学習を始めました
・学習開始から10ヶ月目で、初めて転職を意識しました
・学習開始から1年5ヶ月目で、初めて内定を頂きました
・今後はPHPをメインに使いながら、開発を行っていきます
コロナ渦で殆ど企業訪問すらできない状況でしたが、幸いにも転職活動をした結果、2社から内定を頂きました。
ただ、悩みぬいた結果、転職せず現職に残る事にしました。
これから、少なくとも約1年程はかけて、稼働中のサービスを開発したり、別途個人的に引き合いを頂いた案件を開発していきたいと思っています。
僕が転職活動をするまでに行ってきた学習方法、
・どのような学習方法をしてきたか
・学習方法の反省点
・学習方法で工夫した事 など
に関して書きたいと思います
この記事を読めば、サイトができる訳でも、内定が取れる訳でもありません。
上に記載した通り、全期間が3ヶ月程度の短期集中・・・というタイプでもありません。
そもそも、最初は副業でWeb制作する事に興味があり、転職活動するつもりもありませんでした。
ただ、学習開始から、内定を取ったり、自分で仕事獲得できるまでに、これまで学習してきた過程をまとめました。
これから学習する方、今学習中の方に対し、参考になるヒントとなればとても嬉しいです。
前半部:学習の過程 ◀︎今回はこちらです
後半部:学習を通しての所感
の2つに分けます。
この記事では、前半部分として、学習の過程について書きます。
それでは、よろしくお願いします!!
【時期別・やってきた事及び成果物まとめ】
2019年
【副業目指した時期】
①1月〜4月 学習開始、スクールでHTML、CSS、JavaScript、jQueryの学習
(スクールはこの時期のみ)
②5月〜7月 HP模写(Airbnb×2、LP×1)
③8月〜9月 メルマガ×2、LPデザイン×1
④9月〜10月 会社HPの保守管理、ポートフォリオ(自己紹介サイト)制作
【本業目指した時期】
⑤11月 PHP学習、コワーキングスペースに通う
⑥12月 PHP、Laravel学習、もくもく会×1
2020年
⑦1月〜3 月 Laravelでオリジナルアプリ開発、勉強会×1、もくもく会×2 、もくもく会主催×2
【時期別の学習内容詳細】
①学習開始〜3ヶ月目
●成果物:なし
ヒューマンアカデミーに行き、Web制作コースを受講しました。
現職の勤務形態が不規則であった為、授業形式の選択は考えていなかったですが、挫折したくないと思っていた為、スクールに行きました。
コースは、基本的にはビデオ教育ですが、教室にはエンジニアがおり、不明点は自由に質問する形式でした。
ビデオ教育の講師は外部の方で、説明はわかりやすかったです。
ただ、JavaScriptに関しては、内容が頭に入って来なかったです。
HTMLやCSSについていくので精一杯であることと、行いたい動きはjQueryでひとまず再現できてしまうと感じていた為、JavaScriptに関してはほぼ理解する事ができず、一度学習を諦めました。
学校では就職サポートもあって、スタッフさんからはよくお声がけされていましたが、
この時は、転職する事に全く興味がなく、お断りしていました。
②学習開始から3ヶ月目〜6ヶ月目
●成果物:模写2ページ、LP模写1ページ
学校のカリキュラムが終わりましたが、受動的にインプットしていたばかりで、その次に何をやったらいいのか良いかが分からなくなりました。
まずは手探りで何かコーディングをしてみようと思い、Airbnbのページを2ページ分、LPを1ページ模写を行いました。
「ググる→試してみる→修正してみる」のサイクルを回したので、期間の割に成果量は多くないですが、自分で仮説検証を考えることができました。
数をこなしていくと、「こうすれば、どうなる」という予測がわかるようになってきました。
なお、この時期は学習開始以降、一番モチベーションが低くなっておりました。
さらに、1週間程海外に行っており、準備の前後2週間程を含めて、その期間はコードを書く時間がかなり少なかったです。
日を空けてしまうと、何をどう書けばいいか忘れてしまい、暫く捗らなかったです。
何もしない日があると、すぐに感覚が鈍ってしまうなと痛感しました。
この時の教訓として、少しでも良いから毎日コードを書くのを継続した方が良いと学ぶ事ができました。
③学習開始から7ヶ月目〜8ヶ月目
●成果物:HTMLメルマガ 2ページ、LPデザイン 1ページ
勉強した事を活かして実務経験を積みたいと思い、知人が経営している会社(EC事業)の手伝いをしました。
そこでは、HTMLで作るメルマガをデザイン制作しました。
メルマガのコーディングは、ゼロからコードを書くわけでなく、無料で使えるメルマガ用の作成サービスを活用して、サービス対象外である部分は、自分でコーディングをして修正していきました。(自由度が多くない無料サービスだった為、コーディングする範囲は多かったです)
また、LPのデザインも1つ、作成しました。
パワーポイントでプレゼン資料を作っている時の感覚で楽しかったです。
Web制作する際には、例えばメルマガなら同業界の物を登録しておくなど、普段から利用して目を肥やしていく事が大事かなと思いました。
④学習開始から8ヶ月目〜9ヶ月目
●成果物:会社HPを保守管理 (※以降毎月継続)
コーディングの経験をもっと積みたいと思い、現職のHPを管理するようにしました。
これまでは、会社HPを制作会社が作成、管理していましたが、毎月ランニングコストがかかり、対応が遅い点を上司が懸念しているのをみていました。
その為、自分が担当する事でできるメリットを掲示し、志願する事で担当する事ができました。
制作会社からファイルを移管し、手探りでコーディングを進めていきました。
他人のコードを読む経験が初めてでした。
サイト構造、具体的にはHTMLファイルがどこのCSS、JSファイルを繋がっているかを理解する事に苦労しました。
理解する為に、自分で手書きで図を書いてみることで、それぞれのファイルの結びつきを把握する事ができました。
理解してからは結構楽しかったです。
外部の制作会社ではなく、会社のメンバーと話し合って認識を摺り合わせた、「僕たちのありたい形」を自分の手で再現することが出来ました。
また、文言を少し改善するだけでも、検索順位も上位に表示される事もでき、ビジネスの観点からも、集客を少しでも改善できたのが楽しかったです!
また、同時期にコーディングの学習に関して一区切りをしたいと思い、ポートフォリオサイト(自己紹介サイト)を作成、サーバを契約しFTPを使ってアップロードしました。
その時に、たまたま近所で転職フェアをやっていました。転職する気はなかったのですが、Web系企業もあった為、どのような雰囲気なのか知りたく参加しました。
ブースにて、持ってきたPCでポートフォリオサイトを見せた所、エンジニアの方がすごく喜んで頂き、「この感じなら普通にやっていけると思いますよ!」と言われて初めて自信がつきました。
(あの時言われたのは、リップサービスじゃないと思いたいです)
この時の経験があり、バックエンドエンジニアとして新しい言語を経験したのち、IT企業に転職する事をチャレンジしてみたいなと、初めて思いました。
駆け出しの方は、何かを制作して、制作したらエンジニアに見てもらい、意見をもらうのをお勧めします。
忌憚のないフィードバックから、より成長できるきっかけとなると思います。
⑤学習開始から10ヶ月目〜11ヶ月目
●成果物:なし
PHPの学習を開始しました。
学習を初めて半年以上経ち、Progateを初めて利用しました。よくネットではお勧めされていて認識はしていたサービスですが、Progateは動画学習ではないのだと使ってから初めて知りました。
内容は完全理解はもちろん、半分も理解できませんでした。
但し、ヒントや時には答えを見ながら、とにかく最後まで進めて1周しました。
PHPで何ができるのかを理解するように努めました。
学習場所は自宅やカフェで行っていましたが、追い込みたく、近所のコワーキングスペースを会員利用する事にしました。今も毎日のように通っています。
⑥学習開始から12ヶ月目
●成果物:掲示板(PHPフルスクラッチ)、読書管理アプリ(Laravel)
※但し、ほぼ教程通りに作成したのみ
Progateにはありませんでしたが、Udemyの教材にはデータのCRUD処理でなく、となりました。
PHPの文法だけでなく、データーベースと連携する事で、できる事が一気に増えて楽しいです。
全部で2周しました。まずは1周して、2周目は1行ごとにコメントアウトでメモを入れました。
全てのコードの意味は理解できませんでしたが、少なくとも何のための処理なのかは理解するように意識しました。
PHPを一通り学習後、 フレームワークのLaravelを学習する前に、ProgateでSQLとLinux編の操作方法を学習しました。
次に、UdemyでLaravelの講座を学習しました。
そこでは、CRUD処理やログイン認証の基礎、MVCモデルの流れといった、フレームワークの基礎を学ぶ事ができ、ターミナルを使い操作をしていく経験を積む事ができました。
年末に学習しましたが、わからない事は先生に質問し、すぐに回答して頂いた事はとても有り難かったです。
また、この時期に初めてもくもく会に参加しました。
休日だったにも関わらず、かなりの人が参加していました。これまでほぼ1人で作業をしていた自分にとっては、非常にいい刺激となりました。
⑦学習開始から13ヶ月目〜15ヶ月目
●成果物:オリジナルアプリ(Laravel)
教材の教程通りではありましたが、PHP、Laravelでアプリを作り終えたので、オリジナルアプリを開発してみようとなりました。
含まれている機能としては、ログイン、CRUD処理、オリジナルのロジック処理が入っている程度のシンプルなものになります。
これが結構手こずってしまい、毎日時間をかけても3ヶ月ほどかかりました。
アプリはLaravelで開発し、AWSのLightsailをインフラとして使いました。
技術的な話となりますが、自主制作物の作成で、つまずいた箇所と改善するポイントを2点書きます:
■環境構築を先にしなかった
ローカルでMAMPを使いLaravelで開発→AWSにデプロイの流れをしていました。
ローカルで開発してから一気にデプロイしたので、パスが一致されていないなど、ローカルと比較して設定の違いによるエラーが一度に沢山起こりました。
ややこしくなる方法で進めていたと反省しました。
(この時に、誰にも教えて貰わなければ、挫折していたと思うレベルです…)
今、当時に戻れるなら以下の方法で進めていくと思います:
先にAWS立ち上げ→AWS上でLaravelインストール→SSL接続でエディタから本番環境に
直接コードを書く。
最初の環境構築は大変ですが、エディタを保存すれば、すぐにWeb上に反映されるので、後が楽です。
■進める事を重視しずぎて、復習を疎かにしていた
オリジナルアプリを次々に実装していく過程で、コメントアウトでメモを取る程度でした。
とにかくやってみる精神で前に進んで完成までもっていけた事自体は良いのですが、
新しい事を日々経験していくので、過去、どう考えていたのか、どういった方法で進めていったのかを全て思い出す事が難しいです。。
勉強を始めたばかりの段階であれば尚更ですが、次に同様の実装をする際、スムーズに記述できるよう、しっかりと学習した内容を記録していく必要性を感じました。
それを反省して、最近開発している時は、ペースをあえて抑えています。
(厳守の納期が定められていない、という背景はありますが。。)
そして、何故コードが上手く動いたのか、なぜエラーが出てしまったのか、どこでハマってしまっていたのかを、スプレッドシートにまとめるようにしています。
また、この時期には積極的に勉強会に参加しました。
Laravelの勉強会に1回、もくもく会に2回参加し、さらに2回、自分で主催しました。
現役エンジニアが多く集まり登壇を聞いた事や、学習方法を見つめ直す事ができるきっかけとなりました。
もくもく会主催の事に関しては、別枠で書きます。
1つのアプリを開発完了するまでに、3ヶ月かかりましたが、作成し終えた段階で、これでようやく転職活動ができると思えるようになりました。
・・・
ここまでお読みいただきありがとうございます!
学習開始してから14ヶ月、転職活動を意識し始めてからは4ヶ月となりますが、
以上が、転職活動を行うまでに行動した内容になります。
最初に転職時期を設定し、行動した(している)方からすると、逆によく続けられたなと思われそうな内容だと思います。
学習開始が僕より遅いのに、既にエンジニア転職してる方も沢山いると思います。
ただ、1年以上かかった分、デザインからインフラまで一通り経験できたため、どの分野が楽しくて適性があるかを判断できる時間があったと思います。
次からは、学習を通して思った事や、工夫した事を書いていきます。
この文章を読んでもらい、参考となれば嬉しいです!
【感想、質問はTwitter(@hikafka)でも受け付けます】
コメント