新卒で自社開発企業にエンジニア就職

プログラミングは「アウトプット」がかなり重要だった【経験談】

ノロノロ

どうも、プログラミングが大好きなノロノロです。
プログラミングってアウトプットが重要だって言うけどほんとなの?教えてくれ。

読者

という人に向けて記事を書きました。
記事の内容
・プログラミングは「アウトプット」がかなり重要だった【経験談】
結論から言うと、アウトプットは重要です。感覚的にインプットの3〜5倍重要だと思っています。

ちなみに、ここでいうアウトプットの定義は以下です。

・❶:自分で学んだこと、調べたことを試しに使ってみること
・❷:上記で試したことをブログ、YouTube、エンジニア友達等なんでもいいので発信すること
この2つ。

後者はちょっとしんどいんですが、継続的にやると自分の技術力はかなり上がると思います。

僕自身、自分で調べたことは一度コードに書いて動きを試し、その結果をブログやTwitterにアウトプットすることで技術力は伸びましたよ。




プログラミング力を伸ばしたかったらアウトプットすべし

僕が実際にやっているアウトプットを紹介します。

・❶:Qlita、Udemy等で調べたことを、自分なりに解釈してコードを書く。
・❷:動きを実装するまでの過程、ハマったところを発信
特に変わったことはしてないと思います。

自分が気になることを調べ、動きを機能させることに時間をかけ、達成したら発信。これだけです。

・❶:Qlita、Udemy等で調べたことを、自分なりに解釈してコードを書く。

ここはプログラミングを学習している人ならみなさんやってるかと思います。

例えば、下記のような記事があったとして

この記事に書かれてあることを、自分の開発アプリに試してみたり、新たに簡易アプリを作って実験すればいいだけ。

ただ、その際に注意点があります。

コピペだけで終わらせないこと
言葉の通りです。コピペだけで終わらせないようにしましょう。

記事に書かれてあることの大まかな流れを理解するよう心がけ、作業化してしまわないようにするのがベスト。

def create
@like = Like.new(user_id: @current_user.id, food_id: params[:food_id])
@like.save
@food = Food.find_by(id: @like.food_id)
@like_count = Like.where(food_id: params[:food_id]).count
end

def delete
@like = Like.find_by(user_id: @current_user.id, food_id: params[:food_id])
@food = Food.find_by(id: @like.food_id)
@like.destroy
@like_count = Like.where(food_id: params[:food_id]).count
end

上記記事にはこういうロジックが説明されているのですが、「なぜこうなのか?」「逆にこうじゃダメなの」?みたいな思考が大事です。

この思考を繰り返すことで自分の技術力は飛躍的に高まりますし、精神がどんどんタフになっていきますね。

自分の頭であれこれ考えるのってまじでしんどいんですが、この作業を繰り返すかそうでないかでかなり差が出てくると思いますよ。

MEMO
自分なりに解釈してコードを書くことで技術力は飛躍的に高まります。

・❷:上記で試したことをブログ、YouTube、エンジニア友達等なんでもいいので発信すること

ここは結構きついです。きついというか、継続的にやろうと思うとめんどくさいですよね。

それもそうで

・調べたことを自分なりに解釈し、理解を腹落ちさせるだけでも脳みそを使う
・時間がかかる
・具体的にどう発信すればいいかわからない
こういったものががあるのでなかなかしんどいです。

ただ、自分で試したことを発信するのは知識定着に繋がるのでやるべき。

例えば

・ブログ→自分で試したことを1000字くらいでまとめる
・Twitter→100字くらいで簡単にまとめる
・Qlita→自分のやったことを事細かくアウトプットしてみる
こんな感じですかね。プラットフォームはいくらでもあるので、自分に合ったものを選ぶのがいいと思います。挫折しにくいですし。

僕はブログ、Twitterと相性がいいですが、YouTubeで発信したい人はそうしたほうがいいです。

最悪なのは続かなくなることなので、いやいや自分に合ってないものを選ぶ必要はないのかなあと。

MEMO
自分で試したことを発信するとなおよき。

・インプット2:アウトプット8くらいの割合がいい

これは僕の体感だけなので申し訳ないのですが、インプットとアウトプットの割合は2:8くらいがいいと思います。

・インプット
→書籍、Udemy、Progate、ドットインストール、Qlita、公式ドキュメント等で知識を得る
・アウトプット
→インプットしたことを試してみたり、発信する
上記を2:8のサイクルで回すのがベストかなあと。

アウトプットしまくっても知識が増えないとダメで、最新の情報をキャッチアップしていかないと腐っていきます。

なので、「自分でコードを書く時間」と「知識を頭に入れる時間」は別で設けるのがいいと思いますよ。




プログラミング始めたての人はアウトプットだけでもいい

インプットもするべきだと言いましたが、プログラミング始めたての人はアウトプットばかりやってもOKです。

インプット0.5:アウトプット9.5くらいがちょうどいいです。

・基礎ばかりやっていても技術力は伸びない

「基礎学習=インプット」という前提で話しますが、基礎ばかりやっていても技術力は伸びません。

Progateで永遠とeach文、if文、演算子とかをやっていてもあまり意味はないんですよね。

初心者の人がやるべきは「アウトプット」なわけで、一通り基礎が終わったらポートフォリオを作りましょう。

・簡単なフリマアプリ
・簡易投稿サイト
・レビューサイト
・予約サイト
・近くのコンビニを検索できるアプリ
ほんとなんでもいいので、一回自分で何か作ってみることが大事。

足りない知識を補いながら進めることができるので、圧倒的に成長できますし、自分の得意不得意がはっきりわかりますよ。

もちろん自分でアプリをつくるのはしんどいです。簡単なエラーで小一時間悩まされることもありますからね。

ただ、「自分で作ること」が1番成長できるのは間違いないので挑戦してみましょう。

・時間を見つけてアウトプットしよう

下記記事でも説明してますが、プログラミングがゴリゴリ上達する人の特徴として「量をやっている」というのがあります。
プログラミングが伸びる人の特徴が見えてきたので話そうと思う 中には時間を見つけるのだけでしんどいわって人もいると思います。

時間がない中で、こんなにアウトプットするのは無理すぎるっていうのもわかります。

ただ、プログラミング力を確実に伸ばすためにはこれくらいのアウトプットは必要最低限だと思うんですよね。

でもやっていけば慣れますよ。2週間もすれば、「始めきつかったアウトプット=普通」くらいになってますから。

ノロノロ

まさに僕がそうでした。
というわけでアウトプットは大事です。

いろんな人が言ってると思いますが、経験的にも事実です。アウトプットしないとプログラミング力は伸びないですね。

ただ、アウトプットを毎日継続的にこなせば確実にプログラミングは上達します。これは本当に。
楽ではないプログラミング独学勉強法【まずは脱初心者を目指そう】 【1周目】テックキャンプ(エンジニア転職)記録 【スパルタ】 【2週目】テックキャンプ (エンジニア転職)の記録 【精神崩壊】 【3週目】テックキャンプ (エンジニア転職)の記録 【楽しい】 【4週目】テックキャンプ (エンジニア転職)の記録 【ワクワク】 【5週目】テックキャンプ (エンジニア転職)の記録 【試行錯誤】 【6週目】テックキャンプ (エンジニア転職)の記録 【発表会】 【7週目】テックキャンプ(エンジニア転職)の記録 【共同開発】 【8週目】テックキャンプ(エンジニア転職)の記録 【終盤】 【9週目】テックキャンプ(エンジニア転職)の記録 【終了間近】 【10週目】テックキャンプ(エンジニア転職)の記録 【卒業】

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA