約4ヶ月エンジニアとして働いて教わったことを書き出してみる
こんにちは、Yumihikiです。
今回は自分がエンジニアとして働いてみて教わったことを書いていこうと思います。
頭の中で考えない
エンジニアとして働くにあたって、まず一番苦戦したのが人が書いたソースコードを読むことでした。
今までは人が書いたソースコードを読む機会が殆どない(正確にはOSSなど読める機会はありましたが取り組んでいなかった)状態だったので「なんでこの処理しているの」「この関数で別の関数を読んで、さらに読んでいって・・・」という流れで非常に苦戦していました。その状態を見た先輩からのアドバイスです。
実際にソースコードを読んで理解するときに、全て頭の中で考えるのではなく紙に書き出したり図やフローチャートを利用することで確かに理解しやすくなりました。
その流れで影響調査プロセスというものも見つけ、良い勉強になりました。
https://www.juse.or.jp/sqip/workshop/report/attachs/2014/sqip6-a.pdf
1つずつ行う
まとめてコーディングを行って、動作確認してみた結果うまく動かない・・・ みたいなことを最初の頃にたくさん経験しました(笑)
一気にコーディングを行うと合っているはずという思い込みが加わった状態でコーディングしてしまうので、デバッグ時にどこが本当の問題なのかわからなくなるのが問題でした。
特に時間がないときにはまとめてやりたくなるのですが、1つずつ行うことは大事なことだと思わされました。
思い込まない・コピペに頼らない
上の1つずつ行うと似ているのですが「他のところではこのようにしているから動くはずだ」と思ってコピペした結果、動かない・・・ ということがよくありました。
これは他の処理と同じはずという思い込みが原因でした。正しく検証することは大事ですね。
やる前に方針を決めてからやる
言い換えると設計してから開発しようね。といった感じです。自分の場合手を動かしながら処理を考えていたのですが、そのプロセスって手戻りが発生しやすいんですよね。
先に改めて設計を行うことでやろうとしていることが本当にできるのかどうか確認できるので、大事なことなんだなと思わされました。
メインのテーブルに繋げていく
これはSQLについてですね。joinして結合していく中で、いわゆるメインとなるテーブルとサブ的なテーブルが存在すると思うのですが、それを特に気にしていなかったので先輩から教わりました。今振り返ると当たり前やん!って感じですが・・・
最低限のコミュニケーションと仕事が出来ていたらそれで良い
これはちょっとエンジニアとして、というのは少し違いますが・・・ 職場の人間関係についてのアドバイスです。というのも、派遣されてすぐにリモートワークが始まって、指示を受ける方がどんな方かもわからないし正直辛いと思って、その旨を伝えたらアドバイスをもらいました。
人間関係はよくあるべき、と考えていたのですが、まずは最低限のコミュニケーションができるようになれば良いというのは個人的に少し楽になりました。
と、こんな感じのことを学びました。
書き出してみると当たり前のことじゃん!ってことが多いですがそういうことを含めて、実際に仕事をしないとわからないんだなと思いました。
また何か教わったら書いていこうと思います。