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
560
クラウドネイティブエンジニアを育成する/CNDT2022
mito
November 21, 2022
Tweet
Share
More Decks by mito
See All by mito
クラウドリフトとクラウドシフトで変わる運用/CODT2023
mito201
0
82
Backlogをサポート窓口として活用する/JBUG_Summer_2022
mito201
0
720
sudo_pip_installするときはよく考えて!/sudo_pip_install_ansible
mito201
0
990
VBAで始める手のひらの上の自動化/vba_faile-coordination
mito201
0
1k
JANOG48_NW運用自動化の拡大/janog48_nwauto
mito201
2
200
AnsibleとCloudFormationの組み合わせでトレーニング環境を運用している話/ansible-and-cfn
mito201
2
2.9k
VBAから見たAnsiblePlaybookとの比較/diff-vba-ansible
mito201
0
450
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
ハイパーパラメータチューニングって何をしているの
toridori_dev
0
140
Taming you application's environments
salaboy
0
180
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.1k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
720
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Adopting Sorbet at Scale
ufuk
73
9.1k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Invisible Side of Design
smashingmag
298
50k
Being A Developer After 40
akosma
86
590k
Typedesign – Prime Four
hannesfritz
40
2.4k
Teambox: Starting and Learning
jrom
133
8.8k
What's new in Ruby 2.0
geeforr
343
31k
Building Adaptive Systems
keathley
38
2.3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
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