I am stepping into this thread as a community member, and by the unwritten law of GDNet, I hereby forfeit my ability to exercise any moderator power in regards to this thread or any side discussions that may spin off of it. Should things get ugly, though, I will
enlist another impartial mod to come clean up as he/she sees fit, so don't take this as permission to get out of line.
I always find it interesting how arrogance tends to manifest in direct proportion to sheer naivete.
Rubicon, please let me be blunt with you for a moment.
You're probably a decent programmer. Maybe. I don't know, I've never worked with you, never seen your code, only read your advice handed out on GDNet - and that I've rarely found to be worth the cost of the paper it isn't printed on. Maybe you're being honest when you say you're so much better than all your colleagues, I don't know that either. But I don't think you should be parading that around as some kind of justification for your opinions.
Suppose Mozart's ghost were to show up here, and start talking about how he's so much better than all his contemporaries, and how in his opinion all this nonsense about playing successive notes in a consistent key is overrated hogwash. We'd probably all roll our eyes at Mozart and move on. Maybe a few of us would feel compelled to point out that he's a bit of a moron for making such statements in a world where musical theory is extremely well understood. Maybe a couple of us more observant folks would realize that he's basically arguing against something he was tremendously good at doing subconsciously, and therefore consider the whole thing an elaborate troll. Whatever.
In any case, if one of history's greatest and most recognized musical geniuses were to show up and start decrying basic music theory as academic bullshit, do you really think anyone but the most naive and ignorant fool would seriously listen to him?
What I'm driving at is this. You're talking as if you are a remarkable programmer. That may or may not be true. But you also talk as if you can thoroughly discount a lot of things that are proven good theory
- and not just by theorists, but by those with practice in the trenches who have seen real code and know the real differences between following these guidelines and breaking them.
I have two questions, both rhetorical, which I'd like you to ponder. First: do you really think you are so much smarter than everyone else, that their input is literally worthless? Secondly, do you really think you can be as productive as you claim without at least instinctively doing things right, regardless of how you think you got there?
It's ironic that you keep worshiping this notion of "just ship code" as if it were so holy and superior to all other perspectives. The funny thing is, I also place a huge emphasis on shipping code. But I think there are some subtle differences in our ideas of what it means to ship.
To you, apparently, it means "kick something - anything - out the door and if you can't understand or fix it by yourself later, then fuck you."
To me, shipping code means four things:
- Producing work which accomplishes the goals that were set forth for the project
- Accomplishing objectives in a reasonable - often pre-agreed - time frame
- Writing code that both I and anyone else can maintain and understand far into the future
- Taking responsibility for the problems that will inevitably arise and working proactively to prevent or at least minimize them prior to shipping - then supporting and reacting to situations as they arise post-ship
Frankly, I think my idea of shipping code is a lot more professional and respectable than yours. And everyone I've worked under in my career is bound to agree.
I also find it interesting that you mention that people come to you to get the job done.
This is true for me as well.
Except there's a key difference: I get it done according to my (very high) standards, and I do so by embracing
the advice of people with more intelligence and experience than myself. I get repeat business because I can prove in any
environment that I am good and that my skill merits the investment in my time.
You seem, by your words, to get by sheerly on contrast with the alleged incompetence around you.
I could drop into a studio full of far better programmers than myself and still hold my own and do solid work, and still earn a good reputation, still earn repeat business.
Also, you expressed some particularly interesting opinions about automated testing and its relationship to games. Have a look around the job postings for the industry for "SDET" positions. I'm sure you have no clue what that means, so look it up. Be educated.
Just because you're so damn sure of yourself doesn't make you right.