Help us understand the problem. What is going on with this article?

30歳でプログラミングを始めて2年半くらい経った

More than 1 year has passed since last update.

この記事はnana music Advent Calendar 2018の1日目の記事です。

タイトルのとおりですが、僕は30歳でプログラミング未経験の状態から学習を開始し、曲がりなりにもソフトウェアエンジニアとして給料をもらって生活をすることができている。
「プログラマー35年定年説」というのは今となっては過去の遺物となっていて、30代からプログラミングを学習し、ソフトウェアエンジニアに転身しようとする人も増えているらしいので、具体的にどういう感じでやってきたかを自分自身の振り返りとともに書きたいと思う。

前提

もともとの僕のスペックだけど、、コーディング等は全くしないユーザー系SIerで働いており、Linuxの基礎知識やDBの知識があったり、SQLを多少書けたり、という感じ。

とにかくアウトプットする

ある意味、これが全てだと言ってもいいかもしれない。

日々、コードを書いたりしていると、何かしらの気づきや発見がある。
また、コードレビューを通じて、新たな知見を得たり、他人が書いたコードを読むことによって「こういう書き方があるのか」「このフレームワークにはこういう仕組みがあるのか」というのを知ることができると思う。
もちろん、技術書を読んだり、ウェブでチュートリアルをやってみたりとか。

そのように何かしらの形でインプットが発生していると思うんだけれど、僕の場合はそういったインプットと同時にアウトプットも必ずやるようにしている。
ただ、アウトプットと言っても別にブログに書いたり、Qiitaで書いたり、みたいな外部への公開を前提としたアウトプットはそんなに頻繁にはしていなくてEvernoteにひたすら書いている。
まあ、いまさらEvernoteかよ感はあるけれど、ずっと使い続けていたので惰性でそこにアウトプットしているだけ。
最近ならScrapboxでざざっと書いていけばいいんじゃないかなと思うし、そっちに移行しようかなーとも思っている。

アウトプットをすることの利点は今更特に説明する必要がないと思うけど、知識の定着を促進したり、インプットを自分の言葉で翻訳することで理解を進めやすい、というのが個人的に最も大きな効果なんじゃないかなー、と思ってる。
もちろん「あれ、これどういうふうに書くんだっけ」という時にアウトプット先を探せば良いという点もある。

最初の半年はカネと時間をかける

今では無料のプログラミング学習サイトがあったりするし、数千円払えば初心者向きの技術書を購入し、学習することができるけれど、やっぱりある程度カネをかけてスクールに通ったほうがいいと思います。
とはいえ、スクールのほうが学習カリキュラムが優れているとか、別にそういうことではなく、単純にカネをかけたほうが「やらないと」感が出て、自分のケツをひっぱたくことができるから。
あとは、そういうスクールだと誰かしらメンターがついてくれることが多いため、躓いた時に助かる。
オンラインのスクールとかもあったりするけれど、個人的には対面でコミュニケーションが取れるところのほうがいいんじゃないかなー、と思う。

それからコードを書く時間をがんばって増やす。
別に趣味でプログラミングをやるだけ、というのならば別にいいのだけれど、ソフトウェアエンジニアとして食っていく、というのならば、スタートが遅いんだから、時間をかけないと話にならない。
僕の場合、ちょうどプログラミングを始めた時期が、親会社に出向していてちょうど時間が取りやすかったため、始めて半年くらいは週に30時間程度はスクールのカリキュラムをやったり、写経したり、自分でツイッターのクローンアプリを作るなどをして、コードを書くことに費やしていた。

とりあえず現場に飛び込む

実際に得た知識を現場で使うことが、自身の技量を高める最も効率の良い方法だと僕は思ったので、多少、不安があったものの転職をしてなんとかコードを書く仕事を得ることができた。(現職じゃないよ)
当然ながら未熟なので迷惑をかけることもあるし、実際迷惑をかけたと思うが(というか今も迷惑をかけていると思う)、そこらへんは多少開き直るというか、なんというか。
そういったことをごちゃごちゃと気にするよりも実際の生きているコードを読んだり、書くことのほうが自分にとって大きなプラスになるんじゃないかなー、と思う。

卑屈にならない

これは多少精神論よりっぽいけれど、重要なんじゃないかなー、と思う。
30歳でプログラミングを始める、っていうと大抵は同僚よりずいぶんとプログラミング歴に差がある。
自分の年下よりも当然ながら歴が浅かったりする。
だけど、そこで他人と比較して卑屈になったりしてもあんまり意味はなくて、とにかく自分で書ける限りよいコードを書くことのみにフォーカスをするって感じかなあ。

謙虚である

これも非常に重要で、わからないことがあったら素直に周りの人に聞く。
もちろん、"教えて君"になるのではなくある程度、自分で調べて、それでもわからなかったら聞くって感じかな。
あとは、コードレビューしてるときとか、他人のコードを読んでいる時に、なんでこういう書き方しているんすか、こういう書き方だと何が良いんすか、とかを聞くとかね。
ただ、そのためには周りの人に聞ける環境に身を置く、ということがすげー重要だと思うし、その環境を探すのにも大変だったりはするんだけど。

こんな感じです

やっていきます。

次回は@_kobackyが書きますので、お楽しみに。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away