IT企業で長期インターンをやってる。今の会社には実務経験0のときに拾ってもらったしお世話になったけど、さすがに愛想が尽きてきたから聞いてほしい。
今はやりかけだった新規開発を任されている。特に期限も差し迫ってないので自分一人で着手していて、プルリク作るたびに上司(以降A)に報告してマージしてもらうって形。
自分ができそうなところを探しながら並行して進めたせいでブランチ切る場所がごちゃごちゃになったり、Aと相談の上で「ここを先に直そう」という部分を入れ込んだりしたせいで、コンフリクトが起きても全然おかしくない状況になってた。しかも(Aの確認が遅いので)プルリクが複数件溜まったりしてた。
なので自分は、「プルリク複数ありますが、時系列順にマージすればコンフリクトは起きないはずです。起きたら自分で直すので言ってください」と伝えた上で完了を報告していた。
そしたら特に指摘もなくマージされていったので、「あ、絶対どこかしらコンフリクト起きると思ったんだけど、大丈夫だったんだな」と思ってた。
ところがついこの前、5件ほどマージされたところでたまたまmainを見てみたら、なんとコンパイルエラーだらけになっていた。
は?と思って確認してみると、数件前から既にエラーだらけだし、マージコミットをよく見たらコンフリクトが起こりまくってる。
それをAが、手動で解消せずに適当にマージしたり、mainをブランチBにマージ→Bをmainにマージみたいな意味わからんことしてるせいで、ものすごいこじれてた。
まず第一に、Aがテストしてからマージしてるもんだと思ってたから、普通に驚いた。
そういう確認の意味も込めて「ここはこういう仕様にしてますが、問題ないか確認お願いします」と伝えたりしてたし、確認しないなら俺が自分でマージするのと一緒じゃない?笑
それに、コードを単独で書いた自分が一番精通してるからこそ、「コンフリクト起きたら自分で直すので言ってください」と伝えてたし、先ほど述べた優先的に入れ込んだ変更も「全体の構成に関わる変更だからコンフリクト起きる気がするんですけど、本当に大丈夫ですか?」と確認してあった。
自分に落ち度があるとすれば、(細かく報告・確認してもらったほうがいいかと思い、良かれと思って)ブランチを細かく分けすぎたことくらいじゃないか?
そもそも、
・マージやコミット、プルリクのルールを一切指示されたことがない(質問しても明瞭に答えてもらったことがないので、ほぼ自分の判断で動いている)
・実装する機能はIssueに羅列されているだけでろくな説明がなく、Aに自分がやれそうなところを何度か聞いて初めて指示をもらえた
・ここしか経験がないので自覚していなかったが、コードレビュー・フィードバックというものを受けたことがない
・Aはずっとリモートなので、指導が一切ないのはもちろん些細な質問がしづらい。定例会議などもなし
・プロジェクト自体がめちゃめちゃで、無いに等しいドキュメント、なのに分かりづらい変数名、責任分離のできていないめちゃくちゃな構成。どうしても動かない処理があると思ったら、既存の実装が間違っている。
・(経験のためと割り切っていたが)ほぼ最低時給
小規模な会社だからドキュメントが充実していないのは想定内だし、こんなものだろうと思う部分もある。
でも、ものすごい放置のされ具合から伝わる、自分の取り組んでいるプロジェクト・ひいては自分の重要性の低さから、モチベーションが保てない。のでそろそろやめようと思う!
エンジニアの皆さん、これ俺悪いですか?
「俺悪くないよな?」は炎上系の奴の常套句
自分はAの立場だから良く分かる。そんなソフトの細かい動作が大勢に(今すぐは)影響がないからほっといてるのが良く分かる。増田の言いたいことはわかるし、正しい。けどAからする...