はじめに
こんにちは。最近Dockerについて勉強し始めた新卒1年目のヒヨっ子エンジニアです。
新卒1年目ということで今年の4月からエンジニアとして仕事を始めたのですが、入社前までは技術系の話とかが苦手で、工業大学に入ったにも関わらず、課題は「見せて見せて」でターミナルなんて一人でロクに触れない状態でした。
そんな僕が社会人になって、新しい知識や言葉に埋もれている中、どうやって勉強をしたのかをつらつらと書いたものです。
今回僕はDockerを例に取って書いていますが、Dockerだけに限らず、今後新しい技術を学ぶ時の自分と照らし合わせて読んでいただけると幸いです。
本を読むだけではただのコミュ障
僕は今、QAチーム(いわゆるソフトウェアテストを主に行うチーム)に所属しています。
そのため、ちょっと複雑なDockerのコンテナ環境でテストを実行しています。
環境で使われているコンテナたちは、大きなネットワークの中にまとめて立ち上げられ、全てdocker-composeで管理されています。ちなみにコンテナの数は合計10個です。
研修でコンテナを1個立ち上げてワーイと喜んでいた僕にとっては全くもってちんぷんかんぷん(´⊙ω⊙`)
そもそも基礎がなっていないため、隣の先輩が何を言っているのかも分からないヤバイ状態です。
そこでまず基礎を固めるために本を読むことにしました。
当時読んだ本は こちら です。
この本を読んだことで
・コンテナを操作する基本的なコマンド
・自分でコンテナを作って実行してみる
・docker-composeで複数のコンテナを管理する
のような基礎的なことを抑えました。
しかし、一人で本を読みながら勉強って、意外とツラいんです…
途中で嫌になって本を窓から投げ出したって誰も怒らないし、超低いゴールを設定して明らかに成長してないだろ的な勉強量だとしても誰も咎めません。
3日坊主な僕は、本を読んでいるうちはなかなか勉強が続きませんでした…
基礎はちょこっと知っているけど別にその技術を使って何か出来るわけじゃない、周りの人が使っているのをただ遠目から見ているだけという状態を、僕はコミュ障状態と呼んでいます
Dockerくんのことは知っている、でも「一緒にネットワーク作ろうよ」とか言えない。
あぁコミュ障って感じですね。つらいつらい┐('~`;)┌
目指せ、コミュ障脱却
エンジニアって、やっぱり自分で作ったものが動いたりとか、それを誰かに見せてドヤることが一番のモチベーションだと思います✌︎('ω'✌︎ )
自分も、苦手なりに何か動くアウトプットを出せた時は死ぬほど嬉しいですし、それを誰かに見てもらいたい、もっと良いものを作りたいって思います(いつもここで頓挫するorz)
なのでやっぱり、一旦本を置いてターミナルを叩いてみることにしました。
ちなみに、僕がこの時やったのがコチラです。よければ見てください。
超シンプルなDockerネットワークを作ってみた
知識を手段に
コミュ障を脱却して知識を手段にするには、もう一息です。
ここから更に自分でライブラリとか調べて隣の人をハッピーに出来るようなアウトプットを作れれば素敵ですよね。
更なる知識を蓄えるために、僕はチームリーダーにこう言いました。
「環境周りの仕事をください!!!!!」
元気よく言うのがポイントです。不安でも勢いがあれば何とかなります。
僕のチームのリーダーはめちゃ優しいので、次の日にはDockerくんと触れ合いながらテスト環境の整備を行なうことが出来ました。
業務で日々触ることによって
- 分からないことを先輩から聞くたびに知識のストックが出来る
- 知識を秒で活かせる
- アウトプットが出来れば秒でみんなに使ってもらう機会が来る
とまぁ、エンジニアのモチベが爆速で上がります。・*・:≡( ε:)
目に見える成果を手にした時、知識は自信に変わりました。
自信が持てると、もっと色んなことをやってみよう!!と色々調べ始めます。
その技術を技術を好きになった瞬間、それはもう手段になっていると思います。
僕は業務の中で色々Dockerを触り始めてから好きになりました。
まとめ
- Dockerくんとの出会いは壮絶だった
- 何も分からなかったので、とりあえず本を読んでみた
- 本を読んだだけではただのコミュ障になったので、目に見える成果を作ってみた
- コミュ障を脱却すると、ようやく自分に自信がつく
- 自信を持ってその技術を好きになれれば、ウィニングラン─=≡Σ((( つ•̀ω•́)つ