The reason you dont want to handcode the object is because anything larger than a cube requires a great number of lines of code. And they all look like this:
glVertex3f(1.0f, 1.0f, 1.0f);
glVertex3f(3.0f, 246.0f, 234.0f);
glVertex3f(246.0f, 234.0f, 2465.0f);
glVertex3f(45.0f, 543.0f, 65.0f);
glVertex3f(1.0f, 54.0f, 634.0f);
glVertex3f(234.0f, 524.0f, 1.0f);
glVertex3f(2654.0f, 234.0f, 1.0f);
glVertex3f(1.0f, 352.0f, 1.0f);
Or something to that degree, but with less spastic numbers. Now imagine trying to come up with the verticies for a 1000 poly model. (thats 1000 triangles, so if you were to do it with GL_TRIANGLES, 3000 glVertex3f() calls) What a nightmare, huh? So you need to let the artist make the object, and instead write a class that will load in that object and draw it efficiently. This is much easier to do.
I dont know why you dont want to use models made by professional modeling programs, but perhaps its because you want to make them yourself and you dont have the money for 3DS Max? First of all, there are many models people have made which they have given for free use on the Internet. Apart from that, there are also openSource modelers that you can use for free.
Hope this helps.