My opinion is --- depends on your skills and personal interests.
If you are insanely talented, brilliant, energetic and can spend full time on the endeavor for at least many months, if not years (depending on how elaborate an engine you want to create), you can create an engine. Been there, done that (twice under contract to game companies, once for myself). So it is possible, but you're in for one hell of a lot of work. Oh, and even if you do qualify in all the above ways, you should only create a game engine if that is more interesting to you personally than games (which applies to me).
If you can't quite meet the above level of abilities, capabilities and time, but you are still interested in game engines far more than games (at least now), then collaborate on a game engine development project that someone else started. Believe me, if you are talented and motivated, your collaboration will be greatly appreciated, you will enjoy the process a lot more than doing everything yourself, and you will learn a lot more, a lot faster when you're working with other talented individuals. The problem here is... finding an engine project that will be finished. Which means, either the folks involved already have the skills (they've done this before) and they have the dedication (they finish projects they start). Unfortunately, about 99% of projects mentioned on gamedev are pure fantasy, not finished, or are finished but are much less grandiose than a serious game engine. So choose wisely.
If you are sufficiently talented and dedicated, and decide you want to collaborate on an engine, contact me by PM and learn about the engine I'm developing. This engine is fairly far along, several subsystems are complete and work, is multi-platform, very high-performance, and includes some special capabilities that make the engine potentially more interesting than others (if characteristics like "procedurally generated content" interest you).
But if you're not a natural or highly talented programmer, you shouldn't try to develop a game engine. Modest games might work.
Oh, and a "game engine" is something like a collection of code libraries (usually shared libraries or DLLs) that does most of the actual work in a game, but only those parts not specific to one game. In other words, the game engine does pretty much everything that needs to be done by more than one out of a hundred games.