Jump to content

  • Log In with Google      Sign In   
  • Create Account


What makes a standout programmer?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
30 replies to this topic

#1 Rabite   Members   -  Reputation: 130

Like
0Likes
Like

Posted 27 January 2010 - 04:28 PM

Recently, the former head of a studio mentioned to me that each studio really only has 1 or 2 "rockstar" programmers; companies like EA bulk hire out of college, because they're essentially fishing for these stars. This surprised me, because from everything I've heard, the industry is difficult to get into. The ones that do enter, I presume, are extremely technically proficient. Looking over the portfolio analyses in this forum, I feel pretty safe in that assumption. I'm going to deprecate myself here, but as an IT programmer, I feel like most game programmers could code circles around most IT programmers, even if they weren't doing games. In an industry that already seems to take the best-of-the-best, what more is implied by "rockstar" programmer? What can we focus on to stand out from our peers? (And yes, I would have titled this "What makes a rockstar programmer?", but I think we all know a little about what it takes to be a Rockstar programmer these days...)

Sponsor:

#2 MrDaaark   Members   -  Reputation: 3535

Like
0Likes
Like

Posted 27 January 2010 - 04:40 PM

Off the top of my head, I can't really think of any standout game programmers. Games are made by big teams with tons of programmers, and group code review. You can't pinpoint anyone's contributions from the outside.

I can think of lots of standout designers though.

Shiguru Miyamoto, Hideo Kojima, etc...

#3 Tom Sloper   Moderators   -  Reputation: 7448

Like
0Likes
Like

Posted 27 January 2010 - 04:57 PM

Quote:
Original post by SpriteChild
"What makes a rockstar programmer?"

Outstanding problem-solving skills and a bulldog tenacity to solve them. Work ethic (doesn't slough off, works on what's expected, achieves objectives) and good helpful attitude. Clean well-written code and a low bug rate.

-- Tom Sloper
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com

Please do not PM me. My email address is easy to find, but note that I do not give private advice.

#4 Telastyn   Crossbones+   -  Reputation: 3692

Like
0Likes
Like

Posted 27 January 2010 - 05:01 PM

Quote:

I'm going to deprecate myself here, but as an IT programmer, I feel like most game programmers could code circles around most IT programmers, even if they weren't doing games.


I might not go that far. Even in the gaming industry, a lot of the 'hard stuff' is done by a few core developers. The main difference is that bizdev tends to get more of the 'professional' programmers. They only do it for a paycheck, and don't really think about programming or work to expand their knowledge. The difficulty in getting into the industry isn't so much the skill required as the volume of competition.

I've known a few rockstar programmers in my time, but they were all in bizdev. A guy who could debug linux gigabit ethernet drivers from a hexdump, by sight. A guy who wrote an entire kernel level solaris virtualization engine, in a week. A guy who, without a computer, would debug the policy processing engine (in COBOL) for a national insurance firm by telling the guy on the phone what line number the error was on.

These are of course the far end of the scale [edit: and that's of course in addition to doing well all of the simply 'difficult' stuff that other devs could do]. There's been studies that show that good programmers get orders of magnitude more things done than an average programmer. Great programmers, orders of magnitude more than those. Rockstar programmers are just the ones with enough experience and talent (knowledge is less important) to just be in the top tier of that productivity, even for decidedly hard problems.

#5 Rabite   Members   -  Reputation: 130

Like
0Likes
Like

Posted 27 January 2010 - 05:01 PM

The one I've typically heard with the term is John Carmack; I was reluctant to drop the name only because....he's Doom and everything -- you could think wonders of him for breaking open 3D gaming or any number of other things that would distort the term. I can totally see designers being more recognizable (because they are), but even so, I feel like most studios would have that programmer they trust with their life... Not so? Every senior programmer is basically equal?

#6 Telastyn   Crossbones+   -  Reputation: 3692

Like
0Likes
Like

Posted 27 January 2010 - 05:02 PM

Quote:
Original post by SpriteChild
Every senior programmer is basically equal?


Not in a million years.

#7 ernow   Members   -  Reputation: 728

Like
0Likes
Like

Posted 27 January 2010 - 05:04 PM

It is not just about game developers but very applicable: See one fifth down in the middle of the page "Rock star developer" (lots of very fine and well written articles!)

#8 Rabite   Members   -  Reputation: 130

Like
0Likes
Like

Posted 27 January 2010 - 05:06 PM

Thanks for that response Telastyn. I'm not sure if "giddy" is the word for those programming examples, but I have a big smile on my face now.

#9 Obscure   Moderators   -  Reputation: 174

Like
0Likes
Like

Posted 27 January 2010 - 08:14 PM

Quote:
Original post by SpriteChild
what more is implied by "rockstar" programmer? What can we focus on to stand out from our peers?

The creative spark to come up with something new. I worked with a really good programmer at Virgin Interactive. Great but not rockstar. Every time a new piece of tech came out (Doom engine, Fractal landscapes etc) he looked at it and said "I could do that". He was right he could work out how they had done it and make a version - but he couldn't invent it in the first place.

However, being a rockstar isn't the only way to stand out. Developers don't need an office full of rockstars - in fact it would be a disaster. Many of them are great at coming up with new tech, but not very good at the production work needed to push that tech from prototype through to finished game. One rockstar per team is about all you need, which means there are more jobs out there for people able to get projects finished.
Dan Marchant - Business Development Consultant
www.obscure.co.uk

#10 Hodgman   Moderators   -  Reputation: 24022

Like
0Likes
Like

Posted 27 January 2010 - 08:40 PM

To me, the guys that stand out are the ones who've been in the job for 20 years, and aren't 19 years out of date. Having worked in corporate and games programming, I've seen a lot of guys who've been in the job for a decade, and not cared about learning anything new over that whole time period (beyond what they had to in order to fulfil their day-to-day duties). Then there's the guys who've been in the job for a decade and can discuss the latest tech/fads/ideas with the youngin's and still be a mentor in those emerging fields (without just being arrogant / dismissive / etc).
Initiative to learn, I guess.
Quote:
Original post by Obscure
Many of them are great at coming up with new tech, but not very good at the production work needed to push that tech from prototype through to finished game. One rockstar per team is about all you need, which means there are more jobs out there for people able to get projects finished.
On that note, there was a saying going around the office recently - "Real artists ship". So basically, no matter how great your creation is, it doesn't count one bit unless you ship it! (which means there's no such thing as a "starving artist", if you don't ship, you're not an artist ;P)
So perhaps the "roadies" are just as important as the "rock stars" ;)

#11 Buster2000   Members   -  Reputation: 1141

Like
0Likes
Like

Posted 27 January 2010 - 09:39 PM

Whoever told you the industry was difficult to get into was exagerating. If you want to be a programmer then learn to program and then you can get a job as a games programmer. It's that simple.
As for what makes a rockstar programmer it depends on what is good for the company. For a lead programmer I think being able to know your limits is an important one.
I've lost count of the times I've worked on projects where we could of licenced an engine but, the lead programmer has insisted that we could write our own multiplatform engine in 6 months and save money. Once the engine has been written it usually does its job but turns out to have cost more to develop in the long run and lacks most of the features that the designers wanted in the game.

Also I think you'll find that there's more "Rockstar" programmers outside the games industry. The reason for this is cold hard cash. Games programming salaries suck. Banking and financial firms offer top doller for the best graduates and then pay for them to continualy improve their skills and knowledge throughout their career whilst the games industry will hire anybody who knows a little C++ and what a Cross Product is and then give them a low salary and expect them to just get on with it until they burn out and end up hating the industry they used to be so passionate about.

#12 MrDaaark   Members   -  Reputation: 3535

Like
0Likes
Like

Posted 27 January 2010 - 09:46 PM

Quote:
Real artists ship
I should frame that on my wall.
Quote:
Developers don't need an office full of rockstars - in fact it would be a disaster.
Basically, the programming equivalent of a supergroup band? :)

#13 ApochPiQ   Moderators   -  Reputation: 12366

Like
0Likes
Like

Posted 28 January 2010 - 02:59 AM

Just to chuck in my tuppence:

  • Perversely obsessive attention to detail. You want the kind of guy who walks into a crowded room and notices that the throw rug on the floor has an irregular pattern.

  • Ability to think across a spectrum of perspectives. Seeing things from someone else's point of view is critical to working on a team, especially if you need to interact with (or mentor) less skilled colleagues. Someone with significant interests and knowledge outside of gaming is, believe it or not, far more useful for development than someone who has a myopic world view - because they know how to change the way they think, and, more importantly, are willing to change the way they think.

  • As a corollary, ability to think across a range of scales. You need the guy that can look at assembly code and debug the associated C++, as well as looking at the overall game's code architecture - and see problems there too.

  • Patience to do the job right, and laziness to do the job more efficiently.

  • Creativity. Someone who can think up a new way to approach a problem will do a much better job at writing good, cutting-edge code than someone who can only emulate what they've seen in a textbook.

  • Humility. If you can't happily admit you're wrong (and learn from being wrong), you're doomed to become obsolete in a matter of a few years, because you'll never truly learn to keep up with the pace of the business.

  • Last but not least, communication and interaction skills. As my father was once fond of reminding me, it does you no good to be the smartest person in the world if you can't communicate your ideas and express your knowledge. You want the guy who can walk into a crowded room, notice that the throw rug has an irregular pattern, and then strike up an interesting conversation with someone five seconds later.



(Bonus points for working the rug pattern into that conversation, btw [grin])

#14 Obscure   Moderators   -  Reputation: 174

Like
0Likes
Like

Posted 28 January 2010 - 04:24 AM

Quote:
Original post by Daaark
Basically, the programming equivalent of a supergroup band? :)


Worse... a ballet company full of Prima Ballerinas!
Dan Marchant - Business Development Consultant
www.obscure.co.uk

#15 phresnel   Members   -  Reputation: 945

Like
0Likes
Like

Posted 28 January 2010 - 04:26 AM

Quote:
Original post by Obscure
Quote:
Original post by Daaark
Basically, the programming equivalent of a supergroup band? :)


Worse... a ballet company full of Prima Ballerinas!


Is this worse than a house full of so-called super models?

#16 Katie   Members   -  Reputation: 1235

Like
0Likes
Like

Posted 28 January 2010 - 05:55 AM

"real artists ship" is supposed to be a Steve Jobsism, used to get the Mac development team to stop trying to make it perfect and just get it to work well enough to be released.


It isn't hard to start looking like a rockstar. There's a LOT of very very very poor developers out there. It's amazing how many five and ten year experienced people can't do fizzbuzz properly. Who just can't design software in an organised way.

If you can write code from scratch and get it to run reliably, you're a long way off the background dullness of this industry.

Here's a story; I worked for a bank some years back. It's a bank that UK will have heard of. They used to hire "developers" off the street. Open interviews. No experience needed. Each hire was given a copy of "Learn C++ in 21 days". 21 working days later, they were assigned to development teams. If they were crap enough they were moved into being dev managers. You can picture that even five years spent in that environment isn't going to produce gems. That's the sort of level of people against who you have to look good to be in the top 10%.



#17 Kylotan   Moderators   -  Reputation: 3163

Like
0Likes
Like

Posted 29 January 2010 - 12:15 AM

When I did my music A-level back at school I was surprised and disappointed to find out that of the 16 or 17 people on the course, only 2 or 3 actually enjoyed composing music. The rest found it a chore.

I shouldn't have been surprised therefore when I got to university and found that about 80% of the people on the Software Engineering course didn't like programming. People would do as little of it as possible and refer to themselves as being "not so good at the programming" as if that was just a minor part of their course and that they were fine at the rest.

Some of those 80% can find their way into simpler stuff, eg. the less technical end of web development, but I think most just end up in IT support or completely unrelated careers. Game developers and other places requiring skilled programmers are fighting over that 20%, not all of whom are actually any good. Many of those people will focus heavily on the things that interest them to get an impressive portfolio together but will have no wider interest in algorithms or coding style, and these people will be the useful workhorses of most software companies, churning out working-but-flawed software. The guys who stand out are the ones who go beyond that, furthering their own skills and knowledge and taking pride in what they produce.

#18 szecs   Members   -  Reputation: 1987

Like
0Likes
Like

Posted 29 January 2010 - 03:08 AM

Wow.
The more I read those lines, the more my confidence is growing.
But I don't have a degree, and I don't want to do programming for a living.
I wish it was as easy to stand out as an engineer, as a programmer.

#19 Rabite   Members   -  Reputation: 130

Like
0Likes
Like

Posted 29 January 2010 - 03:15 AM

Just wanted to say thanks guys, this thread has generated some excellent responses.

#20 ricardo_ruiz_lopez   Members   -  Reputation: 214

Like
0Likes
Like

Posted 31 January 2010 - 01:13 PM

Quote:
Original post by SpriteChild
The one I've typically heard with the term is John Carmack; I was reluctant to drop the name only because....he's Doom and everything -- you could think wonders of him for breaking open 3D gaming or any number of other things that would distort the term. I can totally see designers being more recognizable (because they are), but even so, I feel like most studios would have that programmer they trust with their life... Not so? Every senior programmer is basically equal?


Very interesting thread.

BTW, has anyone downloaded and (tried to) read quake or doom code?

Am I the only one who believes Carmack is not a genius? He only reads papers and implement them in a not very clean way. As far as I know, he only invented a shadow algorithm (that was already implemented)

Must read: http://c2.com/cgi/wiki?CowboyCoder

In a large company (I mean, with a lot of people) somebody who is a very well programming but only he/she understand what he/she is doing is not very good for that company.

Is software developent a team or an individual activity? Usually first one.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS