私はだれ
現在エンジニアとして開発業務をしている大学4年生です。
エンジニアという職に就いて「学び」というものの考え方が大きく変わったのでそのまとめとして投稿します。
私にとっての「学び」はこうだ!というものがあればコメント待ってます!他の方の捉え方について知りたいです。
「学び」とは共有するもの
今まで、受験勉強やテスト勉強など個人の成果を出すための勉強というものは経験してきました。合格するため、テストで良い点を取るため、赤点を回避するため、など基本的には自分との戦いです。
しかし、エンジニアとして働く上ではそうはいかないと感じました。チームで何かの開発を行うには技術や進捗の共有は必須で、知識を自分だけに留めておくことはNGだと思います。
また、プログラミングを始めた当初は、Qiitaやteratail等に挙げられている投稿は「お金がもらえる訳ではないのに、誰が何の為に書いているのだろう? 何で回答してくれるのだろう?」と思っていました。
とあるエンジニアの言葉が印象に残っており、上記の疑問は払拭されました。
「自分が困っていたことは、後々他の方が困ることです。」
実際にエンジニアとして働いてみると、他のエンジニアの方々は共通してこの意識を持っているなあと実感しました。
自分がエラーで困った場所は同じ道を通る人が困るポイントであり、自分が通った道であれば回答を求めている人を助ける。この黄金の精神があるからこそ全て成り立っている、のだと確信しました。
この点が受験・テスト勉強と異なっており、自分がプログラミングを好きな所以だと思います。
結局この章で何が言いたいかというと、**学んだことはみんなでシェアしようぜ!**というエンジニアの心意気サイコー!っていうことです。
「学び」から他の「学び」へと昇華される
ある日、JavaScriptを使って開発をしているときに、久しぶりにswitch文を使ってみるか!と、なりました。
//this is switch文
const num = 2;
switch (num){
case 1:
alert("1だよ");
break;
case 2:
alert("2だよ");
break;
case 3:
alert("3だよ");
break;
}
switch文は可読性の観点から重宝されることがありますが、なんせ私は忘れっぽいので構文を忘れていました。
・「:」どこに書くんだっけ?
・あ、break忘れてた!
という感じです。
switch文の構文をググって書いていると、あることに気付きました。
この「:」って三項演算子に使われる「:」と同じ役割では?????
と。
三項演算子とは条件分岐の記述を簡潔にまとめられるもので、非常に便利です。
const hoge = 2;
if (hoge == 1){
console.log("1です");
}else {
console.log("1以外です");
}
const hoge = 2;
console.log( hoge == 1 ? "1です" : "1以外です");
前日に三項演算子のコードを書いていたので、これに気が付いた時はとても驚き、嬉しく、ワクワクしました。
些細なことですが自分にとっては大きな「学び」で本当に心が踊りました。
(この「:」が全く別物ならご教授ください)
この件があってからはswitch文の仕組みが完全に理解できた気分になり、構文を忘れることが無くなりました。
前日に学んだことが次の日に全く違う形で活かされ、自分の知識へと蓄えられていく。この流れがたくさん味わえる職業の1つがエンジニアでしょうか(素敵)
またまた、エンジニアの方からの言葉で印象に残っているので紹介します。
エンジニアは引き出しの多さが大事
まさしくその通りで、自分が今までに学習してきたことを如何に活かせるかが大事になってくると、最近実感しました。
学びが別の形で現れたり、はたまた別の箇所で活かせたり出来るのがプログラミングの楽しみの一つです。そして、この蓄えられた学びを共有することで感動する人を更に増やすことが出来ます(素敵)
学びを評価・レビューしてもらえる
次は、「学び」を他の人から評価・レビューしてもらえることが多いのもエンジニアの醍醐味の1つです。
例えば、Qiitaに書いた記事をいいねしてもらえる、はたまた間違っていればコメント欄で指摘を受けられる。
こうして学びが評価され自分のモチベーションへと繋がっていく。そして、評価された「学び」は絶対に忘れず定着していきます。
また、指摘を受けた場合は正しい「学び」が得られ、アップデートされていきます。
更に実務になると「コードレビュー」という文化があります。自分が書いたコードに間違いや改善点があれば教えてくれるのです!
なんて良い文化なのでしょうか・・・・
こうして自分の持っている「学び」が日々アップデートされていき、伝播することが出来る。
このような経験が得られるのはエンジニアという職業の特権なのではないでしょうか。
結局、プログラミングって素敵!
学びを蓄え、既存の学びから他の学びが得られ、共有し、評価、レビューされ、更新されていく。
こんな素敵なことってあるでしょうか?
最近プログラミングを始めた方へ
プログラミングの需要は高くなっており、最近プログラミングを始めた方も多いと思います。
最初は本当に大変で、苦しく、何も分からないという状況が続くはずです。僕もそうでした。
**h1タグ?divとspanって何が違うの?繰り返し処理とかいつ使うんだよ!面白くない!**と、思ってました。
今振り返るとまさしくその通りで、当時は闇雲に「プログラミングを勉強するためにコードを書いていた」から無味乾燥で味気なかったのだと思います。
しかし、勉強のために毎日必死に書いているうちに、「あ!ここでこのタグ使うのか!、引数ってこんな使い方するんだ!」というタイミングがやってきます。
この理解した快感を1度味わうともうこっちのもんです。あとは理解した1つを応用したり、別のものと比較して考えたりすれば、1が2へ、2が10へと増えていきます。
僕もまだまだ分からないことだらけで頭が爆発しそうになりますが、とりあえずググったら解決出来る(最悪質問しよう!)という心の余裕は非常に大きいです。まずは自分で考えて、困ったら人に聞く!くらいの精神でやっていけば自ずと道は開けると思います。
もう分からないことが分からない!という感じの方も、コメント欄にでも書いていただければ答えます!!最悪、偉い人たちが回答してくれます。
僕調べですが、エンジニアって初心者に厳しい生き物だと思っていましたが実はそうではないのでは?と感じてます。臆さず質問してみましょー!
まとめ
ひたすらプログラミングの「学び」というものを書きました。
「学びを蓄え、既存の学びから他の学びが得られ、共有し、評価、レビューされ、更新されていく」
こんなに学ぶことが楽しくて仕方ないものに出会えたことに感謝です!!