##【この記事なあに?】
経験年数一年半のビギナークラスのwebエンジニアによる、
現場経験0~数か月くらいの新米プログラマへ向けた情報共有です。
少しでも役に立てば幸いです。
【注意】
最終的にどう対処するかは、
現場の先輩や上司の方針/指導/判断に従うのが一番だと思います。
この記事は、
「既存機能の実装を参考にするようにしろって言われたけど、なんかやり方とかあるのかしら」
という状態の初心者に向けた、参考程度の内容です。
##【まず自分で探してみよう】
1.社内で過去の実装案件をまとめて確認できる手段がないか探す。
例)confluenceなどの社内wikiに、一覧で見れる表やドキュメントを残していないか
どこかにテスト項目書ファイルを保管していないか
2.エディタやIDE(VSCodeとかEclipseとか)の検索機能で、
変数や定数、データベースのカラムなど、
同じものを利用している機能がないか探す
3.使えそうなものがないか試験環境を操作して探す
(現場へ参画して日が浅く、開発中のサービスへの理解が浅い時点であれば、
ソースを見ながら色々触るのは理解を深められる行為としてもってこいなはずなので、
適度にやると効果的)
##【わからなかったら先輩や上司に相談しよう】
自分ひとりじゃサッパリ分からないとか、なんか考慮漏れしてるかも…、
というときは、自分が分かってる部分、考えたことなんかを手土産に、
上司や先輩に相談すると良いです。
特に、そのサービスの開発に長く携わっている人は、サッと答えを出せる可能性が高いです。
「ああ、それならいついつに僕が実装した、この機能を参考にしたらいいよ」
「それだとこういうケースに対応できないから、そこだけこれを参考にして考え直してみて」
なんて答えがもらえるかもしれません。
##【結局のところ】
上司や先輩とチームとしての連携ができていて、
どんな風に過去の実装を参考にしたらいいか、
自分一人で対処できない問題にどうチームで取り組んでいくかという、
仕事の仕方が共有されていれば、
そんなに困らない部分ではないかと思います。
でも連携不足だと、
無駄に時間を浪費してしまったり、
微妙に参考にならない機能を自分で見つけ出してそれを参考にしてしまうこともあります。
この一年二年くらいで、強制的にリモートワークをはじめた現場は、
円滑なコミュニケーションをとるノウハウがなく、
新人のリモートでの扱いに慣れていないケースもあると思います。
なので新人としてこれに困ったときは、上司や先輩に素直にSOSを出して、
・その現場で過去の実装はどんなふうに掘り返しているのか、
・探す際に使えるものはどんなのがあるか、
みたいな仕事の仕方を聞いてみると自分を救える可能性が高いと思います。
(たとえ「今更そんな初歩的なこと聞くなんて…」と思ってしまうくらい、
参画して時間が経っている気がしたとしても)
場合によっては、
「自分でなんとかする能力を培って欲しくて、あえてやり方を伝えていなかった」なんて、
知らぬ期待と教育を施されているケースもあるので、そういうのを明らかにするためにも、
時間がかかり過ぎるようなら手土産をもってSOSを出しましょう。
自分でできることはしたという部分がクリアできていれば、
たいていはお小言なしで教えてもらえると思います。
##【そもそも】
今回記事にした内容に限らず、
新人である自分に仕事の仕方が伝えられていない場合、
上司や先輩の中ではなんとなく上手くいってる部類の、
仕事の仕方においてふわっとした部分として処理されている可能性もあります。
質問してみると
「確かに自分ってそれどうやってるんだっけ?なんで上手くやれてるんだろ?」と、
整理し直して共有してくれるかもしれません。
ただし、コミュニケーション不足で伝える機会がなかったというケースも有り得るので、
どんなに上司や先輩が忙しくても、自分からまずSOSを出してみるのが大事だと思います。
「どうしたらいいかわかんないです!」と思いっきり泣き叫びましょう。
心の中で泣いてても、上司は気づいてくれないので…。