"I want to make a video game just like Mario!"
"I'd love to learn how to make a social network just like Twitter!"
"I'd like to learn how to make a desktop app just like iTunes!"
"I want to know how to make a programming language just like Lua!"
But the majority of software people use these days is web-based, even the desktop versions, from Facebook to Spotify to Twitter to Snapchat or whatever that's called. (I'm dating myself aren't I?)
So it makes sense that people getting into programming want to learn how to make web stuff first. But as they get deeper into learning how to make some website, they'll necessarily need to learn how to make the stuff that goes with it, like a backend server that uses a database, or a companion iOS app, or whatever.
Setting up IDE's, learning about OOP etc is probably harder than throwing some Bootstrap components together.
Ha. Haha. Hahaha.
This can appeal to beginner programmers because it gives a immediate sense of satisfaction and accomplishment vs. backend programming where you see lines of output spit back to you in a terminal.
Also non-technical people seem to value front-end development more, because they have the feeling these devs do more "user specific" stuff (-> "they understand what I want")
I marketing myself as a front-end developer, but I would consider the jobs I get offered full-stack (2/3 front-end, 1/3 back-end)
Eventually, I imagine I'll be forced to move at least into web back-end development with a modicum of front-end thrown in, but I can't imagine that ever being my main focus.
I would love to get a job doing backend development and have worked through some CS moocs and I just feel like there are so many things I don't sufficiently understand to even be considered for a backend position. I could probably handle a "full stack light" position, but get overwhelmed when I try to really understand everything going on instead of just accepting "use this gem".
... I go where the complexity goes[1]. In the age where most [web] backends are just glorified DB wrappers with an API, and the main app is on the frontend - I'm gonna stick to frontend, thanks.
Although it's starting to look more and more like I should rekindle my interest in non-research[2] machine learning and AI.
[1] complexity and users, really. You could call it "the market"
[2] with much regret, I have discovered that I am too impatient/dumb/product-focused to do well in research.
Nothing about the web inspires me or engages my attention, which has left me wondering lately whether I'm still in the right industry. Not sure what else I could reasonably do for a living, though, since I doubt my brain is going to stop working on software problems whether I'm still getting paid to work on them or not.