😸

プログラミング学習で詰まっている人、経験が浅いエンジニア必読! ドキュメントを書く習慣があると別人になれる!

2023/11/13に公開

はじめに

今自分は頻繁にQiitaやZennに学んだことや調べたことや実装したことをドキュメントに書いて
アウトプットを続けています。ルーティンみたいになっています。
実際QiitaとZennの投稿だと300投稿を超えます。なんでこんなにも続けられるのでしょうか。

なぜドキュメントを書き始めたか

某開発会社の人事をやっていて元Yahooのエンジニアの方のお話を聞ける機会がありました。
2020年コロナ禍でプログラミングブームが起きていて、1社に未経験者が毎月100人以上の方から
応募があったみたいです。それでその月に1人未経験者を採用しようとなった時に、
採用の決め手がQiitaへのアプトプットを毎日やっているからでした。

技術力はそんなに変わらなかったみたいです。
実際に毎日アウトプットする習慣があると今後の伸びしろがあると判断できたからです。
そんなお話から 「1ヶ月続けるだけでも全然違う」 とお話を聞くことができました。
こうしてドキュメントを書いてみようーってなりました。

ドキュメントを書く前の自分

とにかくひどかったです。スクールでもメンターの方は間違いなく自分に1番手を焼いていました。どのくらいひどかったか。

1.インプットばかりして教材を周回する。アウトプット
これじゃ上達しません。

2.コードの意味も考えずにがむしゃらにコードを書いたり、コードをコピペする
ただがむしゃらにコードを書いたりしているだけで、今何をやっているのかをわかっていなかったので、全く実装がうまくいきませんでした。

3.質問がまとまらず、何回もやりとりをしてしまう
普通なら10回以内のやり取りで済むのが30回、40回もやり取りすることがありました。

4.仮説がめちゃくちゃ
ちゃんと言語化できなかったりするとエラーを解決する際にも仮説なんかめちゃくちゃです。
これだとどんどん変な方向に流れてしまいます。

5.日報などの文章が汚なすぎてダメ出しばかり
とにかく文章も質問もわかりづらくてやり直しになったり、怒られてばかりでした。

6.自分がコミュニティで発言してもダメ出しばかり
何を発言してもダメだしばかりでした。

ex)
・その発言するなら質問したって答えない
・お前の発言わかりづらい
・なんでエンジニアになりたいかわからない。
・君にはエンジニアは向いていない

こんな感じでした。

7.家族やメンターからも「エンジニア向いてないから他の仕事を探せよ」みたいな話をされる
家族やメンターからも毎回同じような事を言われてました。

ドキュメントを書き始めてからどうなった?

こんな毎日ボロクソに言われてきたのですが、
ドキュメントを1ヶ月書き続けたら以下のようなことを言われました。

1.質問がわかりやすくなった
前と比べたら圧倒的に質問がまとまるようになってきたので、
質問のやり取りもだいぶ減らすこともできました。

2.今何をやっているのかを考えながらコードを書くようになった
前はコードを説明しながら書くという大事なことができていなかったです。
しかしドキュメントを書き始めてから今自分で何をうやっているのかを理解しながらコードを書くようになりました。これが質問力が改善された理由だと思っています。

3.日報などの投稿がわかりやすくなり、コミュニティで文章がうまい人認定された
日報の文章もうまくなったので、コミュニティやメンターの方も僕の投稿した文章や発言も読んだり、聞いてくれるようになり、「文章うまい」 と周りから言われるようになりました。

4.仮説もちゃんと立てられるようになった
前はめちゃくちゃな仮説を立てて実装しても変な方向に実装している状況でしたが、
めちゃくちゃな仮説を立てることはなくなり、実装もだいぶできるようになりました。

その後に共同開発をやり、実務案件に入っていきましたが、
コードレビューでプルリクエストがめちゃくちゃだというフィードバックを何回かもらいました。しかし、1ヶ月以内に改善できました。これもドキュメントを書くなどの積み重ねがあったからだと思います。

まだまだ自分はエンジニアとして「ひよっこ」 なのでこれからも精進して行きます。

書く時のポイント

1.先生になったつもりで書く
こちらは以前、僕が学んでたオンラインコミュニティのメンターの方から教わったことです。
エンジニア以外を例に出します。

ex)
実際に学校の授業とか英会話スクールとかで、1番勉強になっているのは
授業をやっている先生です!。人に説明するのが1番勉強になっています。

SHOWROOMの前田裕二さんも学生時代に英会話を身につけるために
英会話の先生をやっていたくらいです。

中田敦彦さんもYoutubeであれだけ本の内容やニュースなどを人に話しているので、
あれだけ色々な知識が身に付いています。

2.小学5年生にもわかるように(これがかなり難しい)
こちらも以前、僕が学んでたオンラインコミュニティのメンターの方から教わったことです。
難しい言葉ではなく、自分の言葉で小学生にも伝わるように説明することって
一見簡単そうですが、難しい言葉を簡単にするほど難しいことはないです。

ただこれができるとめちゃ優秀です。 例えば池上彰さんって教え方うまいですね。
あの方が凄いのは難しい言葉を簡単に説明できるからです。

「実際にお前はどうなんだ」って思うかもしれないですが、
僕もあまりできていないです。なので日々勉強です。

どういうネタを書けばいい?

1.自分が実装したことに関する記事
実務でも個人の開発でも何でもいいのですが、自分がやったことの方がいいです。
これが1番書ききやすいですし、勉強にもなります。

2.先輩、同僚、メンターからのアドバイス
実際にフィードバックをもらったりしたならいつでも見返したり、
次実践できるようにアウトプットするといいです。

3.自分が学びたいもの、学んだこと、調べたこと
これもアウトプットしておくといいです。
1回やったことを文字にしておくだけで、頭にインデックスができます。

4.自分の考えていることを文字に起こす
自分の考えていることや頭でモヤモヤしていることは文字に起こすのが1番です。
何を考えているかを視覚的に言語化できると何にモヤモヤしているのかなどを
1発でわかります。

他の人も成果が出ている

僕以外も成果は出ています。自分がいたコミュニティのメンターさんも僕と同じような境遇でしたが、ドキュメントを書くことを始めてから急成長できたみたいです。

有名なエンジニアの方も実践

こちらの方はCherry本というRubyエンジニアのバイブルとも言える本を書かれた方の記事です。
この方も入社当初はドキュメントに書いてアウトプットをされてたみたいです。

https://levtech.jp/media/article/column/detail_285/

この方のQiitaは凄い勉強になります。

https://qiita.com/jnchito

ドキュメントを書く時にこれは注意

ドキュメントに書く時もマナーはあるので、気をつけて欲しいです。
実際は自分も未経験の学習時代にこの辺のマナーがわからずに、
謝って無断転載をやってしまいました。厳しめの指導を受けてかなり落ち込みました。(泣)
(優しい方だったので、何事もなかったですが)

場合によっては、訴えられたりしますし、実務のコードをそのまま転載したら、
始末書を書くことになったり、解雇されたりするので気をつけましょう。
以下の記事を読んでおいてください。

https://qiita.com/jnchito/items/215c2d51599eb29adabc

最近の傾向だとZennの方がいいかも

Zennがかなり有益な記事が増えてきて、
エンジニアのプラットフォームはZennに移行する傾向
にあるみたいです。
自分もQiitaよりZennに書く機会が増えてきました。
下の動画でも紹介されていました。

https://www.youtube.com/watch?v=VsAdpD6zw_c&t=3s

最近Qiitaを未経験の人もたくさん書くようになって、
プラットフォームとしての質が下がってきた
みたいです。なんとなく感じます。
自分も最近「この記事いいなと思う記事」はZennの方が多い気がします。

未経験の方に求める基準は上がっている?

ドキュメントを書いたから転職はうまくいくって訳では無いです。

前はQiitaやブログでアウトプットしていれば差別化はできていましたが
ドキュメントを書いているだけで評価されなくなってきたみたいです。
でもドキュメントを書いたことが評価される会社もあります‼︎
その他はカルチャーフィットとかマインド、思考法、チームプレイができるかなどもあります。
未経験に求める技術レベルは上がっているみたいな発信見かけますが、
ぶっちゃけそうでもない
です。僕なんか自作ポートフォリオなんか作っていないです‼︎

モダンな自社開発企業が未経験に求めているレベルが上がっているだけです‼︎
自社開発もピンキリですし、
開発エンジニアでデビューするだけならそんな大してレベル上がっていないです‼︎
少しレガシーな技術を使っている現場やってからモダンな現場に行くのがいいと思います。

ちなみにモダンな技術使っているから高年収、高待遇って訳ではないですよ?
会社を1社、1社見ていく必要があります‼︎

Discussion