自由ライセンスで書くアドベントカレンダー、ということで、共有が自分自身の発展にもつながる、という話をしていきます。
学習の5段階
常に進化し続ける世界で生きていくという、ITエンジニアに求められる仕事の性質上、学習は欠かすことができない要素の1つとなります。では、学習の際にはどのようなステップを踏んでいけばいいのでしょうか。
1つの考え方として、タイトルにもした「知る・わかる・行う・できる・分かち合う」の5段階、という概念があります。
知る
まずは、どのようなものがあるか「知る」ことからすべてがスタートします。以前に書きましたが、ぼんやりでも「こんなものがあった」と知っておくことで、そこから検索して情報につなげることができますので、体系的ではなくふわっと知っておくことも、1つのスタートラインとなります。
わかる
書いてあることを理解する段階です。1つ言語をマスターしてしまえば、同じパラダイムの言語ではこの段階ならすぐにたどり着けるようになります。
ただ、SQLや関数型の言語のように、今まで行っていたこととパラダイムが違う場合、そのパラダイムを受け入れるにはまたハードルがある可能性もあります。
行う
チュートリアル系の教材でも「これでもか」と強調されていますが、どんなことでも座学だけで済ませられるようなものではなく、実際に手を動かして使ってみないことには身につくものではありません。自分自身、情報処理安全確保支援士の前身である情報セキュリティスペシャリストを取ったときに、実際のサーバを運用してきていた経験が大きく役に立ったと感じました。
できる
何かを作り上げた瞬間、というのはかなりの達成感に包まれるものですが、それだけでなく「作り上げた」という経験値も、着実に身についてきます。
分かち合う
「自分1人で出来るようになる」ことと、「それを他人に説明できるようになる」ことでは、また1段違ってきます。実際、文章に起こそうとすればその段階で新たな知識が得られることも、決して稀ではありません(それを利用したデバッグ技法の1つが、アヒルの人形に話しかける「ラバーダックデバッグ」です)。
「分かち合う」方法も、いろいろ存在します。職場の同僚などに説明するのだって、1つの分かち合いです。Qiitaのようなプラットフォームに発信するのもありだし、StackOverflowやTeratailのような技術系Q&Aサイトで回答してみるのもいいでしょう。
あと、以前に書いたように自分はウィキペディアンとしても活動しているので、アメリカ合衆国からの暗号の輸出規制、DUAL表、トライグラフ、文書型宣言など、(英語版からの翻訳もありますが)技術的な記事を投稿していて、その過程で調べたことが身についている印象もあります。
さらに、ネット上にアップロードした文章に自由なライセンスを適応しておけば、再利用や派生物の構築も容易となって、さらに色々広がっていきます(ウィキペディアもCC-BY-SA 3.0+GFDLという、コピーレフトの自由なライセンスとなっています)。
本記事のライセンス
この記事はCC BY-SA 3.0(クリエイティブ・コモンズ 表示 3.0 継承 非移植 ライセンス)の元で公開します。