figuring out the algorithms needed for 3d engines, and actually making a good 3d software renderer OR ancient opengl 1.x/directx9 renderer that renders the scene and particle and/or other effects will take 1-2 months.
but then you will probably scrap the whole, and restart it to do properly to allow scalability and to not look like an ancient potato. i dont recommend to be succumbed into new who-knows-what 3d apis of the todays, as there is no point in following graphics trends any more (users will not care). and use some regular formats like obj, not obsolote and not any more used formats like bsp. and which is the most important is the game control, the phisics, basically the interaction of the engine and the user. figure out what genre do you want to create (rpg with a final fantasy like battle system? an fps like cs1.6? the actual logic will be much harder and longer than the 3d itself), and if you really start to put some time in it, you will have decent code.
you probably alreday have almost fallen into the beginners trap, and started to think ,,oh when i can fly with wasd i have almost everything done and i am the king'', meanwhile thats just a few mathetmatical function, thats not something that will need the REAL development.
if you want to keep minimalistic, i would say you can do the renderer within 2 months or so if less than 100k polygon per frame is enough, maybe 1 or 2 month to have the actual game engine logic. for quake like games you probably dont want to create an editor for the engine, and you can do everything with magic arrays or text files, so you can skip that.
you can do every code related within a few months, if you were good at maths in middle/high scool.
but then you only created the underlying code, so you either use some tricks to generate the models (think on lego characters, or characters of minecraft), or you learn how to model in 3d properly, which will take 1-2 years, and then you either quikcly splash everything together within 1-2 months, or do it for years to have good results.
the timespan varies bethwen a very wide range, if you want to have just as decent artistic result like quake or doom has, as the others alreday mentioned, you will need years, which i expect you dont really want to push in it, as its futile aniways, the market will not honor it.
and stop meditating about culling faces, start kicking your own face until you figure it out, you will have hundreds of tasks like that to solve, and if you want to work effectively, you better solve problems like that within 2 minutes (not solving is also solving, if something is not important for your result).
TL;DR:
dont use complex things, dont use bsp, decide what do you want to do, do not clone doom2.