記事を書いた経緯
入社して6か月、本配属されて3ヵ月が経過しました!
Z世代は一体何を考え、どのような行動をしているのかということを
配属後に出された課題が一区切りついたため、振り返りもかねて記事にしています。
「私はこう考える!」や「私はこうした!」といった同世代の方の意見
「こうした方が良いよ」といった先達の方からのアドバイス
そういったものがありましたら、ぜひコメントをお願いします!
また、この記事では課題達成のために学習した内容とその中で感じたことを書いています。
同じ新人の方や新人育成を担当される方の参考になれたらうれしいです!
はじめに
Z世代の特徴
そもそもZ世代の特徴としてはどんなものがあるのでしょうか?
ざっと検索してみてまとめると...
一般に1990年代後半~2012年ごろに生まれた世代を指し、特徴は以下が挙げられます。
- 真のデジタルネイティブ(スマホやSNS)
- 検索行動などを積極的に行う
- ワークライフバランスを大切にする
- 複数のキャリア育成(副業など)に積極的
- 多様性を認める
- 効率性を重視する
- ブランドよりも共感できるかを重視する
- 社会問題や環境問題への関心が高い
- 現実主義
「スマホが当然のように存在している環境の中で育った」ということですかね?
世界の経済状況や社会情勢も影響しているようにも感じます。
なんだか占いみたいでもありますね~
「全てに完全同意!」ではないですが、「確かにな~」と思う部分が多くありました!
Z世代の皆様はいかがでしょうか?
『学習の軌跡』の章からは私の行動と比較しつつ記事を書き進めていきます!
※「名探偵コナン 犯人の犯沢さん」っぽいなと思って使ってみました!
背景
4月に入社後の新卒研修ではJavaやSQLなどの基本的(?)な内容を学習しました。
研修内容を復習し、いざ本配属!
そんな私に出された課題は「オープンデータを可視化する」というものでした...
次々に出てくる謎の単語達に若干のめまいすら覚えながら、必死にメモを取っていました
与えられた期間は1か月間...
「やるしかない」
そう考えた私は謎の単語達を学習するために様々なサイトやコンテンツを調べ始めたのでした...
私のスペック
学生時代は情報学科ではありました!
しかし、ネットワーク系の研究室所属のため、プログラミングは大学の授業を受けた程度
新卒研修を受けて基礎的なところは思い出せたと思います(笑)
そのレベルですので、今後出てくる単語はほぼ全て初見でした!
課題について
内容:オープンデータを可視化する
期間:1か月間
条件:FIWAREを利用する
初めてFIWAREを聞いた時はファイヤー🔥に聞こえました。
今はファイウェアと読んでいます。(合ってるはず...)
ところで、このFIWAREとは何なのでしょうか?
FIWAREとは
- EUと民間企業が連携して開発を行ったオープンソースプラットフォーム
- 現在、スマートシティやスーパーシティの都市OSとして利用されている
- 多種多様なオープンデータの形式を統一し、優れた事例を素早く横展開することが可能
ということらしいです。
最近、耳にするスマートシティやスーパーシティと関連性が高いようです。
次の章からは私が学習をどう進めたのか、またその過程でどう感じたのかをお話していきます。
学習の軌跡
いざ学習を始めようにも何を学習すべきか分からなければ、進められません。
幸いなことに学習するべき項目は教えて頂いていました。以下の6項目です。
- GitとGitHub
- Docker
- dim
- Deno
- Typescript
- FIWARE
名前だけは聞いたことのあったGitとGitHubから学習を進めることにしました。
:振り返ってみると書籍で学ぶという選択肢はなかったですね
GitとGitHub
学習コンテンツとの出会い
まずは安直に「Github 学習」と検索していきました。
調べていくうちにGitHubのテキストを発見しました!
そして、そこには練習問題のURLも載っていました!
「これだ!」
そう思い、このコンテンツを使って学習を進めました。
:練習問題内の文章は無理やり日本語に翻訳したようなものです
そうした言葉を面白く感じて選んだところもあるかもしれません
学習の進め方
そもそもGitやGitHubとは?状態の私はテキストにざっと目を通して、練習問題を開始!
その後、理解が難しいところをテキストで再度確認しつつ学習しました。
本来Gitはコマンド上で処理をするため、何をしているかが見えづらいところがあります。
しかし、この練習問題では何が起こっているのかを目で見える形で示してくれるため、
非常に理解がしやすかったです!
この方法は自分に合っていたようで、想像よりもスムーズに理解をすることが出来ました!
このようにして、
- Gitは開発したものをバージョン管理しつつ、保存するために利用すること
- GitHubはGit同士を連携してチームでの開発に利用されていること
を学びました!
次にDockerの学習を進めていくことにしました!
Docker
学習コンテンツとの出会い
こちらも安直に「Docker 学習」と検索をしました。
そうして出てきた検索結果は有料学習コンテンツや書籍を勧めるものでした。
公式サイトを理解するにもそもそもの知識が足りない...
検索ワードを「Docker 入門」と変えて出てきたものがさくらのナレッジ Docker入門(全6回)でした。
こちらはDockerとは何かから実際の使い方までを体系立ててまとめてくれています。
「いいサイトを見つけた!」
と学習を進めていきました。
:息をするように書籍の選択肢を除外してましたね
学習を進める上で発生した問題点
学習を進めていく中で、指摘を受けた点がありました。
それは『いつ書かれた記事であるか』という点です。
この記事は2018年に執筆されたものでした。
技術の進化(バージョンアップ)は非常に早く、4年は時間が経ちすぎているものでした。
この指摘を受けた時にはある程度は進めてしまっていたため、
公式ドキュメント(日本語化プロジェクト)を合わせて読み進めることでカバーしました。
ここからは毎回、記事がいつ出たものかを常に確認するようになりました。
:同じZ世代の方は日常で意識されてますか?
SNSなどで情報は常に最新のものであることに慣れているからかも
このようにして、
- Dockerはコンテナ技術を使い、環境に依存せずに開発を行えること
-
チームでの開発や本番と同じ環境でテストをしたい時に利用できること
を学びました!
次にdimについて学習を進めていきました。
dim
dimとは何か?
同じく安直に「dim 学習」と検索するとVBAに関連したサイトが出てきます。
何も知らなかった私はVBAのdimを学習しました。
しかし、ここで言っている「dim」はVBAとは全く関係がありません!
ここでの「dim」はなんと、私が所属しているチームで開発しているものでした!
知っておくべきことであったと感じています
そのため、Qiita記事と公式のGitHubリポジトリのREADMEを読むことで学習をしました。
勘違いを乗り越え、
- dimは自身が取得したデータの取得元を管理をしてくれること
- チーム内でdim.jsonファイルを共有することで同じデータを一括ダウンロード出来ること
-
オープンデータの検索機能があること
を学びました!
後の開発編(後日アップ予定)でもお伝えしますが、個人で使っていてもとても便利です!
:こういうアピール系は苦手なのですが、Z世代の方はどうなんでしょう?
SNS等で発信する機会も多いですし、案外大丈夫な人が多そう?
アピールと言いつつ本当に便利なのは確かです!(笑)
次はDenoについての学習を進めました!
Deno
学習コンテンツとの出会い
今回は最初から「Deno 入門」と検索しました!(Docker検索時の味をしめています)
エンジニアHub Deno入門を発見し、学習を進めていくことになります。
このサイトは2022年6月にアップされたものということも確認済みです!
学習の進め方
サイトを上から読み進めていき、学習しました!
Deno開発エピソード
Denoの開発者はRyan Dahl氏というNode.jsの開発者でもあります。
彼は2009年から2012年にNode.jsの開発に携わった後に開発から離れます。
そうして、2018年に再び姿を現し、「Node.jsに関する10の反省点」とともにDenoを発表しました。
個人的にはこのエピソードが好きです!
このように歴史的な背景を知っておくことで、
- なぜ開発されたのか
- どういった需要があるのか
を一緒に楽しく知ることが出来るため、良い方法だなと感じています。
:ストーリーを大事にするのはZ世代の特徴らしいですね~
こうして
- DenoはJavascriptやTypescriptのランタイム環境であること
- 歴史的な背景からNode.jsと比較されること(違いはまだよくわかっていません)
ということを学びました!
ついこの間にはnpmパッケージへの対応を発表し、早々に実装していました!
ボトルネックを次々に解消していく『Deno』に注目です!
ちなみに...
先ほどご紹介した『dim』はこのDenoを使って開発を進めています!
Typescript
学習コンテンツとの出会い
今回も同じく、「Typescript 入門」で検索をしました。
その結果、Typescript入門 『サバイバルTypescript』を見つけました。
有志のプログラマが集まって執筆されているサイトです!
そのため、実践的な内容となってはいますが、初学者でもわかりやすく書いてくれています!
また、コードレビューを受けてから教えて頂いたサイトとしてTypescript Deep Diveがあります。
こちらはTypescriptを書く上でのベストプラクティスをまとめたサイトです!
すべて書き終わってから存在を知ったため、ほぼ全てのコードを書き直すということをしました
:効率性を重視するZ世代の皆様は
ある程度を先に見てからコーディングを始めてみてください!(笑)
こうして
- Typescriptの書き方(なんとなく)
- Typescriptには型があり、プログラムを動かす際に発生するエラーを先に対応しておくことが出来る
を学びました!
実際に書いてみてから再び見直すことも多かったです。
「プログラムを学ぶには何かしらのプログラムを組んでみるといいよ」
とてもよく聞くアドバイスですが、この課題を通して、身に染みて実感しました!
FIWARE
学習の進め方
c-3lab FIWARE学習コンテンツを利用して学習をしました。
このコンテンツはFIWAREの基本を実際に手を動かして(ハンズオン形式で)学べます!
現在、全10回で構成されています。
1回ごとが短くまとまっていますので、サクサク進めることが出来ました!
こうして、
- データの形式としてはNGSIv2が使われている
- FIWARE Orionの役割と使い方
を学ぶことが出来ました!
まとめ
こうして学習を進めた私は悪戦苦闘しながら開発を進めていくのですが、
それはまた別のお話
より技術の詳細を書こうと思いますので、ぜひ読んでいただけたらなと思います。
今回の学習を通じて
- 新しい技術をどうやって学べばよいのか
- 記事やコンテンツの更新日に気を付ける
- 実際に手を動かすことで実践的な知識とすることができる
- 歴史的な背景を知ることで、その技術が何を目的として開発されたかを知ることができる
- わからないときは質問する!
という今後の学習にも生かせる知識をも身に着けることが出来ました!
いかがだったでしょうか?
Z世代といっても他世代の皆様とそう変わらない思考だと思っています。
「ここが違う!」みたいなところがあれば、ぜひコメントください!
また、アドバイス等もお待ちしております。
最後まで読んでいただき、ありがとうございました。
皆様のお役に立てれれば幸いです。