とりあえずnull

プログラミングの勉強日記

エンジニアとしての姿勢

こんな人には参考になるかも

プログラマーになろうと思っている人

・プログラミングの仕事をしているけどなかなかそこに楽しみを見いだせない人

 

 黒い画面に緑の文字で小さい文字で、しかも英語ばっかりの画面をみてキーボードを叩いている人をみていると「うわっ、こいつ頭大丈夫か?」って思うことがしばしばありましたが、そんな僕も現在同じようなことをしている毎日を送っております。

もともとエンジニアになるつもりはなかったのですが、スタートアップ企業にジョインすることになり、そこでRuby on Railsを使っての開発をせざるおえない環境に身を置き、開発に着手することになったのが始まりで今に至ります。

その行動自体、悲観的なものではなく、時代の流れに乗ること・問題解決を行なう上で一番やりやすそうな方法がウェブを利用したものだろうなーという考えからその環境に身を置く事にしました。

開発を行なって半年が経ち、ようやくエンジニアとして働く覚悟みたいなものが作れたので、この機会に半年間モヤモヤしていて見えてきた、エンジニア論「スキルを身につける姿勢」について書いてみようと思います。

 

周りにいる凄いエンジニアをみていると・・・

一緒に開発をしているチームメンバーはみんなすごい人たち。有名企業に内定を貰っている大学院生やすでに某有名企業でトップエンジニアとして先端を走っていた方や大企業のエンジニアさんが手伝ってくれていたので学部3年の僕はつくづく刺激的な日々を過ごす事ができています。本当にエンジニアとして働きたいと考えている人にとっては最高の環境だとすら思えます。そんな凄い人たちをみているとつくづく思うのが「コードを書くのを楽しんでいる」んですよね。今になるとなんとなくその感覚がわからないでもないのですが、当初はとても意味がわからなかった。でもエンジニアとして3年は頑張ってみようと思ったころから、「そこに何かあるんだろうな」と思って日々観察するようになりました。

 

プログラミングを学ぶのではなく身につける姿勢・意識

僕は日々、プログラミングスキルを上げるには「たくさんのことを知ること」が大事だと思っていました。ですが周りのエンジニアさんにそういったことを相談する度に「知るのはそれが必要になったときでいいんじゃね?わざわざ今関係ないところ勉強するより関係のあるところを深めたほうがいいよ」「何を知るかより何がしたいかが重要じゃん」みたいなことをアドバイスとして頂きました。最初は納得がいかなくて素直に受け止められなかったのが頭でっかちたる所以なんでしょうね。

でもそれを延々と考えていくと言語化が進んでふと「あぁなんだ、プログラミングを学ぶというよりも身につける、って考えたほうが楽だし楽しそうだな」ってなりました。「身につける」って考えるようになると、「次なにできるようになろうかなぁ〜」「どうやったら奇麗なコードになるかな〜」「Rubyのテストがかけるようになったら開発にもかなり寄与できるようになるなぁ〜」ってな感じで考えられるようになりました。進む感覚がついたんですね。この感覚はたぶんドラクエのレベル上げに近いのかもしれません。しかも周りにはレベルがめちゃくちゃ高いエンジニアばかりですから、彼らの背中を見る事が出来るし、レベル上げを手伝ってもらえる。最高やん!ってなってきたわけです。これまで「プログラミングを勉強する、知る」という考え方だと忘れる度に「あぁまた覚え直しだ」「ここなんでこうなるの?シンタックスおかしくない?」みたいなことにたびたびなってしまって負のループに入ってしまっていたのが、奇麗サッパリ解決した気持ちになりました。

 

まずは毎日「何が出来るようになったのか」を記録してみる

ここまできたらあとはその感覚が当たっているのか、検証を行なうのみですよね。やんわり言い換えると「小さな成功を積み重ねていく」になるのでしょうか。まずは毎日できるようになりたいことをまとめ、その日の終わりにはできるようになったことをまとめていきました。それをみて毎日ムフムフするわけですね。

たとえば、今日だとRailsのテストをかけるようにしようと思って、書き方を会得していたわけですが、ざっくりとこんなことができるようになりました。

 

Railsテストの基本を身につけた

  ・単体・昨日・integrationテストの役割

  ・factorygirlを使うとモデルを設定するのに便利ってのを知った

  ・factorygirlを使ったテストを行なうことができた

 

出来るようになったことを文章化することで見える化が図れますし、それは自信につながります。日記みたいに「でもまだintegrationテストやったことないからちょっと不安・・・」みたいな感情を込めたコメントを追加してもいいかもしれません。ブログに書くのもいいですね。実はこのブログもそれが狙いで書いていたりします。

 

以上、僕個人からみたエンジニアとしての姿勢ってやつをまとめてみました。また負のループに入ってしまったら見直そうと思います。