初めての現場配属で製造工程に放り込まれた携わったときの感想・備忘録などです。
はじめに
ウォーターフォール開発の真ん中らへんのあれのタイミングで現場入場しました。入社3か月目で。なぜ。
結局のところメインでぶつかっていた点としては他の人と一緒に作業することに集約されてそうな印象です。その辺寄りの内容も含めて覚えておきたいことを書いていければと思います。
本編
可読性の話
配属後初めてレビューに出したコードで主に指摘された点が可読性でした。
SetStatus("00");
例えばコード内に直接記述された定数、上記の例における"00"がマジックナンバーであり、プログラム中に含まれない方が良いとされているものです。主な理由としてはプログラムを書いた人以外はそのコードをパッと見ただけではその意味が分からない為です。
定数として定義してあげることなどが主な解決方法となります。
String sts_success="00"; //正常終了ステータス
SetStatus(sts_success);
その他指摘事項のうち単純なところでいうとインデントが揃っていない、if文の分岐が複雑でどこで値を設定しているのかが分かりづらい…等でした。ぶっちゃけ一人で書いて後で読む分には気合でどうにかできます。でもプロジェクトでは複数人で書くことが前提の為、他の人から見て読みやすいコードを書く必要性があるということです。
腹落ちの話
「仕様の腹落ちをしてから作業をしましょう」ということを現場入ってから何度も聞きました。腹落ちって何なんだとは思ったのですが、文脈的に腑に落ちる、理解して納得するといったような意味と解釈しています。どこで何を行えばいいのか、参考となるコード・先行で開発された分についてもなぜこの箇所でこの処理を挟んでいるかなど理解する必要があり、理解出来なければ都度資料を見直す、周りに訊くといった対応もまた必要、ということです。
特に、自分の場合は真横に仕様書の作成者がいる、斜め前に先行開発の製造者がいる、といった状況だったので半日資料やコードとにらめっこするよりも質問した方が作業の進み的にも良い、というのは明白かなと思いました。また、他チームにまたがる内容であればチャットで投げたり…等、最初のうちはコミュニケーション能力が一番大事、コミュニケーションで詰まってたらいつまでも先に進まない、というのを身をもって知りました。
質問の話
不明点があれば質問して進める必要がある…とはいえそれにすら大分苦労しています。自分にとっての主な課題は以下です。
-
不明点が整理できないこと
どこが分からないのかわからない!という状態です。体感として、前提情報・知識が不足していることが主な原因かなと考えています。情報源の場所がせめてわかれば自力で調べるか…とも思うのですが逆に混乱するケースの方が多いです。質問しないよりマシ、のマインドで何もわからないです!!で投げてしまうのが今のところ一番良さそうかなと考えています。 -
答えを訊いて理解できないこと
前提情報・知識が無い為に答えを聞いても理解できないケースがそれなりにあります。後単純に相手が思い浮かべているイメージがくみ取れないときもあります。理解できないまま放置よりかは良いでしょ…のマインドで訊きなおすしかなさそうです。 -
質問自体ができないこと
上2つをこじらせるとこうなります。実際、何時間も悩んでいたことが有識者に訊いたら1秒で解決した、ということはありました。人に訊いた方が早ぇ。
とはいえ丸投げの質問を多用するのは普通に相手の負担が大きいことは忘れないようにしたいです。
おわりに
配属されて半年弱経つ現在、入場したての記憶を掘り起こすのが難しくなる程の経験をしました。まあ更に増えるんでしょうね…一方で自分が何かしら成長出来たかと言われるとあまり実感が湧かないというのが正直な感想です。如何せん課題が多すぎる…先輩方の凄さを日々実感するばかりです。
また暫くしたら振り返りをする必要性が出てくると思うのでその時までに何か変化があったら嬉しいなと思います。