見出し画像

同人技術書をもっと流行らせる、そんなサービスを。

こんにちは、いぬっくすです。

昨今、プロジェクト開発を円滑に進めるための様々なものが生まれ便利になった反面、覚えなくてはいけない技術の数がどんどん増えていると感じています。

新しい技術を学ぶためにはいくつか手段がありますが、変化が激しいこの時代ですからさくっと勘所を学びたい。その際よく考えるのは「技術サイトは情報量が少なく」「書籍は多い」と。なのでその中間くらいの立ち位置の情報量で、新しい技術を学べる手段が欲しいと思っておりました。

結論はタイトル通りなのですが、ここから本文になります。

求められる知識の数が多すぎる

エンジニアは日々新しい技術を習得する必要があります。
技術の進歩とともにプログラミングの安全性は上がり、技術者の手間は大きく減りましたが、必要となる知識の幅はどんどん増えていってます。扱うツール数も以前に比べてかなり多くなりました。

現在関わっているプロジェクトを調べてみたところ、このプロジェクトを完成させるために必要な技術知識数は37個でした。これはプロジェクトで扱う細かなライブラリを抜いた数です。(技術知識数、ライブラリの選定は筆者の独断チョイスです)

まずサービスを作るために必要となる基礎知識。

・HTML,CSS,JavaScript
・Go
・SQL,MySQL
・Linux(コマンド)
・Git

さらにプロジェクトを進めていくと…

・生だと使いにくいから拡張して使いやすくしたいよね
=> Scss, TypeScript
・今風なリッチなサイトにしたいからSPAでしょ
=> Vue.js, Nuxt.js
・チーム開発するから静的チェックは必要だよね
=> ESLint, Prettier
・ブラウザの表示速度を上げたい!速度がすべてだ!
=> PubSub, Redis
・チャット?リアルタイム性が必要だよね〜
=> Firebase (Authentication, Functions, Database)
・開発環境は開発者の自由にさせてよ!
=> Docker
・毎回デプロイボタン押すの面倒。自動化自動化
=> CircleCI
・今時クラウドでしょー!
=> AWS/GCP/Azure (の各種サービス)


増える。増えていく。プロジェクトが進むにつれ、日が経つにつれどんどんと…

フロント、サーバ、インフラの技術に始まりそれを支える各種サービス/ツール群の知識が必要になってきます。Javaが扱えて、Linuxサーバーを物理的に建ててLANケーブル経由でwarファイルをtomcatにアップすればよい時代は終わりました。

また合わせてVSCodeなどの開発エディタや、プロジェクト管理ツールなど開発の周辺知識(と最適化)も必要になってきます。「BacklogでAPI公開しているから管理画面と連携しといて」と言われた日には。そりゃ必要ならやりますが。

現代は各種サービス/ツールのメリットデメリットを理解して、要件にあった適切な技術を選択し、最終的に手間をかけずにプロジェクト開発を進めていく必要があります。

そのためには多くの知識が必要です。

現状考える4つの問題点

1. 技術書は値段が高く情報量が多すぎる
私の机の上にあった技術書は300〜400ページ。37もの技術(適当)を扱う必要があるため、(適当に)計算すると13000ページ(適当)です。

技術を手に入れるためには、昔ながらの会社に勤めて先輩の下で技術を一つずつ学んでいく方法も可能です。ただ、スキルアップして転職したい・フリーランスになりたい等、自分の技術力次第で自分のやりたいことが出来る世の中になってきたので、様々な技術を今以上に手軽に学べる手段は必要と思います。むしろ欲しい。

2. 正直、公式サイトの文章は読みにくいことがある
技術書の情報量に対して話をすると「本家サイトで学べば良い」と言われることが多いのですが、正直読みにくいものがあります。私にとっては技術書や技術サイトの方が、噛み砕いて説明してくれるので分かりやすいこともあります。

manコマンドではなくQiitaのサイトを探してしまう私がいる…

また、最新バージョンは英語でしか公開されていない場合も多いので、お金を払っても日本語に翻訳された読みやすい情報が欲しいと思ってます。理解できずに進めて時間をかけるより、お金を掛けても理解して進めた方が結果的に短い時間で終わります。ソシャゲ課金と同じ時短が大事ですね。

3. 自分のレベルにあった書籍が欲しい
本屋に並べられた書籍は初心者向けのものが多いです。私も何冊とお世話になりました。

そして一定以上の技術力を持つと行き着くのは「動物の絵柄の本」になります。そう「言い回しのオライリー」さんの登場です。そこについては何も触れませんが、中級者・上級者向けの、分かりやすい、まとまった情報が必要なのではないかと思います。

例えば…

・Nuxt.jsを爆速化させたいHowTo本
・ちょっと詳しく聞きたいGOのパフォチュー本
・GCP管理者権限について教えてくれる本

それぞれ検索すれば紹介しているサイトが出てくるのですが、複数のサイトをみていくより、詳しい説明がある書籍を一冊読んだ方が抜け漏れなどなく十分な知識が得られる場合が多々あります。

4. 技術は情報のアップデートが激しい
書籍化までは時間は結構かかるため、最新のバージョンに対応できていない場合があります。むしろ執筆の途中でも出来るだけ最新のバージョンに合わせていただける筆者の方々には頭が上がりませんが、バージョンの方もそれを無視してどんどん上がっていきます。(当たり前ですが)

バージョン毎の違いなどサイトで情報を公開する方もいらっしゃいますが、お金や達成感など何かがないと更新を続けていくのも大変です。なので時代と個人にあった情報の公開手段がもう一つ増えてもよいのかなと思います。

同人技術書

そこでタイトルに戻るのですが、これらの問題点を改善できる手段の一つが同人技術書という領域ではないでしょうか。ブログが廃れTwitterが流行ったように、現代人にあった「適切な情報量」を模索していきたいと思っています。

これはQiitaやはてなブログなどの技術知識を公開するサイトに取って代わるわけではないと思ってます。ちょっとしたHowToや、特定のエラーの説明などは今後も必要です。ただ、新しい技術を学ぼうとした時にサイトの1ページに収まる情報量だけでは足りないと感じてます。

また、書籍に関しても初心者には必要です。私も最初はまず1冊購入してみてサンプルプログラムを打ちながら進めていったものです。ただ2冊目、3冊目と増えていくにつれ、分量の多さに全て読まずに「積み本」になっていった本も少なくありません。

それぞれの立ち位置について書きましたが、ざっくりまとめるとこんな感じです。

サイト < 同人技術書 < 本

というわけで、同人技術書に特化したサービスがあればよいなと漠然と考えつつ半年。先月くらいから着手し始めました。

最初のターゲットはエンジニアですが、デザイナーの知り合いにも飲みの席では喜んでもらえたので、特に制限つけず作っていきたい思っています。

それでは:)


この記事が気に入ったらサポートをしてみませんか?