最近、クライアント(お客様)から、
「マイケルさんて、実装めちゃ早いですね〜〜」
と、ふとした瞬間に言われました。
「あ、あ、あざます。。。」
という感じで、うまく返答出来ませんでした。
なぜなら、まだ自分はプログラマーとして、褒められたことがなかったから。
自分はまだ、プログラマーとして1年8か月ほどの経験しかありません。
1年半ほど経ったころに、自分はフリーランスエンジニアに転職はしたものの、
技術力はまだまだ足りておらず、
劣等感を抱きながら、毎日コツコツと勉強を続けていました。
プログラマーとして、全く技術力があると思っていなかったのに、
まさか面と向かって褒めらる日が来るとは夢にも思いませんでしたので、
天にも昇るほど嬉しい経験でした。
苦節1年と8か月。
ようやく、ある程度、人から必要とされるようなプログラマーになりつつあるかなと感じます。
今回はプログラマーとして成長するためにはどうすればいいか、自分の経験を通して思うことを率直に書いていきたいと思います。
プログラマーとして成熟するのは3年?
プログラミング以外でもなんでもそうですが、ある程度、仕事ができるようになるまでには3年ほど時間がかかると言われています。
自分が会社員だった頃も、上司からプログラミングがなんとなくできるなと思えるようになるまでには3年ほどかかると言われていました。
自分はまだプログラミングを始めて、まだ2年も経っていませんが、それでも少しずつプログラミングが理解できているなぁと感じるようになってきています。
あと1年もコツコツと勉強を続ければ、どういった境地になるのか今からワクワクしています。
プログラマーとして成長するには、最初の現場経験が大切
プログラマーとして成長する上で、最初の現場の経験が非常に大切になってきます。
経験が浅いうちに、ひたすら手を動かして、コードをガンガン書く現場であれば、それだけプログラマーとしての成長が早いです。
またプログラミングに対するモチベーションも高く保つことができるでしょう。
一方、現場によっては、コードは一切書かず、エクセルで仕様書を作成したり、テスト(しかもテストコードを書かずに、実機でテスト)みたいな現場もあります。
また現場で使用している技術が古いと、後々の自分のキャリアにあまり良い影響がないでしょう。
初期の経験値を稼ぐためにも、しっかりと良い環境でコードを書ける現場を選択するのがとても重要になってきます。
自分は、最初の1年は主にソーシャルゲーム開発・運用を経験し、2年目からは人事労務システムの新規開発を行いました。
ソーシャルゲームに関しては、かなり大規模な会社にお世話になり、ゲームの運用や追加開発などを学びました。
人事労務システムの新規開発に関しては、ゲーム開発とは全く違った手法で、1からプログラムを開発していく工程を初期から経験させていただき、とても濃厚な経験をさせてもらったと思います。(結局、現場がきつすぎて、体調壊しましたけど・・・w)
この濃厚な経験のおかげで、今フリーランスとして、働けるようになっていると思います。
どのくらい勉強していたの?
最初の1年は、正直現場の仕事をするだけで精一杯で、平日はそこまでプログラミングの勉強時間を確保することはできなかったように思います。
休日は、3時間くらいは勉強時間を確保するようにしていました。
勉強した内容は、その時々で、自分に足りない知識を中心に調べて勉強していました。
技術書も何冊か購入しましたが、もともとの給料が低かったので、そんなに毎月、技術書を何冊も購入することはできませんでした。
自分の作りたいサービスを開発したいというような思いもありましたが、その時点では何を作りたいかも、どのように作りたいかもまだまだわかりませんでした。
最初に作ったサービスは競馬の予想ツールですw
完全に自分のためのツールでリリースも何もしていないですが、初めて自分で作ったものが形になったので、とても興奮したのを覚えています。
あと、フリーランスで仕事のない時期に、N予備校で猛勉強したのが、めちゃくちゃプログラマーとして成長できた気がします。
どのサイトでプログラミングを勉強しようかと悩んでいる人には、めちゃくちゃオススメですので是非。
意思の力で勉強しようとしてもできない
プログラミングができるようになるには、どうしてもプライベートでの勉強が欠かせません。
業務時間の勉強だけで、なんとかしようとするプログラマーもいますが、
プログラマーとして、人より抜きん出るには、自由時間も勉強する時間を確保する必要があります。
ただ、頭で勉強しないといけないと思っても、それができないのが人間です。
「ああ、今日も勉強できなかった〜なんて俺は意思の弱い人間なんだ〜」と自己嫌悪に陥る日も多かったです。
ただ、ある時、人の行動は意思の力では制御できないことを知りました。
新しい行動をするには、意思の力に頼るのではなく、習慣を味方につけるべきだと悟りました。
そこからプログラミングを日々の生活の習慣にするため、少しずつ勉強を始めたところ、
気づけばプログラミングの勉強を当たり前のように勉強することができるようになってきました!
プログラミングの学習を習慣化することができましたら、それはとても強いです。
メモの魔力の著者、前田裕二さんも、毎日大量にメモをするコツは、メモをすること自体を習慣にすることと著書で説いています。
基本習慣化された行動は、疲れた時にも無意識で行う行動です。
仕事から疲れて帰宅しても、リラックスするための行動としてプログラミングしたり、技術書を読むようになるのですから。
ぜひ皆さんもプログラミングの学習を習慣化させることを意識してみてください。
習慣化については、こちらの記事に詳しく書いているので、気になる方はどうぞ。
先日、メンタリストdaigoの習慣化についての動画が神回だったのでご紹介します! こちらの動画ではメンタリストdaigo氏が小さな努力のコツについて解説しています。 自分の夢を叶える上で、習慣を見直すことは、めちゃくちゃ 人生を自由にコントロールする習慣化の技術とは? - Pro Web Engineer - Pro Web Engineer |
まとめ:毎日コツコツと勉強して、プログラミングをできるようになろう!
プログラマーとして、1年と8か月。
いろいろと苦しいこともありました。
けれど、今、ようやくプログラミングが少しわかるようになり、楽しいなと思えるようになりました。
やりたいこと、作りたいものがポツポツとですがイメージできるようになりました。
誰かから必要にされるエンジニアに少しずつですが、近づいています。
プログラマーは最初の1年が1番大変です。
ですが、苦しい時も諦めず、自分のペースで頑張ってみてください。
きっとプログラミングが面白いと思える日がきっとくはずです。
自分も、焦らずコツコツと勉強を積み重ねていきたいと思います。
自分は未経験からプログラマーになりました。
専門学校やスクールには一切通っておりません。
プログラマーに転職した当時の経験は、29歳未経験からプログラマーに転職して2か月経った感想を参考にして見てくださいね^^