Seeking advice on untangling the hornet's nest that is my business's website
I'm in a decade-long predicament related to the management of a somewhat complex website for my publishing business, and I'd appreciate your advice. For context: I joined the company as an...
I'm in a decade-long predicament related to the management of a somewhat complex website for my publishing business, and I'd appreciate your advice. For context:
- I joined the company as an original founder about 15 years ago. My initial roles mostly dealt with accounting, finance, sales, account management, etc. -- really, anything and everything I could help out with. I offered to take ownership of our website since I had a fair amount of web design and programming experience.
- The original version of our website was a patchwork of PHP scripts from back in the days before Composer. I was inexperienced and didn't know anything about frameworks, etc. so I just started adding code.
- Over the years, I built homebrew versions of user authentication, a backend (CMS, CRM, etc.), and our front-facing website (full-stack, from cloud hosting to CSS and everything in between). As the story goes, it became a spaghetti code mess that was only maintainable by me.
- Realizing that I'd created a mess, my next long-term project was to slowly start transitioning the entire backend over to the Symfony framework, including many/most of the homebuilt components such as auth. This probably took 5 years in earnest. This way, I could at least begin to have conversations about getting outside help.
- The other founder passed away unexpectedly, and I've found myself not having enough time to dedicate to the website. I can work on it here and there and patch it up when things break, but my fear is that we're going to become stale.
- I've had several conversations with individuals and web development companies in various capacities over the years. These conversations ranged from "sure, I can help out with front-end stuff" to "we would like to rebuild your website from scratch using (insert popular CMS) and then manage it for the low cost of (insert high cost)".
Right now, all of the coding goes through me because it's the cheapest option (plus all of the context above). I'd like to explore delegating or outsourcing it again, but I don't know where the happy medium is as far as what needs to stay in-house.
Just to give an idea of the complexity, as it goes well beyond what you would think a publisher needs, here are some of the features:
- User auth/database with tens of thousands of users
- Single sign-on that connects those users to several other platforms seamlessly
- Content authoring
- Several "microsite" type pages on the front end that require their own CSS/JS needs
- Some unique features that were built because we couldn't find suitable alternatives, such as a webinar player that automatically generates certificates and stores them for the user, watermarked PDF downloads to include user information (i.e. to prevent piracy), etc.
- CSS from the Bootstrap 3 era that has been modified and bolted onto over the years
- Jquery stuff from way back in the day
- and on, and on, and on
To do things right, I would think that I need a server admin, a Symfony/PHP expert, and a front-end expert. But we're talking about what - hundreds of thousands of dollars per year? We can't afford that.
In my mind, an ideal situation looks like this:
- I am still able to see, modify, and keep control of our codebase (Git)
- Hosting is managed. This is where my second biggest* fear lies, in that I know enough server admin to be dangerous, but I lose sleep knowing that an intrusion is inevitable and there are smarter people than me that can help prevent one.
- I can assign out projects (e.g. we want to upgrade to PHP ## and Symfony ##, we want to redesign a page/template/etc., we want to implement SAML and connect it to another platform, etc.)
*My biggest fear is that, since I hold the keys to everything related to this website, if I am unavailable (or get hit by a bus) then I leave the business in a REALLY bad place.
Can anyone offer any advice on navigating this hornet's nest?