36歳建設業がプログラミングを始めてみる 【プロローグ】
そもそもプログラミングとは?
とにかくよくわからない。プログラミングを勉強した方が良いなどがあふれかえっているが、実際不足しているのはシステムエンジニア(SE)という話をよく聞く。プログラミングをする人=プログラマーではないのか?
ということで、そもそもプログラマーとエンジニアの違いもよくわからないので下記にて整理する。
・・・なるほど(笑) なんとなくわかった気がする。
例えがあってるかわからないが、家(コンピューター)を作るうえで、住めるようにする(結果を得る)ためにプログラムを組む=工事(屋根とか柱とか躯体工事)をしていくことね。※無理矢理感
では肝心な違いは何だろうか?
ふむふむ、どうやら役割が違うらしい。
簡単にいうと、設計士がエンジニアで、職人をプログラマーという解釈とするのが腑に落ちそうだ。設計士が動線を考えて設計図や仕様書(キッチン:LIXIL、トイレはTOTOなど)を作り管理し、その設計図、仕様書にしたがって職人さんが作っていくということだね。理解できた。
確かにプログラマー=職人は深い知識、経験(洞察力)が必要だ
設計士は、施主と会話するので人と話すし、職人とも関わるからコミュニケーションスキルと幅広い知識(法律、構造、管理)が必要になる。
プログラマーとエンジニアはどちらを目指すべき?
今、建設業界は職人(プログラマー)もいなければ、エンジニア(設計士/管理者)もいない。どちらも需要は高い。
ではIT界隈はどうだろう?
今までの情報を加味した上で「エンジニア」と「プログラマー」どちらの方が市場価値が高い=くいっぱぐれないのか?
個人的な見解は、「エンジニア」だと考えている。
理由は下記の通り
・たくさんの言語の種類があり流行り廃りがあるらしい
→せっかく深く学んだのに使われなくなる可能性がある
・AI、ChatGTPの進化により、人が行わなくても出来るようになりそう
→人が行わなくても解決しそう
・IT業界で不足している人材はプロジェクトを推進したり、どんなシステムを作るべきか考えられる人らしい
→要は職人はいっぱいいるが、設計士がいない状況
以上のことから、ある価値が出すことができ、AIなどの代わりがまだ先の可能性がある「エンジニア」を目指すのを正とする
※これは個人的な見解なので、怒らないでください
ちなみに色々見ているとエンジニアが仕様を決めて、実際行っているのは協力会社というパターンが多い。建設業の請負体制(元請け=設計管理 下請け=工事)にとても近いものを感じる
なお、建設業はAIが得意ではない領域(工事をする、コミュニケーションを行うなど)が多く、職人も人気がないために、今後も人手不足になると考えている。
エンジニアにも種類がある
どうやらエンジニアにもさらに種類があるらしい、、、マジかよ。
サーバサイドエンジニア(バックエンドエンジニア)
フロントエンドエンジニア
ネットワークエンジニア
インフラエンジニア
クラウドエンジニア
….
さすがにわからない(笑)ここからこれが良いとは到底言えないので、とりあえずWebアプリケーションなどでユーザーが画面越しに触れる部分をメインで作っている「フロントエンジニア」が王道っぽいので「フロントエンジニア」を目指すこととする。
ロードマップ(行程表)を整理する
どのように学習を進めていくかを整理するうえで、Youtubeでちょうどよさげな動画があったので一旦その通りに勉強を行ってみる
参考:【ロードマップ完全版】Webフロントエンジニアになるための技術ロードマップを解説します
※何言ってるかよくわかっていません
動画によると下記のような進め方となる。
インターネット
HTTPとは何か?
クライアント/サーバー
APIとはなにか?
なぜ動くのか
HTML
div,span,p,a…
ブロック・インライン要素
main,section,aside…
SEOの基本
CSS
padding,magin,position
flex,box,grid layout
デザインカンプの模写
レスポンシブ対応
Javascript
基礎文法(if文,for文)
DOM操作
Fetch API
非同期処理(async await)
GitHub
git add,commit,push
git branch,checkout,merge
パッケージマネージャー
npm
yarn
package.json
フレームワーク
Svelte ×
jquery △
React/Next.js
Vue/Nuxt.js
Angular 〇
CSSフレームワーク
TailwindCSS
Bootstrap
Material UI
ビルドツール
バンドラ
Vite
Webpack
フォーマット
Prettier
Eslint
テスト
Jest
Vitest
認証
Firebase
AuthenticationJWT
OAuth
Baas
Firebase
Supabase
AWS Amplify
PlanetScale
Typescript
string,number,boolean
type,interface
ジェネリクス
ポートフォリオ作成
オリジナルWebアプリ
動画教材
アプリクローン
転職活動
以上です。まずは、目標の整理と進め方を整理しました。
ではここから一つ一つステップアップしていきます!!
つづく
この記事が気に入ったらサポートをしてみませんか?