Categories
Monocategorized

Hard Practice

A long time ago, I was approached by a Little League coach. “Hey John, would you like to be my assistant coach this season?” He asked me. I replied, “I do not know anything about baseball.” He smiled cheerily and said, “Oh, I know that!”

I was confused about it for a while, but it had more to do with getting my son as a free draft pick than any actual ability on my part.

This was how I started going down a deep rabbit hole for several years. I now know far more about baseball than I thought could even exist. So why am I writing about baseball? Because there are some interesting things to learn about software development from baseball, including how teams function and, more importantly, how to learn new skills.

Today, we are going to talk about hard practice.

The first thing I remember after signing up for baseball coaching is sitting through the required “new coach” meetings. Little League, like so many youth sports organizations, gives you a tremendous foundation in how to work with young people and also how to not get sued. The next thing I did was go and find something on Amazon to throw some money at. Yes, that is correct — I bought some books on how to run baseball drills, including this one (disclaimer: cheerfully linked to Amazon even though you won’t buy it).

I have a lot more to say about youth sports at some point in the future, but I have about one more year of being silent about it because my son could still technically play baseball for a few more years at a college level. Yes, I have unkind things to say about the whole experience.

The one thing I personally learned from the experience is that you can learn how to develop new skills and habits by coaching youth sports. You get a great opportunity to see young and impressionable athletes applying themselves to become better players and achieve success or, in some cases, mastery of various skills needed to play the game.

Watch a college baseball tryout near you if you want to see some of this in action. You will observe that several assistant coaches will be near home plate conducting simultaneous drills in the infield, hitting balls to two different players simultaneously and having them throw across the field. Your first thought might be that this is dangerous—I was admittedly surprised nobody was getting clocked in the head by a baseball. This is done deliberately to help build situational awareness. While very few baseball games are played with multiple balls, you have multiple base runners, and being situationally aware is super important to the game’s success. I learned that around “13u”, for players thirteen and under, players realize that just because you can make a throw to attempt an out, sometimes it is better to hold onto the ball. I have seen kids many times airmail a ball over the head of a baseman, creating an opportunity for chaos and the other team to score.

So, how do we help players achieve these kinds of realizations? It is a mix of game time and hard practice.

Hard practice is practicing something at the edge of your competence, pushing yourself as hard as possible. If you are just half-assing your practice, you are not learning anything. I do not have any additional affiliate links to share for books you will not buy. Still, it was definitely discussed in several of them and clearly observable as I attended more and more tryouts and camps for my son.

I think that hard practice is also important for software development. I always try to determine the best tools to help teams develop their skills. Many companies and industries hold “hackathons” that are an opportunity for hard practice. The problem with hackathons is they generally run at unfortunate times for parents. Some are held over short bursts of time, including all-nighters and weekends. A few companies offer hackathons internally. Some product managers use hackathons to lobby engineers to make features that did not make it through the greenlight committee. Some engineers use hackathons to pretend that product management does not exist and demonstrate that they can also design features.

I like to work on some of my own projects on the side. I am trying to figure out if I think this is an important part of my professional success. I am also trying to figure out if doing a side project is a structural part of career growth in general. It is certainly an opportunity for hard practice, and hard practice is good for you. I do know of at least two instances in the past two years where some of my work projects have benefited from things I learned while wandering around in the side-project desert.

When I am helping people grow through mentorship or direct job responsibility, I ask them if they are working on a side project. While it is hard to maintain a solid work-life balance, having a small project will help you accelerate your professional learning. If that is important to you, you have to make your own decisions on whether or not it is worth an hour or more each week to invest your own time in your own success. I think this goes without saying; it is important to let people make their own decisions about the pace of their professional development.

Thank you, as always, for reading along. Writing this blog is hard practice for me, and I appreciate all of the responses, likes, comments, and shares. I would appreciate the Roosevelts if you ever bought any of the stuff I link to Amazon, but even not making any money there has its own level of reward. I am not a shameless sellout if I continue to suck at affiliate marketing. If suddenly it starts to rain cheddar, then hey, I got paid. That is some win-win right there. Alexa, insert a smarmy picture of a product manager winking and doing double-finger-guns.

See you next week.

Categories
Monocategorized

John Szeder’s Quadrangle of Software Shippiness

Have you ever sat down in one of those meetings where someone patronizingly draws a triangle on the whiteboard, writes Quality, Speed, Cost in the corners, and declares “Faster, Cheaper, Better… You can pick two!”? Yeah, we all hate that guy, right? Right. I have to confess I recently decided to be that guy and was told “Slogans are invoked to avoid thinking” by Bill Grosso, my boss (manager? leader? mentor? co-conspirator?) at Game Data Pros. That was reasonably fair. We proceeded to unpack the rest of the conversation we were having around engineering deliverables and I realized that there is actually a fourth element that most people do not talk about. In addition to examining the cost of development, the speed of development, and the quality of development, there is one more mutable axis for a project to consider.

Ladies and Gentlemen of the Internet, I hereby declare that the Triangle of Faster-Cheaper-Better has been upgraded. Instead of a triangle where you get two items, we are upgrading our shape and including one more choice for you. Yes, yes I know, your teams will totes adorbs this.

Today I present to you Szeder’s Quadrangle of Software Shippiness… I am claiming this fantastic law as novel and non-obvious. I have cited Bill above as an inspiration here, I should also add that I am not going to give him a slice of the voluminous royalties from becoming Internet Famous unless he joins me on the inevitable world tour.

When building your software, you may control the delivery (the Shippiness) of your software with four levers:

QUALITY

SPEED

COST

And the new addition:

SCOPE

Allow me to illustrate with this handy and informative technology drawing.

I will give you a moment to let this sink in… It hits different, doesn’t it? It is always important to realize that the idea of “product” itself is malleable when trying to figure out how to deliver high-quality products on time and under budget. You can always adjust the scope of the project itself.

You already know you can pick two from Faster, Cheaper, and Better, so why not add a fourth option of Smaller, and now you get to pick three!

Google reminds me that Antoine de Saint-Exupéry said ‘Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.’

I think this is an important lens to apply to your upcoming projects. If you are struggling to figure out how to fit all of your deliverables into your schedule and budget, maybe it is worth figuring out whether or not everything that you want to deliver is necessary. If not, maybe it is a moment of renegotiation with your product partners. Maybe the items you feel are not necessary, are necessary, and this will give someone the opportunity to explain their importance. 

If nothing else, your shared understanding of what needs to be delivered will be higher, which always helps.

That is the entirety of the post today. I leave you with the poignant thought that this post is reduced to its smallest size possible in honor of Antoine de Saint-Exupéry, and the subject matter, and out of respect for your time.

Speaking of respect for your time, I recently saw this amazing programmable multicolored wall clock on Amazon and am shamelessly linking it to you for profit.

Do I own one? No. Will you click on it? Also probably no. Eventually, I will figure out Amazon Affiliate Marketing.

Categories
Monocategorized

Diss-Unity

Update: I guess this became old news while I was sleeping.

I was out of the office this past week when Unity emitted some signals about business model changes that were primarily perceived on a scale from “toilet flushing” to “death rattle” by most of the game developer community. You know how to Google if you want to know more.

There is no surprise to anyone that Unity is trying to make more money. This is what businesses do for a living—especially public companies. The big surprise came around the details of what they were proposing. I counted precisely two people who responded with “This is an entirely reasonable thing to do.” One of them claims this because it does not affect their personal project. The other one surprised me with the depths at which they tried to say “This is fine!” The second one has an entrenched position as a former game publishing executive and current Unity shareholder that gives them some plausible rationale for their batshit lunatic uncaring personal opinion. That is right everyone, I am subtweeting on my blog. Nanner nanner poo poo.

So what is wrong with Unity’s new proposal to charge per install?

A lot of people are griping about the notion of “democratizing game development” from the early Unity founders and previous promises made that this will never happen. I concede that these two things have amped up the emotion around the subject.

I want to talk about four things here: Timing, blast radius, enforcement, and shenanigans.

Let’s start with the timing. About a decade ago, I used to work in developer relations for a social games platform. It was not a successful social platform in some ways, especially for people who migrated games over from Facebook and their North American-centric audience. A number of companies that brought games to us at Hi5 decided that the platform was not working successfully and wanted to sunset their games. We would ask them to give an announcement to the community about the coming event as well as give them thirty to ninety days to play on the platform with commerce options turned off. This was generally accepted as a good business practice for someone spending five, ten, or even one hundred bucks on a social game.

This is not the timing for a tectonic shift in your business model for thousands of business partners generating millions of dollars of revenue.

If you are going to make a substantive change like this for your partners, you want to give them six months to a year of notice, and potentially phase it in for new titles or on specific versions of software. This made a really bad announcement into something much worse.

The next thing I want to talk about is the blast radius of the new pricing structure. There was a super-gaslighty attempt to reassure everyone that this only affects ten percent of their developer customers. Whether this is true or not will be up to someone else to figure out. I will say that one person I have spoken to has said this will not affect them. A significant number of other people have done some math: between three percent to a whopping one thousand percent in some worst-case scenarios for mobile game developers. Most PC and console games will not be affected by this, and I would imagine that mobile developers greatly outnumber console or PC developers based on my own suspicions. I know that the ten to fifteen people who have asserted it will impact them are just an empirical data point, and there are also dozens, if not hundreds, of other high-profile mobile game developers out there making bombastic statements about how this hurts their business.

I freely admit that I have more direct conversations with mobile developers than PC or console developers on any given day. I also know that Mobile contains a lot more “free to play” behaviors where you typically install a game and hope that one percent of your users will convert to a paying audience. I will talk more about this shortly. 

The third thing that strikes me as a serious red flag is how Unity will define and enforce installs. In their own words:

“We leverage our own proprietary data model and will provide estimates of the number of times the runtime is distributed for a given project – this estimate will cover an invoice for all platforms.“

That raises all kinds of questions and concerns for me. Having worked with GDPR and ‘right-to-forget’ implementations, there is certainly a world where this data will be hard, if not outright illegal to track. It is called Europe. There will be lots of unusual edge cases for demo software and also lots of new vectors for angry game audiences to inflict economic harm on a game studio.

The final thing I want to talk about here is related to mobile again, and some shenanigans. I do believe that more than ten percent of the game companies out there will be materially impacted by Unity’s pricing changes and that many of them will be mobile game companies. A significant number, if not the majority, of these companies will be companies that are using advertising platforms to generate revenue off of a large number of installs in order to make a modest amount of revenue after spending a considerable amount of money on buying traffic. The hypercasual game segment is a good example of this. Unity has merged with Ironsource and is offering to waive the majority (or entirety) of the install fee for partners who sign up with Ironsource ads.

On the face of it, these look like some monopolist-style shenanigans to me. A quick check with some of my super-secret spies has confirmed that it would be more effective for some people to pay the install fee than switch over to Ironsource, which is pretty shocking. This winds up being a pretty slimy way to induce people to try your advertising services, which is where Unity makes a large portion of its money.

I am going to set aside all of the fist-shaking, emotional feelings about the current leadership and how this is essentially “EA destroys Bioware” all over again, or any of the similar threads making their way around the internet. Unity is trying to make money and it is trying to make money fast. We can gripe about their merger with Ironsource, or their acquisition of Weta Digital, but attempting to navigate the near future is why Unity pays their CEO 11 million dollars a year.

We all have ideas about where things are going and sometimes they are not even close even after drinking three or four or twelve beers.

So what should we do as developers? 

What should we do if we are pointy-haired bosses at Unity?

If you are a PC or Console developer you probably price that install fee into your overall game plan and weep silently as the door to easily adding revenue in mobile just got twenty cents farther away. I know one person who has already written off this cost.

If you are a mobile developer, you are probably halfway out the door to a different platform. And I would be too.

If you are making 3D mobile games, you are already paying one to seven dollars to purchase an install regardless of whether or not they make money. If you are making less than two million dollars on your game, as a mobile game you are probably better off migrating to Unreal Engine for some measly unit economics. If you are making more than two hundred thousand dollars, that is absolutely true. You are probably already upgrading to the next level of Unity subscription because you have a gun to your head for your existing project, and figuring out how to keep your existing Unity experts around while spinning up a mobile team using Unreal Engine.

If you are making 2D mobiles, you are probably switching to a different engine too. Godot is probably the most fully baked engine out there and if it had a decent community following before, it would surely increase substantially as a result of this past week’s news from Unity.

Half of the reason for you to make this drastic change is the immediate economics. The other half is the deep truth that until Unity has plugged its revenue hole significantly, it will do other, similar drastic measures in the future. This will be a calculation that happens every three months because it is a public company.

There are already people installing new SDKs and evaluating the cost of making their next game in Unity. There is some subset that is probably going to migrate their current game to another platform out of sheer spite despite the cost it will incur because the timing and intention of the messaging are so violent to the community at large.

So what would I do if I were in leadership at Unity?

That gets complicated. The first thing I would be doing is wondering how we went out to the world with such a toxic, poorly incentivized debacle. The amount of damage that has been done has barely registered with its shareholders yet.

The second thing I would do is I would start with some very thoughtful changes that will help with damage control.

The first is to revisit the timing of the new pricing scheme. I know Unity needs money today. The right thing to do is to give everyone a three-month extension on this and have its new pricing plan rolling out in the May time frame. Set up the new system and the new reporting and give everyone a chance to see what it looks like. They have made a bold claim that this will only affect ten percent of its customer base, so why not prove it first? Give a public report of the new pricing scheme and how many developers were charged and at what tier.

The second thing to do is revisit the unit economics and the tiers themselves. Take a page from the Epic playbook here. Their revenue model has the first million dollars of revenue being royalty-free. It steps up to five percent beyond that which means you are paying two point five percent royalties on the first two million dollars of your game. That is pretty good for a game engine that does not cost you any money upfront. Putting a two hundred thousand dollar threshold in there for the indie developer was incredibly stupid. That number is way too low. They should step it up and make it one million dollars for the free tier and the former Plus tier. They should move the Enterprise tier to five million dollars or five million installs.

The first thing this will buy you is a sense of relief that this probably is more in line with your customer’s expectations that this will impact ten percent of the audience. Like it or not, independent game developers all believe they will get to a million dollars or a million installs of their game. Even if they do not fall into the affected developer who will need to start paying an install fee, they all believe they will.

It is super important to make sure that people feel that their platform partners support them.

Setting the install and revenue threshold for personal projects to two hundred thousand basically makes the independent game developer community feel like you are a baby-eating fucking cannibal.

These two steps alone would give people a tremendous sense of relief and probably bring a lot of the negativity down.

You could go a third step and stagger the install fees on top of that, starting with a penny. Increase it over time, or increase it over volume, I don’t care. If you built a system like this, and you weren’t making enough money, no one will overreact to that number going up as you struggle to make enough money to get your CEO his next Bentley.

So what is likely to happen?

Who the hell knows? Maybe someone at Unity is going to print this page, run it up to the C-staff, and make a few of the proposed changes here to help bring the temperature of the room down. Maybe the next time I am in the halls of GDC someone will give me a fist bump for saying that these kinds of business decisions make people think you are a baby-eating cannibal.

Maybe I am going to spend next weekend downloading the Godot engine and seeing what it will take for me to build a game in it, so I can provide advice and counsel for the dozen to two dozen companies I know who are already in the planning phases for their migration out of Unity.

Thank you for reading along. I was out of the office this week and spent hours today catching up on emotional Slack threads and multiple horrified cost calculations. I narrowly avoided turning into 2010-John and getting into a vicious emotional argument with someone online about how this is still a luxury compared to how musicians are treated, or participating in a dozen other fruitless conversations. I was appreciative that two to three people who were misinformed about Epic pricing were able to learn that there is a royalty-free million dollars to be had if you download and start using their tools for free. The deep truth there is if you got far enough along on using Unreal Engine in your game that you were paying a big enough royalty on it to matter, you are probably making enough money to just build your own engine anyway.

All of that aside, I am deeply curious to see how many Godot and Unreal Engine developers will be created this month.

See you all next week!

Categories
Monocategorized

Rant-om Feedback

Remember that song “Lean on Me”? I kind of do that, except instead of leaning on someone, I am making noises at them, and they are generally frustrated and angry. It is basically the same thing.

My name is John Szeder and I love therapeutic ranting.

It feels good to stand in front of a gigantic canyon and scream your head off when things are a little out of control and crazy. Sometimes it is not always a gigantic canyon, and certainly, it is not always the right idea to scream, but you get the idea.

I am glad that I have a few specific people that I can rant to when the situation warrants it. I have my movie-rant person, my work-rant person, and yes, even my children-rant person.

Being able to articulate all the things that are busting my chops helps me process them and figure out what I ought to be doing differently. Sometimes it helps me understand that maybe I should not do anything differently at all.

I can pinpoint the time I first understood the value of ranting. I was a sympathetic ear for someone else’s rants. The year was 2001. I won’t name names, but anyone who was there probably understands what the ranting was all about. The rest of you can remain guessing—what happens at Rant Club stays at Rant Club.

Before you randomly start popping off to the person next to you on the subway, I want to establish a few things.

It is important to rant to the right person. Do not assume you can rant to your boss. Sometimes it makes sense. You should test this carefully before it shows up in your end-of year-review, and not in your end-of-year bonus. Some people do not love a complainer. You may have a special relationship with your boss with some amazing trust if you can rant to them, and vice-versa.

It is important to rant about the right things. Do not rant about your children to single people. This is perhaps a very extreme example. You may wish to have your ranting relatable to your audience.

While it is important to respond appropriately to someone else’s ranting, do not assume you have to fix whatever it is that they are ranting about. Also, do not jump immediately into Devil’s Advocate mode. Sometimes all you need to do is listen and agree.

It is important to thank your listener. “Hey sorry for ranting” or “Thank you for listening” are good things to include in your ranting ritual. Let your rant recipient know that this was a cathartic cleansing exercise and that you do feel better.

I don’t want you to read this one page and necessarily pick up the phone and start bitching at someone all day every day. Well, maybe I do if you are going to stream it online.

I will say for the people who rant to me about things, I do feel special about it. There is a level of trust that they have given to me by opening up about things that deeply disturb them. It helps me to see that other people are struggling with things from time to time, and I appreciate having that glimpse into who they are and the things they do not believe make sense. I also know that having someone to talk about stuff like this helps them to process an issue, or at the very least just feel better about it.

Well, that proved to be shorter than expected. I also somehow have it in my head that I could make a pretty good TokTok about this. I won’t do it, but I am scared that I thought about it. Someone somewhere is going to go and get themselves an incredible twenty or thirty views based on this sentence. I would say thousands or millions, but you all know from your love of reading words that you are just as much a boomer as me.

See you all again next week.

Categories
Monocategorized

Do you have to love your job?

This week I wanted to continue talking about people’s intrinsic motivation for work—possibly through the lens of a jilted failed job-seeker.

Two weeks ago I laid some groundwork for this but I don’t think I was ready to lean forward in my rocking chair, squint at all you young people and tell you the real problem with job interviews these days.

I have included a very thoughtful cover letter for some percentage of times I have applied for a job. I generally do this when it feels like my resume looks good for the role, but only after four or five beers. A good example of this is online education companies. About ten years ago, I really wanted a role at an education publishing company that needed someone of my skills. Even better, they were physically close to where I was living. I wrote my cover letter in earnest. It included:

  • We were homeschooling multiple children and living through the pain of online educational tools
  • I coach people at work, children, and just about anyone who gets within coaching distance
  • Games and FTUE (First-time user experience) generation are transferable skills

The more perceptive among you will notice that there are no online education companies in my LinkedIn profile. I did not wind up getting this job. I will never really know the reasons behind it because this company, like most companies, did not give out a scorecard. In fact, a lot of the early conversations with companies generally wind up going completely silent. I imagine that some of them find typing polite rejections to be tiring, and I imagine some percentage of them are waiting to go through a full offer cycle with someone else and they are preparing to bring you back in for another round of interviews without realizing that ghosting candidates entirely is not a great recruiting tool. Eventually, they probably do get to an offer stage with a candidate and then they look at how long it has been since they emailed you and the length of time makes it weird. At that point, they must have assumed that the silence spoke for itself, and they are not imagining that I am sitting alone in my kitchen with fourteen hours of solo violinist music playing on YouTube while I wistfully clutch a cup of chamomile tea.

A good chunk of these failed interviews generally get into the weeds for me when the interviewer asks whether or not I am passionate about their space. This is one of those places where the average candidate will make something up. I have always believed that if I made up something on the spot to make it sound like I am passionate about it, it would sound so completely ridiculous that it would end the interview on the spot. I have heard people trying to sound passionate during interviews that have come across this way to me. If someone boldly declares themselves a super huge gamer, and then I ask as a follow-up “What are you playing?” I do not want to hear about a game from over six years ago.

I have generally felt that being super passionate about a subject is a mixed bag. There are a number of people who will look for passion in startup candidates because it means they can lowball the candidate by ten percent. There are also some people who feel that it is important because people will commit themselves to outsized outcomes, and may gloss over the harm that a candidate will do to their own health in pursuit of this.

Before you think this is all a bunch of mad craziness, I was once offered a job that I was completely unqualified for while I was in the middle of interviewing for a different job that I was very well qualified for.

While I may not always have the quote-unquote passion for a particular domain, there are some things I care very deeply about. The CEO observed that I am a family man with a lot of kids for whose sake I am highly motivated to be successful. They also observed that I have spent a lot of time in the independent developer world, and while I have a great deal of experience with mobile games, my abilities to work with independent developers would be more immediately valuable to the company.

I took the job and it was an incredible professional experience. I worked with some very talented people who pushed me to raise the bar constantly, and I loved every minute of it.

It is important because it was the second time I took a hiatus from engineering. If you were going by the passion-detector numbers on more than one part of my career, you might find a few places where the passion level was very low for the market segment I was working in.

At the end of the day, there are some things in my professional life that I care deeply about. I care deeply about helping teams be successful. I care deeply about customer happiness. I also care deeply about improving products that affect the lives of millions of people.

So to get back to the article title: Do you need to love your job? Sometimes the answer is no. If you don’t love it, though, be prepared to be very good at it. I have blown up a few interviews with this answer. Very few interviewers are abundant enough thinkers to hear “I am good at this job but I do not love it”. In this situation, I prefer being blunt to making up a zany passion story.

In closing, I do think that people should be prepared to be passionate about something, even if it is not their job. Whether it is obscure whiskey, stamp collecting, or indie games, your passions tell the world who you are. For example, when the indie game Oasis came out, I called up the founder of the studio when he was making t-shirts for a conference. I asked him if he could make a special one for me, with the game logo on the inside, because I wanted it closer to my heart.

I loved that game.

Thank you for reading along! I will be back next week with more random professional stories and possibly an Amazon Affiliate Link or two.

Categories
Monocategorized

Do the write thing

I have had a few 1:1 meetings in the past month where somebody said “I was going to ask a question, but I forgot what it was.” I know I have done that plenty of times in the past. During the first year of writing on my blog, I also had a lot of neat ideas for posts that vanished into this very same gray fog of forgetfulness.

I have made a habit of sending people Slack messages for things I wish to discuss for upcoming meetings. I also have Post-Its, a copy of Notepad open, and sometimes I will Slack myself a reminder.

Google has trained us to be very poor at remembering things by making everything searchable at a button press. I believe that is related to the problem of forgetfulness, but I am sure someone who is more science-ey will know the truth of that statement. Maybe it is easy to point at Google the same way we point at the dog when the room starts smelling bad, and we do not want to say “something-something-old-age”.

In any event, this week’s post is short, simple, and sweet. If you have an important thought, make sure to transcribe it somewhere. Sheets of paper are cheap, and a notes.txt file on your computer is cheaper. You can always Slack yourself reminders, and in the event that you are meticulous and organized, maybe you have a personal Trello board.

Send yourself a slack. Write down your notes on a piece of paper. Save it in Notepad.exe.

My prediction is that you will forget to do this 2.5 times on average after reading this post before developing this essential skill.

If not, then now is a good time to go to my Clearly-Labeled-Amazon-Affiliate-Link and buy far too many Post-It notes.

This is probably the most TokTok-able advice you will ever get from me. I will continue to put my thinkiness into words instead of videos as long as possible. See you all next week.

Categories
Monocategorized

Why We Work

I remember reading lots of emails with the super passive-aggressive opening sentence: “As you may already be aware…” Usually, I am not aware. However, I want to take advantage of that opening this week.

As you may already be aware, I did not succeed in writing a blog post on Sunday. This is probably the correct use of that opening statement. You may award me five stars on Yelp.

Instead of offering a miserable excuse for the delay, I am just going to write today and pretend that the delay never happened.

You will hear me frequently blibbity-blabbiting on the subjects of Hiring and Team Building. These are things I love to do. Today I want to talk about people’s motivation to work.

I always try to understand people’s motivations for showing up to work and doing their very best. That is the ultimate goal of the first five or six questions I ask people when I interview them. I think this is very important because your motivations for work are one of the big reasons some people get bounced out of the hiring funnel. I am speaking a little from experience here because one of my motivations for working really hard is that I have many mouths to feed and “getting paid” is a very important thing for me. I know this has been used to bounce me from the hiring queue in some places. “John is a family man with many children and is an expensive employee” is something that my spies have told me when I have been rejected from a role. I can respect that from some people, and from others who have had “the Silicon Valley exits”, I do feel a little hurt by it. I guess I managed to survive, but I do have a few professional acquaintances who I will avoid for this reason.

Another motivation for people is passion. I agree that there is a high correlation between passion and career success for a lot of people. I also think it is a huge false-negative filter that is costing many companies very talented candidates. I am okay with this because I have my own unique way of looking at employee motivations, and a subset of replacement motivations if they are not highly passionate about a work subject.

Wanting specific work experience is another motivation for people. I make the joke with some people that if you want a job at EA, you need to work three years at Activision, and if you want to work at Activision, you need three years at EA. I have been blessed with many opportunities that have let me create “gateway jobs” for people to explore careers in the games industry. Some people filter out candidates who do not have the required experience for a role.

I also think that people look at the size of a company. I learned late in my career that there are some big benefits to having at least one large-scale company as a previous employer. It is hard to qualify for some interesting jobs if you have twenty years of burning startups to the ground. Many human resources people just look at the shape of my LinkedIn profile and quietly throw up in their mouth—just a little.

The one motivation I like the most, and one that I think is not very heavily considered by a lot of hiring managers, is curiosity. I have written previously about how I will break apart an interview as a candidate as a part of my own process. I have not met many leaders who love that kind of behavior. I think that curiosity is among the most important qualities a knowledge worker of any kind can possess, and I love people who ask questions. Quite often this is a symptom of being a lifelong learner and helps people adapt to new roles and new domains. This is generally the one that gets me hired somewhere, so I have some real bias toward wearing my “I heart curiosity” t-shirt.

So when you are looking at a new job, you should always sit down and ask yourself what will motivate you to be successful. I see lots of people tilting at FAANG jobs where they broadcast stupendous pay packages. I also see lots of other people who shy away from some jobs because the company is in a space they consider boring. Whether it is a paycheck, passion, career experience, the size of the company, or just pure curiosity, you should understand why someone is interested in working on your team. It will help you to hire them and more importantly it will help you to retain them in the long term. It has helped me to identify people I would want to hire again and again.

This was a little late, and I want to thank you for your patience in addition to thanking you for reading along.

I am down to just a few more weeks of interesting posts. It is time for me to start reloading my monitor with Post-It notes for future conversations.

See you next week!

Categories
Monocategorized

On the Auth-er Hand

The past two posts were mostly about games I am currently playing. It is interesting to see that the World of Warcraft Holy Paladin experience was nerfed twice, and the general Diablo IV play experience is improving. I think there is some subset of grinders who will love Diablo IV when it gets a few more seasons of fixes, and that is all I have to say on the matter—the game is not for me.

I am going to get back to general engineering conversations. I am slightly nervous about doing so because I just realized that I am almost out of topics again. It has been a while since I have found myself in this state, so I will need to invest some thinky time in coming up with new things to complain about.

Today I want to talk about authenticity. Wait, no. I want to talk about authentication. Maybe a little bit of both actually.

Everything about online product authentication sucks. There are so many different ways to authenticate a customer these days, and almost all of them are a trap of some kind. I am ready to go into all of the different ways you can be your own Admiral Akbar, and decide which traps you do and do not want.

The first trap is the support trap. Many third-party auth providers give you libraries to integrate with their platform. The biggest problem with these is when the various Powers-That-Be make changes to their platforms and online stores. If you are natively integrated into an app store, for example, you might find that you will need to make an urgent update to your service or else run the risk of getting shut off for violating some privacy law or becoming a victim of some exploit. It is very frustrating to distract from core feature development for some problem created by someone else out there.

The second trap is the cost trap. Once upon a time, platforms were your friends in finding audiences. Today, they are a piece of expensive marketing machinery. Growth on the platform can sometimes “go viral” if you do it right, but that is a serious case of someone trying to make fetch happen. Many times it comes across as totes cringe. You will spend advertising dollars on these platforms to find customers, and most of the platforms are vicious red oceans at the moment, which implies that the dollar value will be high.

The third trap is the relationship trap. Sure, you will reduce some friction by having an easy button to integrate with Facebooks and Twitters. I suppose it should be Metas and X’s, to avoid a little “well, actually…” The best products I have seen have built deep relationships with their customers—making sure you have a vital path to marketing to your customers is very important. It is a lot of work to ask for people’s email addresses, and most platforms increase the amount of friction for software developers to access this information because they want to keep their audiences inside of a protective moat.

Related to the relationship trap is the knockoff trap. Because you are partnering with a platform for authentication, they will have some bored product manager somewhere who looks at authentication data and if you are sitting on bottled lightning, they might make an argument to compete in your space, either by acquiring a company or building a product from scratch. You can see the Instagram acquisition or the launch of Threads for some examples of this. Apple and Google are also guilty of this with more or less degrees of success.

Using other authentication providers does come with some benefits. It does make your marketing easier to execute, and it does reduce friction for potential customers. It might take some work off of your plate when you are first building out your service, too.

There will come a time when you will have to look at your long-term strategy and decide that having a more direct relationship with your customers is really important. Many of your authentication partners may wish to stay in the middle of that conversation and attach friction or cost to it.

The other issue is that friction is very harmful to new product development. Building relationships with people on the internet is difficult, and leveraging a trusted authentication partner can be a good way to get some early customers into your service.

In the process of writing this article, I searched for the words “consumers” and “users” and replaced both words with customers explicitly. It was interesting how many times each appeared, and how differently this whole post reads when thinking about customers.

Many of the platforms today that authenticate customers are in the marketing and advertising business and have leveraged colossal amounts of venture funding to buy their way into everyone’s heads. They live there mostly rent-free for customers. Someone somewhere will have to pay for that and unfortunately, that is you and me.

This is one of the reasons that Tim Sweeny is my Games Industry Person Of The Year, every single year. He has done a phenomenal job of ensuring Epic Games has deep relationships with developers and players alike and built a great emerging ecosystem. I also have some mild ideas about how web3 will become more meaningful for long-term player identity, but there are other problems that web3 will solve first.

Writing this post was a struggle. I am conflicted about the ease of leveraging high-scale platforms to jumpstart a customer base because it can “cheapen” your relationship with your customer, and also it erodes a sustainable competitive advantage. I think there is a time after you have found product-market fit when leveraging platform partners and third-party authentication makes sense, and I think that it is something that needs to be done thoughtfully. Most people just dump a generic auth provider in front of their potential customers and hope for accidental long-term success. I am sorry if I offended you with this statement, and in the immortal wisdom of one of my favorite eighties musicians… maybe you needed to be offended.

I tried to create a link to the artist and the album in question to make zero million dollars in affiliate fees, and I was told that there is an error. Maybe my time as Amazon’s worst affiliate marketer has come to an end. I had a good run. I have zero regerts.

I will see you all next week!

Categories
Monocategorized

Genrecide

The alternative title I was considering for today is “only MMOrders in the building.” Today I am going to talk about World of Warcraft. I do not have very kind things to say about World of Warcraft, and I feel a little guilty because they finally fixed my favorite class and spec (Holy Paladin) after seven years. I am actually really enjoying healing at the moment, and unfortunately, I have been planning on dunking on this game since June.

Ultima Online was the game that convinced me I should become a professional game developer. I am humbled to have met many of the key people who brought this incredible product to life, including Raph Koster, whose game I am eagerly awaiting, and Richard Garriott, whose Ultima IV game was probably one of the most influential games I have ever played. 

Ultima Online was a wild sandbox game. The violence between players was so intense that you could not really call it PVP. It was called Player Killing (PKing) because it was so savage and abrupt. At the same time as being a deep, deep pool of violent online despair, it also had shining moments. I was briefly a homeowner in the game on a choice piece of island real estate, I was an elected mayor of a player town, and one of the people I met in the game early enough found my behavior so entertaining and “in character” that they could have sworn I was running an in-game event.

Early Ultima Online was really special to me. While there were a lot of exploits and bugs in the game, there were also some fantastic people forming communities and having fun together.

I was privileged to meet a handful of people who were also interested in game development and could see the promise of persistent world games and letting players shape the future of their games.

I was also part of a great mailing list called MUD-Dev at the time. Its administrator was an amazing gentleman who curated a community of craftsmen and theoreticians who were the progenitors of today’s large online games.

While I was going through the polite fiction that I could bootstrap an MMO into existence, or somehow figure out how to raise money, I had no idea that the whole category of games was going to get hit by a truck.

That truck was called World of Warcraft.

Do not get me wrong. World of Warcraft (WoW) was a great game. It still is today. While I did not play it at launch because I was running a startup at the time, I did manage to get into the game during its first expansion, and I absolutely understand the charm and the appeal of the game.

In fact, I still play this game today. I fully intend to stick around to see the day that Blizzard creates its own black swan event and blows the whole game to pieces. It almost did during the Cataclysm expansion and also people had a tremendous amount of rage for the Shadowlands expansion, but the game has endured. You could almost forgive them for what happened in Shadowlands. Between world events and the issues happening at Activision-Blizzard, it was a rough time.

So why am I so butthurt about WoW?

It is because the persistent world sandbox approach to MMOs got brutally murdered when this game went live.

So what does that mean?

The first generation of MMOs had some really wild stuff in it. There are some interesting stories about how they took out the simulated ecosystem in Ultima Online because the real point of creatures in MMOs is to wander infinitely until some PC comes on screen and decides to turn them into experience points and skinned corpses. Asheron’s Call had some neat dynamic dungeon experiments that were fun, even if the game failed because none of us knew what the flying shit an Olthoi was.

World of Warcraft did a lot of things to put players into amazing quests, participate in cheeky stories, and group up into groups of five-ten-fifteen-forty adventures to do some kind of quest…adventure…instance…thing.

In addition to giving people interesting group activities, WoW put people into instances so they could do their content with their chosen team in private. This is one of the places where the game breaks down as an MMO for me.

The other place it breaks down is that ultimately nothing the players do affects the world. Ultima Online was turned into a giant player-owned slum, but it was our giant player-owned slum. Sure, one person gets to be the Scarab Lord, but that is scarcely enough really cool world persistence, especially when the winner of that title decides to delete the game.

Regardless of my opinions of how this really is not an MMO, the game is considered the top-performing MMO game by everyone else— and given the volume of sales, is it any surprise no one really cares?

I mean, when I bought the game, I remember picking up a copy of the box with a sticker that said “Over five million units sold!” Right beside that box was a box that said “Over three million units sold!” and “Over four million units sold!” The game was selling so fast that they had to reprint new stickers. It was a surreal moment to be sure.

The problem now is that WoW created a one-hundred-and-fifty-million-dollar technology mountain that everyone needs to climb in order to be considered a competitor in the category. This is kind of important. I did some research on replicating a billion-dollar mobile franchise that I admire. I am not the first person to do so, and I certainly will not be the last.

I decided to peel back a few layers of the Summoner’s War onion to see what it looked like at launch. If you had to knock off the game today, it would be a ten-million-dollar product. About sixty to seventy percent of that is stuff they added to the game after they found out they had a hit. Once a game becomes live and develops an entrenched fanbase, it erects massive moats to competition through live operations and iterations on elder play.

WoW is in that spot right now. If you wanted to make an MMO today, the amount of stuff you have to pile into the game is being measured against your friendly “kill ten bears” genre champion.

That sucks terribly because nothing that has happened in the game has enriched the category of MMO since 1998. Arguably, it has substantially backslid as an actual MMO. We are still in “MMO 1.0”. The only game that has stretched the genre at all in my opinion is this inscrutable space game called Eve Online that is so obtuse that it boasts of two insane features: First, it has a product integration directly into Microsoft Excel. Second, when you get run over by another player in this massive player-vs-player zero-sum game, the total loss of your ship is so horribly broken of an experience that they boasted at a game developer’s conference that their solution to this is to flag a live operations specialist to help you through your loss and keep playing. If that sentence sounds terrible, it is because even typing it hurts my brain.

If anyone is confused at this point because I am not writing about engineering leadership or mentorship, I do apologize to you. I do have some posts queued up that fall under those categories. I had some kind of obligation to shake my fist at the clouds over two games, and school is still out for summer. My career touches on the games industry from time to time, and I have been paid on more than one occasion to participate at the edge of online games innovation.

Despite collecting some dribs and drabs of coin, I have not yet made a real dent in online game innovation. To be honest, hardly anyone else has either. We have found many more ways to get up to 100 people into a single room and hand them badges, points, and even umbrellas. In WoW, putting 40 people in the same room made everyone tired. They never desired to be as cool as Fortnite. The latest set of instance changes do nothing to give players serious agency in the world. Even the way that the NPCs talk to you reminds you, as the champion, that you are really not playing together but merely playing with yourself. Maybe we shouldn’t repeat that out loud.

After the first decade of “not seeing anything interesting in MMOs”, I have stopped hoarding my late 1990s ideas. Some of them are interesting for niche games, and some of them would be exciting to see operating at scale. At this point, I would just be happy to play a multiplayer game that was as meaningful as Ultima Online felt so many years ago.

So there you have it. Once again, I have sprayed so many words that I am not going to go viral on TokTok anytime soon. I thank you once again for reading along, and I will resume my regular posting of mentorship things and links to affiliate merchandise that no one ever buys. If you do not feel like buying any of the random crummy things that I link to you for affiliate fees, I did write a collection of short stories once while commuting on a train. One of them might even be good. I do not collect an affiliate fee… from myself… if you choose to buy it. You won’t anyway because I am not that good at reverse gaslighting. 

I shall see you all next week!

Categories
Monocategorized

Diablo IV is a beautiful stupid game

Warning: here be spoilers.

I finally finished Diablo IV the other week. I finished the game with my own definition of “finished”, which to me means to complete the campaign. I did the same thing with Diablo III. I know some people believe that “finished with the game” involves getting to level 100 with every character and doing all kinds of other crazy things. I can respect that. That also was closer to my definition of “finished with the game” for Diablo II.

I consider Diablo II to be one of the better games I have played in my life. It is a magical product, and it got many things right. I have replayed it recently, and it largely holds up to how I remember it. Ultima IV also does this. It is another game I am willing to replay from time to time to respect its majesty.

Diablo III was unfortunate when it launched. I played it. I understand what they did with it. I did not love it and moved on to other games. That is the entirety of my thought process about Diablo III. I did not love the story in Diablo III. I apologize if this is spoilers, but the ending is functionally equivalent to “Cabin Boy”. I heard from many people that Diablo III eventually became a fun game and I cannot say how long that took, but to me, that kind of transformation in a game must happen before you launch it.

That brings us to Diablo IV.

Diablo IV is a very beautiful game.

Diablo IV is also a very stupid game.

I have caught flack from one individual for giving this game a 6.5 out of 10. Many other people feel I am being far too kind. Aesthetics carries this game very far, honestly. I can respect the craftsmanship that went into making this such a beautiful experience.

I want to say that I have a large number of questions about the mechanics in the game, and the deep truth is I only have one.

Did anyone with any decision-making power play this fucking game?

Where do I start with my critiques?

I think that the auto-leveling of the world is the first one. Diablo IV leveling is a tedious chore. It is like mowing five acres of unkempt lawn while eating a bowl of oatmeal at the same time. God help you if you picked a class that you thought might be fun vs just listening to all the people on the internet and loading up on a broken OP character. Your gear becomes ineffective at an incredible pace given how infrequent replacement items are. Eventually, you will get one or two epics that have some great aspects on them that you need to maintain to overcompensate for the continued state of decay on your build. You can strip the aspect off of your items and reapply it to a higher-level item. This is a one-time fix. You cannot reapply that affix to a different item, which is not something that is well communicated upfront.

In other games, if you ever fell off of the power curve, you could go back to old areas and upgrade your character. Most every game I have played has had this as an option. In the best games, you will achieve a state of flow while this happens. Because everything is constantly leveling up, you are afforded no such luxury in Diablo IV. A bad character build will continually remain bad and will eventually bring you into a spot where you will be powerless to progress.

There are a few higher-level zones where you can fight some bosses and clear out a part of the map. I encountered the first one of these at level 19. After dying repeatedly, I discovered that I should push my character to level 20 and go purchase a potion upgrade. The four levels before a potion upgrade (levels 20, 30, and 45 respectively) are terrible. They are made worse because you know there is an arbitrary upgrade to your potions coming because number.

The other rage-inducing random decision for character progression is tying your potion count to how much extra side questing you have done. Before going into the game’s final act, I ran around the world picking up side quests and waypoints that were totally unnecessary to get to an arbitrary magical unlock threshold to increase my potions.

What the hell is a Murmuring Obol anyway? I was running around at maxed-out Obols for more than half of the game because I did not realize that this is a special currency for gambling, vs gold. I am not sure why it needed a special currency for gambling, or why it had such an insanely low cap of 500, which forces you to go and spend currency when you might want to bank it up to desperately try to replace really outdated items.

Dungeons are the next thing to talk about. I cannot complain too much about dungeons. I decided to stop doing them because I accidentally wasted a lot of time in them, mistaking the first few for the one-floor cellars that populate the terrain. The complaints that I perceived, and were largely validated by talking to friends, is that all of them share the same repetitive structure and mechanics.

This is also the problem with the boss fights.

I vaguely remember the boss fights in Diablo III, I had no real issues with them. I greatly remember the bosses from Diablo II as being interesting, varied, and challenging.

Diablo IV bosses are just boring. They mostly have the same mechanics, and if you are playing as a Barbarian, you spend a lot of time just running around dodging red shit on the ground while waiting for your cooldowns on your powers to expire.

Another challenge for the boss fights is that the boss arenas are tiny. It is made worse by the fact that the final boss fight area (SPOLIER ALURT) shrinks over time. Someone thought this would be a good idea.

Clearly, there are a lot of mechanical deficiencies in the game. They are buffing some of the classes and making some adjustments to “end game” because they know they have some problems. There are also clipping issues with horses and terrain that are being addressed. I heard that some people got stuck at level 50 before finishing the game (I finished at level 49), and that you needed to do some crazy hard-mode things to keep progressing in levels. Much like so many other things, that feels so arbitrary.

I am glad this game will eventually be fun for the people who decide to stick around, in much the same way Diablo III became fun for people who stuck around.

For me? I don’t know. This might be the last Diablo product that I pay for. I am not planning on sticking around to see it.

I got sucked into Diablo II hard because it was fun from the beginning. The story was captivating, and the whole thing just worked. There is a certain gestalt in an amazing product that you can feel. In hindsight, the one criticism I could level at it is that the game could be called “ZOMG SO MANY POTIONS”, because you do need to get your drank on to win the game. Back when it came out, I had to step out of the boss fight and go farm for gold and drops to rebuild my potion stash to get the boss down. It was a little unfortunate, and somehow it was still immensely fun.

The real criticism I have for Diablo IV I saved for the end. It is a fucking. Stupid. Story.

There are going to be some more spoilers here. If you are concerned about such things, you should probably stop reading.

The game starts with your character rescuing a bunch of villagers. After you rescue them, you have a party where they give you a drink that is drugged and you black out. After breaking free, you go find someone named Lorath… The very first thing you do is accept food and drink from them? Did we just forget what happened ten minutes ago?

Hard pass.

Setting aside the amount of drinking that you and the NPCs do, I could not identify with most of the decision-making in the game up to the end. Watching the final scene, I was reminded of all things from an episode of The Simpsons. This is not where I wanted to be at the end of the game. Of course, very few games stuck the landing as hard as Diablo II did. If you did not go through the OG game before, it is well worth your dollars to play it through now.

Another criticism for me is the mechanics of the story. Yes, you heard that right. They added a mechanism to the map to watch cutscenes that moved the story forward. You constantly found these piles of clearly marked blood petals that would let you move the story forward. The idea to tie these visions to the mechanics of the game felt alien to me. I could literally feel the shattering of the fourth wall every time I saw them on the screen.

Speaking of shattering the fourth wall, this brings me to my final criticism of the game.

The always online connectedness of the thing. I had one game-breaking crash in the wee hours of the night when I committed to finishing the game. It was in a dream-sequence quest that I had to restart from the beginning. This was an awful experience, and unfortunately, it felt par for the course.

That does not compare at all with the disruption of seeing a tricked-out character named b0ngBrUhl33t666 go tearing across the map while you are deep in the throes of battling for the citizens of Sanctuary.

So there you have it. At the end of the game, I felt like I bet on the wrong horse—or wolf. For more than half of the game, I actually felt that a team-up with Lillith might not be so bad. When asking myself what that ending would look like, I remembered some sage-like wisdom from Logan V. What is curious to me is that more than half of the people I talked to about this game also felt the same way.

Thank you for reading along. I really hope this game becomes the game that everyone who worked on it wanted it to be. I do. Right now, it is not a game I feel good about paying for.

See you next week!