始めに
うい〜っす、まんじです。
今回はプログラミングを独学で挫折しないで実務労働までいった方法的なのをご紹介したいと思います。
なんかタイトルの日本語が変な気がしますが、無視したいです。
ということで、プログラミングをこれからやるよって人とか入門してる方には参考にならなくはないかもしれませんし、ならないかもしれないです。
わりと自己啓発っぽい方面のノリの記事になります。
とりあえず1日のスケジュールを決めた
- 朝9時~夕方17時まではプログラミングをする
- それ以降の時間は好きなことをする
みたいな感じで1日のスケジュールを決めました。(最初の2~3ヶ月は1日4時間だけとかにしてた)
基本的に上に書いたまんまのスケジュールで進めつつ、朝から夕方ぐらいまで適当にプログラミングを勉強というよりも、本当に勉強していたのは最初の2週間ぐらいで、そこからはウェブアプリを作り始めてました。
ちなみにそんなに早くウェブアプリを作り始めるって聞くと「ヤバ天才ィィ!!!!!」と思ってしまうかもしれませんが(思わんか、ごめん)、やっていたことはAmazonのプライムリーディングの無料の本のPythonとFlaskで作るTODOアプリみたいなものをコピペして貼り付けて動かしてみて、ある程度終わってきたら自分オリジナルに変更してただけです。
早稲田最高峰の人科レベルになると、脳死でプログラミングができます。
ハハハh
言語とフレームワークを決めた
ぼくはたまたまPythonでプログラミングに入門して、フレームワークは最初の頃はFlaskで動かして、その後にDjangoを触り始めました。
あの頃はいろいろ言語触るのがめんどくさかったっていうのと、あんまりいろいろ最初に言語増やしても意味ないお!ってネットで見てたので、とりあえずPythonだけ、と、フロントのhtmlみたいなのはjQueryとJavaScriptをコピペして動かして作っていきました。
モチベ維持には大学のゼミの報告を使った
もともとプログラミングを始めたキッカケがゼミで必要だったからなんですけど、ゼミの教授というか、ゼミの作業報告を週に1回面倒でもやったことを書いて教授に提出してました。
教授はだるそうに毎回収録されたビデオで、「エ〜〜〜いいですねぇ〜〜〜〜、今度はデータベースも触ってみるといいかもしれんねぇ〜〜〜」と、今思うとかなり雑なコメントをしていたなwと思うわけなんですが、案外雑でいいから人にフィードバックをもらうってのが大事な気がします。
やっぱ1人だと続けるのがつらくても、誰かに見てもらってやるしかないってなると、継続してやれるもんです。
今週の報告はありません!!ってやるのは何気にそれはそれで面倒だったので、少し事実を捏造してでも、やった風に報告していました。
9ヶ月ぐらい独学で勉強していてモチベも限界になる頃にインターンに応募し始めた
とりあえず黙々と1人でやるのは精神的に限界を迎え始めてたので、そこからはインターンに応募しまくって、無視されまくり書類で落とされまくり、気合で1個受かって実務に入り込みました。
ってことで、実務まで入れたので独学でのプログラミングは終わりを迎えました。
当時を振り返ってみると
比較的簡単に動いて適当に書いても動く言語から触るのはよさげかも
多分プログラミングで挫折するのって仕事にしてからよりも、仕事(労働)にするまでが圧倒的に割合的に高いと思うんですが、その原因の1つがプログラミング言語な気がします。
とりあえずPythonとかは英語みたいな感じで、
print("manzi kakkoii sukisugiru")
for manzi_message in ["manzi", "sukidayo", "sukisugiru"]:
print(manzi_message)
みたいな感じで書けば動くので、Pythonは労働で使わないにしても、おすすめできる気がします。
適当にColaboratoryとかでコピペすりゃとりあえずプログラミングを始められますし、そういう環境構築とかで挫折することもほぼありません。
グーグルコラボレイトリー
ローカルで最初にPythonを2系から3系に切り替える必要があったりする時は少し大変かもしれませんけど、そんなのは脳死でコピペすりゃいいんです。
あとから分かってくる時もありますし、永遠に分からない時もありますが、ノリでいいと思います。
個人的には今だったらJavaScriptとジワジワとJavaScriptに型つけたTypeScriptで入門したいですけど、とはいえ、どの言語から勉強してもそこまで変わらないと思います、というか、変わらないです。
ただ、2年ぐらいプログラムを書いていると、もう新しい言語とかをチマチマと勉強するというか、慣れたり周辺の知識を新しく入れるのがだるくなりますというか、勉強ってのはコストと言えばコストなので、そういうマインドになってきます。(きています。)
いわゆる環境づくりが重要なのは間違いなさげ
えーっとではここで、まんじオンラインサロン月額100万円を開講はしないのですが、やっぱり環境は大事だと思います。
というか、何をするかよりもどこにいるかってのはよく言われるもんで、たかがプログラミング入門でもそうだとぼくは思います。
こういう環境に身を置けるとむしろ挫折するほうが変なやつみたいな空気になるので、そういう環境を作れるのが良いと思います。
独学といえど、本当に1人でプログラミングを孤独にすると挫折するし、何より楽しくないのは間違いなさげです。
やば、ニーズ感じるんで、ここはまんじプログラミングスクール作るしかないのか!?!?
勉強とかだるいからさっさと実務労働入って気合でついていくほうが楽じゃね理論
最近思うのは、最初から労働はかなりメンタル的にきついので、3~5ヶ月ぐらいシコシコ頑張ってウェブアプリっぽいのを作っちゃって、インターンとかそういう系に応募しまくって、1個受かったら気合でそこでブラック労働しながら周辺知識を勉強(というか、手を動かして慣れていく)していくのが最短だし結果的に楽な気がします。し
昔ぼくは独学してた頃に「まだおれはそんな実力じゃ…もう少し自分で頑張ってから…」みたいに言ってたんですけど、あれは幻想でした。夢を見ていました。
いくら自分で勉強しても労働環境のコードのがもっと複雑というかいろいろ意味不明なものが多いと言うか、最初はリアルに95%ぐらい全部分からないのでひたすらSlackで謝り続け、マウントを取られ、ディスられ、コードレビューではボコボコにコメントつけられって感じになるんですが、それを早く経験してお金もらって勉強してしかも現役のわりと普通にすごいエンジニアから無料で教えてもらっていくほうがコスパ良いと思います。
- リーマンエンジニアを続ける
- フリーランスになってエンジニアをする
- ソフトウェア関連のビジネスで1発あてたい
どのケースだとしても、最初に労働でボコられることを効率が悪いと言うことはほぼほぼ不可能です。
なので、勉強とかはある程度(長くて半年~8ヶ月とか?)にして、ボコられにいきましょう。
やってみると、気持ちいよぉっっ。(ロリボ)
まとめ
いわゆる環境づくりと、いつまでにこうなるゾって決めてから、手段としてプログラミングの勉強を始めるのが挫折しにくいというか、しないのではないかと思います。
ただ、プログラミングは向き不向きがハッキリしていると個人的には思っていて、わりとサクッと人生変えたいと思ってる人とか、パソコンの前に長時間座ってられない人とか、パリピっぽい人には、まじで向いてないと思いますし、むしろプログラミングはいわゆる「ナード」って感じっぽい人も実際に多いしそうなりがちだし、って思います。
ってことで、ここらへん書き出すと永遠に脱線し続けて書けてしまうので、「プログラミングで挫折しないためには環境が大事なのでは!」という1行で終わりたいと思います。