Saturday, November 28, 2009

New Job! Two Week Notice Reflection

My first week at my new game dev gig is coming to an end and I just wanted to reflect a bit.  For those who do not know I have moved on to newer and more interesting work (in my opinion).  This means I have been busy resolving loose ends at the old job and prepping for the new (reason why little to no content is being posted).  The new job is great, really can't talk too much about what I'm doing specifically (at least I am not sure I should), If you really care just ask me in real life or something.

This was my first game dev job change so I wanted to take a bit to reflect on the transition.  The last three weeks have been rather interesting.  When you give your two weeks at a job it is kind of a big deal and I didn't want to screw it up.  Burning bridges was part of it, but it was mostly because I honestly loved the job and didn't want to be that guy.  I don't think anyone really wants to be that guy.

Who is that guy?  Well to me that guy is the guy who leaves with a bunch of loose ends you have to clean up.  It is usually nothing fun and results in you cursing the person (especially if you didn't know him well).  From recently trying to avoid being that guy, I found out that it is pretty tough.  Though I did my best to prevent it, I fear that in a few months I will become that guy to some of my previous co-workers.

I am pretty confident I was a great employee the past two and a half years.  I busted my ass trying to become the man (as opposed to that guy), which I believe I became for AMI towards the end.  When people were stuck on something or didn't know why this or that happened, I always had an answer.  Unfortunately I believe this may be a huge factor we me becoming that guy in a few months.

You see when you are the go-to-guy (the man), some can become a bit dependent on that.  Towards the end I realized this and challenged people to figure out things on their own, but I fear it may have been too little too late.  It is much easier to remember information if you had to deal with some shit to figure it out (for most I believe).  By providing answers too easily for a good while I fear I may have contributed to becoming that guy.

It goes back to that old saying "give them a fish and you will feed them for a day, teach them to fish and you will feed them forever."  I was the guy with the fish and I would give it out way too often.  So with my final two weeks I made it my mission to at least soften the blow of being that guy to those still at AMI.

This is the mantra I followed:
  • Do not write new code
    • If you must then thoroughly review it with your lead and co-workers
  • Dump any analog notes digitally for all to have access
  • Dump important information you are in charge of (account information etc.)
  • Hold various meetings to present important work you contributed that will need to be maintained
  • Hold various meetings to review documentation you have created in your time at the company
  • Followup on feedback from your peers
The first bullet is pretty important.  If you are leaving, any new code you you write will need to be picked up by your co-workers.  Last thing I wanted to do was increase the amount of code that needed to be maintained by others.  I kept a lot of notes on paper, this helped me remember things better.  It was also much easier for me to scan my wall for the things I need to know or do then search through wikis and the like.  A lot of useful information was on those papers that I others could utilize.

You can't simply leave bread crumbs for your peers to find.  This is why I held a number of meetings presenting the important information.  I would review the wikis I wrote up and give them a chance to voice their concerns or ask about something unclear.  This helped improve the documentation as well as give my co-workers some advance knowledge which will be useful if/when they deal with what I've left behind.

Some may say if you're doing your job right you should be able to quit any day.  This is of course because you are always sharing knowledge and not hording information.  It is something I strive for, but I think it is very far from reality.  Pair programming helps with this as does simply working with others in general.  There are always going to be information that is picked up by some and not by others due to certain situations.

Ultimately I think two weeks isn't enough time to keep yourself from becoming that guy.  You have to actively think: If I were to quit right now, would I be that guy?  If it is yes, then you need to think about what you can do now to prevent that.  Keep more digital documentation, show people weird quirks and crazy issues you come across.  Instead of silently fixing something crazy or adding something useful, gloat about it and rub it in the faces of those around you (nicely).  They will thank you later or at the very least forget about you, which is the next best thing.

Thanks AMI for all the good times.  No thanks for the times that were not so hot.  Good luck to those I left behind.

No comments:

Post a Comment