エンジニアを目指すようになったきっかけと学習内容
記念すべき初投稿ですがなぜ今回このような記事を書こうと思ったかというと、就職活動を始めるに至って自分が学習を始めた経緯や内容をどこに記載しようかと悩みました。その結果、職務経歴書にこのような内容を書くと枚数がとんでもなくなりますし職務経歴書はなるべくクリアにしたいと思いブログとして綴ることに決めました。技術ブログとは程遠いものですが軽い気持ちで見てもらえたら幸いです。
【学習開始時期と学習を始めた経緯】
私がプログラミングの学習を始めたのは2023年5月になります。
プログラミングに興味を持った理由は前職の時になります。当時私は、Html,Cssでのホームページ制作を趣味程度やっておりました。ある時、当時お世話になっていた上司の方に社内で使う簡単なアプリの開発を依頼されたのですが、自分のスキルが足りず依頼を受けることが出来ませんでした。自分がプログラミングできればもっとインタラクティブなサイトやアプリを作ることができ創作活動に幅が広がると思いました。そして当時は業務が多忙で勉強時間を多く取ることができなっかったので、退職したら本格的にプログラミングを始めようと思ったのが経緯になります。
【なぜフロントエンドからなのか】
私がなぜフロントエンドから学習を始めたかというと、当時はHtml,Cssの知識が少しあったのでフロントエンドからの方が学習に入りやすいのではないかと勝手に思っていました。あとフロントエンド方が画面上ですぐに変化やスキルアップの成果を自覚できるのではないかと思ったからです。当時はスクールなどには通わずに独学を決意していたのでとにかくどうしたら独学でも挫折せず続けていけるかをとにかく考えていました。
【なぜエンジニアを目指すようになった】
学習を始めた当初はエンジニアを目指していませんでしたが、色々とスキルが身についてきて自分で実際に開発をした時、エンジニアになればもっとスケールの大きいプロジェクトや開発に関われるかもしれないと思い、エンジニアは夢があると思い本格的目指すようになりました。あとは私自身、エンジニアのような個人ではなくチームで創作活動をする機会が多い仕事はやったことがないのですごく憧れました。
【学習方法と学習内容】
①学習方法
私の学習方法はまずUdemyにてハンズオンで基礎を学び、書籍でバックグラウンドとディテールを詰めた後、学んだ技術を使って小規模開発を行います。そして技術が増えると、復習や実務を意識して中規模開発やアプリのクローンを作成しました。ただ模写するだけではなく理解できたら必ず自分でコードを書くことを意識していました。そしてそのコードのフィードバックをChatGptにもらっていました。ただChatGptも稀に嘘をつくので裏どりも兼ねてその後に自分で他の人がどのよう書き方をしているのかなどをチェックしました。
また、プログラミングは受験勉強などとは違い網羅的にすべてを覚えようと学習するよりも、最低限の基礎を学んだらあとはひたすら自分でコードを書いてみることが、大切で必要なことで知識がないことは、その都度キャッチアップするのが大切ということを割と早い段階で気づくことができよかったです。
②学習内容
・JavaScript
Udemy:
1【JS】ガチで学びたい人のためのJavaScriptメカニズム
2 JavaScriptで学ぶWebアプリ開発の必須知識〜Node.js・Web API・Ajax・async/await〜
書籍: 独習JavaScript
・TypeScript
Udemy:
【世界で7万人が受講】Understanding TypeScript 日本語版
書籍: プロを目指す人のためのTypeScript入門
・React, Next.Js
Udemy:
【2024年最新】React(v18)完全入門ガイド|Hooks、Next14、Redux、TypeScript
書籍: TypeScriptとReact/Next.jsでつくる実践Webアプリケーション
※Next.jsに関してはバージョンによる変更が大きかったため公式のドキュメントを参照し学習しました。
最新バージョンの14に関しては海外エンジニアのYouTubeを参照し学習しました。
・node.js
Udemy:
Node.jsで学ぶWebシステムとソフトウェア開発基礎!Node.js完全入門ガイド
その他足りない部分とexpress,mongoose,mongoDBについてはYouTubeや公式ドキュメント、Qitaなどを参照し学習しました。
・PHP
Udemy:
【PHP, MYSQL, Apache】ガチで学びたい人のためのWEB開発の基礎(バックエンド編)
PHPの基礎からLaLavelなどのフレームワークを使わずバニラのPHPでログイン処理やPDOでのDB接続、セッション管理について学習しました。今後、ある程度実装力がついたらLaLavelの学習も始めたいと考えています。
・MySQL
Udemy:
【PHP, MYSQL, Apache】ガチで学びたい人のためのWEB開発の基礎(バックエンド編)
Webの仕組み、RDBの設計、SQL文の書き方の基礎を学びました。SQL文の練習としてSQLBoltという海外のサイトを利用し反復練習をしています。
書籍: 達人に学ぶDB設計徹底指南書
・その他
書籍: Webを支える技術
【今後の課題】
現状ではReact,NextJsとTypeScriptでの開発が自分の得意な領域なのでその部分の実力も向上させつつ、一通り出来るようになったらバックエンド(新たな言語またはNestJs)やDockerでの環境構築などを学習していきたいと感じています。
【今後エンジニアとしてやりたいこと】
今後はまず自己完結で終わる個人開発ではなく、お仕事としての開発をしたいです。というのも、私はまだ実務未経験の身なので、まずは実務を経験し、その中でしっかりとクライアント様やユーザーに寄り添い、要望に応えられるような技術を身につけていきたいと考えています。またただ技術を使えるだけでなく、今よりもっと知識を増やし、場面ごとの最適解な技術選定をし、ロジカルな開発をできるように成長したいです。
そしてエンジニアとして就職に成功し、先輩方や上司の方に一人前として認めていただけるようになったら、自分の経験や強みを活かし、マネジメントやリーダーなどのポジションで開発をリードできるようなエンジニアになりたいと考えています。最後に、どんなに技術力がつき、ポジションが上がろうとも、常にクライアント様やユーザーに寄り添う謙虚な姿勢は忘れず、成長意欲は欠かさず持ってエンジニア生活を歩んで行きたいと考えています。
【Githubアカウント】
https://github.com/yamazakiyoshiki
【ポートフォリオURL】
https://my-pro-board.vercel.app/login
【アカウント名、パスワード】
ポートフォリオURLをクリックするとログインページに飛ぶのでそちらで
アカウント名: ダミー
パスワード: 123456
と入力してください。
【ポートフォリオのリポジトリ】
https://github.com/yamazakiyoshiki/my-next-port