Advertisement

What is a day like in the life of a programmer?

Started by March 14, 2014 02:15 PM
16 comments, last by catslap 10 years, 7 months ago

Programming, and game design both interest me greatly.

I am unsure if this career is for me.. or should it remain a hobby.

Some questions that come to mind...

On average.. how much line of code does a programmer write per day?

How structured is it... Is the programmer told what classes to code etc.. or is expected to figure out what needs to be done?

If anyone knows any good articles, books, or videos that show a day in the life of a programmer, I'd love to see it.

There's not such a thing like "## lines of code per day".

I work in a small company, so I need to be the analyst, the developer and the tester. In such a condition I write lot of code every day, solve problems, deal with database issues, talk with customers at phone etc.

Previusly I worked on a big company. Every 2 or 3 days we have a meeting in which a guy told us what to develop. I was responsible of a small piece of the whole code. There was another group of guys who make the tests on our work and compile a bug report. There was a combo with my name under the "Assigned to" label smile.png .

Two very different ways of work.

Advertisement

I'm a career software engineer. There's three types of things I do at work during a given stretch: I fix/modify/update old library code (stuff that I didn't write and is from the late 90s), I design/build/modify modern code (new products that we're actively developing), and I do non-software engineering tasks (corporate overhead like expense reporting, reporting on task progress, helping with documentation for our software, and dealing with "escalations", which are customer issues with the software that tech support cannot figure out). I can't really measure my work output in "lines of code per day" because sometimes it's "Hundreds of lines" and other times it's "zero lines, but I'm still doing software engineer work".

That said, I do not work in games, and there's a pretty succinct reason for this: my understanding is that you *really* have to want it, because it's very grueling. I'm going to be a bit reductionist here in the hopes that somebody who works in the industry today pipes up and corrects me...but here's why I'm not in the game making industry: you are at either one of two kinds of dev houses which each have a common theme I do not like.

Big AAA Publisher-owned House like any house funded by EA or Sega, you will find yourself silently expected to work 80+ hours a week, at times opting to sleep under your desk, seldom seeing your family. If you're not willing to do this, they find some contrived reason to fire you as you are very easily replaceable: there are lines of programmers out the door that really, really want to make games and are willing to sleep under that desk you're suffering on. (Also, the pay is crap...for a software engineer.)

Small Indie Houses like inXile or Fullbright treat their employees WAY better; they're not going to be mean to you or contrive reasons to fire you if you need to get home to your kids, but you feel more invested and still have to sleep under that desk, because if you don't make deadlines you and your coworkers go hungry. The deadlines are softer for independents, but still there because that money WILL run out eventually so you NEED to sell units. (Also, the pay is crap...for a software engineer.)

Given one option or the other, I'd definitely push to get into a small indie shop, but there's that theme: I'm working a LOT of hours that I'm not spending with friends and family. I'll never forget Jake Solmon's (Firaxis, lead designer on XCOM: Enemy Unknown) last interview where he said that he'd missed the first year of his baby's life. I do not want that to happen to me.

Also, the other theme I mentioned in parentheses up there: I work 40 hours a week, 50 hours when deadlines loom, which is less hours per week than a game dev. Also, I'm paid a much higher salary than your average game dev for my level. So...less hours a week plus more money for that time is a no-brainer for me. I'd love to build games, but I don't want it so bad that I'm willing to sacrifice time with my friends and family for it. I will build small little projects at home, most of which are never finished and nobody sees them, because I really enjoy thinking through problems and solving them.

If you want to do game dev professionally, you have to really WANT it. But if we're just talking non-game industry software work, that I recommend. I love it. smile.png

I hear this 60-80+ hours of work etc is a myth, maybe it once was like that, but that most studios now make sure their employees are healthy, its just better for business in the long run...

Personally, I've only worked at one small studio, and before that one smallish (150 ppl) software company with focus on ui design and tech, so don't have much to compare with, but I've never been expected to work more then 40h/week, not even during "crunch".

I have gotten in some trouble for "working too much" though...

It's true that the pay might be a bit less then I'd have in a big corporate software company, but on the other hand I have a lot more freedom in how and where I do my work.

And I usually can get off work for a day or a few just giving notice the day before. (they get a bit cranky if I just mail them in the morning... )

And no brain-dead processes and corporate bullshit that sap the life out of you... tongue.png

(I've had my share of it being a contractor for most of the major mobile phone manufacturers..)

For me, a day mostly is writing code, ticking off stuff from my todo-list, finding issues and writing new stuff on my todo-list.

Then discussing with my colleagues, or they come and ask me about something.

Someone shows a demo of what they are doing, and people give feedback...

Then if needed, some head into a conference room and discuss something in detail.

Then we go back and code some more, or research something, or draw some stuff on a paper...

Then repeat.

No-one tells me exactly what to do, its more along the lines of "This doesn't work, can you find out why and fix it?" or "Wouldn't it be fun if you could do X in the game? lets try it" etc.

My current task is "Port this game from iOS to Android and OSX" and I have a 3 months to do it. (well, it was kind of my own idea... )

They do expect me to show some progress in the meantime though, not just disappear for 3 months smile.png

Plus, I'm also involved in the design process of our next game, and constantly give feedback on others work, and help them when they ask.

Heh. :) I do have that type of flexibility, and I think that's common (at least all of my engineer friends seem to have it)...but, what you say about corp bullshit sapping life...yea, that's definitely a thing, haha.

It varies a lot. Often there are projects that characterize several weeks or months.

I wrote something on the topic, mostly for my cousin ...

http://izitforyou.blogspot.de/

It also depends on how much you are shielded from non-programming tasks.

Don't underestimate

1.) the research

2.) fixing environment problems / toolsmithing

That is especially true if you work for a smaller company.

Given enough eyeballs, all mysteries are shallow.

MeAndVR

Advertisement

I often describe my day simply as such:

40% research/reading

40% conversation

20% coding

Douglas Eugene Reisinger II
Projects/Profile Site

I work at relatively small game making company. We are making the flash games for social networks right now. I work approx. 40 hours/week with flexible work hours. My day consists of:

1. First of all, the cup of the green tea xD

2. I have a small conversation with our leading programmer in highly friendly environment about things we need to do/things we want to add to our game in future.

3. I go to my seat right at the big window through which I can enjoy watching one of the biggest rivers of my country.

4. I think about things I have to do today, plan things etc. For example, I can have a task which I should accomplish within one week, so I focus on it.

5. Our company is small and new, so we don't have advanced development techniques and a lot of our work is not automated at all. So I usually test the new functional manually (not that I even know how to do decent TDD with AS3, where everything is a sprite and logic is highly coupled with views).

6. Occasionally I watch inspirational gamedev videos or read something I like. Usually it happens during my lunch break.

7. Since I'm very lazy to wake up, and I really like to do stuff at nights, my work starts at 12pm and ends about 20pm =)

I'm new in gamedev, but so far I like it so much.

Regarding your questions. Well we don't measure the productivity by the lines of code written per day, so that number is completely unrelated. Usually it is the best practice to write less, but do not hurt lucidity of the logic behind the code, obviously. In our company we are not restricted by the numbers of classes you should create to complete your task - you just do what you think you should do to accomplish your goals without breaking everything =)


I'm new in gamedev, but so far I like it so much.

That is pretty sweet that someone new in gamedev can work in a small game making company. I'm curious how did that happen? Was AS3 the only requirement?

It might also depend on how much of a purist you are. Where I work, sometimes instead of solving a problem correctly, there is quite an undesirable trend of "just grab a plugin and hack round it's failures". This leads to a really crummy and unportable codebase and is not very enjoyable to work with and no-one has any real sense of ownership or care. Luckily the company is also sponsoring me for my PhD so I always have that work to fall back on if I can see a project implementation going this way ;)

However, sometimes the project at work involves a team of like-minded individuals who don't mind implementing a bit more code to get things "right", then it can be a great laugh (and the output is of a much better quality).

So it really depends on the specific company, their policies and their existing employees that really makes the difference to whether it is just as fun as coding as a hobby.
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

This topic is closed to new replies.

Advertisement