~あるある~
絶対見ないけど、とりあえずパンフレットもらう。
はいっ、こんにちは!らぶあんどぴーすです。
今日は「就職・転職者必見!人気超上昇中!IT・AI関連の仕事~上級編~」についてのお話をしようと思います。
まずは、前半の内容は軽く読み流して下さいね。
次に後半(専門用語などを分かりやすい言葉で解説しています。)はじっくりめに読んで下さい。
心の準備は整いましたか?、、、はいっ、スタート!!
~前半~
【IT上級編】実践で差をつける!高度な技術とプロジェクト構築の極意
1. 上級者とは?中級者との違いを知ろう
IT上級者とは「単にプログラムが書ける人」ではなく、「システム全体を設計し、トラブル対応や最適化ができる人」です。
✅ 中級者 → 上級者へのステップアップポイント
エンジニアリングの全体像を理解(設計・開発・運用・保守)
コードだけでなく、システム全体の設計・最適化ができる
最新技術をキャッチアップし、自分で試せる
チーム開発・アーキテクチャ設計の経験がある
2. 上級者が身につけるべき技術
① ソフトウェアアーキテクチャ設計
モノリシック vs マイクロサービス
モノリシック:1つの大きなアプリ(小規模向け)
マイクロサービス:複数の小さなサービスを連携(大規模向け)
DDD(ドメイン駆動設計)
ビジネスロジックを整理し、長期的に保守しやすい設計をする手法
クリーンアーキテクチャ
ユースケースを中心に、依存関係を最小化した設計パターン
✅ 実践課題 「小規模なシステムをマイクロサービス化し、Dockerでコンテナ管理する」
② DevOpsとCI/CD(継続的インテグレーション・デリバリー)
GitHub Actions / Jenkins / GitLab CI を活用
Docker / Kubernetes で環境を統一
IaC(Infrastructure as Code)でサーバー構築を自動化(Terraform, Ansible)
✅ 実践課題 「GitHub Actionsを使って、プッシュ時に自動テスト&デプロイする」
③ 高度なデータベース設計
スケーラビリティを考慮したデータ設計
RDB vs NoSQL(MySQL・PostgreSQL vs MongoDB・DynamoDB)
インデックス最適化、シャーディング、レプリケーションの活用
✅ 実践課題 「大量データを扱うアプリを設計し、パフォーマンスを測定する」
④ セキュリティ対策
SQLインジェクション・XSS・CSRF対策
OAuth2.0やJWTを使った認証
OWASP Top 10 のセキュリティ対策実践
✅ 実践課題 「脆弱性診断ツール(OWASP ZAP)を使って、自分のWebアプリをテストする」
⑤ クラウド技術の活用
AWS/GCP/Azure の選び方と実践
サーバーレス(Lambda, Cloud Functions)
コンテナ(ECS, GKE, AKS)
データ処理(BigQuery, Redshift)
✅ 実践課題 「AWS Lambdaを使って、サーバーレスAPIを構築する」
3. 実践プロジェクトを作る
上級者に必要なのは「実践経験」。本で学ぶだけでなく、実際にプロジェクトを作ることが重要!
【おすすめのプロジェクト例】
✅ 実践課題 「自身のポートフォリオとして、本格的なシステムを開発し、GitHubに公開する」
4. チーム開発とリーダーシップ
技術力だけでなく、チームでの開発能力も求められます。
✅ 上級者のリーダーシップスキル
コードレビューを的確に行う
開発フローを整備する(Gitブランチ戦略・CI/CD)
新人エンジニアの育成・サポート
✅ 実践課題 「オープンソースプロジェクトに貢献し、チーム開発の経験を積む」
5. まとめ
✅ 上級者は「システム全体を設計・最適化できる人」
✅ アーキテクチャ設計・クラウド・セキュリティ・CI/CDを極める
✅ プロジェクトを実際に作り、ポートフォリオを充実させる
✅ チーム開発・リーダーシップも重要なスキル!
~後半~
小学生でもわかる IT のしくみ
ITの世界では、アプリやサービスを作るときに、いろんな決まりごとや工夫が必要です。ここでは、5つの大事なポイントを、簡単に説明するね!
① アプリの作り方(ソフトウェアアーキテクチャ設計)
アプリには、2つの作り方があります。
モノリシック(1つにまとまったアプリ)
大きな家みたいに、全部が1つにくっついている。小さなプロジェクト向き。
マイクロサービス(小さな部品を組み合わせたアプリ)
いくつもの小さな家が並んでいる町みたい。大きなプロジェクト向きで、直すのがカンタン。さらに、アプリを作るときのルールがあるよ!
DDD(ドメイン駆動設計)
アプリを長持ちさせるための考え方。
クリーンアーキテクチャ
できるだけスッキリ作って、あとで直しやすくする方法。
✅ チャレンジ!
小さなアプリを「マイクロサービス」にして、Docker(アプリを入れる箱みたいなもの)で管理してみよう!
エンジニアがラクをする仕組み(DevOpsとCI/CD)
アプリやゲームを作るとき、毎回手作業でチェックして動かすのは大変だよね? だから、自動でやってくれる仕組みを使うんだ!
① DevOps(デブオプス)って何?
エンジニアがアプリを作るチームと、アプリを動かすチームが仲良く協力することをDevOpsっていうよ!
Dev(開発):アプリを作る人たち
Ops(運用):アプリを動かす人たち
前は別々に仕事していたけど、一緒に協力するともっと早く・安全にアプリを作れるんだ!
② CI/CD(シーアイ・シーディー)って何?
これはアプリを作るときの便利な自動化の仕組み!
CI(継続的インテグレーション)
→ プログラムを作ったら、自動でテストする!
CD(継続的デリバリー)
→ テストがOKだったら、自動でアプリを配る!
たとえば、ゲームをアップデートするとき、ボタン1つで新しいバージョンが配信されると便利だよね? それがCI/CDの力なんだ!
③ どんな道具を使うの?
アプリの自動テスト&配信の道具
✅ GitHub Actions / Jenkins / GitLab CI
→ プログラムをチェック&テストしてくれる!
アプリをどこでも動かせるようにする道具
✅ Docker / Kubernetes
→ どんなパソコンでも同じ環境で動くようにする!
サーバーを自動で作る道具
✅ IaC(Terraform, Ansible)
→ 「この設定でサーバー作ってね!」と、コードでお願いできる!
✅ チャレンジ!
GitHub Actions を使って、「プログラムをアップしたら、自動でテスト&配信する仕組み」を作ってみよう!
データをうまく整理するしくみ(高度なデータベース設計)
ゲームやアプリでは、たくさんのデータを保存するよね? たとえば、「ゲームのセーブデータ」「お店の商品リスト」「動画の視聴履歴」 など。 これを整理して、すぐに見つけられるようにするのが データベース なんだ!
でも、大量のデータが増えると… 「データが重くて動かない!」「探したい情報が見つからない!」 そんなトラブルが起きちゃう。だから、データを上手に整理する方法を学ぼう!
① たくさんのデータを扱う工夫(スケーラビリティ)
スケーラビリティ とは、「データが増えても、アプリがサクサク動くようにする仕組み」のこと!
たとえば…
ゲームのプレイヤーが100人→100万人になっても、ちゃんと動くようにする!
ネットショップの商品が100個→10万個になっても、すぐに検索できるようにする!
② データベースの種類(RDB vs NoSQL)
データベースには、大きく分けて2種類あるよ!
✅ RDB は… きちんと整理されたデータ向き(たとえば、銀行の取引記録)
✅ NoSQL は… 自由に増えるデータ向き(たとえば、SNSの投稿や動画のコメント)
③ データを速くする工夫
データが増えると、アプリが遅くなることがある。そこで、こんな工夫をするよ!
✅ インデックス最適化(データの目次を作る!)
→ 図書館で「目次」があると本をすぐ探せるよね?データも同じ!
✅ シャーディング(データを分ける!)
→ 1つのノートに全部書くとゴチャゴチャするから、何冊かに分けるイメージ!
✅ レプリケーション(データをコピーする!)
→ もし1つのデータが壊れても、コピーがあれば安心!
✅ チャレンジ!
「たくさんのデータを扱うアプリを作って、どれくらい速く検索できるか試してみよう!」
アプリを安全に守るしくみ(セキュリティ対策)
インターネットには**悪い人(ハッカー)**がいて、アプリやゲームのデータを盗もうとすることがあるよ! だから、アプリを作るときは 「どうやって守るか?」 を考えないといけないんだ。
① よくある攻撃と対策
悪い人がよく使う攻撃には、こんなものがあるよ!
✅ 例:
SQLインジェクション
たとえば、ゲームのランキングページで 「1位のプレイヤーの情報を見せて!」 という命令があるとするよね? でも、悪い人がこっそり 「データ全部見せて!」 という命令を入れたら、大変なことになる!
→ 対策:「変な命令が入らないようにチェックする!」
② 安全にログインする方法(OAuth2.0 & JWT)
「誰でもゲームのデータを見れたら、困るよね?」 だから、ちゃんと本人かどうかを確かめることが大事!
OAuth2.0(オーオース)
→ GoogleやTwitterのアカウントでログインできる仕組み!
JWT(ジェイダブリューティー)
→ 「この人は本物です!」という証明書をアプリに持たせる!
③ もっと強いセキュリティを目指す!(OWASP Top 10)
セキュリティの専門家が「危ない攻撃ベスト10」をまとめたものがあるよ! これをOWASP Top 10(オワスプ・トップテン)っていうんだ。
これを勉強すれば、ハッカーからアプリを守る力がアップするよ!
✅ チャレンジ!
「OWASP ZAP」 というツールを使って、自分のアプリがどこまで安全かチェックしてみよう!
インターネット上にデータを置くしくみ(クラウド技術の活用)
昔はアプリを動かすために、自分でサーバー(データを保管するコンピューター)を買って管理しなきゃいけなかったんだ。でも、今はクラウドを使えば、インターネット上でサーバーを借りて、簡単にアプリを動かせるよ!
① クラウドサービスの選び方
クラウドには、大きく3つの会社があるよ!
どれを選んでもクラウドを使えるけど、やりたいことに合わせて選ぶのが大事!
✅ AWS → たくさんの人が使っていて、サービスが豊富!
✅ GCP → AIやデータ分析が得意!
✅ Azure → Windowsと相性がいい!
② サーバーを持たない新しい方法(サーバーレス)
クラウドを使えば、なんと…サーバーを持たなくてもアプリが動く! これを 「サーバーレス」 っていうよ!
例えば、こんな仕組みがあるよ!
AWS Lambda(アマゾン)
Cloud Functions(グーグル)
サーバーレスだと、必要なときだけ動くから、お金が節約できる!
③ どこでも動くアプリを作る(コンテナ技術)
アプリを開発するとき、みんな違うパソコンを使ってるよね? 「えっ…? こっちのパソコンでは動くのに、そっちでは動かないの?」 なんてことが起こるかも!
そこで、「どこでも同じ環境でアプリを動かすための仕組み」が コンテナ技術 なんだ!
✅ コンテナって? → 「アプリを入れる箱」みたいなもの!
クラウドでは、こんなコンテナのサービスがあるよ!
ECS(AWSのコンテナ)
GKE(Googleのコンテナ)
AKS(Azureのコンテナ)
④ 大量のデータを素早く処理する(データ処理)
動画、ゲーム、ネットショップ…いろんなサービスではものすごく大量のデータを扱うよね? 普通のパソコンでは間に合わないから、クラウドの強力なデータ処理サービスを使うんだ!
✅ BigQuery(GCP) → たくさんのデータを一瞬で分析!
✅ Redshift(AWS) → ビッグデータを扱うのに最適!
✅ チャレンジ!
AWS Lambda を使って、「サーバーなしで動くアプリ(サーバーレスAPI)」を作ってみよう!
チームでうまく開発する方法(チーム開発とリーダーシップ)
プログラミングは 「1人で作る」 こともできるけど、大きなアプリやゲームは 「チームで作る」 ことがほとんどだよ!
でも…
✅ チームで作ると、こんな問題が起きることがある!
「誰かのコードが分かりにくくて、直せない!」
「間違えて古いデータで上書きしちゃった!」
「新人の人が困っているけど、どう助けたらいい?」
だから、技術だけじゃなくて、チームで開発する力(リーダーシップ)も大事!
① チームをまとめる上級者のスキル
チームで開発するとき、上級者(リーダー)が持っておくべきスキルがあるよ!
✅ コードレビューを的確に行う!
→ 他の人のコードをチェックして、もっと良くするアドバイスをする!
(「ここ、もっと短く書けるよ!」とか「この書き方だとバグが出やすいかも!」と教える)
✅ 開発のルールを決める!(開発フローを整備)
→ みんながバラバラに作ると、あとで大変!
・Gitブランチ戦略(誰がどのコードを変更してるか分かるようにする)
・CI/CD(プログラムを自動でテスト&公開する仕組み)
✅ 新人エンジニアを育てる!
→ 「分からないことがあれば聞いてね!」とフォローする!
・新人がスムーズに開発できるように、ドキュメント(説明書)を用意する!
・分からないことがあれば、すぐに相談できる環境を作る!
② 実際にチームで開発してみよう!
✅ オープンソースプロジェクトに参加しよう!
「オープンソース」とは、世界中の人が自由に改良できるソフトウェアのこと! GitHubなどで公開されているから、実際にチーム開発を体験できる!
✅ チャレンジ!
オープンソースプロジェクトに参加して、他の人と協力しながら開発する経験を積んでみよう!
今回も最後まで読んでいただきありがとうございました。
今日は「就職・転職者必見!人気超上昇中!IT・AI関連の仕事~上級編~」についてのお話をしました。
どうでしたか?
専門用語を羅列されると、英語の辞書を読んでるかのような気になりませんでしたか?まさに「ちんぷんかんぷん」ですよね。
ですが!!具体例交えながら言葉をかみくだいて解説していくと、読みやすさが倍増&最期まで読む気になりましたよね!また一回目で「イメージ」、2回目で「なんとなく理解」、3回目で「なるほどね!」、ちなみに英語の辞書は1万回読んでも私なら「???」です。
次回は「就職・転職者必見!人気超上昇中!IT・AI関連の仕事~マスター(プロ)編~」についてお話をします。スキルアップ・ステップアップするためには必ず身につけて頂きたいので、ぜひ楽しみにお待ちください。
それでは、また次回お会いしましょう。
お困りなこと、質問などがあれば
私らぶあんどぴーすが
あなたをできる限りサポート致しますのでお気軽にコメント下さい。
0 件のコメント:
コメントを投稿