diff --git a/reflection.md b/reflection.md new file mode 100644 index 0000000..ac9155d --- /dev/null +++ b/reflection.md @@ -0,0 +1,88 @@ +自分なりに感じたこと、変わったことを素直にまとめておきたいと思います。 + +## 姿勢 + +一番大きな変化は、エンジニアリングに対する姿勢です。 +以前は、ただコードを書くことが仕事だと思っていました。ですが今は、「人の課題を解決すること」こそがエンジニアリングなのだと理解できるようになりました。 + +エンジニアリングをするという目的を意識するようになりました。 + +意識的に「Giver」であろうとするようになりました。根っこにはすごいと思われたいという気持ちがありますが、価値を届けることに意識が向くようになりました。 + +https://docs.google.com/presentation/d/1Ny4kmHE2FZMI0AuPxImokweGoAE73RAGivjDJg0kG80/edit?slide=id.g2238529588a_0_38#slide=id.g2238529588a_0_38 + +仲間を作るために社内勉強会を行うようになりました。 + +https://docs.google.com/presentation/d/1Ny4kmHE2FZMI0AuPxImokweGoAE73RAGivjDJg0kG80/edit?slide=id.g229c0608099_0_8#slide=id.g229c0608099_0_8 + +## コードを書く + +### バランス感覚 + +コードを書く際にはバランスを意識していました。時間計算量、空間計算量、分かりやすさ、引数を破壊しない、エラー時にどうするか。 + +他のユーザーや同僚が困らないかを意識して書きました。 + +30問くらいから、おおむねコメントを予想できるようになりました。 + +### 手作業をコードに落とし込む + +ロボットたちが動いているイメージをしてからコードを書くようにしていました。 + +手作業でやることをソースに落とし込むことにハードルを感じなくなりました。 + +![image.png](attachment:afe99c92-33b8-47a1-8377-8c6e6e752c47:image.png) + +https://docs.google.com/document/d/11HV35ADPo9QxJOpJQ24FcZvtvioli770WWdZZDaLOfg/edit?tab=t.0#heading=h.7n6wwffw10hb + +## **コードを読む** + +最初の頃は、コードを読んでも表面しか見えていなかった気がします。 + +自分がレビューするときは、変数名やコーディング規約に対してのコメントが多かったです。 + +40問くらいの段階で、内海の勉強会に参加したのですが、 + +そこで、 + +- Acceptされることを喜ばないほうが良い +- 書く能力よりも読む能力が足りていない。 +- 脳内のデバッガーを走らせる + +と話されていて + +意識的に書くことよりも読むことに力を入れるようにしました。 + +https://discord.com/channels/1084280443945353267/1339428945845555252/1367531072522551356 + +二分探索での小田さんとのやり取りで、コードを読むということをつかみました。 + +https://github.com/fuga-98/arai60/pull/41#discussion_r2078092035 + +自然言語で定義できるくらい考えて、イメージも浮かぶくらいまで正確に読むことを学びました。 + +それからはコードがただの文字列ではなく、具体的な作業が絵として浮かんでくるようになりましたし、直感的ではないコードには気持ち悪さや、今後起きる事故を想像して怖さを感じるようになりました。 + +きちんと読むことができるようになった後はミスが十分の一くらいに減りました。また、読んだコードは大体再現できるようになりました。 + +## ドキュメントを読む + +ドキュメントを読まずにライブラリを使うということが怖く感じるようになりました。この使い方をして大丈夫かを確かめる癖がつきました。ドキュメントを読んでも不安が解消されなければ、cpythonの実装を読むようになりました。 + +## 苦労した点 + +私は30問くらいまでは割と楽しんで進められていました。 + +気になることが増えたので、一問にかける時間が長くなりました。 + +ただ時間をかけすぎて辛くなってきたので、後半は1問あたり2~3時間程度に抑えてやりました。 + +https://discord.com/channels/1084280443945353267/1316770883729100810/1370210501476356256 + +## 足りない点 + +CSの知識が不足している点は以前より感じます。 + +初見のMediumの問題を10分でとき切ることはまだ難しいです。 + +ただ、アルゴリズムを勉強すれば達成できるような気がしています。