読み手のことを考えていない文章を書くようになってきた
この四半期ぐらいのブログ執筆に身が入っていない感じ。
技術ブログ Corredor は毎日1記事アップするようにしていて、このサイトが AdSense やアフィリエイトの主な収入源の一つになっていたりするので今後も更新はしていきたいのだが、最近どうも記事の質が落ちている感じがする。
いくつか要因があると思う。
- 2016~2017年前半は、レガシーな環境で仕事をしていたせいで、「その環境で使えるモノで何とかしよう」という思いから、VBScript や VBA のノウハウだったり、ちょっとしたツールやスクリプトを作って、それが記事のネタにできていた。
一方、転職した2017年以降は、段々レガシーな技術に触れることもなくなり、大抵のコトは世に既にある OSS を使えば事足りるので、「自分で何とかしよう」「自分で作ろう」という感覚が薄れてきた。 - 2016年の間はモダンなフロントエンド環境に憧れてアレコレ自学してきたので、そのことを記事にしていけば良かったが、本職にするまで個人的には突き詰めてきて、新たに学ぶモノが減ってきた。
- 最近は Gulp も廃れてきてビルド周りの npm 界隈が落ち着いてきたし、フロントエンドフレームワークも Angular・React.js・Vue.js あたりで落ち着いてきた。ブラウザハックも必要なくなってきて、目新しい技術が (僕個人が観測する範囲で) 減ってきた。
- そんな中で毎日、「なんとか記事を捻出しなきゃ」という思いだけでネタをでっち上げて書いているから質が落ちてきた。
こんなところだろうか。
自分の中で新たな学びがないままなので、「この記事を未来の自分の備忘として書こう」とか、「過去の自分がコレを見たら喜ぶだろうな、という書き方をしよう」とかいう感覚がなくなっていた。
プログラミングに関しても、WSH や VBA を通じて Windows や Excel 周りでは出来ないことはなくなってきたし、HTML5・CSS3・ES2015~ES2017・TypeScript 辺りも一人で何だって書けるようになってきた。技術的には出来ないことはなくなってきたし、他人のコードを見てもよく理解して読めるようになってきたので、何というかあらゆることへの感動が薄れてきた感じ。
個人的には、新しいものをバンバン追いかけたい欲はあまりなく、適切な技術が適度に枯れていくのは良いことだと思っている。やりたいことや作りたいものの根源は技術やフレームワークには依存しないはずで、それをいかに簡単・便利に作れるかどうかしか変わらないのだから。
例えば個人的にはフロントエンドフレームワークは Angular (Angular CLI) に則って作るのが一番安定しているなと思っている。全てを Angular の世界で賄うことによるシンプルさ、CLI によって SCSS や TypeScript による開発・テストも一貫して行える。考えることを減らしてくれることが嬉しい。現行のバージョンで特に困ってないから、このままバージョンアップなんかしないで思考停止させておいてくれないかな、とすら思う。
僕にとってこの先大事になってくるのは、「どんなプログラミングスキルを持っているか・学ぼうとしているか」ではなく、「そのスキルで何を作るか」にかかっているんじゃないかなぁと思う。CSS の使い方は分かっていても、それを効果的に使ったデザインやコンポーネントを作って発信できないなら、何もしていないのと同じ。いくら最新の JS を知っていても、それを利用して何かウェブシステムやウェブサービスを作っていけないなら、ただ言われたことをやるだけの開発要員から抜け出せない。それはそれで職人っぽさはあるものの、目新しさも楽しさもなさそうだ。
しかし今のところ、プロダクトに対する熱意とか、サービスを運営していく気概とかもなく、自分が困っていることとか解決したいこととかもない平穏無事な生活が続いているので、そういうネタも思い浮かばない。
実はチマチマと npm パッケージを作って公開はしているのだが、Fork したモノ以外はお遊び的なマイクロ npm パッケージばかり。僕はあまり「世の中を便利にする」とかいう意気込みはなく、「何か使っていて楽しいモノ」とか「技術的な面白さを表現したモノ」とかが好きみたい。効果のないナンセンスなプロダクト・サービスが好きなのだ。
しかしナンセンスなプログラムではなかなかブログでの収益も上げづらい。「面白さ」に振り切ることも難しいし、そうでなければ役に立つ情報を提供していくことでリピータを増やしていくしかない。それなのに役に立ちそうな情報すら投げやりな書き方をしていては、近いうちに閲覧者に見捨てられそうだ。
ここはひとつ、技術ブログの執筆において「こういう要素を盛り込んでおけば適切な文章になるだろう」というある程度の定型を考えて、それを守った記事を書くようにしないといけないかな、と思う。
例えば、各記事は以下のような要素を漏らさず書くとか。
- 遭遇している問題・解決したいこと : 前提を明らかにすることで、何の記事か明確にする
- 環境情報 : OS や利用ライブラリのバージョンを正確に残すことで再現性が高まるようにする
- 答え : まずは問題を一気に解決する答えをバンと書いてしまう。記事の中で「能書きはともかく答えはどれなの?」とならないようにする
- 詳しい解説・経緯 : そのあとで答えを導くに至った経緯や試したこと、失敗した方法などを残しておくことで、「理解して進められる」ようにしておく
この辺が結構雑に書いている記事が増えてきたので、ちゃんと見出しとして整えるようにしようかなと思う。
あとは、「解決したい問題ばかりが記事のネタじゃない」という目線も忘れずに。
当たり前だと思っていて書いてこなかったことを改めて文章化するとか、特定の答えが出ない課題を考え直してみるとか、そういうことでも、あえて記事にすることで、自分の中でも改めて気付かされることもあるかもしれない。読む人にとっては初めて知ることもあるかもしれないし、もしくは反面教師にするでもいいので、何か良い影響・効果が出ればいいのかな、と思う。
もう少し丁寧に記事を書いていこう。