Lessons
Taking over another lead’s team
by Travis Johnston on Jul.22, 2010, under Lessons, Psychology
So your hired on at a new company to start their second project and they tell you that they will be splitting the current programming team.
This is typically good for both you and the company:
- you get to start your team with a group of people that have already proven they can work together.
- it reduces the pressure to rapidly hire and you can take your time to find the right new people.
- you have people on the team that can train you up on the company specific tech.
- it helps keeps the company culture as new people get exposed to it instead of working in silo’s.
But then it can also have some drawbacks:
- they have a preconceived notion of how they like to work together and you have to figure it out quickly.
- they can have already become a “click” and will make integrating yourself or new hires hard.
- they have a lot of indirect lines of power and trust that you do not have yet.
This last one is the real killer for the new lead and you have to deal with it really quickly to avoid complete fail. Often every time you do something that someone on the team does not agree with they go and talk to their old lead.
This can go three ways:
- Sometimes you get lucky and old leads come talk to you, find out what your doing and why and it ends there. The old lead learns something, they go back and explain it from a position of trust and everyone is happy. If this starts happening your problem eventually goes away as the programmers start trusting you directly.
- Sometimes the old lead does not come talk to you but just lets it build up. Then one day the wrath of a 100 disagreements just comes out of nowhere and you have a battle on your hands. This one kind of gets ugly because even if everything gets sorted out the bad feelings from the build up linger for to long and the slight distrust never really goes away.
- Often the worst case case is the old lead is in a position of power over you and just overrides your decisions. Nothing will paralyze you and a team like not know if should even try to plan anything because it could be overturned whenever the old lead changes their mind.
You have to stop any of this from starting in the first place and often the best way to do it is have a open communication channel with the old lead from day one. In the beginning run all your decision by them so they know what your doing and why. That way if they are not the type that will come talk to you it will not have a chance to build up. If they are in a position of power above you then you have to meet with them every day in the beginning to ensure they become the biggest believers in you and will never be temped to overturn your decisions without at least talking to you first. Set aside 3% of your day to be your own PR manager with your new boss and make sure it happens.
I have in the past accepted excuses of why people above me did not have 15 min to meet with me daily and get a running understanding of what was going on. They are busy shipping another game, being CEO of the company or something else and could only meet once a week at the most. Do not accept any excuses because if they perceive something is going wrong they will suddenly have more than enough time to get in your business. Might as well pay the time as you go instead of it all happening at once usually at the worst possible time. Also do not accept the “Just send me it in an email” excuse either, very few people will ask all the questions in an email that they would in person.
Good luck leads…
The Peter Principle and The Game Developer’s Dilemma
by Travis Johnston on Jan.19, 2010, under Industry, Lessons
The Peter Principle states that “In a Hierarchy Every Employee Tends to Rise to His Level of Incompetence”, and adds that “work is accomplished by those employees who have not yet reached their level of incompetence”.
Which brings us to The Game Developers Dilemma:
Do you do someone else’s work to try to keep the project going or do you let the person fail so things will reset and not harm the company long term.
We have all worked our asses off to cover for someones incompetence only to see that incompetent person get promoted to a position were they can and quite often do take down the entire company. It has happened so often I now cringe when I get introduced to someone and they say “this is bob, he just got promoted to position of high importance“. There is a 65% chance they do not even have close to enough training to be in that position and will likely fail within 1 project. The game industry is notoriously bad at mentoring people and often does promotions strictly based on time at the company instead of proven skill sets.
Once upon a time my answered to the game developers dilemma is that the project was the most important thing and everyone should step up to do whatever work is needed to make sure it never fails. I would kill myself to make sure it succeed. But most of the time it only prolonged the inevitable crash from too many bad process, scheduling and money decisions. I now realize that learning is the most important thing and every time you stop someone from failing you stop them from learning as well. Very few people learn enough from close calls but everyone learns from failing so let the people fail. Far fewer projects get canceled than management would lead you to believe. If the right people are held responsible they will learn their lessons and the company will be orders of magnitude stronger in the long term.
Not taking the high road here, for every person I have helped prop up in the past I know someone has helped prop me up when I made bad decisions. I am also not saying we should never try to help people avoid making bad decisions. Anyone willing to learn should be taught everything they can so they can avoid as many mistakes as possible and get to a higher level of productivity. All I am saying is after someone makes a bad decision they need to experience the consequences of it even if it means failing.
You can not make a sword without a lot of hard blows.
Social Bookmarking Reloaded will make Agguingi your #1 keyword
by Travis Johnston on Dec.28, 2009, under Lessons
A little while ago I installed the workpress pluggin “Social Bookmarking Reloaded” and shortly later I noticed that my google keyword ranking changed and Aggiungi had become the #1 keyword. Well that’s not good and going to mess with my page ranking.
| Keyword | ||||
| 1. | aggiungi |
|
||
| 2. | game |
|
||
| 3. | industry |
|
||
| 4. | software |
|
||
| 5. | gamasutra |
|
||
Searching I could not find it anywhere on my blog, but further investigation I traced it back to the Social Bookmarking Reloaded dumping the “Aggiungi” keyword multiple times into every page, 859 times in fact. A google search for the “Aggiungi” keyword only returns logs that were using the Social Bookmarking pluggin.
Lesson learned, uninstalled and now using the wordpress pluggin “Sociable” to see if I can get my keywords back in order.
Googles new site performance lab is pretty good
by Travis Johnston on Dec.28, 2009, under Lessons, Programming, Testing
Was going through googles webmasters tools and noticed they have added a new page in their lab section called Site Performance. Clicking on it I got some bad news about my website.
“On average, pages in your site take 3.7 seconds to load (updated on Oct 29, 2009). This is slower than 60% of sites.”
Wow that is not so good. So I installed google’s Page Speed addition to the Firebug pluggin for Firefox. This is a great tool by google as it shows a great ordered list of worst offenders. Then it goes beyond that and gives you estimates of how much faster things could be if you gzip compressed your code, minimized you DNS look-ups, adjusted your image cache dates and a bunch of other techniques.
My offenders were not quite what I expected.
- 248k of Java download
- 7 DNS look-ups
- 243k of image transfers
Tracking it all down I found out Google Maps was the source of my problems. Kind of ironic; I need new google tools to figure out that google was the screwing me in the first place.
It loads in all of Java and not just a stripped down lib, then it contacts another site to convert your coords to what it needs, contacts itself (google) to look up your map and then send you a image of where you are.
Hmm, those little maps on the bottom of your page are cute but not worth that, gone.
The only thing I wish I could do at the Performance Site is request it to be re-ran now that I am done optimizing. In general though very cool tools and I hope it gets out of the lab and becomes part of the webmasters tool suite soon.
Secret Level made it to Wikipedia
by Travis Johnston on Dec.28, 2009, under Development, Industry, Lessons
Click here for Secret Level’s Wikipedia entry
So Secret Level was a little console game company in San Fransisco that I joined when they were 12 people and helped grow until at their peak were around 140. At the 5 year mark we managed to build up enough reputation and talent to get sold to Sega Studio’s. An amazing achievement in its own right as most little companies go under at around 2 years or struggle forever and never become worth buying.
A lot of people all struggled to get that company off the ground. For 7 years I worked most many weekends, gave up most of my PTO, crashed so many cars, slept on the office couch and missed the first 3 years of my daughters life. But history is harsh and all it amounts to is a small wikipedia entry that says Ironman was not all it should have been and Golden Axe sucked the balls of the beasts they rode on.
Oh well, what does not kill you makes you stronger so level up and move on…