2014-10-04 独学でプログラミングを勉強しても実務に通用しにくい理由 独学でプログラミングを勉強してIT業界に就職したけど、やはり独学で得た技術だけだと通用しないと思う局面が幾たびもあった。 今は本はたくさん出てるし、動画もあるし、生のコードを読みたければGitでいくらでも読めるし、独学で勉強する土台はかなりできていると思う。 それでもなかなか実務に通用しない。 その理由はいろいろあるんだけど、自分が強く感じた3つの理由をこの記事では挙げたい。 1.独学では妥協をいくらでもできる 独学で作っているプログラムだと、使い勝手が悪い機能を見つけたとしても﹁ま、ええか﹂で済ませてられてしまう。 誰に命令されて作っているわけでもないから。極端な話、バグがあっても放置できる。﹁小さいバグだしいいでしょ﹂と。実務でそれをやったら殺される。 ﹁ま、めんどくさそうだしこれでええか﹂で済ませてしまうと、めんどくさい実装をすることで得られる技術の向上がなくなる。 実際、現場だと仕様を拒否する権限がないから、とにかく言われたとおりに実装するしかない。それが面倒でも難しくても。妥協させてもらえない。しかし、その過程で実力がつくわけ。一方、独学にはその種の成長が起こりにくい。 レファクタリングでもそうだな。ソースレビューを受ける機会がないから汚いコードでも妥協してしまう。妥協をすれば実力がつかない。またフィードバックを受けられないのも痛い。 2.興味の範囲内のことしかやらない。 例えば、俺はCSSに興味なかったし苦手だった。ただ現場に入るとそうは言ってられい。興味がないとか仕事には関係がない。だから、興味がなくて勉強しなかったつけを払わなければならなくなった。 つまり、独学でやっていると﹁技術の習得範囲=興味の範囲﹂になりがちだから技術の幅が狭くなる。だから、実務では通用しにくい。 3.自分の実力に合わせた実装しかしなくなる 1.に似ているけど、これも非常にある。実装法が複数あった時に、自分が実装しやすいやり方に傾きがちになる。が、現場ではそうも言っていられない。チームの意向や、コーディング規約や、既存のソースの構造などに実装をあわせないといけない。 実装法の検討もつかないものがある。そういう時は、先輩に質問したり、ググったりして知識をつけていくわけだが、独学にはそれがない。 フリーランスの人が﹁自分の実力外の仕事を引き受けるわけにはいかないから実力の向上が停滞する。会社勤めだと、例え、自分が詰まったとしても他の人がなんとかしてくれるという安心感があっていろいろと挑戦できたが・・・﹂と言っていたのを思い出す。 ・まとめ まとめると、独学だと勉強の範囲を自分で決定するからその分、技術習得の幅が狭まりがちで実力がつきにくいってこと。 あくまでこれは俺個人がそうだったって言う話で一般的にどこまで適用できるかわからない。ただおおよそ外れてないと思う。︵独学でやっていた人なら頷ける所も多いと思う︶ ただ、独学でやっている人は嘆く必要がなくて、逆に 1.妥協しない 2.興味がなくても需要がありそうな技術なら勉強する︵ここは異論あるかもしれないけど。興味がないことは続かないから・・・︶ 3.難しい実装にも挑戦してみる ということを心がければいいのじゃないかな。まあそれが難しいだけどね。今もプライベートで製作してるけど、縛りがないからどうしても仕事の時よりさまざまな面がゆるくなってしまう。 逆に縛りのなさを活かせればいいんだけどね。仕事ではできないような実装だって自由にできるわけだし。 人気記事 シェアハウスは性が乱れてます。 - ピンク色のサロンで出したい白い液体よりも大切なもの - 処女厨とディズニーランドの関係 - 25歳ニートが未経験で正社員プログラマーになれた秘訣 ︻失恋︼25歳上京君、アタックされて振られた