Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クラウドネイティブエンジニアを育成する/CNDT2022
Search
mito
November 21, 2022
Technology
1
570
クラウドネイティブエンジニアを育成する/CNDT2022
mito
November 21, 2022
Tweet
Share
More Decks by mito
See All by mito
クラウドリフトとクラウドシフトで変わる運用/CODT2023
mito201
0
88
Backlogをサポート窓口として活用する/JBUG_Summer_2022
mito201
0
730
sudo_pip_installするときはよく考えて!/sudo_pip_install_ansible
mito201
0
1k
VBAで始める手のひらの上の自動化/vba_faile-coordination
mito201
0
1.1k
JANOG48_NW運用自動化の拡大/janog48_nwauto
mito201
2
200
AnsibleとCloudFormationの組み合わせでトレーニング環境を運用している話/ansible-and-cfn
mito201
2
2.9k
VBAから見たAnsiblePlaybookとの比較/diff-vba-ansible
mito201
0
460
Other Decks in Technology
See All in Technology
20241220_S3 tablesの使い方を検証してみた
handy
4
400
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
C++26 エラー性動作
faithandbrave
2
730
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Rails Girls Zürich Keynote
gr2m
94
13k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Six Lessons from altMBA
skipperchong
27
3.5k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
A better future with KSS
kneath
238
17k
Transcript
前職 クラウドネイティブエンジニアの育成について 実践していること 2022.11.22 CloudNativeDaysTokyo 2022 伊藤雅人 @mito0538
前職 本セッションで話すこと 本セッションでは、クラウドネイティブエンジニアを育成するためのアプローチ について、弊社で実践していることを話します。 数年前からクラウドネイティブエンジニアの採用は急増しており、皆さまの中に も採用をされている方がいらっしゃるのではないでしょうか。 しかしながら、募集をして実際に出会えていますか? ITの転職求人倍率は10倍に達したそうです(DODA転職求人倍率レポートより) そうそう出会えるわけではないのであれば、出会えたとしても、クラウドネイ ティブエンジニアの育成を考えられるかと思います。
そこで、弊社がどのようにクラウドネイティブエンジニアを育成しているかを紹 介します。 2
前職 自己紹介 氏名 :伊藤 雅人 経歴 :組み込みソフトウエア開発から、生産管理や情報システム部での業務改善、 AnsibleによるNW運用自動化などを経験し、2022年に株式会社カサレアルへ入社。 現在は今秋リリース予定のクラウドサービスの開発に従事。 昼休みにリングフィットアドベンチャーをやります。
3
前職 目次 • クラウドネイティブ(技術)の認識合わせ • クラウドネイティブエンジニア育成における 弊社の背景 • クラウドネイティブエンジニアの育成について 弊社が実践していること
◦ 育成の課題 ◦ 弊社の育成アプローチ ◦ アンチパターン • クラウドネイティブエンジニア育成の アプローチまとめ 4 4
前職 クラウドネイティブ(技術)の認識合わせ • CNCF Cloud Native Definition v1.0 (掲載の原文を翻訳) クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなど
のモダンでダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するため の能力を組織にもたらします。このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロ サービス、イミュータブルインフラストラクチャ、および宣言型APIがあります。 これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力で 頻繁かつ予測どおりに行うことができます。 5
前職 クラウドネイティブ(技術)の認識合わせ • 私の解釈 クラウドネイティブは「こういう技術を活用していこうぜ!」という具体的な技術、例えばコンテナや サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ、宣言型APIを採用・促進 することです。挙げた技術は一例で、CNCFのランドスケープに記載されている多数の技術のいずれかを 使っていれば、とりあえず言えるのではと思っています。 • CNCFのランドスケープ
OSSや商用製品も含めて、クラウドネイティブに関連する 様々なツールやサービスが、グループ分けされ、 包括的に可視化されています。 6
前職 クラウドネイティブエンジニア育成における弊社の背景 カサレアルでは、ラーニングサービスやトレーニングを社外に提供しており、 ほぼ毎日何らかの研修が開催されています。 研修はJava・Swiftなどによるアプリ開発から、今回の話につながるDockerや Kubernetesを始めとしたクラウドネイティブ道場があります。 また、顧客の要望や課題に合わせカスタマイズしたり、企画より新規研修として 開発することもあります。 弊社社員は、これらを受講しクラウドネイティブ技術を身に着けていきます。 7
前職 クラウドネイティブエンジニア育成における弊社の背景 弊社のトレーニングは、社内の限られたエンジニアだけではなく、社外の多数の エンジニアも受講されています。 そのメリットが以下になります。 • トレーニングの受講に至る(至った)課題が聞ける • 受講者数が多いため、フィードバックの数が多い ◦
受講者の役割や経歴も様々なので、多種多様なフィードバックが 得られる 8
前職 弊社の育成アプローチ 弊社の育成アプローチは以下の2つです。 技術面 • 広く浅く、まず全体像のイメージを持つ(→拡げていく) 組織面 • 1人ではなく複数人(チーム)で取り組む 9
前職 前職 クラウドネイティブエンジニアの育成について 弊社が実践していること 10 10
前職 育成の課題 クラウドネイティブエンジニア育成の 課題には、 技術面と組織面があります。 11 11
前職 技術面の課題 クラウドネイティブエンジニアを育成するにあたって、技術面では、 以下の課題があります。 • とにかく技術の範囲が広く、どこから手を付けて良いのか分からない • 情報量がとても多く、1つ1つのツールやサービスの習得に時間がかかる • サービスの組み合わせは無限大で、どの組み合わせが良いのか分からない
• そもそも実業務で経験した事がなく(例えばコンテナアプリケーション)、 イメージが持てない 12
前職 組織面の課題 クラウドネイティブエンジニアを育成するにあたって、技術を習得する際の 組織面では、以下の課題があります。 • 学ぶための場を提供できるのか • 1人や一部の頑張る人だけでは、 クラウドネイティブにシフトするのが難しい ◦
本番環境には、複数人・複数チームが 携わっている 13
前職 弊社の育成アプローチ 各課題に対して、弊社の育成アプローチをお話しします。 ポイントは2つあります。 技術面 • 広く浅く、全体像のイメージを持つ(→拡げていく) 組織面 • 1人ではなく複数人(チーム)で取り組む
14
前職 ポイント① 広く浅く、 全体像のイメージを持つ 15 15
前職 「広く浅く、全体像のイメージを持つ」とは 今までは、その技術のエキスパートを目指して、1つずつ確実に自分のモノにして きました。 ただし、クラウドネイティブ技術は1歩に時間をかけすぎると、バージョンアップ などにより周囲の環境やそれまでの道程が変化し、進めなくなります。 また、SaaSはバージョンを指定できないことが多いので、立ち止まるどころか 後戻りする恐れもあります。 16
前職 「広く浅く、全体像のイメージを持つ」とは 今までの価値観を変えます。 • エンジニアの価値観として、技術の習得は「深く掘り下げる」イメージが 強いですが、このイメージを「広く浅く」習得するイメージに 変えていきます。 17
前職 「広く浅く、全体像のイメージを持つ」とは 18 クラウドネイティブ開発の全体像を広く浅く体験することで、クラウドネイティ ブにシフトした世界観がどのようなものかイメージを持ちます。 それにより、何から手を付けていけばいいのか道筋が分かり、目指すべき姿もつ かめてきます。 • クラウドネイティブ開発の全体像 ◦
Webアプリケーションを仮想マシン上で構築してから、 Docker、DockerComposeに移行しつつ、テスト自動化やCIを構築し Kubernetesに移行します
前職 「広く浅く、全体像のイメージを持つ」とは 19 • 弊社のクラウドネイティブ開発の全体像(研修としても提供中) ◦ 仮想マシンで移行前の環境を構築 ◦ Dockerで環境構築 ◦
DockerComposeで環境構築 ◦ DBのコンテナ化(コンテナ連携) ◦ テストの自動化 ◦ リポジトリ連携(Git、Dockerイメージ) ◦ CIの構築 ◦ Kubernetesへの移行
前職 ポイント② 1人ではなく 複数人(チーム)で取り組む 20 20
前職 「1人ではなく複数人(チーム)で取り組む」とは 例えば、自身の役割での価値を上げるため1人でストイックに頑張るのではなく、 協力し合いながらチームで取り組まないと、クラウドネイティブにシフトするこ とが難しいです。 なぜなら、クラウドネイティブの技術範囲は広く、それに比例して、影響範囲や 関わるエンジニアが増えるため、1人でどうこうできるものではないからです。 • 自身のエンジニアとしての価値を高める/競争に勝つために、自分が1人で頑 張るというイメージを変えていきます。
21
前職 1人ではなく複数人(チーム)で取り組む 複数人(チーム)で取り組むと、深掘りする余裕が生まれてきます。 それをチーム内で互いに知識を共有することで、「広く浅い」から「広く深い」 知識に変わっていきます。 22 「呼吸」 するように 学ぼう
前職 1人ではなく複数人(チーム)で取り組む 1人では、その担当領域すら変えることは難しいです。 複数人で取り組むことで、技術の変化を組織の変化へ繋げられます。 23
前職 アンチパターン クラウドネイティブの全体像を イメージせず、1人で進める 24 24
前職 アンチパターン 今までにあげた、クラウドネイティブエンジニア育成のアプローチに対する アンチパターンが以下になります。 • 全体像のイメージを持たず、1つの技術を深く掘り下げる ◦ 1歩に時間がかかり、パフォーマンスを発揮する前に状況が変わる • 1人で頑張る
◦ ただの個人努力になってしまい、業務に反映できず終わる ◦ 疲弊するだけ 25
前職 前職 クラウドネイティブエンジニア育成の アプローチまとめ 26 26
前職 クラウドネイティブエンジニア育成のアプローチまとめ ポイント① 「広く浅く、まず全体像のイメージを持つ(→拡げていく)」 • 何から手を付けていくべきか、道筋が分かる • クラウドネイティブ技術の三角食べをし、広く浅く、それなりに触れる技術 領域を拡げていく ◦
1つを食べつくそうとしていると、その間にメニューが変わるので注意 27
前職 クラウドネイティブエンジニア育成のアプローチまとめ ポイント② 「1人ではなく複数人(チーム)で取り組む」 • チームでカバーする技術の範囲を広げていくと、 その時点でのパフォーマンスが出せる ◦ 得た知識や経験をチームで共有することが必要 ◦
ビジネス的にも機会が増える 28
前職 ご視聴ありがとうございました。 29