How to Work with Programmers

A place to discuss things that aren't specific to any one creator or game.
Forum rules
Ren'Py specific questions should be posted in the Ren'Py Questions and Annoucements forum, not here.
Message
Author
Sailerius
Regular
Posts: 72
Joined: Wed Jul 15, 2009 4:28 pm
Completed: Vacant Sky, The Vestibule, Ars Harmonia
Organization: Project BC
Contact:

How to Work with Programmers

#1 Post by Sailerius »

I'm not sure what the exact breakdown of trades is here on Lemmasoft, but I'm willing to bet that most people here aren't programmers. Working in the industry and having a fair bit of experience as a game/VN programmer, I thought I'd write up an article on tips for artists/writers/other non-technical teammates on how to best work with programmers on game projects.

The original article is located here. I would paste the contents here, but it's pretty hard to follow without the original formatting.

I hope it's helpful! I'm also happy to answer any questions you might have.

User avatar
Rozume
Veteran
Posts: 351
Joined: Wed Oct 31, 2012 11:10 pm
Completed: Munster Academy, boy
Projects: Coming of Age VN
Organization: Cosmic Visual
IRC Nick: Rozume
Contact:

Re: How to Work with Programmers

#2 Post by Rozume »

This is really an informative article! Thanks for sharing! If I end up not doing the programming myself, I'll most likely work with a programmer. So yeah, that is helpful. ^^

User avatar
noeinan
Eileen-Class Veteran
Posts: 1153
Joined: Sun Apr 04, 2010 10:10 pm
Projects: Ren'Py QuickStart, Crimson Rue
Organization: Statistically Unlikely Games
Deviantart: noeinan
Github: noeinan
Location: Washington State, USA
Contact:

Re: How to Work with Programmers

#3 Post by noeinan »

That is a great article, thanks for sharing! I can sympathize with a lot of what was written, although I'm primarily an artist, because I took a few years of programming while I was in college. Although I have forgotten a lot of the fine details and complexities of coding, I still remember a lot of the social consequences of working with code. (For example, all of my friends making degrading comments about programmers and then turning to me and saying "oh, not you, though.")

I especially liked the part about having engineers working together-- I definitely agree on that part. :)
Image

Image
Image

User avatar
Fungii
Veteran
Posts: 370
Joined: Sat Jun 23, 2012 10:47 am
Completed: Home's Embrace
Projects: Royality TV
Tumblr: fungiidraws
itch: fungii
Location: England
Contact:

Re: How to Work with Programmers

#4 Post by Fungii »

I was actually wondering today how the whole programmer/everything else exchange works.

User avatar
2dt
Regular
Posts: 110
Joined: Wed Jan 08, 2014 12:43 am
Contact:

Re: How to Work with Programmers

#5 Post by 2dt »

Speaking as a programmer myself, I don't really agree with the 1st one on being called an "engineer". Perhaps that's something you've encountered, but I personally have never felt a need to be called a specific kind of title, especially not an engineer. Programming is an art form that can be considered (and often entails the duties of) engineering, but to be called an engineer is a bit... grandiose. It implies a heavy amount of professionalism and academic and intellectual qualification, but most programmers, at least the ones you'd work with on smaller indie game projects, are self-taught, non-academic, in the same way that most business owners didn't go to business school, or that most artists didn't go to art school. It's fluffing and sugarcoating, which is something that people with a programmer's mentality tend to dislike.

I do however, strongly agree with points 2 and 3. Programming, contrary to popular thought, is an EXTREMELY creative process. Just as creative as music and art. The difference is programming has to adhere to a certain set of rules in order for it be valid, whereas music and drawing is usually much more subjective. Most of programming is literally inventing formulas on the fly to solve any given problem. As such, when a programmer comes up with an ingenious solution to a given problem, he's ecstatic, and internally proud of himself.

That sad part is he usually has no one to share that feeling with, just because no one really understands. Imagine a kid who's the only student in his class to score an A+ on a given assignment, to come home and proudly tell the family about it, only to find no one in the household cares. It's a pretty lonely feeling.

So if a non-programmer really makes a concerted effort to try and understand what's happening on the logic-heavy side of things, it goes a long way to building good rapport with the programmer, as well as motivating and encouraging him. A programmer, like any other artist, works at his best when he's confident and motivated.

EDIT: fixed grammar and added last sentence.

Asceai
Eileen-Class Veteran
Posts: 1258
Joined: Fri Sep 21, 2007 7:13 am
Projects: a battle engine
Contact:

Re: How to Work with Programmers

#6 Post by Asceai »

My perspective:

I agree with 2dt on the first point. 'Programmer' is fine and I think implicitly identifies me as a software architect, software engineer, database architect and whatever other hats need to be worn for the project. 'Lead Programmer' is even better, of course.

In terms of the last point, it's probably good but really dependent on the project. Having two programmers is like having two chefs- necessary if the project is of a scope that calls for it, but inconvenient if it isn't and here in Ren'Py land I'd personally rather be the only one writing code for a given project.

Sailerius
Regular
Posts: 72
Joined: Wed Jul 15, 2009 4:28 pm
Completed: Vacant Sky, The Vestibule, Ars Harmonia
Organization: Project BC
Contact:

Re: How to Work with Programmers

#7 Post by Sailerius »

Speaking as a programmer myself, I don't really agree with the 1st one on being called an "engineer". Perhaps that's something you've encountered, but I personally have never felt a need to be called a specific kind of title, especially not an engineer. Programming is an art form that can be considered (and often entails the duties of) engineering, but to be called an engineer is a bit... grandiose. It implies a heavy amount of professionalism and academic and intellectual qualification, but most programmers, at least the ones you'd work with on smaller indie game projects, are self-taught, non-academic, in the same way that most business owners didn't go to business school, or that most artists didn't go to art school. It's fluffing and sugarcoating, which is something that people with a programmer's mentality tend to dislike.
Certainly, your mileage may vary and everyone has different preferences, but in my experience in the industry, "engineer" is the preferred term and has been quickly replacing "programmer" in recent years. "Programmer" carries a connotation of being condescending or disrespectful and is only really used by people who don't know anything about what they're talking about. That's less true outside of the professional world but even in the hobbyist space, the term "programmer" is falling out of fashion. I more often see people use the more laconic "coder" or just "tech person" when they're being deliberately informal.

I'm not saying everyone prefers the distinction or even that everyone cares, but that in my personal experience, it has been a common courtesy, and I feel it's always better to err on the side of being too respectful than not respectful enough.

User avatar
Sharm
Miko-Class Veteran
Posts: 558
Joined: Mon May 07, 2012 4:39 pm
Projects: Twin Crowns, Weather Wizard
Contact:

Re: How to Work with Programmers

#8 Post by Sharm »

I'm around professional programmers all the time and I haven't heard that either. Maybe it has to do with where you live?
Works in Progress: Twin Crowns | Weather Wizard

Sailerius
Regular
Posts: 72
Joined: Wed Jul 15, 2009 4:28 pm
Completed: Vacant Sky, The Vestibule, Ars Harmonia
Organization: Project BC
Contact:

Re: How to Work with Programmers

#9 Post by Sailerius »

It could be? I work in Boston, which is a major tech hub, and I almost never hear it any other way.

User avatar
KiloTango
Regular
Posts: 138
Joined: Thu Mar 06, 2014 9:12 am
Projects: The Lighthouse (NaNoReNo14)
Organization: Starship ★ Palindrome
Location: UK
Contact:

Re: How to Work with Programmers

#10 Post by KiloTango »

I work on web stuff, and we call our people who do code on that side 'devs' or 'developers', and most of the people I know who work in video games call them programmers rather than software engineers. (I'm british, my team are from all over.)

I think there's an interesting mix of roles when you're doing Ren'py stuff because your programmer also becomes effectively a director/producer, unless you have someone else who inputs the dialogue, sprite changes, transitions, audio mixing/timing & pauses etc. Unless you have someone else doing that, while there's the "You know nothing, stop asking for silly things" side of things, it's equally important for the coder to ditch ego like the rest of the team and work super closely with the others and listen to what is needed for the tone of each scene as they are handling a huge component of the final feel of the project.

(This is kinda conjecture on my part as I write and code but if those roles are split into two people it's pretty key they work really closely, or that the writer learns enough code to handle the 'directorial' elements of the ren'py code. Then your codeBod can focus on the real fiddly new features. Unless of course they want to do the directorial stuff but that's a pretty different skill set to straight coding as it's about storytelling and fine-grain UX design rather than pure functionality :))
ImageImageImage

Asceai
Eileen-Class Veteran
Posts: 1258
Joined: Fri Sep 21, 2007 7:13 am
Projects: a battle engine
Contact:

Re: How to Work with Programmers

#11 Post by Asceai »

To me it feels like the writer probably should be doing the directing stuff, because presumably the writer has the clearest image of how the VN should be and would have something in mind. If the writer isn't doing the coding, they're probably putting in repetitive comments like "#Background school, show Eileen on the left and Lucy on the right" when it would surely be easier to just code that in.

Of course, it could be a mix, with the writer putting in the basic stuff and leaving comments for the programmer to do the fancier stuff.

User avatar
DaFool
Lemma-Class Veteran
Posts: 4171
Joined: Tue Aug 01, 2006 12:39 pm
Contact:

Re: How to Work with Programmers

#12 Post by DaFool »

Asceai wrote:To me it feels like the writer probably should be doing the directing stuff, because presumably the writer has the clearest image of how the VN should be and would have something in mind. If the writer isn't doing the coding, they're probably putting in repetitive comments like "#Background school, show Eileen on the left and Lucy on the right" when it would surely be easier to just code that in.

Of course, it could be a mix, with the writer putting in the basic stuff and leaving comments for the programmer to do the fancier stuff.
Usually its writer-director with basic show/hide statements. Then for fancy effects / GUI the programmer-artist or just separate coder and artist.

User avatar
Angie
Regular
Posts: 159
Joined: Sun Apr 27, 2014 8:00 am
Location: Norway
Contact:

Re: How to Work with Programmers

#13 Post by Angie »

I'm not the long-term 'programmer' with a lot of experience, however, I enjoyed the article lots.

When it comes to the 1st point... I think that, if you work with some tech person, you should just ask how they want to be called. I personally agree with 2dt opinion... But, I guess, people who studied and work in this industry may not like the world 'programmer'. The problem is, that people who can't code, they don't know much about programming or coding or how people talk to each other and such and that's why they make mistakes.

I pretty much agree with points 2-5. Especially with 5th point... It's good to try to make people understand how much hard work and time a few minutes of simple gameplay can take.

I wouldn't agree with 6th point, but that's probably my personality. I'd get lost if I were working with another coder.
Writer | PL-ENG/ENG-PL translator| Renpy Coder

User avatar
Sorakun
Regular
Posts: 103
Joined: Sun Oct 20, 2013 10:02 pm
Completed: Techno Titans, Blood Metal Exorcism, Tom Cruiser, Mechadin, UPlay
IRC Nick: Sorakun
Skype: sora.ch4n
Contact:

Re: How to Work with Programmers

#14 Post by Sorakun »

Though you make quite a few valid points Sailerius, I would have to disagree with most of this.

As a game developer myself (programmer) there are a lot of things you brought up which are often the signs of a intermediate software engineer rather than an experience game developer.
Firstly, as it was the first thing you brought up in the post, I have never heard of a fellow programmer wanting to be called an engineer, the engineers are a whole different field and normally deal with tech support, hardware problems, tech services ect, while most programmers could probably do all of these things without any specific difficulty, its not what they are there to do. Most often in the game industry we are referred to as developers as that is what we do. We develop software for people to use for different purposes.

Secondly the fact of someone experienced giving completely wrong estimate times is actually a lot less common that you purpose, most of the time, in larger game development at least. In most of the industry the designers don't get to choose the time it will take, they are told to have something done by time X by their manager, which is often the time it would take to code it, without any debugging or any errors occurring, and as well all know, there is no such thing as bug free code.

To your fourth point I do agree full heatedly though, a lot of people new to the industry (under 5 years experience) will often just assume a small change somewhere is small everywhere, which is often not the case. Assumption is a very bad thing when working with designers as it will often cause a lot of miscommunication and in the end cause a lot of problems between the different parties involved.

And finally onto point Nr. 6, your point is valid but i think you go about the wrong way with it. 2 designers wont always be better than 1 or 2 separate. If you are getting a second designer, you need to make sure both designers are compatible, if they are not this can cause a lot of problems. Game designers work differently, if you put 2 together who don't have a compatible standard of coding, you will end up with them just having to spend half their time trying to understand each others code, this is a major time sink and probably end up in less compatibility all round.

Other than those points your post does show a lot of good insight.
Id love to hear your opinion to my response.

Asceai
Eileen-Class Veteran
Posts: 1258
Joined: Fri Sep 21, 2007 7:13 am
Projects: a battle engine
Contact:

Re: How to Work with Programmers

#15 Post by Asceai »

Sorakun wrote:the engineers are a whole different field and normally deal with tech support, hardware problems, tech services ect, while most programmers could probably do all of these things without any specific difficulty, its not what they are there to do.
Don't ever say this to any engineers. They will eat you alive. =P

Post Reply

Who is online

Users browsing this forum: Amazon [Bot]