In the spirit of Thanksgiving I'd like to share some things I'm thankful for. I give thanks to my wife for believing in me and supporting my decision nearly two years ago to leave my job to start Uber despite having just given birth to our second child. I’m thankful for the support of friends and family during the startup process. I give thanks I now live in this beautiful part of the country and how easy my wife and I have found it to make great friends and to feel we have family locally, even though our actual families are thousands of miles away. I'm thankful Uber has me surrounded by incredibly talented and passionate people, and I'm thankful we live in a country that provides the opportunity to transform that talent and passion into success through honest and hard work. I give thanks for our men and women in uniform, without whom we would have no such opportunity. I’m thankful for our firefighters, police officers, volunteers, and all servicemen and women who keep us safe. Uber Entertainment wishes you all a very Happy Thanksgiving.
Uber is looking to hire a gameplay programmer.
We offer a very strong benefits package including fully paid health insurance, 401k, a generous bonus plan and a fun team environment.
If you are a superstar and want to find out more please email firstname.lastname@example.org.
Several of us have set up work twitter accounts for game and company related info as we gear up for some exciting stuff coming down the pipe. You can find:
Major news broadcasts will also come from @uberent .
Some recent discussions here along with
our current ramp up has had me thinking about our own bug / issue
tracking, which so far has simply been a shared Google Spreadsheet.
This has worked perfectly fine for our small team in prototyping /
prepro, but is not expected to scale. I've been wondering if there's a
way we could make GMail work as a bug database. It seems like it's
nearly the perfect tool:
* Web based
* Labels, which are far superior to categories / folders
* Excellent search
* Discussion history on bugs
* Quick / easy / familiar interface
* Supports attachments for screenshots etc
The main trick would be getting the workflow right in a multi-user environment. So here's my brainstorm on the main activities associated with bug management and how they might (or not) map to GMail.
Describe a bug
Presumably we have an email account (a real gmail user). Submitting a bug is simply writing an email from your work account to the bug tracker user. Subject is the short description, Body is the long description / repro steps / attached screenshots etc.
Store the bug info
Since all emails go to the bugtracker user, that's the database.
Categorize a bug
Categorization is done via GMail labels. This is a bit tricky since labels wouldn't synchronize correctly if the tracker was forwarding things to you, or if you were pulling stuff via pop/imap. I do think that it's possible to actually synchronize changes among the team by writing a google gadget or something, but I'm exploring how we might be able to do this with nearly 0 implementation effort. So in order to label stuff, do queries on labels, and perform most other management people would need to be logged into the bugtracker@OurCompany.com account. This is problematic for us since we use Google Apps for domain to host all our work email and you can't be logged into both your work account and the bug account simultaneously. Not an issue if you don't use gmail for work, but we'd need to create another Google Apps account with a different domain like OurCompanyBugs.com. We'd probably want to do one tracker per project, so projectX@OurCompanyBugs.com. Fortunately this is trivial.
Assign a bug
This is actually just a specialized form of categorization. Each team member is a label name. Assignment occurs by labeling the bug with one more user labels.
Get a list of bugs assigned to me
Click on your name label. Done.
Get a list of bugs assigned to all programmers that are less than 6 months old but only if they were assigned on a Friday (or some other complicated search)
Write the query once and save it off with the Quick Links gmail labs add-in. There's other label features that could be useful like SuperStars for indicating severity icons etc.
Comment on a bug
Reply to the email. Also has the nice side effect of bubbling the conversation to the top of the inbox.
Close a bug
Again, just a label. Archiving the email thread removes it from the Inbox (which is just another label). So open/closed status is simply whether or not it has the Inbox label.
Any comments, suggestions, and more importantly reasons why this might not work at all are appreciated. :)
The partners we work with are very large corporations that have a wealth of experience, knowledge, and insight into aspects of our industry that we sometimes do not. It's therefore important we listen to them when they offer to share such knowledge. I've seen other businesses treat their business partners as the enemy and I wonder how any business gets done at all under such adversarial tension. Typically these relationships are one-off and disintegrate at the conclusion of the project. Our philosophy from the start has been quite the opposite. Our strategy is to be the best partner we can possibly be in all relationships so that repeat business is not just possible, but desirable from both ends.
We showed our game recently to one of our partners and got some feedback that, if acted upon, would probably set us back a month or two in production, add risk/scope to the project, and possibly just not work at all. The changes did not mesh exactly with the vision, but we saw that with some effort it could be made to work. We had a choice; we could dig in our heels and preach the vision in hopes to convert, or we could put on the Captain hat, listen to our partner, and course correct the vision. Their feedback was coming from a source of experience and data that we did not have access to. Our intuition told us their numbers were off, but by how much was an unknown. We decided to trust our partner, take the calculated risk, and course correct. In the end, I believe we have a better game because of it. It would have been easy for us to dig in and possibly even get offended by the suggestion to alter the vision, but I'm proud of our flexibility and our willingness to do what it takes to take a game from good to great.
A spirit with a vision is a dream with a mission. - Neil Peart
I've been thinking about the balance between vision and practicality, and how a dream with a mission can blind and deafen even the most intelligent and well intentioned. To achieve any mission you need both a Dreamer to provide vision and a Captain to provide leadership. As a Dreamer it's your responsibility to embody the vision and preach it as gospel in order to embolden your team and convert the nonbeliever. As Captain you ensure there exists a realistic possibility to execute the mission, chart the course, and keep the ship from running aground.
In some organizations these responsibilities are divided among individuals, however in many others a single person is burdened with these often diametrical roles. The Captain overcomes criticism with facts and reasoning; the Dreamer overcomes criticism with powerful conviction. Success is multiplied when the roles reinforce each other. When the Dreamer can trust the Captain has the compass, map, a clear destination, and the ability to navigate he doesn't need to pull up charts and graphs to make his case. If he can communicate his vision with clarity and passion he can persuade. Likewise when the Captain can rely upon the Dreamer to communicate the vision effectively, he can focus on the plan, charts, and graphs to provide the foundation required to even get a deal. Think of it from an investor's perspective; they're not going to invest in a dispassionate business owner no matter how good the numbers look, and they're not going to put their money with the charismatic visionary who has no demonstrative means of executing.
Great entrepreneurs are both Dreamer and Captain. Every day I strive to improve in each area, but it's easy to get so wrapped up in one that you lose sight of the other. I look to the greats for inspiration. Watch a Steve Jobs presentation during a major product launch. He seamlessly blends conviction and reasoning to communicate a vision in a way few are able. For execution, he relies on Jonathan Ive, Apple's design guru. Mr. Ive plays a major part of the Captain role by realizing the physical manifestation of Jobs' vision flawlessly. With my strengths and weaknesses in mind, I've done my best to surround myself with brilliant people who, replace my limited skill in some domains with expertise, fill in completely missing gaps (you should see me try to draw or animate), compliment each others skills, and act as productivity multipliers on the business. My goal is to make everyone at Uber believe in the mission and have confidence we'll get there as a team, which is not hard because this place is full of Dreamers and Captains.