Halcyon Days

海のように穏やかに生きたい

理解してコードが書けるようになりたい

以前運営していたWordPress

 

ブログのタイトルが表題でした。

 

そんな話を書こうと思います。

 

書いているコード、使っている技術を理解しているか?

エンジニアになって現場で働き始めて半年以上が経ちました。

 

徐々に任せられる仕事も増え、やりたいことも見たかったから、非常に充実したキャリアを歩み始めた、と思っています。

 

しかし、ずっと自分の頭の中にはある不安があるのです。

 

それが、

 

「コードや技術の理解ちゃんとできてる?」

 

ってことです。

 

要は、今書いているコードや使っている言語・技術、CSなどなどをわかった上で使えているかということです。

 

先日、Dockerのログに関する記事を書きました。

 

この問題も、自分のDockerに関する理解のなさが招いたことなんですよね。

 

わからないから調べて、人の書いたコードを見てわかった気になって使っている。

 

時にはAIにコードを書いてもらったりしてわかった気になって使っている。

 

こんなことを続けていた時に、起きたのがDockerの問題でした。

 

このことは自分にある示唆を与えてくれた出来事だと思います。

 

「あ、自分の感覚は正しいんだ」、と。

 

スピードに争う勇気を持つ

牛尾さんの著者『世界一流エンジニアの思考法』に自分と同じようなエピソードが描かれています。

 

どんな話かをざっくりまとめると、

 

コードを書くことが遅かった牛尾さんが、他のエンジニアにどうしてコードを早く書けるのかを尋ねてみました。  

その答えが、基本をしっかり理解することに努めていたから、というものだったという話です。

 

詳しくは著書を読んでください。

 

アメリカは日本とは異なり、エンジニアは皆CSを大学で学んでいます。

 

そもそも働き方だって、仕事に対する考え方だって違います(以前見たツイートに「仕事が定時に終わらないのは適性がないから」みたいなことが書いてあって驚きました)。

 

そもそもバックグラウンドが違うんですよね。

 

盤石な基礎がある状態でエンジニアをしているのか、自分のようにボロボロの基盤でエンジニアをしているのか。

 

このバックグラウンドの差は大きいと思っています。

 

また彼ら(牛尾さんの同僚たち)は、基礎の理解に多くの時間を費やすそうです。

 

技術理解のためにモックアップを作ったり、仕事を定時に終わらせて技術理解のための時間を作ったりしています。

 

とりあえず動けばいい、わからなくても使う自分とは大違いです。

 

そんな状態で作り出したプロダクトはハリボテみたいなものだと思います。

 

インシデント対応もできませんしね。

 

抱いた違和感や書籍などからの示唆を踏まえ、もう少しスピード争う勇気を待とうと思いました。

 

エンジニアになってたかが半年くらい、CSのバックグラウンドもない、言うなれば「なんちゃってエンジニア」でしかない自分は、多分このまま同じようにやっていてもずっとなんちゃってなんだろうなって思ったからです。危機感でした。

 

だから、手を広げることをやめて、今使っていない言語や技術、そしてCSについて理解するようにしようと思いました。

 

1年しっかり下積みをします。

 

PHP Conf小田原の記事でも触れたように、これからSREに進むと決めたので、それに関連する技術と背景を1つずつ学んでいきます。

 

途方もなく、加えてスピードも早いIT業界ですが、根無草にならないために地盤を固めます。

 

たぶん、活躍できるかどうかの別れ道って今なんだろうなって思うので。

 

地道に1つずつ学んでいきます。

 

後から見て、こう思ってたから今があると思えるといいな。

 

頑張ろう〜〜〜👊🏻👊🏻👊🏻