サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

意識の低いエンジニア向けゆるゆるアウトプットのススメ

はじめに

 この記事では「エンジニアにはアウトプットが重要と言うけれど、どれもこれも(心理的)ハードルが高い!」と思っているエンジニアの方に、もっと穏やかなアウトプット先として「スニペット」を紹介するものです。

 「なんだスニペットか。それならもうやってる」という人や、すでにちゃんとアウトプットできている方は、本記事を読み飛ばしていただいて構いません。とくに目新しいことは書いていないつもりです。

アウトプット、しんどい

 エンジニアの皆様、ごきげんいかがでしょうか。

 皆様は「エンジニアにはアウトプットが重要だ」などという言葉を聞いたことはないでしょうか。アウトプットとはなんでしょうか。「エンジニア アウトプット」などでネット検索してみると、いろいろな記事があります。

 それらで挙げられているアウトプットの例は、だいたい以下のようなものでしょう。

  • 技術ブログ(あるいは Qiita、Zenn などを含む)
  • 勉強会での発表
  • ソフトウェア製品の開発
  • オープンソースプロジェクトへの参加
  • 技術書籍の執筆

 ちょっと、しんどくないですか?ハードル高くないですか?

 いや、サポンテは確かにこのブログとかやってます。鳴かず飛ばずではありますが「おまえ、やってるじゃないか!」と言われるかもしれません。でもそれって、全てのエンジニアがやらなきゃいけないんでしょうかね。

 「やりたい!」「いろんなエンジニアと積極的に繋がりたい!」「成長したい!」という人はまあ、放っといてもやるでしょうからどんどんやれば良いと思います。でもエンジニア人口を考えれば、そんな人たちの方が少ないと思うんですよ。かく言うサポンテも「成長したい」は理解できるのですが、その他のことは正直あまり興味を持てません。

 では、そんな意識高くない系の人たちのアウトプットはどうすれば良いのでしょうか。

 そこで、ゆるいアプトプット先としてスニペットをお勧めしたいと思います。

スニペットとは何か

 スニペット(snippet)、ご存知でしょうか。直訳すると「切れ端」「断片」などの意味で、ソフトウェアエンジニアリングの世界に限った狭い意味で言うと、ソースコードの断片「コードスニペット」を指します。

 皆様は、頻繁に使うソースコードの断片を、メモ帳その他に書き溜めておいたりしていないでしょうか。それには「コードスニペット」あるいは単に「スニペット」という名前があります。人によっては『ネタ帳』とか、単に『メモ』とか、往年の Mac ユーザーなら『テキストクリッピング』とか言ったりしていたでしょうか。最近は、この『スニペット』という名称が一般的になりつつあります。

 活発に開発が続いているテキストエディタIDEクリップボード拡張機能の「Clibor」や「Clipy」には、それ専用の機能が付属していたりするので、聞いたことや使ったことがある人もいらっしゃるでしょう。

 しかしながら、やはり「プレーンテキストの威力」を信じ、シンプルなテキストファイルにまとめている人も多いことと思います。

 あなたが作るべき「アウトプット」は、このシンプルなテキストファイルにまとめたスニペットです。

なぜ作るのか

 なぜそんなものを作るのでしょうか。もちろん自分のためです。

 一度調べたことを、手元に置いておけば、また失念してしまってから次に必要になった際、時間が節約できます。

 もう一度調べれば良い?ちなみにそれはどこで調べましたか?ローカルにダウンロード済みのマニュアルでしょうか。それならまあいいでしょう。しかしネットで検索して情報を得た場合、次に調べた時に同じ情報に出会えるとは限りません。そのページがなくなってしまうかもしれません。日々増えていくネット情報は、同時に「ノイズ」もどんどん増えていきます。ページが存在していても、ノイズに埋もれてたどり着けないかもしれません。ローカルのテキストファイルにも保存しておいた方が安心です。

どんなものを書き留めておくべきか

 もちろんコードの断片を書き留めておくことが中心になると思いますが、そのほかにエラーコードとその対処法をまとめておくのもお勧めです。

 開発をしていると、いろいろなエラーコードに遭遇します。そして付記されているメッセージは__とくに初めのうちは__不親切でわかりにくいものに感じるでしょう。エラーコードそのままをネット検索すると(これは別にベテランでもやっています)いろいろな情報がヒットするでしょう。しかし同じエラーでも、それぞれのサイトで対処法が違ったりすることがあります。これは、一つのエラーでも様々な要因があったりするためです。

 発生した「エラーコード」。その時調べた「いろいろな原因や対処法」。そして「実際の原因とその対処法」。これらをまとめておきます。一度遭遇したエラーに、その後何度も遭遇するということが往々にしてあります。しかも近いうちに。これも自分のためです。

書いたらどうするのか

 初めのうちは溜まっていく一方だと思いますが、ときどき見直して整理しましょう。すでに覚えたものは消してしまったり、別のところに移しても良いと思います。そうして普段使うスニペットがすっきりとしていくのは、自身の成長の証だと思います。

 書き溜めて、整理して、補足して、推敲して、そうして育てたスニペットを、身につけたからとはいえ捨ててしまうのは惜しいと感じたら、社内勉強会などで共有して供養してあげましょう。あ、これは一歩進んだアウトプットですね。スニペットは、あらゆるアウトプットの入り口にもなりうるものです。

おすすめのエディタは

 普段使いのエディタで良いと思います。なるべく「起動が速い」ものがいいですよね。

 そして Markdown で書くのがお勧めです。エディタによっては、コードハイライトが効くためです。

 かつては、コードハイライトした状態でスニペットを見たいので、その対象言語の拡張子で書いていました。普通に「.vb」とか「.cpp」とか。でも「.bat」とか「.vbs」とか、間違ってダブルクリックすると実行されちゃう系のスクリプト言語あるじゃないですか。そこに気を使うのも嫌だし、うっかり実行されちゃうともっと困っちゃうし。

 しかし Markdown のコードブロックの記法で言語が指定できると、一つのファイルで複数の言語のシンタックスハイライトを混在させることができるのです。

 以下は Visual Studio CodeMarkdown を開いた状態です。複数の言語が、それぞれシンタックスハイライトされているのがわかると思います。

f:id:saponte:20210915205045p:plain

転職する場合

 エンジニアの方にとって、転職は珍しいことでもないでしょう。残念ながら、日々こつこつと育ててきたスニペットともお別れです。基本的に、如何なるものも外に持ち出すことはできません。なんとかならないでしょうか。

 そこで Qiita や個人ブログに進むことができます。サポンテが Qiita やブログや GitHub をやっているのは、それも理由の一つです。自分が蓄積したノウハウは、やっぱり自分が一番使うのです。

 もちろん、個人的なスニペットと言えどそのまま持ち出せないのは当然です。ですのでサポンテは、家に帰ってから同じものを作り直しています。あるいは、むしろ自宅だけで作っています。

 自分がこつこつと愛情を込めて育ててきたスニペットを、次の職場にも連れていきたい。だからブログを始めると。これが冒頭に挙げた心理的ハードルを乗り越える、大きなモチベーションになるでしょう。

 あるいはきっぱり諦めるとか。どうせ職場が変われば(そしておそらくは時代も変わるので)まったく違うスキルが求められることでしょう。そっちはそっちで新しいスニペットを作ればいいのです。

おわりに

 スニペット、いかがでしょうか。気軽で、即効性があって、直接自分のためになる。「アウトプット、しんどい」と思っていた人も、これならできそうな気がしませんか。