奈良に帰ってます。
春の日差しにふと地元の堤防の桜を思い出し、何年親と一緒に見てないんやろう…と思ったら悲しくなりました。
奈良を飛び出して東京に出たのは小6のときによくわからずもなぜか目指した「官僚」になるためで、方向性をあれこれ変えた今となっては東京にいる必然性がほんとにない。
でも刺激的な意味での居心地のよさから居座っているという。
一方で一人っ子な自分を親は大好きなわけで(自過剰)、GWとお盆と正月にちょろっと帰るだけ。
帰れるときはもう少し帰ってもいいのではと改めて思った次第です。
駄菓子菓子、実際家族で花見とか改めて行ったことなんてないかもしれない、というオチ。
近況報告
昨年末で2年半くらい勤めた会社をやめ、営業をやめました。
そして今年の頭からエンジニアとしての道を歩み始めました。
SIer企画営業をやめ、クラウド会計ソフトのfreeeでエンジニアとして働きます
(We' re hiring!)
それ以来、社内的には振り返ってはいるものの、社外に対しては直接会わない限りは話せてないし記事も書いてない!
ということで近況報告も兼ねて何かしら書いておこうと思います。
まだ働いています
結論、元気に(多少体調を崩しながら)働いています。
まずは1ヶ月。本当の意味での「試用」期間があまりにもアレなら2ヶ月目以降は無いということで働き始めた1月。
開始3日目。コードまったく書けない!やばい!ということで、このままではアウトですという旨の面談を冷や汗をかきながらしていただいたのは生々しい思い出です。
趣味で動かすのとは違うのだなぁ…という感触以前のレベルでプログラミングできなくて絶望したものの、丁寧にご指導いただいたお陰で1ヶ月でクビという事態は免れました。
じゃあ、なんだかんだエンジニアとして認められている?
1ヶ月をなんとか乗り越えないといけないんですよ〜みたいな話を転職前によくしていました。
その1ヶ月を過ぎ、晴れてエンジニアの「一員」として認めらたら報告でもしようか〜なんて思っていました。
駄菓子菓子、それはまだ至ってません。今度は6ヶ月。一人前のエンジニアになるまで闘争は続きます。
もっと必死に
がんばってないこともない。けど実力は無いし、成長速度もまだまだ。
日報書く時間もコード書いたり、ソースコードを読んだり、プログラミング関係のインプット・アウトプットに充てるようになりました。
たまに前よりは書けるように、読めるようになったかもしれない、と思うことはあります。
けどそれって、不合格ライン内で手数が10点なのか、20点なのかっていうレベルのことです。
基準は別のところにあるし、それがないまま成長だ一人前だ言ってても終わりないですよね。
チーム開発に貢献する
貢献のしかたはいろいろとあります。
その中で真っ先に高める必要があるのは直す力です。
バグが何1つ無い完璧なソフトウェアはないし、スピードとクオリティの兼ね合いで妥協して作ることもある。
それを(実は異様に根深い渡河でない限り)1日2〜3個くらいは少なくとも自分の中で問題が解消された状態にもっていってレビューに出す。
現状、ものによっては1日かからないものもあれば、2〜3日かけてもよくわからないものもあるという状態です。
ちゃんとできるようになるためにはこういうことが素早くできるようにならないといけません。
○既存のコードの動きを追えるようになる
・問題のある事象を再現させるための環境を作る
・ツールを使って問題となっている箇所を特定する
・自分の力で試せる部分が尽きたら助けを求める(★1)
○解決策を調べる
・エラー内容をググる
・実装方法何個か並べていいのから試す
・自分の力で試せる部分が尽きたら助けを求める(★1)
○正しく動く状態にする
・無駄にSQLが発行されてないか調べる
(・動作が遅くないか調べる)
・テスト書いて動かす(★2)
今遅れを作っているのはどこか考えた時、★が特に遅い気がする。
つまり、
・もうこれ以上自分の力では無理だ!ってなってからもなかなか人を頼れない。
→なかなか人に頼れず更にもがいて何とかなるパターンもある。駄菓子菓子、時間の制約もあり、1から10ま自力ですることが目的なのではないので頼るべきところは頼る。はやく!
(実際聞いたらすごく丁寧に教えてもらえるし、分かりやす過ぎて感動する。)
・最低限のテストを書くにしても、データ作りに手間取ってしまう。モック・スタブでとりあえず返ってきた値を活用する程度でよいことがあったり、テスト用データの雛形の一部を書き換えたら済むみたいなことがあったり。複雑にするのが目的ではない。大慈寺な部分をはやくおさえる!
今見つめ直す基本の写経
あまりにいろいろと不安になり先輩にいろいろ相談してみたところ、
・写経良い
・リファクタリングうんたらの本とかまだ手つけなくてもいいのでは
・試せ!とにかく試せ!
というシンプルな解をいただきました。
読書とか勉強とか好きで、あれやこれやとへーとかほーとか言いつつ、勉強してる風になっていてでも力ついてないみたいな場面けっこうあったかもしれない。
そういうわけで、いったん『リファクタリングRubyエディション』を読んでなるほどと思える部分までを終え、Railsチュートリアルと『パーフェクトRuby on Rails』を読み書きしてます。
特にチュートリアル。入社前の課題で、3〜4日でやんないとクビになっちゃう!みたいな意識でとりあえず一通り動かしたものの全然理解してなかった。
そして今読み直してもなるほど!って思える部分が多い。
・機能の足し方
・リファクタリング(共通の部分切り出すとか、切り出したのを元の箇所で動くようにするとかシンプルな類)
・テストの書き方・書くタイミング
・テストを助けてくれるツールの使い方
・認証とか認可とかセキュリティとか共通して必要になる概念と共にシンプルな実装(実例)に触れられる
基本 = 簡単ではないのはよくあることだし、少なくとも元々自分が書いていたプログラムよりは網羅的で綺麗で人が読んで足せる(意図が把握できる)コードになってます。
そして以外と「あ、これ今書いてるあの部分にそのまま使える!!」みたいなことが多い。
あと、図書を管理するツールを直そうとしていて、そのまま使いたい部分がけっこうあったり…
『パーフェクトRuby on Rails』の方は、
・なんとなく実物を追えるようになってきたのでなんでRailsってそういう設計になってるんやっけ?みたいな部分を追いたい
・これ実装してみよう!みたいな部分のレベルがチュートリアルと業務の間にあって精神的に良い
とかがよくて読み書きしてます。
最近読んだ本にも、7、8割大体理解できていて残りを足すくらいがいいんじゃね?みたいなことが書いてあって、学ぶ対象としてとてもしっくりきています。
試すことについても、pryというツールを教えていただいてからは試したいところでサーバを一旦停止して書いてみる、ってのだったり、これ解決する方法こんだけパターンあるなぁ…というのを実際にパターン別に試してこれがいい!(意図が伝わりそう、テストシンプルに書けそう)というのを決めたり、色んな粒度で取り組んでます。
不安、とは書きつつも定期的に面談してもらったり、こういうことも考えとかなくちゃね!というヒントを日常的にいただいたり、いざというときには話を聞かせてもらったり、CSSおじさんが颯爽と現れてくれたり、迷える子羊を放っておかない組織・方々です。
文字にしたら注力すべきこと・気をつけることの焦点が合ったのでめでたしめでたしです。
ほんとはもっと
・今の会社ってこんな雰囲気で~
・こんなところが好きで~
・好きなことを仕事にしてみたら実際どうか
・好きなことと得意なことが重なったらいいなぁ
とかとか書きたかったんですが、それはまたの機会に!
さいごに
4月からの体制図に自分の名前なくて、泣きそうになって探してたらNyanchuって書いてあってどんな顔したらいいのかわからなかった話はどうでもよいです。
先週くらいに体調崩してしまい休んだし、原因よくわかんないし、まだなんだかんだよくなってないしで、療養しに実家帰ったみたいなところがある。
物理的によく休んだのもあるけれど、改めてめっちゃ大事に育ててもらったなぁと思うことがあって、その恩を返したり、人(自分と関わる人)を大事に(優しく)するには必要コストとして自分を労るのも大事だと感じました。労る。それで気持ち的にもちょっと楽になりました。
長距離走のようで、近めのなゴールを意識的に定めた短距離走の繰り返しと思っているけど、それに耐えうる装備とメンテはやらないと結局無目的にゴールの遠い長距離走と結果変わらなくなってしまう。
それはダサいし、そうなるならわざわざこの道選ばない。
闘争は続く。