まだプログラミングが出来なくて消耗してるの?
プログラミングという単語が市民権を得てきた今日で、まだ「プログラミングが出来ないよお(>_<)」とのたまっている皆さん。
自称初心者でいるのは良いですが、いつまでも素人のままだとモテませんよ?
Photo byWaag Societyこんにちは、谷口です。ITエンジニアとして働いている皆さんは定期的に勉強をしていますか?『How Google Work...
ITの進歩は目まぐるしい
これは何もエンジニアの宿命というわけではありませんが、IT業界は技術進歩のスピードが圧倒的に早いため、情報感度を高めて、さらには実際に触ってみるなどの必要性が出てきます。
自分はソフトウェアエンジニアですが、ソフトの世界だけでも、毎日のようにGitHubには新しいモジュールやプロダクトが上がり、既存の技術はメジャーバージョンアップして仕様が変わります。
この流れに身を任せ、更には流れを作りだす人になることが、エンジニアとしての市場価値を高める最大の手段と言えるでしょう。
本を読んで勉強した気になるな
これ、よく「プログラミングが出来るようになりたくて、今これを読んでいます。」なんて言う人がいるんですけど、「料理が上手になりたいので、毎日クックパッドを見ています。」ぐらい意味がわかりません。見るだけで上手くなるのは天才だけです。元々見なくても多分上手くできちゃうタイプの人です。
プログラムなんて、本に書いてあるコードをそのまま写経しても動かないことなんてざらにあります。OSの違いからバージョン、環境変数から入っているモジュールの依存関係まで、動かない原因なんてそれこそ星の数ほどあります。
そういった実際に使える知識・経験というのは、本にはほとんど書いていないです。そして、このデバッグの部分が、誇張でも何でも無く作業の9割を占めます。
だから、もう本を読んで勉強した気になるのは辞めましょう。今すぐコードを書いてみましょう。あなたが凄く簡単だと思っていることすらできないですから。
「今から一時間以内にCentOSにApacheでWebサーバを立ててください。ポートは8080でお願いします。」
みたいなこと言われて、「名前は知ってるな…でもどうやるんだろう…」ってなった人は、是非やってみましょう。今はネットがなんでも教えてくれますよ。
優秀なエンジニアも日々勉強している
前述のApacheぐらいなら、それこそ10分で出来る人もいると思います。ですが、実際のプロダクトはもっと複雑です。
そういった時、解決策をポンと出して、実際にものの数時間で解決できるという人は、極稀です。よほどその作業に精通していないと出来ないでしょう。
ほとんどの人は、知識はあってもやったことがない状態からのスタートです。そう、みなさんと同じなんです。だから、今からやりましょう。スタートを切るタイミングは、みんな等しく平等です。
何からやればいいの?
何もやりたいことがないのにプログラミングが出来るようになりたいというのは、全然お腹が空いてないのにご飯を食べたいと言っているようなもので、錯乱中か中毒かのどちらかです。
もしやりたいことがあるのなら、とりあえず言語はなんでもいいので、書いてみましょう。やっていくうちに、これじゃないとか気付くはずです。そしてその気付きは決して無駄ではないです。
言語なんてただの手段ですから、色んな言語に触れて、このシチュエーションにはこの道具だなという知見を、どんどん貯めていきましょう。
それでも不安な人は、言ってくれれば相談に乗りますよ!少しでも世の中を良く出来るように、ちょっとでも進んでみましょう。
まとめ
実際に動くことで得られるものは、読み聞きしたものよりも遥かに多いです。どうせ死にはしませんから、どんどんやってアウトプットを出しましょう。それがプログラミング上達の全てですよ。