こんにちは!好奇心おばけのかわそん (@KKohey4)です!
本記事の内容
- 脱初心者のためには「徹底的なアウトプット」を
- プログラミング自体の技術を磨くべき
- 「仕事」を取れば責任が生まれる[当たり前]
この記事を書いている僕は、年間50人以上にプログラミングを指導しています。
その中で、「力をつけて頭一つ抜き出る」生徒さんには、共通点があることに気づきました。
今回はそれを共有します。
3分だけお付き合いくださいませ(`・ω・´)ゞ
目次
[キツイ]プログラミングで脱初心者するためにはアウトプットが必須
結論からいうと、
上記の通りです。
では、今回は以上です。
、、、これじゃ少し寂しいので、もうちょい深掘りしてみましょう。
脱初心者のために「アウトプット」が必要な理由は2つ
なんで、アウトプットしないと、脱初心者ができないのか。
理由は下記の通り。
- 知識が定着するから
- できることの幅が広がるから
上記の通り。
アウトプットをすると、今まで「受け身」として勉強してきた知識が、自分のものになります。
あと、ググりつつ進めることになるので、シンプルに技術の幅も広がりますね。
✔️実際のアウトプットの例
ちょっと具体的にみてみましょう。
僕の例です。
web系のプログラミングに興味を持ちました。
これが2年くらい前。
そして、テックアカデミーを受講。
Railsという技術を身につけました。
ここまでがいわゆる、「インプット」の段階ですね。
そこから、自分が欲しかったものを、作り始めました。
Twitterを解析して、オススメの本を教えてくれるアプリ。
クリエーター用のECサービス。
これを作ることで、さらにRailsを使った技術レベルが上がったっていう感じですね。
環境構築にも取り組みましょう
プログラミングでは環境構築が必要です。
初心者のうちは、避けてOK。
というか、避けるべき・逃げるべきというのが、僕の意見です。
トライするのはOKですが、
「出来て当たり前」
っていう思考を持っていると、コケますので。
ですが、ある程度プログラミングができるようになったら、環境構築にも取り組んでみるといいかなと。
たぶん、初心者のころよりは、かなりやりやすいはず。
Docker、場合によってはkubernetesとかも触ってみると、「環境を作る」練習が出来ます。
ここから始めるのはズレてますが、
ムシできるところではありません。
アプリ層よりも一歩深いレイヤーに飛び込んでみましょう。
✔️参考
[必見]プログラミング初心者が必ずぶつかる3つの壁[攻略セヨ]
注意:アウトプットはきついです
もちろんですが、、、アウトプットはキツイものです。
というのは、自分で切り開くしか無いから。
例えば、さっきのTwitter解析アプリ。
・解析結果をどう処理しよう
・それを「本」と繋げるには、、、
無限に考えることが出てきます。
、、これ、なれないうちは、まじでしんどいかなと。
でも、動いた時の喜びとか、達成感は大きいです。
最初だけ、ふんばりましょう。
脱初心者のためにはプログラミング自体の技術を
Paizaとかで、プログラミング自体のスキルを高めましょう。
というのは、けっこうあるあるなのですが、フレームワークに頼りすぎるところがあるんですよね。
Railsだと、フレームワークが処理を「よしな」にやってくれるので、人間は最低限のコードを書けばいいです。
確かに便利なんですが、、、
これは「フレームワーク」の力で、「プログラミング力」とは、ちょっと違うと思ってます。
この点が大きなポイントかなと。
フリーランスエンジニアのとださんも、こんなことを言ってましたし。
Railsはじめたよって人はPaizaでRubyの問題を毎日解きましょう
Railsやってると「Ruby出来なくてもいけるやん」と錯覚に陥るのですが、現場では主にRubyを書きます。フレームワークで出来る仕事ばかりこなすエンジニアには価値はないです
レベルCまで解けるようになろうhttps://t.co/g7Z18mspQ1
— とだこうき@東フリCTO (@cohki0305) April 28, 2019
学習する順番は「成功→鍛錬」です
ここまで読んで、
と思う方がいるかもですが、NGです。
というのは「感動」がないからですね。
将来的にコードを書いていきたいなら、一歩目の成功体験が必須。
ここを踏まないまま、「数学ドリル」的なところから始めると、イヤになります。
まずは小さな成功体験から。
最初は理解<体験でOKですよ。
詳しい話はこちらで紹介しています。
✔️参考
Rubyの特徴は3つあり、初心者に最適という話[僕は救われた]
脱初心者の最短経路は「環境に飛び込むこと」です
アウトプットで「脱初心者」ができます。
でも、もっと早い方法がありまして、
「成長できる環境に飛び込むこと」
ですね。
強制的に、スキルを伸ばすことができますので。
インターンやベンチャー、スタートアップ企業と関わりましょう。
プログラミングの勉強会でもOKです
なかなか挑戦できる環境じゃない、、、
家族もいるし、自分だけの人生じゃないから。。
というなら、エンジニアの勉強会でもいいかなと思います。
connpassとかのサービスを使えば、気楽に探せますし。
ですが、効果は薄いというのが実際のところかなと。
やっぱり、、、「受け身」になっちゃうんですよね。
「勉強会に行くこと」に満足しちゃって、肝心の学びは薄いみたいな。
勉強会は学びは0じゃない。
これくらいの感覚で、どうぞ。
プログラミングで稼ぎに行くのもあり
「環境に飛び込む」のと似てますが、
「成長できる環境を作る」
という考え方もあります。
プログラミングで仕事をとってみることですね。
なんで、これがいいのか。
上記の通り。
まあ、考えてみれば当たり前ですが、「仕事」なので、そこには「責任」が生まれますよね。
何としても作りきらないといけない
お客さんに満足を
こんな「力」が働くので、無理やり成長できますよ。
✔️8割の力でいけると思ったら、受けてOK
じゃあ、どれくらいの仕事を取ればいいのか。
結論は
上記の通り。
たぶん、初心者のころは、認識と現実がずれているはず。
これを踏まえつつ、成長しつつ、やりきれるレベル感が8割という感じ。
もちろん、これは僕の感覚なので、人によって変わります。
動かないと何もわかりませんよ。
仕事の取り方については、こちらをどうぞ。
✔️参考
[ゲスいが事実]プログラミングは儲かります[時給は青天井です]
まとめ:脱初心者したあとは明るい未来
記事のポイントは下記です。
- アウトプットが必須です
- 知識の定着+技術の拡大
- プログラミング自体のスキルを磨く
- ただし、「成功→鍛錬」の順番で
- 「仕事」にすれば無理やり成長できる
上記の通り。
キツイのは脱初心者のフェーズだけです。
ある程度力をつければ、言語を変えたり、IT技術を学ぶハードルはグッと下がります。
離陸まで、頑張りましょう。(`・ω・´)ゞ
以上です。
この記事が少しでも、次のレベルへの第一歩になれば幸いです。
✔️参考記事
『自分で物を作って、少しでも稼ぐ』、このためには何が必要なのか、話を聞いてみたいです。」