PDA

View Full Version : All of you employed developers, what are your jobs really like?



Shadow12345
12-23-2002, 04:55 PM
If you are an employed developer I would like to know what your day as a developer is really like. Here I am a programmer hobbyist, but I don't even know if I want to become a software developer.

If you do reply to this post could you also send a url for the company you work for?

The more details the better. I'm thinking about not taking computer science in college, rather electrical or mechanical engineering, thus not becoming a software developer.

Thanks if you reply.

Waldo2k2
12-23-2002, 05:43 PM
I work @ The Baker Group (www.bakergroupinc.com) as an electrician (also plan on getting into elec eng:)). Over the summer i did some programming in C++ for about 3 months, i made a few console apps, one of which searched and parsed text files which were programs for running machines (the CNC machines spoken of in the web page), allowing the operator to find and reuse previously ran programs. Currently I do some programming on Allen Bradley (www.ab.com) microcontrollers which we use to run our machines.

I get to the the microcontroller programming at home. When I programmed in the summer here was my basic day: wear whatever i want, go to work, sit in front of the computer, get at least 3 sodas ready, start programming, go to subway for lunch, come back and program some more, BS with the coworkers, sometime after 5 go home.
It all depends on how professional the company is, or at least, how professional they want you to be.

Prelude
12-23-2002, 08:40 PM
>I would like to know what your day as a developer is really like.
Hardly as spectacular as everyone seems to think it is. I go to work, chat with my co-workers until something interesting happens like a system crash and then we work furiously to fix it. I spend most of my time either maintaining the systems (tweaking), training fresh programmers and interns, or interviewing the odd applicant.

>If you do reply to this post could you also send a url for the company you work for?
https://www2.suntrust.com/careers/

-Prelude

LordVirusXXP
12-24-2002, 01:41 AM
My main passion is video games. I'd much rather program games than stupid crap for a company that no one knows.

foniks munkee
12-24-2002, 02:47 AM
I work as a *nix Sys Admin. I desperately want to get into programming proffesionally, but jobs are thin on the ground for commercial noobs. "Will code for... cola!"

The most I get to code at work is shell scripts and the odd Nawk script, although I do get to look after some old legacy code.

I spend pretty much every other waking moment at home in front of my compiler.


..training fresh programmers and interns..

Like I said, will work for cola and I am quite happy to move to the otherside of the world for a bit of training from you Prelude. :)

nvoigt
12-24-2002, 02:55 AM
My passion is music, a good tv show, chocolate and ... uhm ... watching non PG13 material. Still I wouldn't go for a job producing any of these ;)

I've been developing software for http:\\www.saz.net, a direct marketing corporation. Most of my experience comes from there, so although this sounds very general it's just a description of my job. Working next door or in one of our international partnerships could be much different.
Working hours are quite ok. I'm free to come in somewhere between 7 and 10 and leave when the job is done. This fits my style of work exactly, I'm not someone who can work from 9 to 5 and leave work behind at 17:01. I can leave my thoughts about work at work when the problem is solved, so this style is fine with me. It has some drawbacks however. Working until the problem is solved is fine if it's easy, it also means I have to work between christmas and new years eve ( a time when almost all people take their last days off in Germany ) and probably even on one or two weekends if we encounter a problem that has to be solved when the users start working again next year.

When I'm developing a normal day would look like this:

Comming in at 10:00.
Getting a coke or other caffeine drink of choice ( don't like coffee that much )
Checking emails and chatting with colleagues to find out if there were any unexpected events, reported bugs, system failures of some kind etc
Depending on the scale and progress of the current project:
-Starting Word & Visio and writing programm specifications and database or programming concepts
-writing proof-of-concept code
-actual coding
-testing & debugging

Leaving somewhere between 17:00 and 21:00 depending on various factors.

In between there are calls from users ( we are kind of support as well for our own programms used inhouse ) who need help with programms I wrote, bug reports and planning for system downtime. Some meetings to plan new concepts or make sure existing concepts steer in the right direction.

When bugreports come in, everything else will stop and the bug will be sought. Once it's found, we will give out an advisory how it is to handle ( workaround, quickfix, total downtime ) and if critical we will work on a fix right away. Fixes for critical bugs are things that can lead to really tough working hours once or twice a year. If it's critical for the system to be up the next morning, a twenty hour workday or a weekend of work has happened about once a year. That's the downside of a rather relaxed working hours policy. You have time for your needs, but you have to accept the corporations needs as well. I like it that way, but it's not for everyone.

Somewhere in between there are a lot of organizational things to do: check out new software, probably beta, write small tools for yourself or your colleagues, learn new stuff like algorithms or techniques or installing special stuff our IT could not.

If you have more specific questions, feel free to ask ;-)

face_master
12-24-2002, 03:04 AM
Im interested in this too.

nv, what is 'proof-of-concept code'? And what sort of authority is in place to make sure you are doing your work?

ammar
12-24-2002, 03:44 AM
I would like to add another question...
What are the requirment to get employed... Degrees, experience, etc...

Shiro
12-24-2002, 03:49 AM
My background is in electrical engineering, but currently I'm working as a software engineer in embedded systems in which I can combine my knowledge of hardware and software. These days I don't do a lot anymore with hardware, mostly software.

>I would like to know what your day as a developer is really like.

Depends on the phase of a project. But some major software engineering activities:
- writing design documents
- review documents and code
- writing code
- test code
- verifying code
- solving problems

Some other major activities:
- drinking several kinds of coffee
- chatting with colleagues
- doing courses

>If you do reply to this post could you also send a url for the >company you work for?
http://www.ict.nl

For those who can't read Dutch, there is an English section. ;)

>what sort of authority is in place to make sure you are
>doing your work?

Actually no one is making sure that I am doing my work, it is my own responsibility that I do my work, but our team-manager makes time-plans in which we can find what we have to do and when it must be finished. But he doesn't actually care when you work, when the sun shines or during the night, the important thing is that you finish your work.

>What are the requirment to get employed... Degrees,
>experience, etc...

Depends on the kind of work and probably also in which country you want to work. In the Netherlands: For embedded systems a background in computer science, computer technology, electrical engineering, electronics or related education is preferred. Being able to read, write and speak English and German. The level of education is TU (Technical University) or HTS (Higher Technical School), I don't know exactly what it is in other countries, but I it is the same as master and bachelor. Experience, for a starter it is assumed he/she has not very much experience.

nvoigt
12-24-2002, 10:53 AM
>nv, what is 'proof-of-concept code'? And what sort of
>authority is in place to make sure you are doing your work?

As Shiro said, there is a person that has the timetables and makes sure all developers do their work and finish on time ( which would be me ) and I have to tell my boss if/why anything does not go according to the plan I did and he signed.

Proof-of-concept code is code that is intended to show that something can be done this way. Another program will be written to actually do it, but when you write a concept, you want to make sure that the promised way of doing it actually works. It would really suck to notice any shortcommings while being in the middle of the coding proccess ;)

RoD
12-24-2002, 04:10 PM
Originally posted by nvoigt

Proof-of-concept code is code that is intended to show that something can be done this way. Another program will be written to actually do it, but when you write a concept, you want to make sure that the promised way of doing it actually works. It would really suck to notice any shortcommings while being in the middle of the coding proccess ;)

so basically its psudo-code written to find holes/flaws?

Shadow12345
12-24-2002, 04:27 PM
Very good descriptions all that replied, all of us developer-wannabes are very satisfied and we all look up to you. In my opinion your jobs sound pretty cool.

Have any of you professional developers been required to read something along the lines of Code Complete? In my opinion that book should be a part of evey college course. There seems to be a huge difference between knowing the syntax of a language and being able to actually put those skills to use in a team of developers on a large scale project.



My background is in electrical engineering, but currently I'm working as a software engineer in embedded systems


The ideal path for me. I have an interest in programming machinery, in fact one of the schools I'm applying to offers a software course that entails embedded systems, so when I graduate I'll be qualified to do so. The biggest qualm I have is being able to solve problems creatively and originally. I don't want to be a tech support person or do the same things over and over (which might be a drawback to embedded systems development).

Polymorphic OOP
12-24-2002, 04:39 PM
Originally posted by Shadow12345
The biggest qualm I have is being able to solve problems creatively and originally. I don't want to be a tech support person or do the same things over and over (which might be a drawback to embedded systems development).

There's always game development :rolleyes:

Shadow12345
12-24-2002, 05:16 PM
There's always game development

and winning the lottery and getting struck down by lightning twice under the same tree. I'll try to get into game development, but if I don't I'll need a backup plan.
And yes I am serious about game development, as in I'm still applying to digipen :) It's just not the easiest industry to get into and it takes many years of commitment.

Polymorphic OOP
12-24-2002, 05:22 PM
Originally posted by Shadow12345
and winning the lottery and getting struck down by lightning twice under the same tree. I'll try to get into game development, but if I don't I'll need a backup plan.
And yes I am serious about game development, as in I'm still applying to digipen :) It's just not the easiest industry to get into and it takes many years of commitment.

I wouldn't compare it to winning the lottery. The industry is in constant need of new slaves - you just have to be dedicated and willing to give up your soul.

In fact, if you apply for a job at just about any game development team they usually only require you have 3 or 4 years experience in C or C++ or Assembly and don't usually even say you need a college degree. You just have to be good and have something to show for it (IE a compeleted game, previous experience working in a team, etc.).

... okay, you have to be very good, but it's not as impossible as everyone makes it out to be.

Shadow12345
12-24-2002, 05:35 PM
The industry is in constant need of new slaves - you just have to be dedicated and willing to give up your soul.

This I am willing to do, I'm glad I kept my soul instead of selling it to the devil (yes, he came to my house and made some very interesting offers). It seems to be realistic and mature to have a backup plan in case game development isn't all the meat and potatoes promised on the coupon. That's all I was trying to say even if my comparisons sucked.

Poly man what is it with you, you know everything. I'm jealous :p

face_master
12-24-2002, 05:37 PM
Yes, Code Complete is an exellent book. But im sure companies set guidlines on how they're code must be set out. Is there?

Polymorphic OOP
12-24-2002, 05:41 PM
Originally posted by Shadow12345
This I am willing to do, I'm glad I kept my soul instead of selling it to the devil (yes, he came to my house and made some very interesting offers). It seems to be realistic and mature to have a backup plan in case game development isn't all the meat and potatoes promised on the coupon.

Yeah, there's the rub -- the time and the pay. Game programming eats away at your time/social life. You really have to love it and be willing to make sacrifices. The pay isn't low, but considering the amount of hours that you put in compared to other professions it's really not that much of a salary... Unless, of course, you pop out a million seller or two :p...


Originally posted by Shadow12345
Poly man what is it with you, you know everything. I'm jealous :p

Yes, yes, that's because I actually did sell my soul to the devil.

terrance11
12-24-2002, 05:46 PM
polymorph, have you done any internships for game programming??? I know you're a student at digipen.

I need a social life though :) I don't think I could live without some time for myself.

Anyways, why is assembly important for game programming? My guess is just to help optimize code??? And is c or c++ more popular? And what type of knowledge do you need to know in physics?

just curious, thanks :)

Polymorphic OOP
12-24-2002, 06:00 PM
Originally posted by terrance11
polymorph, have you done any internships for game programming??? I know you're a student at digipen.

Not yet, I'm only a freshman. Hopefully in a couple of years, though.


Originally posted by terrance11
I need a social life though :) I don't think I could live without some time for myself.

You still have somewhat of a social life -- just that most of it is just with fellow programmers, heh.


Originally posted by terrance11
Anyways, why is assembly important for game programming? My guess is just to help optimize code??? And is c or c++ more popular?

Yeah, for optimization mainly. C++ is generally more popular in game development than C, but it varies. Carmack is a big C programmer and that's one big exception, eh?


Originally posted by terrance11
And what type of knowledge do you need to know in physics?

Mostly you should have a very firm understanding of linear algebra (vectors, matrixes, etc.). Quaternions are a plus. Ray tracing as well. You need to understand simple things like gravity, etc. Collission detection is a bigee -- anything in real-life that you want to model you should understand fairly well, but it all depends on what type of development you're talking about. An AI programmer doesn't need to know the same stuff as someone working on graphics.

Anyways, I'm not the most experienced digipen student here, so someone might be able to tell you better. If you look around, you might find a sophmore in these boards, but I won't name names :cool:

Shadow12345
12-24-2002, 07:20 PM
The new engine carmack wrote (is writing) is in C++ (read in an interview with him). I've gotta admit I like C style coding (just throw everything into functions!) but object oriented design makes way more sense in games. The simplest projects go down the hole and become way too disorganized without it (in my opinion).

as poly said assembly's used when speed's an absolute necessity. The only example I can give is writing your own software renderers (making sure every pixel gets color, texture, correct intensities, etc, which no one does any more because of opengl and direct3d). Those routines need to be so incredibly fast because they are executed every frame on top of the high level code that makes up the actual application.

Lately I've had no motivation to even start on any projects. I've almost completed my first singly linked list project (yes, I know, been coding for a year now and only starting linked lists, I suck). I have also been looking in the .ms3d format (milkshape3d) which I will probably use for my models when my project gets underway. I'm just really afraid of hard work, but yet I desperately want to 'sign my soul away' and become absorbed in something.

EDIT:
Now that I'm on the subject poly, how do you read in your formats? Do you keep the file open for the duration of the routine linearly reading each piece of data, or do you read everything into a buffer and extract the data from there? I like the latter, I don't know why, they both seem to work fine, but being able to read everything into the buffer and close the damn file is more appealing.

I really hate formats, I really do. There's no official documentation on them anywhere, the only way to find out what's in them is to read code for loading them, and that is an awful way to find out what is in a particular format, poor shadow.

face_master
12-24-2002, 07:33 PM
Yeah thats right, Shadow12345. If I ever made a game, the first thing I did as far as coding goes, it create all my base classes thrn subclasses, etc of everything in the game.

the Wookie
12-24-2002, 08:13 PM
well i work part time (paid internship) at philips www.philips.com

my dad works there so he got me in :D
but its 9->5, i enjoy it since its really lax, i can talkt o people on aim and everything while doing work. they just give a project, and i can choose what lang to write it in (i combine vb and c++), and just get it to them by whatever time they want

Polymorphic OOP
12-24-2002, 09:14 PM
Originally posted by Shadow12345
Now that I'm on the subject poly, how do you read in your formats? Do you keep the file open for the duration of the routine linearly reading each piece of data, or do you read everything into a buffer and extract the data from there? I like the latter, I don't know why, they both seem to work fine, but being able to read everything into the buffer and close the damn file is more appealing.

Yeah, you generally don't want to keep files open and you don't want to read from them as the program is running. Reading from the hard drive is ssslllloooowwww. You really have to load everything in once at the beginning and then close the file -- you want to put the data into objects anyways and that's kinda hard to do without loading it into memory.

RoD
12-24-2002, 10:56 PM
Digipen = 14 hour days.....

hope your up to it, plus the 75 dollar app fees...

Shiro
12-25-2002, 03:55 AM
Have any of you professional developers been required to read something along the lines of Code Complete? In my opinion that book should be a part of evey college course.


If I have to believe book reviews, then I should read almost any book written on programming, software engineering, design etc. :) My favourite books, which I have on my desk are: The C Programming Language, The C++ Programming Language, Design Patterns and the UML definition documents. These books have turned out to be the books I mostly use. The other books are nice for reading, but I actually don't use them a lot as references.

Reading books is an important thing, I do not have to read, but I do read, because I want to be able to other things beside coding and designing. It also increases my chance of being put onto interesting projects.



But im sure companies set guidlines on how they're code must be set out. Is there?


A lot of companies have their own coding standards or coding guidelines. Just type in "coding standard" in Google and you'll be surprised how many coding standards and guidelines there are.

Often these documents are derived from existing standards and adapted to the needs of a company or even a project. At our company we have coding standards for several languages, but a lot of projects have adapted the documents for their own needs. There is a controlling organisation in our company, called the Quality Assurance department, which controls quality of documents and development processes. When a coding standard needs to be adapted for a project, they have to review the adapted version and must agree with it.

In embedded systems development there is a standard for C++, called Embedded C++. It is a subset of C++, consisting of those elements of C++ considered usefull for embedded systems development. Elements causing overhead or resulting to large binaries are left out.

Shadow12345
12-25-2002, 05:54 PM
Digipen = 14 hour days.....

hope your up to it, plus the 75 dollar app fees...

I'm taking as many ap tests as I can and applying there and selling my soul to the devil and i'll do the 14 hour days...

Polymorphic OOP
12-25-2002, 06:36 PM
14 hour days is stretching it. USA Today exagerated a lot in that article. Unless you're really entering with absolutely no programming experience it's NOT that bad. I just post in here all day for the most part and I'm doing pretty dam well to say the least :D

Shadow12345
12-25-2002, 07:42 PM
That is a lot of hope for me then poly. I'm not going to stop programming and I will try to take the calculus ap exams (any level). I really want to make it in there I really do. I've actually started some 3d model loading routines and i'll have it implemented in an opengl app within a month or so or whenever I get it textured and loading correctly (I'll take longer to get animations, this is just going to be a basic .ms3d loader. It's actually not all that difficult, I'm just taking things slow and doing my school C++ crap first).

EDIT:
OMFG I WANT TO GET IN THERE
*bites knuckles*

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

EDIT1:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA

nvoigt
12-26-2002, 04:26 AM
so basically its psudo-code written to find holes/flaws?


It's actual code, verifying something you promise in the concept. Example: You would like to have a listview where special lines are marked. First idea is make them red. I don't know if this is easily possible in MFC, and if I promise it in the concept and it doesn't work as easily as I thought it would and someone has to spent 2 days to write an adaption of the listview control just because I promised some lines will be red that would suck. So I create a sample project, and try to make every second line of the listview red. Assume coloring lines requires overloading the control, but making them bold is a build-in functionality. So I put the project in the bin and change the concept so the marked lines will be bold instead of red. No-one even saw the red-concept, no one can complain.
That's a fairly simple example. Maybe I have three algorithms and want to be sure that I chose the correct one for our proplem. Or I do a little speed test to verify my estimations for the program as a whole. Things like that. It's real code without the rest of the appliaction in the background. A snippet of the code to make sure a concept works.



Have any of you professional developers been required to read something along the lines of Code Complete? In my opinion that book should be a part of evey college course. There seems to be a huge difference between knowing the syntax of a language and being able to actually put those skills to use in a team of developers on a large scale project.


The only required reading is our coding and quality standards. As someone else mentioned, use the terms "coding standard" in Google and you will find a lot of examples.
Code Complete is great. So are "Algorithms in C++" and "The mythic man-month". Noone is required to read books, but you notice the difference between those who do and those who don't. Some things can be learned by experience, some things need a book or teacher to sink in.

With professionals, the syntax should never be a problem. If you use a tool ( compiler ) daily, the error messages are clear as normal spoken english, most of the time even better. Syntax is rarely something you spend time with conciously. It's like using a pen in a math test. Sure you need it, but writing itself is not what is difficult about a math test. The challenging part is program design, algorithms and logic.



There's always game development


Don't kid yourself. Game development is development with another target. Not more or less challenging than programming applications. There is a huge need of applications in the marketplace and only a small percentage of games. A game sells for 50$, a good application is sold in bundles for a couple of hundred $. The point is, you don't do the same thing every day in application development. If you did, your boss would fire you and hire someone who knows what "code reuse" and modularity mean. Likewise in game development. It's just another library to use. Development is always the same.

Polymorphic OOP
12-26-2002, 07:51 AM
Originally posted by nvoigt
Don't kid yourself. Game development is development with another target. Not more or less challenging than programming applications.

I don't want to get into an argument on the topic as I'm obviously pretty biased, but I really disagree. If I sound offensive here I don't mean it to be, but a lot of people in here seem to be telling me my responses are harsh, so take this as a disclaimer.

In game programming you have a lot more concerns and different time constraints. When you make a game, there's a lot more to it than getting it to work. It has to look good, it has to sound good, it has to play well, it has to have replay value, and most of all it has to be fun. Sure, there's more to any application than "getting it to work," but on games, it's much moreso. A lot of it is objective but even more of it is subjective. Not only do you have to be smart, quick, and creative, but with games, it often times also means that you have to be an artist. You have to be a talented programmer, but you also have to be unqiue, you have to know what looks good, and you have to know what is "fun."

Not only that, but there's efficiency. That's something which is important to any application, but in games, it's usually moreso and in all areas. You need the game to be small, it's gotta tweak the most out of the hardware, and you have to get it to run in real time at fast speeds on an average computer (or on a console, etc.). Things like loadtimes don't become just a "downside" to your program, but can be what makes or breaks sales.

On top of all that, a game programmer can't just be a "programmer." He, in most cases, has to be a mathematician, a physicist, an artist, and, of course, a gamer. A game is often a complex model of real life that has to run in real time, and be more fun than real life as well :rolleyes:. That's a very big task -- bigger than most other applications. There are always exceptions to that, but in most cases, this is true.

A game has to keep a player occupied and having fun for many hours. It's tough to make a game that retains the player's attention and keeps him wanting more after 20 hours. A game has to be detailed, interesting, and massive. You have to know what the player wants, you have to anticipate what the player will be feeling, and you have to be able to evoke emotion. You have to work with a team of artists, designers, musicians, etc. to have any hope of being successful. It's an incredible task with many sides, many more than an application in most other fields.

Ask an application programmer to make a game and he most often won't even know where to start; ask a game programmer to make an application and it's quite a different story.

Shiro
12-26-2002, 10:11 AM
First, I don't know a lot about game programming.

A lot of things you describe, like real-time behaviour, making efficient use of hardware also counts for other kinds of software, like embedded software. For example a car navigation system requires engineers to know about building efficient databases, user interaction, datacommunication, implementing real-time system behaviour and a lot more.

In my opinion the main difference is in the thing you describe in this part: "A game has to keep a player occupied and having fun for many hours...". A game developer has to know how to entertain people, application developers, embedded software developers, system developers and other developers usually don't need that.

I don't think a game developer requires more than others, but each developer needs different skills. I'm able to develop embedded software, but I don't think I'm very well able to develop games or large database systems, at least not at this moment.

gordy
12-26-2002, 10:21 AM
hehe... i don't program games for a job, just i only really do directX as any kind of programming hobby (theres an ulterior motive here - one of the 20X modules at uni is C++ but it only has to be in a console, so i can practice without doing winAPI).

i couldn't program a normal app. wouldn't know where to start. i know about 20 lines of winAPI code. and one of them is return 1.
don't know hardly any file i/o. don't know more than 2 windows messages. can handle even less. can only start up full screen apps. don't know how to write a run time loop without a idle section.

still, i recently finished code to use .X files and draw a seamless, potentially endless world. ok, so its not textured (minor detail :) ). took a weekend. i also know enough to scrap the .X files and use plain binary arrays. also know enough to convert the .X files to the plain binary, without all that heiracy crap. if anyones fussed enough to say "oi, no you can't" maybe i'll post a piccy or something.

the physics in games is usually only a-level physics. maybe you'd need parabloic motion too for projectiles, but thats just maths which ever programmer i know is pretty competant at.

i reckon i could pretty much write a game. giving a it a good go anyway (hehe, rewritten the map code 3 times. maybe it'll do now). couldn't code a normal app for sh...eep. (forgot where i was there). err... theres a point here somewhere...where was it? oh yeah... try not to generalise. its like one of those fairground mirrors. same but different.

Polymorphic OOP
12-26-2002, 11:13 AM
Originally posted by gordy
i couldn't program a normal app. wouldn't know where to start. i know about 20 lines of winAPI code. and one of them is return 1.
don't know hardly any file i/o. don't know more than 2 windows messages. can handle even less. can only start up full screen apps. don't know how to write a run time loop without a idle section.

Sounds like you couldn't program a complex game either. :confused:

*ClownPimp*
12-26-2002, 12:12 PM
Poly, im sure alot of those things you described are spread about many people (ie, artists, graphic designers, writers, concept developers, etc). And math and physics are necessary in many types of programs one can write. Perhaps you were making your comparison between game programming and programming business apps

gordy
12-26-2002, 06:44 PM
Originally posted by Polymorphic OOP
Sounds like you couldn't program a complex game either. :confused:

and that makes me think you havn't tried or you'd know its enough. so lets no start this hmm ?

edit:
people tell you your responses are harsh because they are.

Shadow12345
12-26-2002, 08:01 PM
people tell you your responses are harsh because they are.


poly isn't a harsh person...is it considered harsh after you already bashed yourself down in your own post?

Now that I have stuck up for poly I'm going to blatantly disagree with him (which may or may not be a good idea)


On top of all that, a game programmer can't just be a "programmer." He, in most cases, has to be a mathematician, a physicist, an artist, and, of course, a gamer

This doesn't seem to be true. A game programmer would probably have to be a physicist and a mathematician, but by no means an artist. The people who are in charge of keeping the user occupied are actually not the game programmers, but rather the artists, world designers, and character designers. They have to constantly be creating new things, the formulas used to model the real world stay the same. Don't get me wrong, the software engine running the game has to be very robust and very good, I'm just saying you had the game programmer made out to be more than what he/she really is.

Now I'm going to get bashed for all eternity...sweet

Polymorphic OOP
12-26-2002, 09:04 PM
Originally posted by gordy
and that makes me think you havn't tried or you'd know its enough. so lets no start this hmm ?

No, I was trying to be nice in saying "you haven't done much." I was implying the fact that making a program to read .X files (a built in functionality with the Direct X SDK, mind you, as you obviously already know), would not exactly make you a game programmer. Of course you can make a quick world display based off .X files in a weekend with Direct X. You can do it in a day. Loading .X files is a build in functionality. That's not exactly a "wow" claim.
I haven't tried!? What makes you say that? I've done a hell of a lot more than what you've apparently done, that's for sure. Does that make me a game programmer yet? No. Do I claim to be? No.


A game programmer would probably have to be a physicist and a mathematician, but by no means an artist.

First, by artist, I was refering to all programmers, though often times it's easier to understand with game programmers.

What makes an artist? Someone who is creative, that can harmonize, create unity, and can make something that others marvel at or enjoy. What does that include, to name a few? Graphical Artists: harmonize with color. Authors: harmonize with language. Architects: harmonize with structure. Musicians: harmonize with sounds and the passage of time. Programmers: harmonize with code and design.

It's not that bold a claim. Go back a century and ask someone if a movie is a piece of art. Most would say no it is not. Ask someone today and what is your response. Quite different.

A good program is well structured and has to bring together code for audio, graphics, time, and make them blend seemlessly into one application. You have to be intuitive and be able to model a concept in such a way that others can understand what you are trying to portray.

Just like with everything else, just because programming can be an art, it isn't necissarily. Not all drawings are works of art, neither are all movies. Same goes for programming.

Eibro
12-26-2002, 10:14 PM
On top of all that, a game programmer can't just be a "programmer." He, in most cases, has to be a mathematician, a physicist, an artist, and, of course, a gamer
I disagree, I don't think game programmers don't have to know any more about physics or mathematics than any other regular developer. I think most game development teams hire physicists to do that kind of work (I know a few specific games which did).

Plus, I doubt one person working on the network code for a game would be working on the graphics engine (in a team, of course)

I really don't know what I want to do, game programming or regular application programming-- although I think it'd be just as happy doing either. I got two years left of high school to decide what to do and where to go when I finish (digipen is not an option-- I live in Canada and my family isn't rich :()

gordy
12-27-2002, 07:30 AM
if your referring to the first post since when has offering another opinion been bashing anyone?

if your referring to the second post there is only one person who ever comes near these boards who knows how well i can't program. anyone who tells me what i have and havn't done who has never even spoken to me before is gonna get bashed back.

i didn't say using .x files was a big claim. i wrote that particular item as an experiment to see what was involved in using models like tiles and how they looked when you did. .X files served nicely because they are built in. personally i prefer to make a round peg for a round hole rather than making a square peg and changing the hole. (no i don't like openGL much).

i do remember saying to do it i used very little winAPI code. which i think was my original point. you don't see many standard windows GUI features in many games. would you get very far in a 'normal' app without a GUI? if there are any relevant MFCs i think they'd be a bit on the general (ie underoptimised) side for games. directX overlays the GDI and plays much nicer. all these are however common features in a windows program. anybody seeing my point yet?

edit:
"just enough education to perform"

ober
12-27-2002, 07:39 AM
hmm... what is my job really like? Here's my normal day...

get to work and check my email
maybe grab some water or something, talk to some of the co-workers
sit down and do some coding for a few hours
break for lunch... come back... code for a bit
roam around the internet for a bit if i'm stuck on something
back to coding
go home

You code, you get stuck, you STFW, you keep going... it's a vicous cycle... but I'm just an app/system developer. No game developing or anything goin on here (sorry, didn't read your origonal post, just the question)

Shadow12345
12-27-2002, 12:19 PM
I disagree, I don't think game programmers don't have to know any more about physics or mathematics than any other regular developer


Uhh...ok...I somewhat doubt a 'regular developer' will commonly have to calculate things like the center of gravity of an object, the instantaneous velocity of an object, its acceleration, the friction of an object on an inclined plane, the parabolic movement of an object falling taking into account wind resistance, collision + countless other factors, or the location of an object's shadow using a shadow projection matrix on an arbitrary plane without using stenciled shadow volumes, just to name a few things off of the top of my shallow head (meaning there's lots of other complicated stuff I can't remember that game programmers would commonly do more than regular programmers).



First, by artist, I was refering to all programmers, though often times it's easier to understand with game programmers.

I don't know what you were referring to, I thought that post was to say how different game programmers are from normal developers, which I think is somewhat true. I'm not going to argue with your definition of artist, because I think it's correct. In order to understand what I was saying you have to take the term 'artist' more strictly. I was just trying to say there is a difference between the people hired to create the game content (artists, map designers, animators) and the 'game programmers' that actual develop the engine that loads and displays the content created by the 'artists' (in the strictest sense), map designers, and animators.

Capishi master sensei?

Shadow12345
12-27-2002, 12:20 PM
hmm... what is my job really like? Here's my normal day...

get to work and check my email
maybe grab some water or something, talk to some of the co-workers
sit down and do some coding for a few hours
break for lunch... come back... code for a bit
roam around the internet for a bit if i'm stuck on something
back to coding
go home

You code, you get stuck, you STFW, you keep going... it's a vicous cycle... but I'm just an app/system developer. No game developing or anything goin on here (sorry, didn't read your origonal post, just the question)


you forgot the url for your work ober :)

EDIT:
I also forgot to ask how much pressure do you guys generally get put on you from 'higher management'. Software development seems to have this cutting edge frisky panicky rush to it (or so it seems from job descriptions proclaiming how quickly projects need to be completed and such).

ober
12-27-2002, 01:11 PM
www.adamsec.com

don't blame me for the website... I'm not in charge of that one, but I did redesign that one before they published it but they liked their butt-ugly version better. Mine also downloaded in 1/4 of the time.

Pressure? I don't get that much pressure... but being the main software developer here... i am expected to do certain things in a timely manner.

Shiro
12-28-2002, 03:42 AM
Uhh...ok...I somewhat doubt a 'regular developer' will commonly have to calculate things like the center of gravity of an object, the instantaneous velocity of an object, its acceleration, the friction of an object on an inclined plane, the parabolic movement of an object falling taking into account wind resistance, collision + countless other factors, or the location of an object's shadow using a shadow projection matrix on an arbitrary plane without using stenciled shadow volumes, just to name a few things off of the top of my shallow head (meaning there's lots of other complicated stuff I can't remember that game programmers would commonly do more than regular programmers).


I think I'm missing something. What is a regular developer? In my opinion there is no such as a regular developer. There are so many kinds of software developers, so that it is not right to speak of a regular developer. Non-game developer is better. Just two kinds of developers which also do the things you mentioned: developers of simulations, developers of control system software.

nvoigt
12-28-2002, 05:25 AM
There is no "regular developer". Developers always need to apply ( and probably learn in advance ) more than just programming skills. If you write simulation software, you need skills in this field ( physics, chemistry, biology... ), if you write banking or business software you need experience in this area ( in case of banks more than you might want to know... it just makes you fear for your money to see how banks handle computers and data ) and if you write software for another market you need other special skills. If you aren't working for some niche market 2-men software company, you will always be part of a team and handle only a part of the aplication. When developing a game for example, you might end up writing and optimizing the net code. As with all teams, you might never even have more than a general understanding what other members of the team do, because they have other, very specialized skills.

While some games call for heavy optimization, almost all non-UI applications need optimization, too. Batch processing is crucial in large companies and the difference between 100.000 records per hour and 200.000 records per hour is double winnings. And you bet the boss wants this optimized to 300.000.

All developers need additional skills. Those needed for writing games sound like more fun, but that's a personal decision what might be fun and what not. It's not harder to master than any other secondary skills. It is a bit harder to get in the market, because the need for game developers is smaller.

Shadow12345
12-28-2002, 09:04 AM
this has gone too far imo. A 'regular developer' (notice the single quotes) is a developer that isn't a game programmer, that's the only distinction made. And I think the post I made about what game programmers do that 'regular developers' (meaning non game programmers) don't do holds true. Any developer that isn't a game programmer wouldn't have to do the following:


originally posted by me
Uhh...ok...I somewhat doubt a 'regular developer' will commonly have to calculate things like the center of gravity of an object, the instantaneous velocity of an object, its acceleration, the friction of an object on an inclined plane, the parabolic movement of an object falling taking into account wind resistance, collision + countless other factors, or the location of an object's shadow using a shadow projection matrix on an arbitrary plane without using stenciled shadow volumes, just to name a few things off of the top of my shallow head (meaning there's lots of other complicated stuff I can't remember that game programmers would commonly do more than regular programmers).


I don't even remember why we started this. And yes it is a given that there are many things game programmers don't have to do that non-game programmers do, and like i said I don't know where this came from or where it's going.

zahid
12-29-2002, 11:39 PM
I'm working in an ISP (Internet Service Provider) as Linux System Administrator & Programmer. I'm responsible to configure, maintain/administrate servers like Gateway, DNS, Mail, Proxy, Access (USR 3com), RADIUS (Cistron).

I was working on ISP Billing Software for Dial-up users for last 3 (Three) years. I have already developed one application and running for last three years. Recently upgrading the ISP Billing Software to integrate with RADIUS server. It's capable to control Pre-paid and Post-paid Dial-up users. All I do of programming is in C. Writing small applications for System Administration is also usual.

This is all about job, I have also involvement with a group of Bangla Linux developers.