Posts Tagged ‘Personal’

Python Enrichment and PitP

When I was starting my job at CCP, I posted about some things I wanted to do as a lead. I’ve been through two releases with the Tech Art Group in Iceland (and for the past 6 months or so been the Tech Art Director here) and figured I’d measure my performance against my expectations.

Training sessions: I’m proud to say this is a definite success. I was the initial Coordinator for our Reykjavik Python Community of Practice (studio-wide volunteer group that discusses python in general and its use at CCP), where I started two initiatives I’m very proud of. One is the weekly ‘enrichment session’ where we watch a PyCon video, go through a demonstration or tutorial, etc. These have gone over great, the trick is to do them even if only 4 people show up :) The other is Python in the Pisser, a python version of Google’s Testing in the Toilet. I hope we can open source the newsletters and maybe share content with the outside world. More information on that coming in the future.

Collective vision/tasking: We run an XP-style team on tech art so I like to think my TAs feel ownership of what they are working on. In reality, that ownership and vision increases with seniority. We are actively improving this by doing more pairing and having more code reviews- the team is at a level now where they can review each other’s work and it isn’t all up to me to mentor/train them.

Evolving standards and practices: We started in Hansoft, moved to Outlook Tasks, and settled on Trello. We’ve discovered our own comfortable conventions and can discuss and evolve them without getting into arguments or ‘pulling rank’.

Community engagement: The CoP and mentoring has definitely done some work here. I try and give everyone 10%/10% time, where 10% is for ‘mandatory’ training or non-sprint tasks, and 10% is for their personal enrichment.

Move people around: We haven’t had much of an opportunity for this but we did change desk positions recently :) The art team is too small to have many opportunities and all graphics development is on one scrum team.

Code katas: We had one and it was mildly successful. We plan to do more but scheduling has been difficult- we do two releases a year, and DUST introduces complications in the middle of those releases, but we’ll be doing more things like it for sure.

I’ve also been doing very regular 1-on-1′s and, I hope, been getting honest feedback. Overall I am happy with my performance but can improve in all areas, even if that means doing more of the same (and becoming a better XP team).

Anyone want to share what successful cultural practices they have on their team/at their studio?

Taking your dog to Iceland

In late 2011, my wife and I imported our Boston Terrier, Shoni, to Iceland. Since importing pets commonly comes up on foreigner discussions, I thought I’d dedicate a post to our experiences (sorry, no tech writing today!). I’ll also mention, this is specifically for dogs, at the time we did it. Cats may be different (easier and more people have done it, from what I hear), and rules may change. I’m also not going to bother linking to forms- this is a personal experience, not a guide, and there is some amount of work involved in moving your pet to Iceland!

Overall, the process isn’t too hard. Information is pretty clear (and in English), everyone was very accommodating, and there were no surprises from Iceland’s side. I wouldn’t bother getting a service to do it, I’d just do it myself. And our dog came out no worse for the wear.

Anyway, on to the timeline (I’ll list prices at the end):

1. In early September, I applied for a permit from MAST, which is good for up to a year. I should have done this much earlier. I needed to get the permit at least 30 days (something like that) before importing Shoni, which meant by the time I got the permit, she couldn’t come with us in October. This threw everything off and caused a lot of stress and extra shots. So get your permit ASAP. The rest of the process is filled with timing restrictions, don’t mess this one up.

2. There are two quarantine places. Once is in the far north (Hrisey, near Akueyri), one is nearer to Keflavik. They stagger their intake, so one takes pets for a few days in the middle of the month, the other at the end/start of the month. If you have a choice (and are living in the capital area), I’d choose the one near Keflavik, to avoid an extra return flight and less transport overall. I’ve also heard their English is better. Shoni ended up going to Hrisey though, because I screwed up the permit and that’s what worked out timing-wise.

3. There are certain shots that the dog needs to have at least 60 days from departure. There are other shots that she needs no more than 30 or 60 days from departure. Read everything and schedule everything in advance. Don’t mess this up! Though we did a little bit but talked to MAST and everything was fine.

4. Make sure you have an airline-ready travel crate, and make sure your dog is used to sleeping in it! A regular crate won’t do, you may need a special crate for air travel. We lucked out, Casady’s aunt and uncle had one they weren’t using, from their recent international move.

5. Shoni flew from Texas to New York in mid-October, after our wedding, in coach with my Aunts. This was the least harrowing part of the entire trip, even though a 10kg dog in the cabin is too big! If you can book your pet in the cabin, do it (it’ll also be cheaper). Try it even if they may be too big- she flew Jet Blue, and it made me like that airline even more. If she must go cargo, I’ll note that airlines have restrictions and cautions for certain dog breeds during certain months. Boston Terriers are brachiocyphallic (snub-nosed), so they can overheat and die during travel, especially during summer months (usually sitting out on the tarmac). Different airlines have different records and different breeds have different accident rates. But do your research and be safe (if the dog is worth the price you’re going to pay to move her, she’s worth this risk, I’d say). We sent Shoni’s (empty) crate as baggage.

6. It was difficult and a huge burden to place on someone (my Aunts) to prep a dog for an international move. We did a bunch of stuff in Austin, but there was stuff that needed to be done 30/10 days before departure, that my Aunts needed to do. Shoni ended up getting several unnecessary shots; there was lots of confusion and stress in the month she was with my Aunts. On the other hand, breaking the trip into two parts was easier on Shoni. I would have been scared for her life if she went on an 18 hour trip in her crate. The key takeaway is that better planning and less procrastination would have made things easier, but even with mistakes along the way everything turned out fine.

7. Again, read the paperwork. There’s stuff you need to fax 5 days before your pet arrives. There was, not surprisingly, a lot of stress in the last few days. Lots of calls with MAST and my family and making sure everything was good to go.

8. With everything set, Shoni flew Icelandair cargo in mid-November from JFK to Keflavik. It was painless and we got confirmation she arrived, the worst parts were over. The quarantine people picked her (and presumably other pets) up, drives them to Hrisey (or wherever your quarantine is), and they start their quarantine. There is no way to interact with your pets AFAIK, even if you are on the same flight (sometimes you may see them in the luggage area but it isn’t like you can take them out to pee!).

9. Once in quarantine, we asked for updates/photos, and got them. The “warden’s” English was not great so it was difficult to communicate, so I needed to have a friend translate some emails between English and Icelandic. Shoni looked nervous and the place was obviously pretty sterile, but she looked safe and healthy. Shoni is very well-adjusted and adaptable, so if you have a nervous pet she may fare worse. Also, I think you can visit your pets- but I wasn’t about to go to Akureyri as a new resident in December, but I probably would have visited her in Keflavik.

10. After 4 weeks (right before Christmas, for us!), Shoni’s time was up. And here’s another reason to choose Keflavik over Hrisey- Icelandic winter weather is fickle and her flight was delayed several times. She was on one of the last flights from Akureyri. We picked her up from the airport, took her home in a cab, and all was well. She didn’t have any of her toys or blankets she was sent with- the stuff has to be boiled and rarely survives it.

11. Costs. All are approximate.

  • Permit: $240 (including transfer fee)
  • Flight Austin->JFK: $100
  • Flight JFK->Keflavik: $450
  • Akureyri->Reykjavik: $100
  • Quarantine: $1600 (varies with pet size)
  • Customs fee: $100
  • Vet bills: $700 or so, not sure
  • Total: About $3500

In the end, it wasn’t a question of whether or not it was worth it- there was no question, she was coming. However, procrastination complicated things. And it is expensive. Bigger dogs will be more expensive, cats are smaller and require less shots so would be cheaper.

Anyway, I hope this post is helpful, and feel free to ask me any questions about my experience.

Is QA a good stepping stone?

I’ve always heard that it was difficult to move from QA into development (game design/programming/art/production). I thought this was smart- QA people should be there to be QA people, not doing a job only because they hope it would lead to something else.

And at some companies, it works. My previous job was at a well-regarded studio, working on a huge game and IP, in a wonderful city, and lots of developers were looking for work (and we had the money to hire them, if not keep them after ship…). People really wanted to work there (I once interviewed someone as I was near the end of my tenure there, and told him pretty clearly, “you won’t like programming here.” And of course he took the job anyway). It didn’t make sense to spend effort training QA people when you could just hire the people you wanted directly.

However, I now work at a place that is much more difficult to hire for. Outside people respect the company and know the game, but the audience is smaller than one of the biggest IPs and most successful game studios of all time. And especially, it’s in Iceland. Iceland is a wonderful country, but we’ve had several people turn down offers or on-site interviews because their family said “no way” (myself almost included).

In my opinion, it makes more sense to hire QA people (often out of the EVE or local Icelandic community), and set them up on a career path that leads outside of QA. There will never be a serious shortage of applications for a QA job, but it can take a year to hire and relocate a senior person (and you are taking a big risk on that time and expense!). And to a large extent, this is what we do (and while we have sometimes failed at providing career paths, I still think it remains the goal).

I quite like this new strategy- not only does it produce good results over time, it also seems to have more integrity- QA people are too often treated like second class citizens, rather than devs-to-be. I’m not sure if my mind will change if I move on to another studio, but it’s at least how I feel now. I wonder how other studios approach this issue?

(Side note- I am not saying there isn’t a need for senior and permanent QA people, I’m just saying, there are lots of people in QA that don’t want a career in QA. There should also be career development inside of QA, but that shouldn’t be the only career development)

How to deal with being a negative developer

There was a recent AltDevBlogADay post about Negative Developers and Team Stability that hit home. It’s not that I think the advice was particularly interesting (good, standard stuff), it’s that it reminded be that I’ve been a negative developer.

I don’t know what I could have done differently. I just wasn’t happy at work, and there was little I could do to change it. The quality of my work was apparently very good, I was just terrible for morale, because I was either 1) pissing people off or 2) encouraging people to be pissed off at the problems I/we saw. Eventually I got the best advice I’ve ever gotten (which deserves its own blog post), and left the company. I went to the right place and became a positive developer.

And that’s sort of what struck me about the article and about how we typically deal with negative developers. Some developers are just not a good fit, regardless of how amazing their work is. If someone is negative because she is “culturally incompatible”, because there’s nothing you or your manager can do to fix it. And it is worth it to have a frank discussion about whether that person can ever be happy without changes to the studio, and if that person says ‘no’, you should discuss plans to part with mutual respect at a mutually agreed date.

I had to put in my two weeks at my last job to have this advice given to me by the President (GM? Can’t remember) at the time. It convinced me to un-quit, and to stay on another year. It ended up being a miserable year in many ways, but it was the right thing to do and worked out for the best. As managers- and friends and team members of negative developers- we need to keep this advice in mind when dealing with negative developers (and ourselves).

Someone has a hat to eat

In December, I made a blog post about being happy. A anonymous (of course) commenter said:

Hey Rob. 5 months? Are you really this shortsighted? It’s like watching a kid say he’ll NEVER get tired of THIS toy. Frankly, if you don’t get tired of it you stopped growing. Take it as a good learning experience for the time when you forge your own destiny, but if you aren’t back to being a grumpy asshole in 6 months I’ll eat my hat. Not that I wear hats.

So 6 months (and a released expansion) later, have things changed? No, not one bit. In fact, late-night-drunk-rants have growth even more positive all around. Few of the bitch-sessions I’ve been used to in my career. It is an unfamiliar feeling. But addictive.

So why am I not back to being a ‘grumpy asshole’? Because there’s nothing to be grumpy about. There’s plenty wrong, but we’re moving at a steady pace in the right direction. And everyone is on board that it’s the right direction. No “we’ve decided this is the right direction so STFU and do what you’re told”. This happens because the talented people that complain loudly have several constructive outlets (I put myself in that group, at the risk of sounding egotistical).

One of the most exciting are communities of practice. Read the Wikipedia article if you like, but really they are a company-sanctioned forum for people with axes to grind to argue. Then we figure out what we want to do, and how to do it. And then we do it on some 15% time for skunkworks projects we’re able to reserve. Being able to talk about our common problems, across teams and responsibilities- we have everyone from tech artists to server programmers to the CTO there- is a refreshing experience.

(If you’re at a large company with lots of programmers who all aren’t on the same team, I’d highly suggest forming your own communities of practice).

The people who get shit done and can convince you of the way forward are given the responsibility to get more shit done. It’s nice. I think it has to do with the open source and python mentality.

Some tipping tips for non-American GDC/PyCon attendees (and American ones too)

Games Developers Conference and PyCon are both coming up, which means lots of familiar international travelers in the US. A post on G+ asked about how the tipping system works in the US. I’m not going to list the percentages and people (though I will say aim for 20% and always tip taxis and servers), but I will explain three very important things about ‘how the tipping system works.’

The first thing to understand is, tips are generally a part of wages. The federal minimum wage is $7.25, but may only be $3 or so for an employee that earns tips, because the rest of the money ‘must’ be made up in tips. Tipping is never “extra” money to a tip earner (takeaway, baristas, etc., are generally not ‘tip earners’).

Second is, servers do not generally declare how much they made- there is a standard percentage of sales they must be declare as tips (differs per state but generally something like 10-13%). So if they make $1000 of sales and make $250 in tips, they are allowed to say they only made $130 (%13) in tips and only pay taxes on that (I say allowed, this is ‘illegal’ but everyone does it and there is no expectation to report everything you earn). However, this has an inverse- if you make $1000 in sales and only make $100 in tips, you pay taxes on the $30 you didn’t even make! So if you tip someone 10%, they may be paying taxes on money they didn’t make- you are taking money out of their pocket.

Last and most important is, many servers need to ‘pay out’ to other staff, such as bussers and food runners. This can often be 5% of sales or so. So they may only be taking home 10% of your 15% tip. And the blowback from not tipping is far worse here- if you tip 5%, that server may be earning exactly zero dollars from your table. If you skip on the tip entirely, you are taking money out of your server’s pocket.

So, Europeans, and Americans too, please understand- tipping should never be considered optional, even for bad service. Unless you think it is OK to take money out of someone’s pocket for a job poorly done, or even just if they made some mistakes. Imagine if your pay was docked for each bug you wrote! The only time I would ever not tip is if you were to walk out of the restaurant (for lack of service or some other dealbreaker). Likewise, your server is almost never getting as much of your tip as you write (taxes, payouts to other staff). So if you get good service, tip generously, then add a dollar or two. And if you get bad service, tip anyway.

Enjoy the conferences!

PS- laws are different in each state and restaurants are different. These are just general guidelines. Please don’t nitpick exceptions.

A few blog site guidelines

Adding feeds to Planet Tech Art, it became clear that not everyone studies great bloggers like Scott Hanselman or Dave Winer. Here are some rules:

  • Your full name should appear somewhere on your main page. Prominently if you are advertising yourself, but at least somewhere in the footer or header. There were some blogs where even a first name was absolutely nowhere to be found. Unacceptable.
  • A link to your feed should be somewhere on your main page. In order of preference- top/top of sidebar, sidebar, bottom. I visited several blogs that did not have an RSS feed anywhere. Again, unacceptable.
  • Make your first few works count. Many more people will see an excerpt than read your entire post, make sure the first couple sentences don’t say ‘Sorry I haven’t posted for a while’ or something similar.
  • Make sure your name is in your blog feed. Or something to identify you. For Planet, this is taken care of automatically, but subscribe to your own feed and make sure it is recognizable.
  • Speaking of subscribing to your own feed- subscribe to your own feed and make sure your posts are formatted in RSS properly. I’ve seen more than a few with missed code samples and other plugin-dependent data.

Happy blogging.

Do you remember what being happy feels like?

As I’m coming up on my 5-month mark at my new job, I was thinking about how happy I am here at CCP.  I’ve been waking up at 7:30 for weeks, braving the frigid Icelandic mornings, because I have been so excited to get into work.

My happiness caused me to reflect upon the utter boredom and frustration I felt at my previous job my last six months or so there.  But then I started remembering further back and wondering, when was the last time I felt like this?  Developing something I felt passionate about, something that people saw value in without me having to spend months convincing them, something I didn’t have to beg to get resources to work on.  In a place where people are overwhelmingly positive and non-hostile, with just enough aggression to make sure we can have lively discussions.

I know CCP has its problems and I’ve come in at, in many ways, a good time.  I know there are people unhappy where I am happy.  I know there are people who can work in the same type of environment I was unhappy in and love work every day.  Different strokes for different folks.

What I’m saying is, I spent a long time working, thinking I was happy, but it was because I forgot what happy was.  Or maybe I wasn’t thinking I was happy, maybe I just forgot to consider it entirely.  I forgot what a healthy work environment was, because I came so invested with the people, and stuff I had made, I lost perspective.  (Perhaps this was why I became so unhappy when I switched teams- I lost my already strained sense of ownership and commitment).

No rant or advice or recommendations or even new or good ideas.  Just wanted to share.

-Rob

To Verizon and Motorola: Let me use my own goddamn property

My first cell phone was a Verizon phone, and when I moved out after college I stuck with Verizon.  The only reason I cancelled my Verizon plan was because Casady and I moved to Iceland, where our CDMA phones do not work.  (CDMA is a type of cell communications that is only really used in America so you can rarely use your American cell phones overseas).  We brought my Droid, and Casady’s Droid X, with us, planning to use them as Wifi-only computers.  This morning, I factory-reset Casady’s Droid X, since my Droid is feeling its age and Casady isn’t using her Droid X.  I powered the phone back on and was taken to an activation screen.

Except, wait, of course my phone can’t activate, because I am in a GSM country (like every sensible country) and the Droid X’s silly CDMA doesn’t work.  I can’t get past the first screen.  Ruh-roh.

So I spend a few hours figuring out how to root my phone.  Except, I can’t even get into the phone to enable USB debugging, so I can’t use it with the Android SDK.  And obviously I can’t download anything from the phone itself to do it.  After fighting for a few hours (did you know Windows Vista/7 Home doesn’t have Group Policy Editor?  WTF!), I called up Verizon Customer Support.

The nice woman I spoke to didn’t have any concrete advice to offer but gave me Motorola’s number.  I called Motorola and the guy I spoke to told me I needed to call Verizon for an unlock code.  Ah, I was trying to root when I needed to unlock.  I’m so dumb sometimes ;)  So I called Verizon Customer Service again and another nice woman gave me a number for Verizon Tech Support.  I called Tech Support, and the man I spoke to put me on hold to do a little research about my problem.  He then transferred me to Leon in Global Tech Support.  We argued for a little while because he said Verizon only activates active/programmed phones.

I cancelled my account with Verizon because I don’t live in the US anymore, so the phones are not active on my account.
My entire family (included Casady’s side) are all Verizon customers, but we’d need to bring in the phones to get them programmed.  Of course, the phones are in goddamn Iceland, so that is impossible.
He stopped short of telling me I just needed to find an unlock code but I took the hint and thanked him and hung up.

So it turns out you cannot get unlock codes for the Droid X.   I looked and looked but no one seems to offer them.  It is rare for CDMA phones at all and I have not seen a single one for a Droid X due to the enhanced security features.  I’m open to tinkering but have made literally zero progress despite trying everything I could find (on a positive note, my patience has definitely improved).

So, the next thing I’m going to do is call Motorola and talk to whoever I need to talk to until I’m satisfied.  And then, when they won’t do anything, I’ll talk to Verizon and do the same.  I paid I think $200 USD to buy the phone and then another $300 or so for early termination.  I own this phone but am locked out of it.

Any ideas or support is appreciated.  This sort of corporate shit really grinds my gears and I’m not going to take it lying down.

Update

Sorry for the lack of activity lately. I was moving from Atlanta and CCP’s studio there, back to Austin for a week, got married, moved to Iceland, started at CCP Reykjavik, and found a new apartment. So I’ve barely blogged or G+’ed anything. I’m going to start blogging again, focusing on fleshing out my GDC presentation at the Tech Art Bootcamp, so expect some posts about training technical artists. After that, I hope to continue my work on pynocle and get back to my regular blogging and posting.

Return top
 

Switch to our mobile site