I'm a beginner web developer (one year of experience). Here's my situation:
A couple of weeks after graduating, I got offered a job to build a web application for a company where the owner (boss) is not much of a tech guy. He recruited me to avoid: someone stealing his idea, the enormous amount of money a service company will ask, and to have someone young he can trust, on board to maintain the project for the long run (came to these conclusions by myself much later).
Cocky as I was back then, with a diploma in computer science, I accepted the offer, thinking I can build anything.
I was calling the shots. After some research I settled on PHP. And started with plain PHP, no objects, just ugly procedural code. Two months later, everything was getting messy, and it was hard to make any progress, the web application is huge. So I decided to check out an MVC framework that would make my life easier. And I stumbled upon the cool kid in the PHP community, Laravel. I loved it, it was easy to learn, started coding right away, my code looked cleaner, more organized. It looked very good.
But again the web application was huge. The company was pressuring me to deliver the first version, which they wanted to deploy, obviously, and start seeking customers.
Because Laravel was fun to work with, it made me remember why I chose this industry in the first place. Something I forgot because of the shitty education system.
I realized I knew nothing, and I did not know how to build software THE RIGHT WAY, but it was too late. I'm almost done. My code is not clean at all, just spaghetti code, a real pain to fix a bug, all the logic is in the controllers, and no object oriented design really.
I'm having this persistent thought that I have to rewrite the whole project. However, I can't do it... They keep asking when is it going to be all done.
I can not imagine this code deployed on a server. Plus I still know nothing about code efficiency and the web application's performance.
On one hand, the company is waiting for the product and can not wait anymore. On the other hand I can't see myself going any further with the actual code. I could finish up, wrap it up and deploy, but god only knows what might happen when people start using it.
What do you think I should do?