お久しぶりです。ドラゴンです
技術記事を書きたかったのですが、お仕事がホットな状態で時間も少ないので、
個人的に仕事で大事だと思う事についてでも書きます
私はプログラマです。新卒でゲーム会社に入社して7年目になりました。
これまで色々ありましたが、簡単に思い付いた事を書きます。
巻き込まれる
ゲーム開発は大なり小なりチーム開発です。
色々な人がいて、担当箇所も違うでしょう。
同じプログラマであっても担当以外だと何をやってるのかわからない事も多いです。
そんな中で誰かが忙しそうにしている時、困っている時、
「こっちで巻き取ろうか?」と声をかける事は大事です。
それにより自分のタスクが増えるでしょう。
ヤブから蛇どころか大蛇が出て来る事も少なくありません。
ですが、その大蛇を野放しにしておくとどうでしょう。
数日先、数ヶ月先、必ず自分に被害が降り注ぎます
直接その大蛇には関わらなかったとしても、
その大蛇を他のチーム員が退治している間に、
代わりに他の蛇を退治する役目を負います。
それがチームというものです。
バグだったら首を突っ込んで担当者から説明してもらっている内に、
担当者の頭の中が整理されて解決することもしばしばあります。
声掛けて話を聞いただけなのに、自分のタスクも増えず、
チームの進捗も良くなるなんて最高じゃないですか
未来の自分のために巻き込まれてください。
それが積もり積もってチームの為になり、トータルで自分にとって得になるはずです。
インターフェースと想定される結果だけはしっかり練って説明をする
関数宣言とかコメントだけ先に書くとかそんなプログラマの細かいテクニックもそうですが、
ここでいうインターフェースとはもう少し広義なものを指します。
例えば何かツールを作る時、ツールを作るということは使う人が存在します。
ツールの仕様書はあると思いますが、そこに全てが書かれていることは
少ないと思っていいと思います。
また、その仕様書が目的を果たせるようにしっかり書かれていたとしても、
そもそもツールを使う内に目的が増えることなんてことも多いです。
まずはインターフェースを作ります。
その状態で使用者に見てもらいつつ、これにより
どんな結果が生まれるかをきっちり説明します。
多くの場合、ここで「あれがしたい」「こうしてほしい」と目的が増えます。
人はある程度具体的な所まで見えてこないと、
やりたい事のイメージを固めることが困難です。
なので「最初から言ってくれよ」はやめましょう。
(頭でわかっていても思ってしまうことはありますが。。)
これをやるのとやらないのとでは最終的な工数が大きく変わってきます。
first commitで完成するツールなんて少ないですが、
手戻り、作り直しを減らすことはできます。
チームの為に、自分が楽をするために、ある程度固めた状態で
確認をしてもらう工程を作るようにしてください。
楽しく作る&興味を持つ
これは別に効率とかモチベーションとかそういった話をしたいわけじゃありません。
(モチベーションが上がらない時に効率を下げない事も社会人として重要な事ですし、
もしそうであっても大丈夫なスケジュールを立てる事も重要です。)
仕事は毎日やるものだから、楽しくやれたら飽きないよねってだけの話です。
料理が並んでいたとして、値段は同じ、味も同じ、それでも盛り付けがちょっとだけ良かったら得した気分になりますよね。
ちょっとだけ楽しむ隙を入れるだけで晴れやかな気分で仕事ができたりします。
楽しく作るために何が出来るのかはプロジェクト次第ですが、許される範囲で楽しみましょう。
「自分の為に」なんて後ろ向きな感じで書いてますが、
一人一人が自分のために効率良く作業ができれば
結果的にチームにとって良い結果に繋がります
自分の面倒が見れるようになったら他の人を助けてあげましょう。
ではでは。