It's doable if you're freelancing, but you'll almost always end up picking up additional skills in the process (or partnering with someone else) because your clients will ask for them.
Though I'd argue that freelancers themselves are a bit of a dying breed (at least in the US) because it's increasingly harder to afford things like healthcare when you're an individual with no company backing.
It would be so simple you could even teach the business owner how to do basic updates, like changing the listed prices on the menu or changing the description of a dish. Sure, you don't get to charge them for these changes, but they'll be delighted they don't have to worry about paying a consultant's minimum fee just to update their menu.
So I do the opposite and take care of everything. Design, build, deploy, maintain and update. I'm not a designer, but I take cues from their logos, menu, etc. I run it in the nearest AWS region for low latency, optimize all the assets, http2, etc. I strive to follow every best practice, within reason.
For a craft beer pub[0], I pull their current beers on tap from the Untappd![1] API, so the beers are always up to date. I also made a beautiful responsive menu that works great on mobile, tablet and desktop.
Where I'm really lacking is in self promotion. I do great work, but putting myself out there and selling myself is difficult. I will get there, though!
I'm doing this all to land a job doing front-end web dev somewhere I can grow my skills more. I came to programming late, but it is my passion.
Any thoughts on my site[2] would be much appreciated.
Edit: formatting
My latest project involved actually building a Wordpress site but in such a way that someone with no coding/html/css ability can alter it in a virtually unlimited variety of ways to build what he needs.
I actually built the site for the operator, not the business. And in turn that's already having positive impacts on the business as they can react and create things they need quickly.
Some parts I wrote myself but sure I hacked parts of it together with theme builders and plugins. Lambast me all you like but those were right for him as he had ownership/understanding of what they did for him rather than some unintelligible code. And that's what matters sometimes!
I would love to do something like this but when I used to try I always ran into the same problem.
The business owner would rather me follow the poor design choices of their competitors (hard to read text, bloated, random pop ups, etc). I always did it for them but it really killed me inside.
You might want to check your "blog" link at the bottom though. Gives me a 404.
I think the tide is gradually turning and many small business owners would prefer to buy you a dinner and have a good chat with you and if they like you then they'll give you business, albeit small (though you can do 10 of these without much trouble if you optimize your own process).
There is a market niche for practical no-BS small website builders these days, IMO.
It's a sea of people who want complexity for $100. They just go to fiverr and get someone to throw together hacky shit templates.
I've seen so many sites dutifully set up with CMS backends and databases that only ever get updated by one person, and which only actually get updated once in a blue moon.
ETA: I mean, damn, how many people first got started just putting up or editing some static web pages, back in the 1990s and even 2000s?
…And she's right. It's the perfect introductory tool in web development, because that's what any given framework is going to be abstracting over anyway. A student needs to feel the pain of typing everything a million times before the solution of a templating system really makes sense. Same goes for event delegation, browser inconsistencies, etc.
> and that just this is not enough to be "employable". I maintain that this is not true: many websites would do just fine with just those two (as in, they don't need JavaScript at all!), and I'm sure a very large fraction could get by with some small amount of hand-written frontend code hooked up to a database.
You're right that many websites would do just fine with static sites — most of the (highly paid!) advertising industry is brochure sites. But that's not the market though. You do need more than just HTML and CSS to be competitive in the market, even if you're BSing your way through most of it.
Sure you could make it work with JS but you would be degrading the user experience for no reason at all.
Frameworks are useful but not nearly as much as people might think. There are many cases where a static site generator (as a simple example, Markdown → HTML converters) or simple templating solution may be "enough", and they're relatively easy to understand as bells and whistles on top of HTML and CSS.
The developer does. Do the project owner/manager/mid level personnel? That's a better question.