At the end of the project, I can easily see how we are going to have
a very lengthy death march, even with several extra months factored
in for tweaking and bug fixing.
As I see it, I have two options. I can keep my mouth shut, do my time,
and emerge a project later with "real world experience" that will help
my resumes not get thrown out immediately. Or I can try to help the
I'm worried about the second option, because as many of you know here,
I tend to come off as somewhat arrogant and stand-offish. Also, the people
who are making the wrong decisions are all nice people, who are trying
their best (or at least trying their hardest), and I don't want to offend
them - I just don't have the tact not to.
I think there is a good game in there somewhere, and I think my team is
capable enough to bring it out - with a little push in the right direction.
Do I take the safe way, or do I put myself in jeapordy trying to make
a better product?
Quick comment: do *NOT* diss your current project, in public, with
your name on it. Doing so is extremely disloyal, and will be picked up
by others, even if you think it won't be. Airing dirty laundry in
public, before things are complete, will only hurt your game-- there
is a chance, even if you think it's a snowball's chance in hell, that
things will come together and be a good game. Save any gripes for the
*internal* postmortem, when the quality is known and not going to
You should email those you know and trust to keep quiet (at best),
or post completely anonymously with every shred of identifying info
removed. Your behavior like the parent posting show a complete
immaturity, and reinforce the negative impression you've acculated
here. I had hopes that working for a real company would help mature
you, but that's not happened yet.
<*> Nathan Mates - personal webpage http://www.visi.com/~nathan/
# Programmer at Pandemic Studios -- http://www.pandemicstudios.com/
# NOT speaking for Pandemic Studios. "Care not what the neighbors
# think. What are the facts, and to how many decimal places?" -R.A. Heinlein
I can't comment on Sean Howard's previous displays of maturity or lack
thereof, not having followed any of it. I do agree that the protocol
advised by Nathan is a good idea, but I wonder if to do otherwise is so
catastrophic. Certainly it is when a high profile member of a well known
company makes such a post, but the junior employee of a company that doesn't
have its act together? Maybe it's actually healthy for the industry. In
fact, maybe our general working conditions would improve if we actually
discussed these slave driving issues publically. An employee market
mechanism, "don't work for X, they're so disorganized." And maybe X would
hear the message and take corrective action.
Brandon Van Every Seattle, WA
20% of the world is real.
80% is gobbledygook we make up inside our own heads.
Isn't it nice when money's on the table, how one isn't allowed to just be a
Usenet asshole anymore? Really, money focuses people. It forces them to
learn some diplomatic skills.
The best trick my former boss taught me back at DEC, was that you need to
convince other people that an idea is *their* idea. Bring up an idea, don't
point fingers, and see if you can get *them* to champion the change, as a
The best trick I learned on my own accord is that you can see the problems
too soon. Sure, you know what's going to happen. That doesn't mean
everyone else does. You have to wait until other people are receptive to
hearing about the problem. Like, when their own fingers are starting to get
burned. You might have to wait a month, or even 6 months, before bringing
up the issues. Does that sound totally dysfunctional? Sure it is. But
that's the reality of working with other people. You don't get to lower the
boom unless you're the boss, and even then you have to secure people's
buy-in to some degree, or they'll quit.
And a further comment to my last retort, which may come across as
acerbic: in the original posting, you made no mention of having
broached these feelings you have with coworkers, be they other
programmers, designers, or producers. I feel that you're escalating
this issue in a completely backwards manner.
My main question therefore is: Why would a group of complete
strangers on the internet have a better idea of what's wrong and how
to fix it, than those actually involved in the situation? The internet
should be a resource of last resort for internal company politics,
rather than a first. And, as I mentioned in the previous posting, an
intermediate step of trusted friend in person/email should still come
before the internet.
: Quick comment: do *NOT* diss your current project, in public, with
: your name on it.
Man, you are right. That was really stupid. When I post here, I try
to not even mention my company so that I'm not linked with it, so I didn't
even think about the implications of such a post. Heck, at the very least,
it was a question of whether I should say anything, and if they see the
question anyway, it renders the question moot...
: Doing so is extremely disloyal,
I don't know about that. I mean, deep down, it was a question of loyalty.
Is loyalty keeping your mouth shut, or is it telling your supervisor that
he is wrong?
: here. I had hopes that working for a real company would help mature
: you, but that's not happened yet.
Maybe not. I'm still trying to figure out this whole loyalty and maturity
thing, I guess.
This is a tough one. I have, in the distant past, worked on titles that
were either doomed to fail or destined to suck. Now I find myself working
for a company I like on a project that really excites me. As much pain as
those early titles brought me (especially the ones that shipped and got
panned), they also brought me enough recognition to get to this point.
With that in mind, I have the following, which passes for "advice":
1) At one point, I was doing the whole Iron Man 70-80 hr work week (my
employer even put me up in a hotel near the office so I wouldn't have to
waste time commuting). At the time, this felt reasonable to me. That's
what game developers are supposed to do, right? Wrong. Never again. I'll
go through crunch for a month or two, maybe. I can do 60hrs/wk for a short
sprint near the end and/or around critical milestones. But this 80hrs/wk
during primary development crap is counterproductive. On the other hand, I
am glad that I went through that experience. I now know firsthand how
dysfunctional death marches are and that experience informs my managerial
style, such as it is.
2) Yes, some of the products I worked on were less than stellar. But, most
of them shipped and, in the end, that's what employers remember. It's akin
to acting. It's better to take bad roles than to not be offered good ones.
Especially if you can be honest about what's working and what's not working.
Is there anything in this project, particularly in your part, that you can
take pride in? Do you know why it isn't hanging together? Design?
Technology? Execution? What I'm saying is that you need to take something
away from this project. No matter how bad it is, if it runs it's got to
have something of value in it.
3) Consider the team. You will probably end up working with one or more of
these people again. Their impression of you will be formed by how you
respond to this situation. They will be more likely to respect your honesty
if they feel you are sincere about wanting what's best for the product and
the company. They will be less likely to accept your input if they feel you
are attacking them or the product or the company based on a personal agenda.
Which brings me to...
4) Consider yourself. By your own admission, you have a tendency to be
somewhat arrogant and stand-offish. I'm not saying that I agree; I have no
solid opinion on the subject. I'm just going with this as a
self-assessment. Arrogance and stand-offishness come from insecurity, which
suggests a delicate ego. I would be very careful about taking the helm and
pushing the product in the "right direction" if you're not very comfortable
with compromise, criticism and shared credit/blame. This is probably the
most important question for you, psychologically. Leadership isn't just
about knowing what's right; it's also about inspiring confidence in others.
It's the difference between being a don and a consiglieri. Frankly, if you
don't have the tact to criticize without offending, you almost certainly
don't have what it takes to lead a team (at this point).
So, here are some questions:
1) How does the rest of the team feel? Do they agree with you? If so, what
elements of leadership do you possess that the current team leaders do not?
If not, how will you convince the team that your vision is superior to
2) Would you have the resources you need if you take the helm? Can the
budget and the schedule accomodate a sea-change, or will you simply be the
guy wearing the crown when the revolution (inevitably) comes?
3) How would you handle failure? Meditate on this. Visualize the team
coming together under your leadership. Visualize everything coming together
precisely to your specifications. Visualize the product still sucking, the
press still bashing it and the customers still not buying it in droves. Are
you truly prepared to have no one to blame but yourself?
That's the best I can do. Ask me again in five years.
s h a n k e l "at" p o b o x . c o m
Play rich, creamery OpenTrek at www.pobox.com/~shankel/opentrek.html
Nolite quaerere, nolite loquere
: And a further comment to my last retort, which may come across as
: acerbic: in the original posting, you made no mention of having
: broached these feelings you have with coworkers, be they other
: programmers, designers, or producers. I feel that you're escalating
: this issue in a completely backwards manner.
You may be right. However, it was a question on how to proceed. I think
at this point in my career, not approaching anyone would be best, but
I can't help but think that my career won't move forward if I don't.
So, no I haven't approached anyone because I wanted to know if I should,
or if I should just drop it.
: My main question therefore is: Why would a group of complete
: strangers on the internet have a better idea of what's wrong and how
: to fix it, than those actually involved in the situation? The internet
I trust the people in this group in so far as I trust them to tell me
when I am being an idiot. This is one of those times.
Drop me an email if you want an opinion. While I can be blunt in
expressing it, I do have some years of practical experience.
To address your current dilemma, my advice is as follows: if you're
unsure how to talk to others on your team, then you need to take a
step back and learn your coworkers. This is a useful skill to have,
whether you're on a 2-person team or a 50-person team, whether you're
in charge or the bottom of the totem pole.
For all of your coworkers, get to the point where you know their
personality and style. Learn who can take blunt criticism, who's
thin-skinned, who likes to take other's ideas, who only cares about
his own ideas. In short, what motivates them, what makes them tick,
and how you can avoid stepping on their toes. All people are
different, and the sooner you can learn to use that information to
work more optimally with them, the better.
Don't be so hard on yourself. This isn't an industry of autocratic follower
types. Good managers are fairly mellow in the face of the mistakes of
newbie hires. Bad managers get all ballistic. But the same can be said for
employees: it's not your job to get all ballistic and in-your-face with
people who's opinions you're trying to sway. Save that for an extreme
>With that in mind, I have the following, which passes for "advice":
Wow. As much as I agree with what Nathan said, Jason really nailed it.
So to add my couple of cents' worth:
1. Professionalism is an important trait (as discussed in Lesson 9 on my
site). Sean, you've fingered the two sides of professionalism (and as with
much in life, we have two sides to a coin and it isn't possible for them
both to face up). As much as you have a responsibility to get along with the
team by cooperating with them in what they're doing, and as much as you have
a responsibility to help guide the game to be the best it can be, your
experience level is at an early stage. At this stage in your career, it's
probably best to cooperate, to simply work your best at getting the project
done. But not at the expense of your health. If the situation becomes
untenable for you personally, you might want to bow out, but I'd be careful
of doing that without having a fallback position.
2. If the game turns into a stinker, that doesn't reflect badly on you,
since you are not a project lead. Yes, you can plant seeds here and there,
see if any of them take root, but largely the project is going to go the way
it's going to go no matter what you say or do. "God grant me the serenity"
and all that (see Lesson 3 on my site).
3. In future, if you want to broach topics like this in public, why not set
up your newsreader to display a made-up name and email address. It still
might be possible for someone to figure out that it's really you, but at
least you've made them work to figure it out.
> Don't be so hard on yourself. This isn't an industry of autocratic
> types. Good managers are fairly mellow in the face of the mistakes of
> newbie hires. Bad managers get all ballistic. But the same can be said
> employees: it's not your job to get all ballistic and in-your-face with
> people who's opinions you're trying to sway. Save that for an extreme
Exactly. As Dr. Laura says, "choose wisely which hill you want to die on."
And then there are those of us who simply listened to other people's horror
stories and paid heed. ;-)
> 4) Consider yourself. By your own admission, you have a tendency to be
> somewhat arrogant and stand-offish.
Most male 20-somethings are.
> Arrogance and stand-offishness come from insecurity, which
> suggests a delicate ego.
I'd point the finger at testosterone first. You can take the view that
these problems are personal problems, or that they are social problems born
of our strategic biology. Of course only you can evaluate the individual
case, but I wouldn't be so quick to assume that something's wrong with you
just because you feel such-and-such. Rather, there's quite a bit wrong with
people and organizations in general. Most corporations have the gestalt of
a 6 year old. Of course, as we engineers say Life Is Hard. Deal with it.
It's called "work" for a reason.
> Frankly, if you
> don't have the tact to criticize without offending, you almost certainly
> don't have what it takes to lead a team (at this point).
I dunno, I think a few bullets in the head can work wonders for morale. :-)
Remember (at this point). Life is change, and everyone is entitled to their
own learning. There isn't some ladder of inevitable decisions and
thresholds you're going to climb up. You'll have to handle your current
problem in standard ways, but strategically, it imports nothing for your
future. Your future is going to be what you make of it, not a pile of other
people's rules and obligations. You will inevitably deal with what other
people want, but as time goes on, you will deal with it more and more on
your own terms.
: This is a tough one. I have, in the distant past, worked on titles that
: were either doomed to fail or destined to suck. Now I find myself working
: for a company I like on a project that really excites me. As much pain as
: those early titles brought me (especially the ones that shipped and got
: panned), they also brought me enough recognition to get to this point.
So, are you suggesting I just drop it and learn from the experience? I
think ultimately, that's what I will probably do. I'll get my day in the
sun someday, but not today.
: 4) Consider yourself. By your own admission, you have a tendency to be
: somewhat arrogant and stand-offish. I'm not saying that I agree; I have no
: solid opinion on the subject. I'm just going with this as a
: self-assessment. Arrogance and stand-offishness come from insecurity, which
: suggests a delicate ego.
You misread. I said that I COME ACROSS as arrogant and stand-offish. I don't
think I am, but confidence mixed with a little against the grain thinking
can give that impression. I just realized that particular state is a bit
Still, I wasn't insecure two months ago, but I certainly am now.
: 1) How does the rest of the team feel? Do they agree with you? If so, what
: elements of leadership do you possess that the current team leaders do not?
: If not, how will you convince the team that your vision is superior to
I don't think they would agree. In fact, I know they wouldn't. At least
not yet. And the only leadership I could offer would be vision and
structure...just like everyone else :)
: 2) Would you have the resources you need if you take the helm? Can the
: budget and the schedule accomodate a sea-change, or will you simply be the
: guy wearing the crown when the revolution (inevitably) comes?
I can't answer this. The product is pretty early in development, but there
are milestones almost every week. Changes would require some change to
: 3) How would you handle failure? Meditate on this. Visualize the team
: coming together under your leadership. Visualize everything coming together
: precisely to your specifications. Visualize the product still sucking, the
: press still bashing it and the customers still not buying it in droves. Are
: you truly prepared to have no one to blame but yourself?
Of all the issues surrounding this decision, this is the one I think I can
handle. When it is just me, I know I can handle it. Sure, it would suck
really bad, but ultimately I know I would come out with some useful design
experience. Then, it is sucking because of me rather than sucking because
of my inaction.
: That's the best I can do. Ask me again in five years.
Hopefully, in five years, I won't have to ask :)
: Drop me an email if you want an opinion. While I can be blunt in
: expressing it, I do have some years of practical experience.
For all the crap I give you and Pandemic, I know that you are just trying to
help...in your own way.
: To address your current dilemma, my advice is as follows: if you're
: unsure how to talk to others on your team, then you need to take a
: step back and learn your coworkers. This is a useful skill to have,
: whether you're on a 2-person team or a 50-person team, whether you're
: in charge or the bottom of the totem pole.
Actually, I have a pretty good idea as to the characters of my
team mates. Being an excessive introvert, I don't start coming out
of my shell until then.
: For all of your coworkers, get to the point where you know their
: personality and style. Learn who can take blunt criticism, who's
: thin-skinned, who likes to take other's ideas, who only cares about
: his own ideas. In short, what motivates them, what makes them tick,
: and how you can avoid stepping on their toes. All people are
: different, and the sooner you can learn to use that information to
: work more optimally with them, the better.
See, that's the problem. While I think that my producer and designer
are great guys, I don't think the suggestions I have would go over
well. For instance, I doubt I could get them to adopt UML (not that
I would suggest that, but it is pretty much the same deal).
That being said, it would be an uphill battle to be heard, so I'm leaning
towards the sit down and shut up approach.
I've long ago given up suggesting courses of action on the usenet. I'm only
sharing my perspective and experience. There's no way any of us here can
know enough about what's really going on to give you a good course of
action. We only have your side of the story and none of us has seen the
That being said, based on your response to my post, I would suggest that you
consider the following:
1) At this point, the rest of the team does not agree with your assessment
of the product.
2) The product is in early development, which means that its suckiness is
3) You are insecure and "come across" as arrogant. Leaving aside for the
moment the question of how you differentiate between coming across as
arrogant and actually being arrogant, the fact remains that this will tend
to work against you as a team leader.
4) You are in the early stages of your career. Presumably, many of the
other members of the team have more experience?
So, this means you are going to ask a team of experienced developers to
substitute their own judgement on the viability of a product in early
development for that of a less experienced programmer who comes off as
arrogant. Which judgement, by the way, would have them restructure,
reschedule and rebudget a (presumably) major project.
I'd say, from the looks of it, you've got a bit of an uphill struggle there.
There's an apt line from Nick Hornby's "High Fidelity". Rob repeatedly
tries to feel up his high school girlfriend under her blouse. She
repeatedly rejects him. So he reaches between her legs. He says its like
asking to borrow five quid, being turned down and asking for fifty.
How has the team responded to your criticisms/suggestions so far? If they
haven't been very receptive to minor suggestions and they generally disagree
with your judgement, they're not likely to follow you in a palace coup.
: Remember (at this point). Life is change, and everyone is entitled to their
: own learning. There isn't some ladder of inevitable decisions and
: thresholds you're going to climb up. You'll have to handle your current
: problem in standard ways, but strategically, it imports nothing for your
: future. Your future is going to be what you make of it, not a pile of other
: people's rules and obligations. You will inevitably deal with what other
: people want, but as time goes on, you will deal with it more and more on
: your own terms.
Ultimately, I'm looking for guidance. The final decision on what to do is
mine, and mine alone. By looking at what other people think, it will help
me try to understand and predict what...other people think.
Today, after posting this question, we had a programmer meeting. The
lead programmer asked me what I was doing (I'm doing the UI) this
"The virtual keyboard, but..."
"That's not on the schedule..."
"Yeah, I know, but I finished last weeks stuff early, and thought I'd move
"I think we can streamline the interface so that we don't need a virtual
"You need the virtual keyboard! How are you going to name your save files?!"
At this point, the other programmers started making jokes about naming
the files using just the buttons on the controller, like BADASS and stuff
like that. Eventually, the lead programmer just said:
"You leave the design up to me, <the designer>, and <producer>."
And with that, the subject was closed. I never got to explain my position,
and in the room of my co-workers, I was reprimanded and demeaned. Aftwards,
the producer pulled me aside and said that they appreciated my suggestions,
but I shouldn't get upset if they don't take them. Actually, that's when I
got upset. The little meeting when on, and at least twice, they mentioned
"experience" - as in they had it and I didn't. I know the producer meant
well, but it just served to make things worse.
In all fairness, that isn't exactly how it played out, though those
events did happen, and those words were said, there were just a few more
sentences between them and the little meeting was a little lengthier.
I don't want to sound like I'm disgruntled or anything, because I'm not...
well, I wasn't until that experience (my worst fears realized). I just
want what is best for the game I'm working on.
Now I'm torn. My position in the social order was made abundantly clear, and
one part of me wants to fight back...but the other wants me to just give
in. The problem is that it is now personal, and I don't want the game to
be a casualty of a power struggle that part of me demands I bring on.
You have to pick your battles. You also have to decide when is the best
time to be heard. Just because you want to broach subjects right now,
doesn't mean it's the best time. You should concentrate on a battle that's
really important to your strategic interests. Don't fight about everything,
you'll lose and people won't like you. It's like in a wargame, you can't
This comes down to the core decision of picking your battles
wisely. While UML may be neat, I think more time/energy would be
expended trying to get it used than time saved using it.
Over time, you'll get a better sense of what can and can't be done,
and whether a suggestion can be completed in a reasonable (to the
schedule) timeframe. There've been times I've wanted to rip out an
annoying, buggy subsystem, but haven't been able to. Other times, I've
had the schedule wiggle room to put my foot down and say "this code is
broken at places X, Y and Z, and I can fix it by Friday." I've earned
the ability to do that by delivering things on schedule.
I have some coworkers I wouldn't trust at all to rip things out, as
they'd get endless distracted in fixing things and never finish the
job. On the flip side, there are other coworkers with a much better
sense of knowing what's holding up the critical path and knowing how
to fix it. Until you've proven which category you're in, you will be
on a slightly shorter leash.
Consider this a gameplay issue, like a RPG. You have 17 gold. Do
you spend it on some trinket, or do you save up for the new shield?
Is it important to streamline the interface so that you don't need a virtual
keyboard? Is a virtual keyboard particularly difficult to implement? Are
you arguing over a few days' worth of work or a few weeks' worth of work?
If it's a few days, save your battles for bigger fish.
> "You need the virtual keyboard! How are you going to name your save
Most of the time, an automatically generated "Gamename Timestamp" will do.
But once in awhile, you want to differentiate something in an otherwise
linear stream of save game events. Usually people solve that problem by
naming the file something else, something custom. I can't think of a system
that would be terribly better than this, although maybe someone can. But
here's the political problem: you'd be wasting your design time on a
molehill, and making it into a political mountain with the guys in charge.
Why spend the energy on that? Spend it on something much more important and
fundamental to the game. Virtual keyboards sounds really small potatoes.
> Now I'm torn. My position in the social order was made abundantly clear,
> one part of me wants to fight back...but the other wants me to just give
> in. The problem is that it is now personal, and I don't want the game to
> be a casualty of a power struggle that part of me demands I bring on.
Aren't you congratulating yourself prematurely? Why would there be a power
struggle, as opposed to them simply firing you for being hard to work with?
Are other people similarly disgruntled as to how things are going?
I remember my 1st day meeting the technical director, he insulted all the
work I'd been doing on fast matrix transforms as being a bunch of "CS
Theory." So, I retalliated by going over his own square rooting code line
by line and finding "mistakes." I'm now unclear whether he actually made
any mistakes, but I certainly advanced the argument that he had, and forced
him to defend himself. The message I sent was clear: if you're going to
bully and insult me about who knows their Alpha ASM code, you'd better be
prepared for full combat, because I actually know my stuff and will call you
on everything. This tactic did result in a conversation between myself, the
tech director, and my boss. We all mellowed out after that. I don't regret
having forced the tech director's hand, he was being an arrogant cuss.
On the other hand, nothing I did was a big project shakeup. It was a minor
point of ego jostling.
It should be noted that my boss was probably 10 years older and more
seasoned than your managers probably are. I think older managers are better
for handling young bucks because they don't rile easily.
I think the best thing you could do would be to quickly implement the
virtual keyboard, then move on to something of greater strategic importance
that you can excel at. It would be more insulting to obey, do well, and
break free of admonishments than to be perceived to be working poorly and
throwing temper tantrums.
I think it is important that you decide what you're strategically trying to
get out of this project. "Experience" is too general an answer. It may be
needed in the long run, but it tends to conflict with "sanity" and
"happiness" in the short run. Also, you're going to get experience no
matter what you do anyways. At first, I remember I was into CPU instruction
scheduling theory. Eventually I figured out everything there was to figure
out about that, and my job started to get boring. You need those
self-challenges to justify your time, especially when the project as a whole
is not going your way and/or the politics are blowing in a bad direction at
Yeah, but the circumstance where the issue comes up is REALLY bad.
> : Doing so is extremely disloyal,
> I don't know about that. I mean, deep down, it was a question of loyalty.
> Is loyalty keeping your mouth shut, or is it telling your supervisor that
> he is wrong?
Loyalty may be not to air your dirty laundry ... especially now there's a
searchable interface to the laundry database.
What if your employer come across this? Worse yet, what if your publisher
comes across this?
> : here. I had hopes that working for a real company would help mature
> : you, but that's not happened yet.
> Maybe not. I'm still trying to figure out this whole loyalty and maturity
> thing, I guess.
Well, we're all are working these things out ourselves, I guess.
>: Doing so is extremely disloyal,
>I don't know about that. I mean, deep down, it was a question of loyalty.
>Is loyalty keeping your mouth shut, or is it telling your supervisor that
>he is wrong?
Airing dirty laundry is what I was calling disloyal. It is a small
industry. You've already provided a few clues as to where you are, and
what you're working on. Someone will put two and two together sooner
or later. Those reading and commenting so far seem to be looking to
give you advice. There may be other readers (who may or may not post)
with other intentions-- do you want a coworker or your boss (the ones
who shot you down in a meeting today) to read this? Do you want the
gaming press to pick up on this?
It is not necessarily disloyal to be torn as to what to do next.
It approaches it when you leave a lot of clues as the identies of
everyone involved. That's why I suggested starting small and going
public *only* if all other recourses fail. You'll also note that
most people have not quoted your original message, so it could be
canceled (hint, hint).
Oh dear, there you go again. Look, this kind of information is just not
meant for public consumption while you're there. You're better off fostering
relationships with people who are immediately around you. As for the
put-downs, who hasn't been there? The sun still rises tomorrow. I'm remided
of a quote which seems appropriate: "Things are rarely as bad as they seem,
or as good as they seem."
> "You need the virtual keyboard! How are you going to name your save files?!"
The UI's for their use, is your alternative really going to save so much
time it's worth the waste of everyone's time arguing over it?
Not worth fighting over IMO. YMMV ;-)
'In Ankh-Morpork even the shit have a street to itself...
Truly this is a land of opportunity.' - Detritus, Men at Arms
> See, that's the problem. While I think that my producer and designer
> are great guys, I don't think the suggestions I have would go over
> well. For instance, I doubt I could get them to adopt UML (not that
> I would suggest that, but it is pretty much the same deal).
Well, if you asked me to adopt UML then depending on how much I could be
bothered to say you'd get anything from "sod off" to a lengthy rant on the
value of formal mechanisms without the support of appropriate tools and
training while pointing to a sum on a piece of paper. This is, of course,
partly because you're not my manager :-)
Is something similar likely to happen?
Must be interesting working for a small developer. Back at DEC, there were
further issues to consider:
(1) you're ruining the work of DEC's paid PR people. It's very difficult to
get the message right as it is, don't screw up their work.
(2) don't say things that leave DEC open to lawsuits
I never crossed any of those lines, I believed in the virtues of working for
the betterment of the corporation. Also my experience working for said
corporation was not particularly dysfunctional. On the other hand, it
certainly didn't stop me from arguing about OpenGL vs. Direct3D issues to no
end. Some people, particularly lawyers, are afraid of any kind of
discussion of anything because it reduces their control. Thankfully, my
group was far, far removed from the purview of such people.
Once upon a time I think I gave an internal pathname for some file system in
our build tree or something. Or maybe it was an OpenGL SI build path or
something. That actually caused some DEC hornets to buzz. They didn't want
any information released about their code whatsoever, even information I
thought was completely harmless and unusable to anyone. I suppose a
malicious hacker *could*, in theory, have made use of that pathname somehow.
But I can't imagine how, there were a lot of other things they would need,
not the least of which would be motivation. Anyways, that's the closest I
ever came to upsetting anyone by discussing company stuff. Kinda bizzare
really. I thought it demonstrated that they lived in a world of percieved
and extraordinary threats, with no actual Usenet experience.
> > Maybe not. I'm still trying to figure out this whole loyalty and
> > thing, I guess.
> Well, we're all are working these things out ourselves, I guess.
Loyalty: working downstream of other people *sucks*. Your career goal is to
get to the top of the pile and force other people to work downstream of you.
You can do that by becoming a project lead in a major company (i.e.
Microsoft), starting your own company, or becoming a consultant.
Maturity: eventually you figure out what matters and what doesn't matter.
Don't get caught up in emotional Religious Issues.
Yeah, it's got its goods & bads.
> (1) you're ruining the work of DEC's paid PR people. It's very difficult
> get the message right as it is, don't screw up their work.
> (2) don't say things that leave DEC open to lawsuits
Microsoft people, I notice, has a little disclaimers at the end of their
messages, that I find amusing, because, you can read it to say "I don't mean
anything I say".
> Loyalty: working downstream of other people *sucks*. Your career goal is
> get to the top of the pile and force other people to work downstream of
> You can do that by becoming a project lead in a major company (i.e.
> Microsoft), starting your own company, or becoming a consultant.
Working downstream of other people doesn't suck. It's a chance to learn how
things are at that end of the totem pole. Most people are good at their
jobs, even managers. Most of us are just trying to do something bigger than
what we can do alone. And if your goal is at the management level, then
words like "sucks", and "force" are going to stand in your way of that goal,
> Maturity: eventually you figure out what matters and what doesn't matter.
> Don't get caught up in emotional Religious Issues.
Yeah, time makes us all Confucius.
Indeed, maybe the lesson you should take away is somewhat like aikido.
Don't offer people things for which they will easily throw you upon the mat.
Be more patient and conservative with what you give out to people. Your
fellow coders can't really rip you a new asshole for religious reasons if
you're cautious, well prepared, and strategic in your openings. I think you
thought about how something would be a good idea, and in an autocratic
universe of one (i.e. your own project) it *would* be a good idea, but you
didn't know to consider the political dimension of what you offered. Learn
the lesson and move on.
Get revenge by subtly convincing others that your ideas are *their* ideas.
Yeah, everyone's got a technological religion. Nobody cares about a junior
employee's technological religion, the people on the top of the pile are
there to make you use *their* religion. If you're going to try to convert
people, it's going to have to be about things that really value-add to the
bottom line. Nobody cares if it's UML or something else. Nobody cared
about using source control in the ways I figured it could be used either.
What's *really* going to matter to the project? Why is it *really* in
trouble? UML isn't the make it or break it issue for the project. You need
to analyze what's really broken about what's going on, how people fit within
it, and what can be improved while upsetting the least number of people.
> Is something similar likely to happen?
That's rhetorical. It's going to happen.
(At DEC) I never did that, as I think it's a chickenshit abdication of
responsibility for what you say. A culture of corporate fear causes people
to do that.
> Working downstream of other people doesn't suck. It's a chance to learn
> things are at that end of the totem pole.
Been there, done that, got the t-shirt. Your career isn't about
continuously subjecting yourself to the low end of the totem pole. One
example early on, well-remembered, will suffice. Management crash course
101: remember everything you liked as an employee. Do that as a boss.
Remember everything you hated as an employee. Don't do that.
> And if your goal is at the management level, then
> words like "sucks", and "force" are going to stand in your way of that
> I think.
Bill Gates has proven you wrong. All he does is say what sucks. One of the
problems our our modern, liberalist, PC world views is it makes us
uncomfortable with discussing the realistic terms of raw, naked power.
There is definitely the corporate skill of breaking up a bureaucratic
logjam. Grabbing the bullhorn, telling people to fuck off and this is how
it's gonna be. Making heads roll. This is part of the toolkit of people
who are very successful in corporations. Networking and cross-company
alliance building are other parts of the toolkit. But one shouldn't
underestimate or de-emphasize the fact that in a ponderous corporation, one
gets ahead by being a warlord.
> > Maturity: eventually you figure out what matters and what doesn't
> > Don't get caught up in emotional Religious Issues.
> Yeah, time makes us all Confucius.
Or consultants? It sidesteps many problems.
Don't worry, when your boss reads this, you'll be out of work :)
Welcome to the world of corporate game development. Sucks doesn't it ?