In recent years, the failure of high-budget video game titles like Justice League and Concord has become a hot topic, with these projects collectively wasting hundreds of millions of dollars. Some of these titles haven’t even seen the light of day, shrouded in controversy and uncertainty. While many point to political missteps or an inability to resonate with target audiences as primary causes, deeper systemic issues are often overlooked. This discussion focuses on one of those key issues: the decline in quality and talent within the industry, particularly from a software development perspective.
The Talent Exodus and Management Problem
I’ll preface this by acknowledging that I don’t have direct experience in game development, but I bring nearly a decade of professional software development expertise. Having worked with multiple companies and collaborated with many U.S.-based developers, I’ve observed patterns that may shed light on the challenges facing the gaming industry.
If you’ve been playing games lately, you might have noticed that many titles feel stagnant, with little innovation year after year. This has led to accusations that the industry has lost its talent and expertise—a claim that, unfortunately, holds significant truth. For example, videos from Threat Interactive demonstrate how advancements in Unreal Engine have, paradoxically, contributed to worsening game performance.
One major issue is the exodus of experienced developers from the industry. In the U.S., there is a strong push to promote senior developers into management roles. While management can be fulfilling for those with a natural inclination to lead, this approach often removes the best talent from their craft. Imagine taking Ronaldo or Messi off the field to make them coaches; while they might excel as players, their effectiveness in a coaching role is uncertain. Similarly, skilled developers may not be suited for management, and their removal from hands-on work weakens the technical backbone of their teams.
In many U.S.-based companies, the value of being a skilled developer is overshadowed by the push to climb the corporate ladder. Unfortunately, being an excellent developer doesn’t guarantee success as a manager. Poor management can have devastating effects on software teams, as engineering relies heavily on structured collaboration and clear processes. A great manager is essential for maintaining productivity and team morale, while a bad one can drive away top talent.
When high-performing developers are promoted to management without proper training, the consequences are often dire. These individuals may become ineffective leaders, hampering team productivity and morale. A clear sign of poor management is when external stakeholders dictate deadlines that frequently change due to outside pressures. This creates an unsustainable work environment. As the saying goes in software development: “You can’t make a baby in a month just because you have nine women.” Certain processes simply take time to ensure quality.
The Challenges of Mentorship and Onboarding
Another issue plaguing the industry is the rapid influx of inexperienced developers. According to Uncle Bob, the number of software developers doubles approximately every five years. This means that many professionals in the field are relatively new, often bringing unchecked bad habits into the workplace.
Historically, mentorship from senior engineers has played a crucial role in shaping the skills of newcomers. However, with so many experienced developers now occupying management roles, there’s often little time left for mentoring. This lack of guidance leaves new developers without the support they need to refine their craft, leading to lower overall quality in software development.
USA’s Unsuitable Practices in Building Companies
This might be the most controversial point, but U.S.-based companies often seem unsuited for long-term sustainability. As an outsider to the U.S., this appears to be one of the worst ways to build a company, yet it’s the norm, especially in Silicon Valley. In the San Francisco Bay Area, the primary KPI for many companies is growth, not longevity. Most software developed by Silicon Valley companies either gets acquired by a handful of big players (Microsoft, Google, Salesforce, Apple, etc.) or goes bust within five years.
This emphasis on rapid growth stems from the need to appease investors, making the "slow and steady" approach undesirable. As a result, employees often switch jobs every three to four years, and companies rarely focus on career progression or personal development. This environment drives talented individuals to leave for better opportunities elsewhere. Consequently, there’s little regard for quality or long-term success, as the focus remains on short-term gains. In software, such short-term thinking often leads to cutting corners, which results in costly issues down the line. Yet, companies rarely implement strategies to address these shortcuts because such measures don’t yield immediate financial returns.
How Can We Turn This Around?
While this discussion focuses on the games industry, many of these points apply broadly to software development companies as well. Here are a few steps to address these systemic issues:
Focus on Retaining Talent: Retaining existing talent should be a priority. Why spend resources hiring externally and waiting for new hires to gain internal knowledge when you can focus on retaining your current workforce? While salary increases are an important factor, companies can also offer flexibility, career development opportunities, and other benefits. Employees who feel valued and committed are more likely to prioritize quality and long-term success. They’re also motivated to maintain a product’s quality because they’ll be the ones working on it daily. Nobody wants to work on a project with poor tests or bad quality, where tasks that should take an hour instead take days due to unnecessary manual steps.
Balance Longevity with Investor Expectations: This is a challenging but critical balance. Executives must recognize the importance of long-term success and avoid betting their entire company on a single game or product. For instance, Ubisoft had to cancel a promising game due to losses from other projects. Spreading risk and focusing on sustainable growth can prevent such scenarios.
Invest in Mentorship and Training: Companies must prioritize mentorship and ensure senior developers have the time and resources to guide new hires. This not only improves the skills of inexperienced developers but also fosters a culture of collaboration and quality.
Rethink Management Practices: Companies should reconsider the practice of promoting developers into management roles without proper training. Instead, they can create dual career paths that allow talented developers to grow without leaving their technical expertise behind. Proper training and support for managers are also essential to ensure they can lead effectively.
By implementing these changes, companies can build more sustainable practices and foster an environment where quality and innovation thrive.