Well I'm currently making a physics engine for learning purposes and as something I can show on my resume. Currently I am considering using circles and doing continuous collision detection. Though I would only be able to use moving circles and static edges and would need to use multiple circles to define more complex shapes. A box would be defined by 4 circles, so obviously there will be some noticeable clipping of sprites.
The other option I am considering is the iterative method, though it will not be continuous more complex shapes can be used. For what I know of the iterative method, the engine moves in steps and every step it looks for overlapping objects, if any are found they are handled as collisions and are moved to a more preferable state in which the objects aren't overlapping. As well constraints and such would be possible in this solution, as far as I know it would be difficult to add to the circle solution while also achieving continuous collision. Not sure how difficult it would be to implement continuous collision for convex shapes, I would imagine maybe some sort of test per edge basis and using the velocity you could reduce the edges tested to half.
So I'm not sure which method I would learn the most out of but at the same time put forward something to show potential employers.