I once worked as a consultant to help users implement some software. I moved on to the development of that software, knowing the dozens of areas that could be improved to make life easier for the users, and honestly with little effort (it's a web app, I did that before the consultancy stuff). At that point in time, that was my dream -- I wanted to help make people's lives a little bit easier, and the people I helped would be those who used our software.
After around a year or so of implementing questionable features, I attempted to get approval for updates to old, well used features to improve them (stability and convenience focused, really), but was shot down. This wouldn't sell the software, because it worked well enough, and we needed more revenue more than retaining old customers. At that point I understood that after the software is sold the customer will be too ingrained into the product to leave without financial repercussions.
A while later, we got bought out by Big Company, so that strategy apparently worked. BC doesn't give half a shit about anything we ever did, and we piled on the features release after release with little concern about anything else. I tried a couple times after the buyout to get approved for existing product improvements, but always got shot down.
I continue to find it odd how the company can be so profit oriented, and yet so averse to improvements. I suppose I'm just wrong or don't actually understand. Either way, it makes it very hard to care about my work these days.
If your customers are big companies, then there's another dynamic: the people who make decisions about the software are usually not the ones who use it. So a large part of their decision is driven by how the software is described on paper, i.e. by feature bullet points. You end up with lotus notes.
Yes; exactly. Silo-ing in large companies where software acquisition, software deployment, and software use are separate functions in the organization is probably the defining influence on 'enterprise software'. This is why so much of it is so bad (sometimes in trivial, easy to change ways), why it's typically so expensive, and why it sometimes so narrowly satisfies stated requirements that it creates whole new problems for the organization.
Silo-ing as an organizational principle almost always goes wrong and what you end up with is a stovepipe organization.
I've always wanted to visit SAP headquarters in Germany and see how they book their own vacations and submit their own expenses. It can't be with their own software...
This is exactly why so many terrible "features" and design patterns keep showing up in web sites: People calling the shots are not the developers. They "saw this on XYZ's successful site, plz implement today".
Hang on though. The people calling the shots, or at least providing feedback, should be the end users, not the developers. Usually the developers do not use the software they're building. In rare cases, the developers "eat their own dog food" but this is often not the case.
I absolutely agree when the web site is a tech product/application. I was more taking a stab at major news/media outlets and other "content" sites, whose non-technical "executives" blithely dictate that their devs perpetuate this buffoonery.
At least newsletters support open-standard email "push" rather than the walled-garden-de-jour, after publishers lost their investments in "followers" to filter algorithms.
For me, the most hated app in the previous company I worked for (Treyarch, part of Activision) was Kronos (kronos.com). It was the "vacation"/time-off/etc. application.
Almost all studio was Windows, and you had to use specific browser, with specific Java installed (for some reason our integration/use of it required java in the browser - that was at least year ago).
When you open the web-app, sometimes it might not work, when it does it starts with the "bereavement" page (wtf). Then if you want to request vacation that crosses weekends, you have to do it for individual ranges of normal work days. e.g. Also had to be careful not to select work holidays (MLK, 4th July, etc.)
That was my use of it... for very short amount of time I was manager to an intern, and had to watch and clock their hours. I had to be trained for 2hr, and still did not get it (I'm a software engineer... duh).
But then people claimed it had better new UI, which we did not use (reason unknown), and was pretty powerful.
Ha, I work for BigCo, and we use Kronos for timesheets. We recently transitioned to win7 (from XP), and to get Kronos working again we have to run some virtualization app (citrix maybe? can't remember right now, definitely a vmware product though) to run IE8 and some obsolete java version. All for timesheets.
Other than that it's pretty useable. At least compared to SAP, which is my only other timesheeting-experience.
I had to use that in my last job (and lotus for that matter). All tooling decisions were made by another part of the org in another country. We had no say. When I quit I gave "poor tooling" as my primary reason in my exit interview.
With open source, the software is often developed to meet the needs and priorities of the developers. So if your needs and priorities are similar, it will likely work well for you. Otherwise, maybe not so much.
I work in a very similar environment. I thought forcing a change would work, "they'll see, if I just work on this and show them", and technically it did. Except it then became the norm. Now if we don't deliver X number of features in tight deadlines plus all the expected but not well thought out "improvements", it is looked at like a failure by the clients. My point : setting expectations internally and externally is equally important. Don't go too far off the reservation with your ideas, but quite frankly, you're too valuable to completely stop you. Find a happy medium that works till you gain the skills you need to possibly move yourself elsewhere (internally or externally).
Not the worlds greatest advice, not the way I would want someone to start off doing, but something I am and feel I had to do to make my life more meaningful. Good luck!
I find a plumber or electrician analogy works pretty well here. They have a job to do, there are only so many ways to do it that aren't stark raving mad, and they'll be fucked if they're going to do it your way because your ten minutes of thinking about the problem space informs you it's the 'right thing to do'.
I quit a job to go work for a tool maker, because this sort of stuff matters to me.
What I didn't get (and possibly still don't) is that working for someone making tools, you make the tools they want to sell, not the tools you wanted to build. It was awful to be that close to a problem and be powerless to do much about it. That big sheet of plate glass became my home, with my nose permanently squished against it.
At this stage I'm pretty confident that this is why and when open source operates well. There is basically nobody to stop you from trying something out, except yourself.
The problem here is you changed customers and didn't realize it. In the beginning your customer was the end user as you helped them implement. When you went to development your customer was no longer the end user but the business unit. It is their job to determine what the end user needs. Your job is to ensure business gets what they want. Take pride in doing a good job for them.
You may want to consider product design or starting your own project so you can do the product design, though. It sounds more like what you want if that is where you find your joy.
It took a stressful few months for me to make this similar realization. I don't know why it felt so profound at the time, but I imagine a lot of developers (myself included) get their start wanting to create stuff that people want [to use] or that will help their company [be more successful].
Unfortunately, the developer's primary job isn't to make business decisions/ideas and fighting that battle for life and death is many times a lost cause. Fortunately, a good attitude to takeaway is to always have pride in doing good work and believing that a good idea is still a good idea even if you can't convince anyone else (today). Tomorrow, you can wake up and try again.
If you can't make the sale on a value-added basis, then that's that. As you said - "it worked well enough".
You/they can't measure those improvements, so they don't exist. What they may know and you are missing is the product's position on the Schumpeter curve.
When it's really bad is when one of your coworkers spends months assembling the data to show that the defects cost them money. It probably cost more to do that than to fix it in the first place.
"Move fast and break things."
"Yes, but what if the things cost $50,000?"
You're correct, of course, and the Schumpeter curve is not something I'd heard of (I'm not sure that's the textbook name, but I'm sure it's the same concept) and is kind of interesting and frustrating at the same time.
Speaking from a strictly business standpoint I understand the motivation behind these things, but from my day to day programming perspective -- where the revenue doesn't come back to me in any way and building the Next Big Feature is really just looking for a spot for it to fit in among the bramble of previous releases -- all I want is for the software to work better. I tend to think of it as just knowing too much, but maybe it's just time to move on.
I'm with you. I'm there to make the software better.
But the company is there to make money, and improving the software sadly doesn't always make more money.
For me, I fill the need of writing better software by working on Foss projects in my spare time because is satisfies that itch so I don't have to try and satisfy it at work.
On the other hand I really feel like this is one thing that makes Foss software better IMO than proprietary software. Foss Devs can spend hours working on something that turns out to have no performance impact at all, the point is they have the freedom to pursue that, and that in corporate development the norm is that those issues just never get raised, let alone fixed.
Interestingly, I have mostly thought the way you do. In the past few years, though, I've started to change my mind.
I've always thought that you could look at it like a graph. On one axis there is software quality and on the other axis there is return on investment. The graph is undefined at 0, but essentially, as you increase software quality, ROI increases. At some point, it starts to dip down -- more quality takes more time, but provides little additional monetary benefit. The sweet spot on the graph depends on the situation, but you are always balancing those two forces.
It seems quite obvious that it works that way, but I think that's because we are using a definition of software quality that is not necessarily so useful. In fact, one of the biggest problems we have in this industry is that "good code" is highly subjective. Usually "good code" == "my code" (possibly with the proviso "that I wrote recently"). Similarly, we think that with enough time we will be able to find the perfect design to represent the problem (now and in the future).
I think this view is what causes us to come to the wrong conclusion about ROI vs quality. If I define quality in a different way -- the ability for anyone on the team to understand and modify the software quickly, we might find that we have a different looking curve.
As I have gotten older, I have discovered that I'm not nearly as confident about my designs as I was when I was younger. Now, I quite often experience the situation where I think, "There are many options for the design here. I don't actually know what is best yet, because we haven't written enough code in this area. So I'm not going to play with it".
An earlier version of me would look at the code and conclude that it was sloppy. The new me is trying to avoid locking developers into a design decision that might turn out to be sub-optimal in the long run. In other words, avoiding making a commitment as long as possible (but not longer).
Or if you want to look at it a different way, we have all experienced code bases that are hard to work with because they make seemingly arbitrary choices that we have to work around. Or that have unfortunate design decisions that are baked into the code and impossible to refactor out. I will submit that this is generally a result of trying to "do it right" and failing. I work with at least as much of this kind of code as I do with unstable spaghetti code that breaks whenever you breathe on it (the result of abandoning quality).
To sum up, I think that as long as your project is going to last for more than about 2 months, good quality code has a much higher ROI than poor quality code. Where we get into trouble is that most developers do not know what good quality code looks like and often over-design/over-commit to the detriment of both the code base and the ROI. I will suggest that at some point, as developers spend more time trying to "do it right", they actually end up with less flexible code that can't react to the surprising requirement changes that are likely to come in the future.
Which is not really a helpful insight because it basically says that you need to hire better/more experienced programmers to have good code bases that give you better ROI. ;-)
I made up the "Schumpeter curve" thing, so you're unlikely to find it, I'd think. Of course it refers to how long the product/company will be alive and relevant.
It wears on people, but guys in combat get used to other people in their outfit dying eventually. This is nothing compared to that.
I am extremely sympathetic with wanting it to work better, but again, that which cannot be easily measured does not exist.
An alternate strategy is to do this surreptitiously and present it as a fait accompli, but that has risks.
At some point in history Newton had just made up gravity, and Einstein made up the concept of awful metaphors about driving away from clocks really, really fast.
The Schumpeter curve warrants some serious investigation.
And sometimes, it's not even about financial repercussions. A dev thinks that the software can be improved in some way or another, but the users don't even want that improvement. They got used to the interface and are just fine with it.
This is what happens to me occasionally with my web app. The design is the same for 5 years now. I'm tired of it, it clearly has limitations, but users are very happy and new users compliment me on the "clean and great design". I really have to fight the urge to make a major redesign and rewrite huge chunks of the code base, because it wouldn't solve any problems users have.
And the nasty part of this trap? If someone does start mimicking you, but with a clean new UI, and your market share starts to slip, so you say "fuck it, I'm gonna do it that way too", then you will force your users to make a choice.
Stay, and have to relearn the whole website, or leave, and have to relearn the whole website.
I feel like one thing I've learned the hard way is there is such a thing as getting successful too soon. Once people start voting with their feet or wallets on your solution, you're stuck with it. "We'll fix it later"? "Later" is gone, kids. There is no "later" anymore, we have what we have. If you don't like it it's time to start on a new project.
could you not incrementally improve the UI, without a drastic surgery of the UI? For example, add an extra screen here or there, add theming support, then allow UI customization, then, add a new IU selectable as a new theme, etc etc.
If you chose the wrong abstraction for the project, it's often reflected in the logical structure of the app and it takes some serious creativity to correct it without changing the UI very much, IME.
Often the things that make the app hard to work on also make it hard to use.
Most big software companies do formal CSAT surveys. If their customers are consistently satisfied, it's incredibly hard to pitch incremental, non-revenue generating improvements successfully. This happens even at the biggest & best tech companies.
I think features-over-quality is a common priorization.
From managerial point of view it's hard to discern sane quality improvements from just changing the code because of aesthetics if there is no clear business driver.
I've been spending a lot of time in a neonatal intensive care unit [0] lately. It's driving me nuts watching them use Outlook to coordinate patient care. I suppose it works, but seems like Outlook should be a low bar to overcome.
I accidentally saw a sign that they have a medical simulation lab here at the hospital and for the first time in 5 years I'm seriously considering giving up my own business to go get a day job.
[0] Don't worry too much. He was just a little early. Otherwise very healthy.
A lot of it is essentially hacking around the fact that medicine & hospitals weren't designed for computers.
For example: we used to (still do) keep large files of old notes for patients. In the worst cases think reams of paper three inches thick held together by the flimsiest of plastic ties.
The solution for computerising this? Scan it all. Categorise by date and medical specialty. Unfortunately using this database turns out to be horrendously slow. Each doctor has to download each page from the database in order to look at it and make sure it's not the page they are looking for (no or poor text recognition). As you can imagine, hundreds of doctors doing this at 9am in the morning grinds the network to a halt.
That's just one component of the system we use every day - I have more!
A word of advice: don't ever get into the medical software field. I've tried it twice and saw the same problem each time.
The sales cycle is a year long. At the end of the year the result is either "we are sticking with BigCo's crap that they told us they would improve the last 5 years" or "budgets are due and they need a new wing so ours was cut"
A coworker explained it perfectly: the industry is run in fear. Fear that if you buy software that fails you will be fired. Fear that if someone across the street buys some software and it works you better get it too.
You might find Robert Wachter's The Digital Doctor interesting, although it focuses on the big picture more than specific examples: http://www.amazon.com/dp/B00TT5I9A0/
Why don't you go And build your own software Company? Time To believe in yourself And put your balls on the table To prove To yourself that you are right !
Circumstancies were a bit different but i left a bc for the exact same reason (i would not care about my work after being repetively shot down by my top management on ideas I believe were the right things To do). I started my own company 6 years ago. We are now a team of ten worker And I work for some BCs who believe what i say is the right thing To do because of my xp and the trust relationship we have...
1) Executives cut projects: a lot. The budgets are so insane for games executives need to constantly trim budgets and shift things around. It is common to walk over to an artists desk and inform them the art they have worked on for 2 years wont be used. I am convinced telling a wife her husband has passed is the same feeling.
2) The budgets have exploded. My last project for an iPhone
game was well over 4million dollars.
3) Complexity is compounding. My last team (for a prototype) consisted of: AI guy, graphics/C++ guy(s), gameplay guy, Art TEAM (vector and raster) and project managers. The art pipelines alone will suck the budget dry.
4) Pay is low. Since you are starting fresh each project (see 5), your working knowledge of the system is similar to someone new. Promotions, salary increases, etc don't make any financial sense (see 1) unless you are a rockstar. The new kids walking in usually burn out and quit because they don't understand the massive shit show the industry is. EA's managers just grind people until they can't walk. Disney is a sweatshop.
5) NOTHING is reused. After your second project, you quickly realize the AI you created for fish has nothing todo with with your AI for a 3d shooter. The asset pipeline you created for a soccer game doesn't translate over to a racing game. Game companies are full of dead code repros. People try to create/use repeatable platforms, but then the game designer guy will walk by and say "Hey is that the newest unreal engine?". In games: Anything reused is quickly spotted as reused. This is why games that have a good series going do really well financially. GTA what like 15?
6) Success is low. After a few years into a project, someone will say: "But its not... fun". Welp, good luck fixing that. Or plan on having it rot in some terrible online store.
7) Rockstars. Executive: "OMG you wrote the AI for GTA2 in 1998??". Welp, this guy is now your boss. AND, because games are almost always a luck play - this "Rockstar" will teach you absolutely nothing.
My takeaway:
I have talked with guys in the game industry that have been in it 20+ years and asked WTF. Basically, lifers are like high school teachers. They are abused and underpaid: but they love what they do.
I've heard all of the horror stories about EA, but the author seems to have enjoyed the premise of the experience at Ubisoft, e.g., good camaraderie, a non-abusive environment. Sure, projects got canceled, but that happens in every industry, especially creative.
Which one is the outlier, Ubisoft or EA? Is the whole games industry a mess, or is EA just exceptionally bad?
Having worked under EA, Capcom and THQ I can confirm that the whole industry is nuts.
If you like 40% less pay for 50%+ more hours be my guest but 5 years in the industry was enough for me(and considering the average career is ~3 years, for most people as well).
Fun problems and interesting products but not a sane career.
Having worked at both a small-time and significant studio, I too can confirm the whole industry is nuts, as the sibling comment says.
vvanders' comment is such a perfect illustration of the situation that you should read and re-read it and then force yourself to believe it. I didn't.
None of this will really change the minds of a determined 19 year old to become a gamedev, though. That's why gamedev is able to treat employees as if they worked at a startup while giving none of the benefits. If one leaves, there are ten young people who want to take their place, and are massively excited to do so. For a few years.
I suspect Ubisoft has vastly different attitudes for different teams. You have the guys making the extremely fun, innovative, Rayman platformers, designing levels like this: https://www.youtube.com/watch?v=7m5YQrucis8
Then down the hall you have the guys chugging out Assassin's Creed 57: Nothing At All New.
That said, I'm an outsider, I don't know, but I'm wagering those vastly different games have vastly different types of teams behind them.
CD Projekt was accused of abusive work conditions for Witcher 3, and stories about Rockstar's death marches surface after almost everything they release. I think good conditions at AAA studios are outliers. Game development is my dream job but I'm glad I didn't go down that path.
>CD Projekt was accused of abusive work conditions for Witcher 3
Yeah, I though about that when I played it: "Is CDP really this much bigger than Bethesda? Probably not..."
I'm still disappointed about having my suspicion confirmed.
But to add to the discussion: Funcom (of Norway) was often in trouble with the labor regulator for "mattress-in-office" working conditions, even though they had massive goodwill due to being the only big Norwegian studio at the time. I suspect the only reason I haven't heard something bad about Red Thread Games is because they're too small to be noticed.
Most of them are pretty bad. I had some roommates who were crunching for over 9 months on a title. They'd head to the studio around 8-9am and head home around 3-4am. Some days they slept at the office.
After the project, the company decided to take away a bunch of their leave days that were accumulated with the OT, because it was inconvenient for them. These are people who were there for 5-7 years.
I've freelanced all my life so I don't know how these things usually go, but it sounds pretty damn awful.
Sounds about right, when I left my last games gig I had to toss ~3mo of PTO because the company refused to pay it out(yay WA employment law) despite it being a specific benefit.
I never had a chance to use it since we were crunching so much that it just accrued until I left.
I was hesitant to join a game company for pretty much all these reasons, but there are some exceptions out there. I'm working on some interesting reusable platform-level technology that wouldn't be out of place at somewhere like Google (in fact one of the projects I work on is very similar to something Google has since open-sourced). The pay is Silicon Valley level, and the company is financially stable so the risk of "Urgent company all-hands: you're all laid off" is very low. The scale we operate at is challenging and the culture is strongly geared towards empowering us to grow rather than burn out or become cogs in a machine. It's not perfect, but it's not EA either. :)
I’ve been working in the games industry for almost 8 years now and I can’t stand it anymore. Low pay, no benefits, poor work-life balance and no career progression.
Making games is fun and rewarding, but as a hobby, not a full-time job. Unfortunately it’s not that easy to leave that industry, at least for me... :/
To be fair, dreams change. Sounds like the author's initial "oh shit I get to work on <big title>" morphed into "I want ownership of my work."
They could also have meant game design/architecture was the dream, not necessarily working at Ubisoft in particular. You're right though, it's a bit unclear.
It sounds more like the romantic ideal of his dream turned into a very different reality and he realized that what he was seeking all along (ownership, significant contribution) just did not exist in AAA games.
It's fairly easy to see how it was their dream job (video game programmer), but exposure and experience made it a more nuanced dream (video game programmer where I feel invested in my work). In that respect, it's not that different than a lot of other careers. Lawyers leaving to start small firms of their own, etc.
Many dream jobs tend to lose their luster by the time you can actually get one. The entire blog post describes their disillusionment.
When I was a kid, I wanted to work at Epic because I imagined they'd just play Unreal all day. By the time I could write software, I'd ruled out the entire gaming industry as a place I wanted to be employed. If I got a job at Epic, it wouldn't be because of my childhood ideals, but it would still be my childhood dream job.
> No matter what’s your job, you don’t have a significant contribution on the game. You’re a drop in a glass of water, and as soon as you realize it, your ownership will evaporate in the sun. And without ownership, no motivation.
A good description of a lot of big corp projects. Do people working on large open source projects eventually feel the same way?
I am a small cog in the machine, but the code I wrote that is put in production is used by million or so users, but without the rest of the machine it would not be possible for me to reach million users.
I am not saying one thing is better than other, but in general you have to choose a mindset that is more in aligned to your life goals as well as stage in your life.
Not every one can be entrepreneur, but the author of the post has right kind of experience as to succeed as one, even though he might have disliked parts of his job at Ubisoft, it is the experience he picked there and the skills he developed to survive the noise and collaborative grunt work would be more useful for his indie games enterprise.
One more FYI: "he" is grammatically considered a neuter form unless otherwise informed, just like in Spanish and other romantic languages which don't bother making up "zhe" pronouns and the like. If the GP didn't know or care about exactly who Maxime is, "he" would be correct regardless of his actual gender.
I very rarely see native English speakers use "he" as a gender neutral pronoun. It's usually plural they (when stating generalities) or singular they [0]. I find singular they much less ambiguous and sexist than "he" and you'll rarely find someone taking issue with its use, something that cannot be said about generic "he" as can be seen above.
I typically only see they being used when it's not about a specific person. It's hard and strange to use 'they' when you know the name of the person you are talking about.
I've never really understood that attitude of "if it's not all mine, my contribution doesn't matter."
Maybe it's just my own raging ego, but no matter how small my contribution is to the whole, I remain absurdly proud of whatever I did.
I certainly hope that the guys working on AAA games feel the same way to the point of annoying everyone they know: "You see that? You see the way the guard rubs his stubble in his idle animation? Look at how realistically his fingers make contact with his face! I did that, that was me! You're welcome!"
On some Pixar movie (Ratatouille, I think), one of the DVD extras was a set of deleted scenes that happened to be the entire work of individual animators - basically they spent 18 months of their life working on that stubble, and the whole guard was cut because that didn't work with the story.
That's an extreme, but something like that is possible for anyone working on a sufficiently large project. I get how people like that could really feel like their time was wasted - your assumption is that their contribution will be in the final project in a small but interesting way, and that's not an assumption that can always be made.
I'm pretty sured it was indeed used, at least as part of emergency drills. I think that is pretty good, to know that your backup system works in case it is ever needed.
Same example can be applied to many folks working on startups that go nowhere. Especially the early days of pivots, a/b tests et al where many solutions get thrown out. Maybe a better way to handle this is focusing on growth achieved (startup or corporate) and less on the ego?
When your job becomes something useless you do because you want the money you get super unmotivated, to say the least.
An painter spends 18 months creating a great work of art, one of his best. After he is finished, a guy buys it for a large sum of money and promptly burns it. How does the artist feel? Is he going to be motivated to spend another 18 months on his next idea, even though his previous idea was a financial success?
That all depends on how you feel about ice sculptures. Maybe only a few people see it before it melts, but that doesn't matter. The skills gained in striving towards excellence are not ephemeral. Even if the product goes nowhere, no one can take away what was gained in the process.
And if the process is pure tedium and you learned nothing about yourself or the tools throughout it, you should try to create the tools that do inspire you to perform the tasks that don't. Manually creating a production build is boring and you rarely learn anything, but creating a good task runner can be incredibly satisfying.
I think the difference between the example and ice sculptures is that ice sculptures are enjoyed before they melt, but the example was produced for the sole purpose of being destroyed, rather than enjoyed for a short time.
Edit: Another example with something temporary would be spending time making food for someone who consumes it, versus spending time making food for someone who just throws it in the trash.
> An painter spends 18 months creating a great work of art, one of his best. After he is finished, a guy buys it for a large sum of money and promptly burns it
>An painter spends 18 months creating a great work of art, one of his best. After he is finished, a guy buys it for a large sum of money and promptly burns it. How does the artist feel?
Those poor nuclear physicists and rocket engineers -- thousands of them -- in the US and the Soviet Union whose ICBMs and nuclear warheads were never used!
While they may not be in the job for the money, there is still a split between those who are in the job for the recognition and those who are in the job for the learning experience. Most of my work is hidden to everyone except those on my immediate team of 2-3, but I learn an incredible amount.
In the case of the game industry, you still got paid, but markedly less than a comparable software engineering job outside the game industry and with poor working conditions in general. This is tolerated because you're invested in the work; when that work just gets thrown away, you might as well have been working on the next Facebook for Cats and making the correspondingly at-market/inflated salary.
It might be that the attitude comes, not from actually thinking "my stuff doesn't matter at all", but more from thinking "if I leave, almost anybody else could do my job".
Not sure if this was the case, but I believe a lot of our developer egos would like us to think that I and ONLY I would be able to do this particular thing (even if you know you'll actually never be THE ONLY one at anything) it definitely feels like you might be one of the very few.
And then when you realize that no, you are not a special snowflake, you kind of feel "my contribution doesn't matter", not in that it doesn't actually matter at all, but in that someone else could've done it as well.
I worked at a company where I built the first version of the product, then, because I was remote I was removed from the main user-facing product and was sent to the virtual basement where I built and maintained internal tools. I was not happy, but, hey! at least I was getting a very nice deposit every month.
Four years later I was laid off and realised that I had absolutely nothing to show for my years there. No portfolio. Nothing on a public url that I could share.
Landing the next job was extremely difficult.
My resolution was that the next company I worked for should be one that allowed me to point at cool stuff and said, proudly, see that? I built it.
It's easier to be a cog in the wheel when you really support the mission of the organization (company, non-profit, etc).
It's harder somewhere like a telecom. That said, your priorities will change as you get older. When I was younger, all I cared about was getting to work on things that I found interesting, starting a company, and big company work would start to bore me.
Now I have 2 kids and my priority has almost entirely shifted to taking care of them. Stability, benefits, college funds, family activities and events have totally replaced the outside of work time that was formerly preoccupied with obsessing about entrepreneurial ventures.
I still think about them. When you've got the bug it's not something that turns off, but it's nowhere near the same level of priority that it used to be.
I hope this doesn't come across as negative, it's not meant that way...
Do you think your priorities will shift again as your kids grow up (and move out)? I've not been a parent before, but I have parents, and it's kind of hard to encourage someone to follow their own interests again when they've been so focused on others for so long. I'm grateful for everything my parents gave me, but if I had a time machine I'd try to encourage my parents to keep up their own interests too. Honestly, I don't think I would have minded in the slightest. Besides, even if that led to my own boredom, I think that just encourages more self-reliance in finding your own entertainment, and self-reliance is one of the best gifts you can give a kid IMO.
Anyway, that's just my outside perspective, it probably feels different when you're a parent.
As they grow up, they will want to do things their way, explore things on their own. It'll be tough since I care of them so much but it's part of life: it's natural that your kids will leave you eventually (especially boys).
My interest in the field (hi-tech) is still sky-high. I'm blogging when my kids are asleep. I dislike NodeJS/JavaScript but I still learn it on the side (yeah, it's a weird relationship...). But when kids are awake, hi-tech is far from my mind.
There was an article about valuing Time because you can't purchase Time. When I'm old, I probably won't remember anything about Java or Rails or Tomcat v5.0 or Linux Mandrake but I'm pretty sure I will remember the time I spent with my kids when they were toddlers. I probably won't spend much time with them as soon as they have their own partners/family.
So I suppose I've come to realize that my time with my kids are even more limited up until they're 12-15 years old, become sparse up until they hit college, and becomes very limited once they have their own family.
PS: my kids are almost 4 y.o. and 16 mo's. They're constantly asking for attention and all I can give them right now is just that: attention. They're not asking for toys or gadgets (yet...).
> There was an article about valuing Time because you can't purchase Time. When I'm old, I probably won't remember anything about Java or Rails or Tomcat v5.0 or Linux Mandrake but I'm pretty sure I will remember the time I spent with my kids when they were toddlers. I probably won't spend much time with them as soon as they have their own partners/family.
Thanks for the reminder - its sometimes hard to remember things like that on 4 hours sleep, but it is super important.
Now, time to put down my phone and pay some attention to my little boy!
Also, don't get me wrong here we still do things that we like but hobbies are VERY different than side businesses. Side businesses have customers and commitments and demands on your time. Hobbies and interests can be worked around just about anything. I still have hobbies and interests of my own, just not time for an entire venture outside of my full time job and my interest in quitting a job to take a risk on pursuing something else is virtually non-existent because of the strain it would put on my entire family. If it was just me and my wife, we could take the risk and accept the consequences easily enough.
Something that gave me some perspective recently was my grandfather passing away at 92 years old. He retired, after spending most of his life working for the railroad, when I was about 3-4 and it struck me that I always basically knew him as a near professional level fisherman until he hit about 85 and couldn't do it anymore. Reading his obituary I found out he didn't even start fishing until post-retirement.
I realize it's not running a business, but I just found it interesting that he spent almost a full third of his life doing something different than the prior 60 years and that was the main thing that his grandchildren knew of him (in addition to his involvement with his church).
Just a perspective changer to make you realize that life is actually longer than we give it credit for despite all of the "life is short" proclamations.
That said, when my kids are both off to college I'll be 48 and will definitely be filling my time with something but at that point there's no telling where my priorities will be. It's entirely possible that I'll get more enjoyment out of community involvement than pursuit of a business venture.
Might get involved with Boy Scouts by that point. Might get involved with politics. Might get into farming or fishing. Who knows?
What I do know is that by the time I'm 48 there's a decent chance I'll have spent a little over 30 years of my life in front of a computer screen in some form or another and I'm probably not going to want to spend the next 40-50 doing the same thing (based on my family history, that's likely).
Being a small drop in a big glass of water comes with its own, albeit different, motivation. Small projects that one person, or a small group of people, can fully own are necessarily limited in scope.
Personally, I don't dream of having full ownership of my own successful little project nearly so much as I dream of playing a relatively small, but necessary, role in a big ambitious project. For me, this[0] is the dream. Look at all those elated drops of water! I think the Fleet Foxes put this pretty well in "Helplessness Blues": "after some thinking, I'd say I'd rather be a functioning cog in some great machinery serving something beyond me".
Having said all that, my point isn't that all big projects are better; obviously not every project is literal rocket science, and all else equal I find ownership more motivating as well, it just isn't the only thing that can be motivating.
All my entire career I've only worked for small biz companies. I've never cared to become a droplet until SpaceX rolled around. I went through the entire interview process, but didn't get an offer. The tour itself was worth it. :)
I think this sentiment rears its head a little more in the videogame industry than in others, because such a huge number of people have the experience of getting extremely familiar with a piece of software as a user that they automatically start saying things like "if I built this, I'd change X." People start thinking like this about games when they have no development experience whatsoever. When they're kids. When they decide games are cool and they'd really love to get paid to make them. It's pretty common to hear a kid say they want to make video games when they grow up, but it's pretty rare to hear one say they want to make customer engagement analytics dashboards.
So I think the pool of people for whom this is a "dream job" and who get slapped with the realities of development on a big team is much larger for games than for other types of software. I'm sure there are some kids looking at GMail and daydreaming about how much better it would be if they were in charge, but it's a heck of a lot fewer than those who are daydreaming about building the next Call of Duty or whatever.
But you're right, this sentiment isn't unique to the game industry; I think we just hear it more from there.
I also work at ubi as a programmer, at a project with 600 people and I don't feel that way at all. My contributions are meaningful and will certainly be visible in the final game when it's released. Obviously it's different depending on the type of programming you are doing, but as an engine programmer there definitely is a strong sense of ownership.
I have worked as a Tiny Cog before, but I still felt I was making several Users lives better by really thinking about there problems and then solving them. Yes, overall it's a tiny piece, but as soon as you start talking about solving minor problems for thousands of people that becomes significant in aggregate.
I've worked on a largeish (10 to 15 devs, 2 PMs) opensource project before. I was paid to do so.
Quit after about 9 months because I felt I had no impact on the overall thing and little say in what gets built. Every suggestion was a struggle of design by committee and every PR got scrutinized for even the most trivial thing.
It was frustrating and it wasn't even that big a team/project.
This phenomenon is not exclusive to game development. Lots of people want to work for large, prominent companies like Google or FB, dreaming of working on cool projects. But the reality usually turns out to be much less glamorous. Instead of being the guy who comes up with the next killer product or feature, you will likely end up as a small cog in a huge, well-oiled machine, optimising ads to increase some metric in the fifth decimal place.
That's one of the things that I hear people say about Google - that you end up doing small unimportant work. Having seen the internals, I think that possibility is overstated. In my perspective, Google is a fairly good example of an egalitarian workplace where everyone (engineers) is equal to each other with ownership of what they work on and its success/failure. Accountability doesn't really get moved around - it's on you.
That's my limited impression at least. I'm sure other people see it differently.
> . Lots of people want to work for large, prominent companies like Google or FB, dreaming of working on cool projects. But the reality usually turns out to be much less glamorous. Instead of being the guy who comes up with the next killer product or feature, you will likely end up as a small cog in a huge, well-oiled machine, optimising ads to increase some metric in the fifth decimal place.
Can anyone add to how true this is for Amazon, Facebook, Google etc.?
I imagine the problems the author found working on a large game is similar for most large projects. Not saying that small projects are better though, just different.
I worked at FB for a year back in 2011 however things are still the same (so I am told by friends who still work there).
Facebook make money from ads and selling data to people who want to better target ads. Because of this everything boils down to how do we get data we can sell from this?
Yes you do get to work on interesting problems. Sometimes. Mostly it is quite boring and rather generic stuff though. The interesting parts of FB isn't the development side but the infrastructure side. Not many companies run at the same scale so you get experience with some crazy setups.
One thing you have to be able to deal with at FB is change control. If you don't like working in an extremely strict environment when it comes to pushing an update you won't enjoy it there.
While many people (myself included although not anymore) want to be a rockstar at these huge companies the reality is they are just like any other big company. Lots of rules and not a whole lot of freedom to "play" unless you really are a rockstar which, let's be honest, not many people are. You want freedom? Get a job that you enjoy and that pays the bills and play in your own time, which you will no doubt have much more of at a "normal" company.
One of the things I've heard about FB is the complete lack of change control. That, at least on mobile, people will add code with almost no oversight, which has lead to the apps having such huge numbers of classes.
They still have change control, they just have thousands of people committing to it and as long as it works it ships. Still lots of individual CCRs. Change control doesn't mean you get a decent end product, just that you have a log of who did what.
It sounded like a big part of it for the author too was getting two projects canceled. You want to be the guy with the next killer product, and when you think you have it, the higher ups in the large, prominent company you work for decide that your project is not what they need to work on.
location is the biggest factor. I'm in TO and a sr developer might make 80-100k. In NYC, the same role is more like 150k.
In toronto at least, contract work roughly doubles your income but you don't get benefits or equity.
I hope this does not happen to him, but wait until he releases a game (that might even be a really good one) and gets nowhere because 1,000 other people released a game that week. It's a tough industry now! You probably appreciate the indie side of it when you're in AAA, but I can tell you from experience you appreciate the AAA side of it when you're in an indie!
> "When your expertise is limited to, let’s say, art, level design, performances or whatever, you’ll eventually convince yourself that it’s the most important thing in the game."
This is my experience, too. Without autonomy and ownership across a whole project it's very easy for people to get tunnel vision about what's valuable. This causes general harm to both the team and the outcome of its project.
I'm not sure how to lessen the effect other than perhaps by making projects small enough that they can be worked on by just a few people and using this phase to establish a kernel of good ideas and team cohesion.
Perhaps there might be another structure where the tools that are provided to the team are literally so good that the main project can be done by just a few people working on everything together. (Idealistic vision here.)
I don't have the source handy but there is research showing that if you ask individuals on a successful project the % that they contributed, the total of the perceived contributions generally equals around 140%. I've wondered if simply pointing out this issue might help reduce the inflated sense of personal contribution
I wasn't able to find your particular point in my searching, but I did find a paper from 2000 that came to a similar conclusion[1]
"This difference in perception has a potential of creating tension within the team and disrupting the cooperation, because there is a possibility that every single team member may feel to be undervalued by others and not receive his or her due."
"The perception gap can be a threat to the team and its
goals. Facing the gap requires interpersonal skills on the
part of the team management and team members."
I can well imagine this can occur in larger, non-games software development projects. I wonder if it is the same?
I sort of suspect not. I am currently refactoring an (albeit important) part of the LibreOffice codebase - the VCL font subsystem. Mostly it's reading the code (in fact, 90% is reading and understanding the code), but it's kind of satisfying looking at how changes to the code make things better and... more elegant.
Perhaps this is just an Open Source thing. Or maybe I'm unusual in that I like to focus on smaller modules and make them really good, then move on to the next thing.
If you have a bad memory, you should look into mail reminder services. You write something you want to be reminded of and they send you an email about it later on.
Hmmm, open bra?! Not sure if that is intended to be some sort of "lolwut" marketing effort but with the overlapping ribbons in the game perhaps they can sell advertising to a bra company!
It would be a shame to ruin the lovely symmetry of the logo, not serious enough to alter (beyond maybe the typography). Looks like a lovely game though.
Congratulations for pursuing your dreams! I also work at a big game company, not even on a game but on an internal technology: no player will ever see directly the result of my contribution. I still feel great about my work because of reasons not important here, but I totally understand what the author says.
But feeling of being a little cog in the machine aside, some of what is said here is about failure of management: communication problems, useless meetings, bogus decision process, lack of visibility of who is impacted by a decision, etc. It's true that big projects are more difficult to manage than small ones, but in truth a bad management or bad coworker dynamics can destroy motivation in big or small companies alike. I have worked in a few startups and two indie game companies and all were plagued by mismanagement as much if not more than my other experiences at a bank and at a big cell-phone company. I may have been unlucky, but it may a simple truth about the programmer's job: working with other people is hard and team dynamics is very important.
> No matter what’s your job, you don’t have a significant contribution on the game. You’re a drop in a glass of water, and as soon as you realize it, your ownership will evaporate in the sun. And without ownership, no motivation.
This is why I left my 'dream job' of work working on a AAA MMORPG. I came on board early on as the first member of a 'NetOps' team, a senior linux systems administrator, which later split off and grew into a number of very large, very specialized teams. My loose definition of 'dream job' at that time was 'large scale' and 'video games'. Cool!
It took a few years for me to redefine what a 'dream job' really meant, and being a drop in a bucket was not it, so I left and moved on (slowly) to freelancing, and haven't looked back.
I don't work in the videogame industry, but I can totally relate. I work in a small website dev studio, and we interact with a lot of companies, both large (though not huge) and small.
As soon as you get people working on a project that are too specialized, no matter the size of the team, you inevitably get conflicting concerns. I think it's very important for managers to understand what those concerns are to be able to take the right decision.
I also think that even specialized people should have some knowledge of other specializations (e.g. designers that understand programming, and vice versa). On very large projects, this is impossible as there are just too many fields, but still I value very much "general knowledge" for that reason.
I do not get why people, it seems, often use the "...or, how I learned to stop worrying and..." in their blog post titles. Are they doing it as an homage to the film Dr. Strangelove (I'm not sure if that was the originator of this alternate/sub title phrase), or, are they doing it because it has become a meme among bloggers?
If the latter, fine, at the worst they are unoriginal. If the former, then they haven't ever seen the movie, or, don't understand the movie and the absurdity of the title character nonetheless of "loving a bomb".
Or, this phrase is common and I erroneously associate its origin with the film.
In every case but the last, it irks me, but for no good reason ultimately.
Yeah, lots of phrases get stripped of their interesting meaning as they become tired second-hand cliches. It's not unusual to see someone quoting a quote of a quote, completely unaware of the original source.
"On large scale projects, good communication is – simply put – just impossible. How do you get the right message to the right people? You can’t communicate everything to everyone, there’s just too much information. There are hundreds of decisions being taken every week. Inevitably, at some point, someone who should have been consulted before making a decision will be forgotten. This creates frustration over time."
This is an issue I've wrestled with over the years - too small a company and your resources are limited, too large and progress mires, and it mires because of communication.
The problem of companies like Ubisoft is mass market approach. Big publishers prefer commercial mass market art to good art. In result, more interesting games come out from independent studios like inXile, Obsidian, CD Projekt Red and others. Not sure how it looks from insider's standpoint, but from gamer's standpoint, big publishers like Ubisoft and EA are plain boring and their games can be compared to pulp fiction and you don't expect to see masterpieces from them (coincidentally they are also most often plagued by DRM in contrast with games from independent studios).
Late to the party and this doesn't address what the OP said directly, but the state of the video game industry actually makes me quite sad.
The last AAA game I played was Oblivion, which I couldn't finish. I haven't really played a AAA game since, and have only played two video games all the way through since (Braid, and Monument Valley).
When the OP talks about working on a project so big that no one person really "grocks" the whole thing I can relate, but I also want to say "it shows".
IMO, the current state of AAA games is shit. I think the reason they are this way have to do with what the OP is complaining about, the originating vision of the game comes from Marketing not an artist, and no one person has vision for the game. Maybe video games just have too many resources at there disposal.
I think I read somewhere that either Ocarina of Time or Mario 64 had double or triple the playable content of the released game and Miyamoto had a perfectionist eye for the game and was merciless in what made the cut.
Resource constraints are a good thing, IMO, as it forces people to make a razor focused product that trims the fat mercilessly.
Having unlimited resources is the enemy of good decision making, and it shows in the current state of video games (and film too). Games and movies are just too long/full these days.
Fantastic write up. I know this feeling all too well.
A bit related is when you work in big companies like Apple and Tesla. These guys have a "hero" at the top. There is nothing you can do but wait for that headline that talks about a feature you made and it was Elon Musk's doing or Job's amazing leadership. I have nothing against these two but it is very demotivating to work.
You should usually get the praise internally from the boss and all your peers know it's down to you. But externally, and the public, you get nothing, and the boss gets all the praise.
Yes and that's soul crushing (to me). Especially if the boss makes no mention of you even in passing. The problem with BigCos is you can do nothing about this, other than climbing the ladder. I feel small companies have a nice mix, I know the developers of many startups by name and what they do because of the very fact that they can come out and talk about their work.
So let me just throw this out there, we will always have to answer to someone. Whether it's our middle manager in a big organization, VCs telling us how fast we need to grow, or our demanding users because they are the only way to get revenue.
All software written at this stage is small cogs on a much bigger platform written by teams of brilliant people over the last 30-40 years.
I do think it's fair to say you want to work on actual interesting problems and being one of 20-40 people working on a game engine is probably very tedious. I imagine long code-review cycles since any tiny change could destabilize the entire system several layers up.
Some people need big organization structure to produce their best work while some people need the freedom to have infinite WFH days answering to users to produce their own best.
Get financial independence! If you can support yourself with your investments (I'm personally aiming for REITs, MLPs, and holding companies -- I want dividends, not capital gains), you can work on whatever problems you like, whether they pay or not.
I've worked for a couple of small games studios, and once for a big studio working on a AAA game. The headcount observations resonate.. I remember our teams growing, and growing, and growing, and each extra programmer detracted from the "community" feeling of being part of a studio, and added to the complexity of developing such a large code base with so many devs.
Compare that to small studios, where you can really feel like part of a family. It's very different, and all these kinds of feelings are more intense than other IT companies I've worked at. (Probably partly because of the extra time you tend to spend there when working in the games industry...)
Having said that -- some of my best friends were made when working at the big AAA studio! So it's not all bad.
This was a great read. I worked at a large web agency once and did some pretty decent work. It is definitely rewarding to see people use something that you worked hard on and to see it on tv and in magazines, etc. But that yearn to do your own thing, blaze your own path is a feeling that I'm certain most people who work in creative fields go though.
Sidenote: before he said that the small projects were cancelled, I assumed that they were Evolve (https://evolvegame.com/agegate/) (I don't follow games close enough to know which studio makes which game).
I'm curious as to how he was able to, I assume, bootstrap a game company for a year before releasing an iOS game.
This is an odd comment as Steam Greenlight is currently one of the main drivers of getting indie games exposure when it would be near impossible otherwise.
Yes, Steam Greenlight has quality control issues, but it still has a purpose of getting games to the store without going through a publisher.
The environment has been better-than-ever for indies, especially as increasing costs make AAA games harder than ever to make. (in 2015 alone, we have Rocket League, Ark: Survival Evolved, and Undertale)
The environment is good overall, but marketing has become more complex for indies, since it's no longer directed through a platform owner - it has to go to an audience beyond "game players" to make a big impact. This has stymied a lot of developers who are new to marketing, but it also points the way forward.
I don't think it's necessarily so zero-sum. The videogame market is continuously growing, and competitively-priced indie games can still be a big success.
You don't even need to be a big success like the previously mentioned Undertale, Rocket League or Ark. For small teams there's an extremely viable middle ground between the game not selling anything and it going huge.
Gunpoint and Risk of Rain are really good low-budget games that fall into that middle ground category. I'm fairly certain each were made by a single developer, but have been very successful.
And if you like Gunpoint, don't forget Ronin, also indie and also made by a single dev (and with a general aesthetic similar to Gunpoint, but different gameplay).
I agree. The initial impression is that Greenlight makes it too easy, flooding the market with a lot of junk that makes it hard for the gems to shine through, but I've only seen more indie successes on Steam since its inception.
I think if a developer is relying only on Steam Greenlight to market their game then they'll likely have issues, but if they market in other ways then (if their game is worthwhile) they'll quickly build an audience.
I agree, and I think the flood of low-quality games has actually had the opposite effect that people were predicting.
Rather than drowning out good games, it is becoming easier to tell which games have some love put into them. It reminds me of the movie Idiocracy[0]. What might have been a C game before Greenlight suddenly looks pretty damn good compared to all the F's floating around them.
> The team spirit was sooo good! Our motto was “on est crinqués!”, which more or less translates to “we’re so hyped!”. During our play sessions, we were so excited we were screaming and shouting all over the place. I think it bothered colleagues working next to us, but hell, we had so much fun. I didn’t feel too guilty.
Wow. IMO A dream job is a balance between having fun like you described and working on complex problems. I love how you have written this paragraph.
I went to business school instead of tech because I too dream of running the head of the ship one day. Tech will always be an interest but I thirst for freedom.
the former :) isn't the ability to make decisions, to steer and to lead a sort of freedom? it is to me. You're right though - I attended fi.co for example and they scare people away day 1 with the expectation that a business owner needs to bleed all of their lifeblood into the business.
Not really, to me. There are (in my experience) very few companies where you have one genius spending most his time making decisions and a bunch of minions just implementing those genius decisions.
If I was to estimate I would say that for every 1 hour you spend making big genius decisions, you spend 99 hours convincing people why those decisions are right, listening to why they are not right, listening to what you should be doing instead, writing reports or communications, listening to what issues people have...
I used to work beside UBISOFT here in Montreal. I'd here them talk about videogames during lunch time and it was pitiful. It seemed like having colored hair and geek-chic was more important than actually knowing anything about videogames.
We are all just cogs. What I learned is no matter what sized cog I am compared to others, just make sure my interaction with the other cogs is as smooth as possible. I take pride in doing good work no matter how small or large.
After around a year or so of implementing questionable features, I attempted to get approval for updates to old, well used features to improve them (stability and convenience focused, really), but was shot down. This wouldn't sell the software, because it worked well enough, and we needed more revenue more than retaining old customers. At that point I understood that after the software is sold the customer will be too ingrained into the product to leave without financial repercussions.
A while later, we got bought out by Big Company, so that strategy apparently worked. BC doesn't give half a shit about anything we ever did, and we piled on the features release after release with little concern about anything else. I tried a couple times after the buyout to get approved for existing product improvements, but always got shot down.
I continue to find it odd how the company can be so profit oriented, and yet so averse to improvements. I suppose I'm just wrong or don't actually understand. Either way, it makes it very hard to care about my work these days.