Hey! I also chose to not use an engine. I coded my game using the LÖVE framework. I'm not familiar with any engines and didn't want to learn how to use one just for this. I have some experience with programming but no formal education in CS. I've been learning Lua/LÖVE for a month or two so this was a great opportunity to put my new skills to the test.
I learned that I like the logic and problem solving-process of coding from scratch. I felt like it made it easier and more interesting to reframe "game actions" into "code actions" (as one super basic example, the idea that 'moving' is really 'draw this picture each frame to these coordinates that increase/defrease when a button is pressed' ).
My sense is that using an engine as a beginner brings along issues of scope creep because it's easier to do more, but more doesn't mean good and more doesn't mean better than less. It was easy for me to avoid that problem because I had to spend more time making each thing work in the first place (not that I don't have sloppy code or numerous things I want to improve/add).
Finally, our success was built off a fair bit of pre-planning. We did not plan any aspects of our game before the jam started, but we made a development timeline (like when we will have our idea finalized, when we will have our first "shippable" version, when we will stop adding content and switch the polishing for submission), a schedule (wake up/go to sleep, meals, snacks, breaks, progress checks to make sure we're on track), and we took stock of our skills and preferences. Then, when the jam started, we made our list of need-to-haves, nice-to-haves, and assigned priorities, then we stuck to the plan! We actually really got into the project management side of things and that made it so much easier to handle the inevitable hiccups. it also made it way easier to relax and have fun because we knew what we were working on and needed to do at any moment.