Web development is definitely a viable industry. Unfortunately there's not a single stack that you "should" learn above all the rest - the best choice would likely depend on your career goals. If you want to work for a team in your region, find out what stacks are popular there - going to local meetups might be a great way to figure out what to expect. If you want to freelance, you might choose to begin with a kitchen sink-like framework like Wordpress or Drupal. A lot of software development bootcamps like to start with Ruby on Rails, which makes good sense as well.
My recommendation is hit dice / indeed / etc. Look at jobs in the area. See what stacks are popular. Each locale I've worked in has it's own tech eco sphere. So what may be popular here may not be somewhere else.
I am a newly hired backend web dev for a post-IPO tech company. I was hired to use python and java. I have never used either of these languages before I started this job. My total comp is about $275k/yr. Prior to this, I have about 7 years of experience with ruby and some JS.
As long as you know a programming language, you can get a job like mine. Many companies could careless what "tech stack" you know.
I remember when iOS was in single digit versions someone with one year experience got a job with a 200K salary a year in San Francisco, I think this was circa 2010 - (it was a long time ago). He was a self taught programmer who had started his own company that failed.
I don't think location matters that much tbh. I have friends (and coworkers) working remotely in the $180k - $250k ranges. They work for bay area tech companies, but they live on the east coast and midwest USA.
Free code camp is great. You’ll learn all of the foundational skills that you’ll need to get a job and to continue learning anything else that they didn’t teach.
There are some core fundamentals you'll need that will help with any web development route you take. Javascript, CSS (SCSS), REST APIs, etc. These are fundamentals that you can self-teach from free code camp, and other online resources. However for the sake of locking in a job, it's easier to come in on a specific framework. Angular, React, Drupal, Wordpress, etc. However, as others have mentioned in this thread, popular frameworks and the jobs that use those can vary city by city. So it's worthwhile to find what the desired skillsets are in your area.
html/css/javscript/backend language of your choice/database of your choice. There are plenty of shops out there that kind of capitalize on people breaking into the field and will pay them lower than industry standard for a few years until they go off to a regular company. Below the industry standard is usually more than what people were making before though so employees are grateful.
While picking a stack is certainly something important when looking for a webdev job, it isn't the most important for you as an overall developer. Don't go into it from the perspective of "Which stack should I learn?", but rather "What are the programming skills I can learn that I can apply across multiple stacks?".
If the skills you pick up are too focused on one stack, it makes it much harder to transition to a new one when that stack inevitably falls out of vogue. Study up on paradigms, not frameworks; e.g. OOP, Functional Programming, MVC, good coding style (code readability and maintainability are EXCEEDINGLY important), etc...
Once you have a solid platform to stand on, you will find that you can transition these concepts from framework to framework, and only have to focus on the syntax changes and a little bit of under the hood stuff.
To get started, you'll want to learn enough Javascript/HTML (CSS can wait) that you understand how a frontend builds on top of the data it's getting from the backend, and you'll want to learn enough Java/Python/Ruby/Node.js that you can spin up a fresh "hello world" http server in a few minutes, and enough SQL that you can back that service with a database that gives you "hello world" in a language appropriate to the request you received.
That'll give you a "full stack" core to build upon. You'll probably want to specialise either on frontend or backend work, but having that core competency with both gives you more tools to understand what you're doing on whichever one you pick.
Crucially, whatever specific languages/frameworks you pick today are unlikely to be the same you'll be using in, say, five years time, so just look at those as tools to get the job done, and focus on learning the fundamentals — Learn what's fast and what's slow, what's resilient and what's brittle, etc etc. Those are the skills that will lead you to better jobs later on.
"Crucially, whatever specific languages/frameworks you pick today are unlikely to be the same you'll be using in, say, five years time" , I think that's more true for frameworks than for languages, and even more true for front end world than backend. If he picks up java spring/.net he's gonna be good 15 years from now imo. I'd even bet on Rails/Laravel and friends to still be relevant in 15 years. Can't say that about React though.
React has now been relevant for 6 years and it's still growing AFAIK. I don't think we get to lump it into this category of coming and going JS frameworks anymore.
I'd bet on some of the core concepts from frameworks being relevant in 15 years - hierarchies of nested visual components that encapsulate raw HTML, systems which atomically update state based on incoming events, and so on.
I should've been clearer — Some part of this will be the usual tech churn, of course, but another part of this is that you shouldn't pigeonhole yourself into a $language developer, for whatever value of $language you chose when you first started learning. As the OP gets into the industry and starts learning stuff, there's a fair chance they'll end up changing their tech stack of choice.
React has been around for 6 years and seems to be getting better and more common, not less at the moment. I can't see a huge reason to switch on the horizon, wheras in the previous iterations of knockout.js, angular and ember there were some pretty clear things that were big pain points for me. In the 2009-2013 timeframe I think thats where the framework meme started - I can't say its nearly as accurate in 2019.
On top of that, it does everyone good to understand web accessibility concerns and implement them from the start of each project (far easier than trying to retrofit things later).
Once you have a firm handle on those things, you can better evaluate frameworks and libraries. You may find that you won't need all the overhead that comes with helpful libraries if you have a specific use case that standard js/css can solve.
I spend a lot of my time reading documentation/github issues for a variety of things (node, drupal, wordpress, hugo, frameworks, php, javascript, docker, vagrant, bash) and parsing how that info can help me integrate the tools and programs I use everyday.
If documentation doesn't exist, I try to create my own barebones doc with links to info I've found and a list of questions to research later.
Web Dev, for me, has been all about solving puzzles, finding solutions, and sometimes simply discovering the right terms to search for.
This continuous learning process can feel like I'm starting from scratch over and over (and feeling like I know nothing each time ;) ), but lessons learned from previous projects usually make future ones easier to learn/identify problem areas.
It's good to embrace that uncertainty.
There is so much out there to learn, no one can know it all, but if you can learn to identify good mentors, quickly parse documentation and apply current best practices you'll do just fine.
Considering the big three frameworks are React (6 years), Angular (3+ years), AngularJS (9 years, deprecated) and Vue (5+ years) .. the churn really isn't what it once was. Yes, there are new options popping in and out, but even hyperapp and inferno are 2yo since 1.0.
Not all things have stood still, that said the frameworks are definitely still around, and barring a relatively few breaking changes, the past 3-5 years have been relatively stable now. Yeah, you can do react functional components with hooks, but the class syntax still works.
I'd actually pick up php with one of the simple frameworks like Laravel (or even go frameworkless in the beginning). I think it's a bit more straightforward than picking up Node. Otherwise Rails is nice for beginners as well and has a big market in the U.S. Java/.NET aren't beginner friendly at all.
This question feels similar to "I decided to switch my career and become a surgeon. Which organs should I focus on first so I can start earning income right away?"
It doesn't really work that way. "Web Dev" is not a job; it's a generic name for an industry that covers a multitude of different specific jobs, each with their own specific (and overlapping) skill sets, and all of which are a subset of the much larger "Software developer" industry.
I don't really have any advice here. My approach was learning to program computers and gradually building my skills from the ages of 12 to 26, including several paid part-time/temporary jobs towards the end. Then a friend asked me to leave graduate school and take a programming job at his company, to take over a project he didn't want to run. I took the slow road, and stumbled into the career on a whim. (I'm a Mechanical Engineer and thought I'd be building robots, with programming just being one of the tools of my job.)
This analogy makes _zero_ sense. You can make a living working exclusively with PHP, JS or RoR, for example, and the barrier of entry is nowhere near becoming a surgeon (and getting lower every day).
Plenty of people switch careers as adults, and they can be as successful as folks that “play with computers” since they were kids. It’s perfectly possible to become a productive developer with very few formal training these days.
Exclusively? I don't believe you can have a software development career working exclusively with PHP, JS, or RoR. That's far too limited a breadth of knowledge. At best you might make some money on the side if that's all you know, but no company is going to hire you as a full-time professional developer based on just that.
I wasn't saying that learning everything you need to learn for web development is as difficult as going through med school and becoming a surgeon. What I meant was that there are a ton of different technologies and specialties in web development, and you need to know what your specialty is before you can know what technologies you'll need. There are all kinds of different surgeons too, that specialize in particular organs. You can't just say "I want to be a surgeon, which organ should I learn" because it depends on what kind of surgeon you're going to be. Also, it wouldn't just be one organ because the body is a complex system of interrelated parts, and you need to know about all of that too if you want to be a good surgeon. Web development is like that too; you may specialize in PHP, JS, or RoR, but there are a lot of other related and intertwined technologies you're also going to need to know about.
While I agree with this, I don’t want to discourage OP. You don’t have to spend 10 years learning the basics before calling yourself a web dev.
Learning web dev(or programming in general) is very much like how babies learn to speak. You don’t have to learn all the alphabets, rules and grammars before you learn to speak. You can still observe what others are doing, copy it, reason about it, draw interesting patterns from it and continue your learnings from there.
Op: So go ahead, jump right in. Open your browser’s javascript console and start playing. Learn React and build small apps. Pick python and build servers. Not everything will intuitively click, but push regardless. You’ll eventually understand everything. After all, the more dots you collect, the more ways you can connect them!
Big difference is that a surgeon cannot fiddle around with a liver, jam it back in the body, wake the patient up, test how the change works, and address (or revert if really messed up) any unexpected and unwanted behavior.
I agree "Web dev" has a very long learning curve, but there is opportunity to be productive and helpful at many, many different points along that curve.
You're right, as software developers we have the advantage of being able to create an offline replica of the software we're working on, which we can experiment with without doing any harm. We've learned, through experience, to do that instead of poking around and testing things on our production website. That's one of the many things we had to learn (and which isn't an acronymed technology), which differentiates "career" software developers from hobbyists.
Like I said in my post, I don't really have advice to give. I don't know any short cuts to get from "I don't know anything but I'm willing to learn" to "I can convince a company to hire me full-time so I have a career". Companies have internships where they hire people who are just starting the learning curve, but that's generally unpaid (or very low-paid) and for very young future developers.
I consider myself very lucky to have taken the career path I've taken. It wasn't planned at all, and I don't know how I would have planned it.
It might be better to phrase this as “make sure you enjoy the work in the long run.” I know people who switched from low income work to dev, and they’re some of the best developers now.
This sort of judgmental classicist helps no one. Plenty of people work in tech (or in any other area) primarily to pay the bills, and they don’t make anyone around then “miserable”.
If you're a "pure developer", I suspect someone like OP won't be looking at the kind of job you work in.
However, I suspect you're less concerned about your work environment than salaries being pulled down, or the "developer culture" being changed.
I will say that at different times in my life I've shared your attitude. I do believe there are those that are being sold on hype that may be out of line with reality. However, I'd rather work with someone who is novice and hungry than someone who is elitist.
Great comment. Now when I think about it, it makes sense to have some indifferent "web devs" to do stuff no one else wants to, somewhat like janitors. They won't care as long as it pays their bills anyway.
> suspect you're less concerned about your work environment than salaries being pulled down
Actually I was more concerned about my work environment. With development it's really hard to get a salary that is not directly proportionate to what your skills are worth.
> it makes sense to have some indifferent "web devs" to do stuff no one else wants to, somewhat like janitors. They won't care as long as it pays their bills anyway
Exactly. I think there's a lot of folks in our industry who found themselves sitting pretty, but the truth is, a large portion of their job is this kind of work. When employers discover that part of your job can be hired cheaper, you tend to move up or move out.
> When employers discover that part of your job can be hired cheaper
Interesting point. That’s the ideal world situation which encourages self-improvement, self-development. A “natural selection” of sorts. Unfortunately in real world, management that’s smart about resource management and allocation is rare. Very often you can see waste where high-paying devs with valuable skills being tasked to do work that can be outsourced for pennies, or work that can be easily done by a cheap bootcamp graduate. (there are exceptions of course, e.g with dev resource hoarding in big tech)
These questions usually reflect the fear or ignorance of the questioner. There are obviously unlimited high paying jobs, but it will probably will be hard for you if this question pops in your head.
If you are really interested, just start and learn and apply jobs, that's it. If you do not care about programming, don't even start.
It’s absolutely a great career with high demand. I’d start looking at freecodecamp.com. It sounds like you’re very early in this process so you’ll probably need to fight off decision paralysis. Just start something and keep going. You will figure out, soon enough, what you enjoy and what you don’t. You can do this! I’ve mentioned several people in similar situations, and it’s very doable.
Look at jobs in your area to see what's in demand. PHP is king where I live for example, there's not much else. Some places are all full stack Javascript. In Japan Ruby is still huge.
So I'd check what's in demand and then try to use it immediately to make some useful websites; ghat way you can build a portfolio while you learn.
1. It matters where you are geographically as to which tech stack is hot/viable.
2. It matters what industry you are in/coming from both for which tech stack is used, and for how much value you can contribute.
3. A web search (indeed, linkedin etc) for dev jobs is likely to tell you a lot more about these two in terms of what is avaiable, what they are looking for and so on than any generic advice you receive here.
For instance, if you have a background in trading stocks, and are in NYC, then secure web interfaces might be a big deal. If you are have a background in marketing and are in a big city, then single page apps might be your ticket. If you came from Oil and Gas, in Houston, then who knows.
I guess I see your point, but if you're in NYC I really don't think getting into legacy financial institution web portals is good advice. If you want to do trading algorithms or something, sure there are those opportunities (though you may need a background in math or some experience in finance already). If you want to do web development, there are tons tech startups in NY as well as many major tech company hubs (Google, Facebook, Twitter, etc) and headquarters (Etsy, Kickstarter, etc).
A better way to think of it is probably, if you want to work at a tech startup (which aren't easy to find in every city, so it's contingent on you being near some type of tech hub or doing remote work), then dynamic web languages and js frameworks are good things to learn, like ruby on rails, python/flask, node/express, React on the frontend, etc. Small to medium sized companies can sometimes be easier to get your foot in the door and can be less competitive to get into than FAANG companies for instance, so this can be a good bet.
If you want to work at a bigger company (or one that is not traditionally a tech co, perhaps because the area you live doesn't have a lot of tech companies), then stacks like Java/Spring, C++, C#/.Net, etc. can be more useful.
Either way, the important thing is to start somewhere. Most companies will let you do interview problems in whatever language you're familiar with, and a lot of companies won't require that you have experience with their exact stack as long as you are a good programmer overall.
Just to be clear on what I was trying to say: I didn't mean to use those examples as actually concrete advice of what to pursue. Those were example of how different things can be.
The only concrete advice was to boot up indeed.com or whatever engine, and see what is actually out there, how much it pays, what skills they are looking for and so on.
I am sure your examples are much closer to the state of affairs than mine were.
Yes, web dev is still viable and will be for a long time to come. You can't go wrong learning the basics of front end (HTML, CSS, JavaScript), the latter of which also gets used on the back end quite regularly nowadays.
You'll also have to get good working with the web environment (understanding how servers and requests work, APIs, etc), with developer tools (the Terminal, your IDE, Git, etc.), and likely some frameworks (e.g. Express on the back end, React on the front end.)
Context: assuming you're in the US, near a major city. If you're not, my advice probably doesn't apply.
Totally viable, but getting your first job is as much an exercise in grit and hustle (ugh, yes, I know), and self-promotion as it is technical ability. Yes, it is important to learn whatever tech people recommend you (HTML/CSS/JS, and then Node + React would be my recommendation). However, it's just as important to then build a bunch of projects and network/sell yourself to anyone that would give you a chance. It can be hard to get your first job and get someone to take a chance on you - but it is absolutely viable.
To add to this... learn enough git to setup your projects in github. Setup an organization in github as yourid-samples or yourid-learning ... that way you can keep it out of your main user repo.
I have a dokku box (there's a market setup on DigitalOcean, would go with at least a $10 box on DO). You can then setup all your projects on the dokku box as you go. `git push deploy` ... bonus if you can get integrated with Github's CI/CD pipelines.
I see a lot of example sites from those who come out of bootcamps, or on their own learning path... the extra bit is actually having running samples. It's easy enough to get a domain name and point *.domain at a dokku box.
The other extra points part will be to have tests with code coverage on your projects. Frankly, a lot of code/modules that go into production don't have this, so it's not a hard requirement, but is something that will put you ahead of competition when starting out.
If you have no knowledge at all, I'd suggest getting started with "Head First HTML And CSS"[1]. It's not the most in-depth, but a pretty good beginner book for getting started. From there I would go through the "Modern JavaScript"[3] series from O'Reilly as well as "CSS: The Definitive Guide"[3].
From there, it's a matter of what interests you. Though React, Angular or Vue would be good next steps. Followed by backend with Node.js as well as PostgreSQL (or MS SQL). From there, the sky is the limit.
Before offering an answer, what do you mean here by "web dev?" It's currently a very wide field, so I'd like to know what your _current_ plan for entry is.
What's your current tech or programming background? Do you have a formal education? It's not a big deal if you don't, but it affects how you may want to enter the field. Have you worked on any coding projects in the past?
How much time and effort are you willing and able to commit to this career move?
If you answer at least one or two of these, I'll be able to give you a much more informed answer.
69 comments
[ 2.9 ms ] story [ 17.4 ms ] threadtl;dr it depends.
As long as you know a programming language, you can get a job like mine. Many companies could careless what "tech stack" you know.
edit: fix years of experience
I live in the bay area. I think my salary is average for my experience level. https://www.levels.fyi/
But more important than the "tech stack" is the fundamentals, what is your background?
https://www.indiehackers.com/products?minRevenue=2000 https://www.capterra.com/categories
If the skills you pick up are too focused on one stack, it makes it much harder to transition to a new one when that stack inevitably falls out of vogue. Study up on paradigms, not frameworks; e.g. OOP, Functional Programming, MVC, good coding style (code readability and maintainability are EXCEEDINGLY important), etc...
Once you have a solid platform to stand on, you will find that you can transition these concepts from framework to framework, and only have to focus on the syntax changes and a little bit of under the hood stuff.
To get started, you'll want to learn enough Javascript/HTML (CSS can wait) that you understand how a frontend builds on top of the data it's getting from the backend, and you'll want to learn enough Java/Python/Ruby/Node.js that you can spin up a fresh "hello world" http server in a few minutes, and enough SQL that you can back that service with a database that gives you "hello world" in a language appropriate to the request you received.
That'll give you a "full stack" core to build upon. You'll probably want to specialise either on frontend or backend work, but having that core competency with both gives you more tools to understand what you're doing on whichever one you pick.
Crucially, whatever specific languages/frameworks you pick today are unlikely to be the same you'll be using in, say, five years time, so just look at those as tools to get the job done, and focus on learning the fundamentals — Learn what's fast and what's slow, what's resilient and what's brittle, etc etc. Those are the skills that will lead you to better jobs later on.
The tools and popular frameworks change about every 3 years. (As a web dev since 96 I feel qualified enough to say.)
That said, fundamentals are key. Learn/brush up on standard Javascript and CSS before diving into the current frameworks.
ES6 Javascript has a lot to offer, https://www.youtube.com/watch?v=STZuv-27d9M and the Grid/Flex options in CSS can allow you to create a variety of complex layouts in a fairly quick way. https://www.css-tricks.com
On top of that, it does everyone good to understand web accessibility concerns and implement them from the start of each project (far easier than trying to retrofit things later).
Once you have a firm handle on those things, you can better evaluate frameworks and libraries. You may find that you won't need all the overhead that comes with helpful libraries if you have a specific use case that standard js/css can solve.
I spend a lot of my time reading documentation/github issues for a variety of things (node, drupal, wordpress, hugo, frameworks, php, javascript, docker, vagrant, bash) and parsing how that info can help me integrate the tools and programs I use everyday.
If documentation doesn't exist, I try to create my own barebones doc with links to info I've found and a list of questions to research later.
Web Dev, for me, has been all about solving puzzles, finding solutions, and sometimes simply discovering the right terms to search for.
This continuous learning process can feel like I'm starting from scratch over and over (and feeling like I know nothing each time ;) ), but lessons learned from previous projects usually make future ones easier to learn/identify problem areas.
It's good to embrace that uncertainty. There is so much out there to learn, no one can know it all, but if you can learn to identify good mentors, quickly parse documentation and apply current best practices you'll do just fine.
Not all things have stood still, that said the frameworks are definitely still around, and barring a relatively few breaking changes, the past 3-5 years have been relatively stable now. Yeah, you can do react functional components with hooks, but the class syntax still works.
It doesn't really work that way. "Web Dev" is not a job; it's a generic name for an industry that covers a multitude of different specific jobs, each with their own specific (and overlapping) skill sets, and all of which are a subset of the much larger "Software developer" industry.
I don't really have any advice here. My approach was learning to program computers and gradually building my skills from the ages of 12 to 26, including several paid part-time/temporary jobs towards the end. Then a friend asked me to leave graduate school and take a programming job at his company, to take over a project he didn't want to run. I took the slow road, and stumbled into the career on a whim. (I'm a Mechanical Engineer and thought I'd be building robots, with programming just being one of the tools of my job.)
Plenty of people switch careers as adults, and they can be as successful as folks that “play with computers” since they were kids. It’s perfectly possible to become a productive developer with very few formal training these days.
I wasn't saying that learning everything you need to learn for web development is as difficult as going through med school and becoming a surgeon. What I meant was that there are a ton of different technologies and specialties in web development, and you need to know what your specialty is before you can know what technologies you'll need. There are all kinds of different surgeons too, that specialize in particular organs. You can't just say "I want to be a surgeon, which organ should I learn" because it depends on what kind of surgeon you're going to be. Also, it wouldn't just be one organ because the body is a complex system of interrelated parts, and you need to know about all of that too if you want to be a good surgeon. Web development is like that too; you may specialize in PHP, JS, or RoR, but there are a lot of other related and intertwined technologies you're also going to need to know about.
Learning web dev(or programming in general) is very much like how babies learn to speak. You don’t have to learn all the alphabets, rules and grammars before you learn to speak. You can still observe what others are doing, copy it, reason about it, draw interesting patterns from it and continue your learnings from there.
Op: So go ahead, jump right in. Open your browser’s javascript console and start playing. Learn React and build small apps. Pick python and build servers. Not everything will intuitively click, but push regardless. You’ll eventually understand everything. After all, the more dots you collect, the more ways you can connect them!
I agree "Web dev" has a very long learning curve, but there is opportunity to be productive and helpful at many, many different points along that curve.
Like I said in my post, I don't really have advice to give. I don't know any short cuts to get from "I don't know anything but I'm willing to learn" to "I can convince a company to hire me full-time so I have a career". Companies have internships where they hire people who are just starting the learning curve, but that's generally unpaid (or very low-paid) and for very young future developers.
I consider myself very lucky to have taken the career path I've taken. It wasn't planned at all, and I don't know how I would have planned it.
if this switch is only to pay your bills you will be miserable. And will make everyone around you miserable.
It's a pain and struggle to work with people who are only in this for a quick buck, who can't care any less about actual software development.
https://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen...
If you're a "pure developer", I suspect someone like OP won't be looking at the kind of job you work in.
However, I suspect you're less concerned about your work environment than salaries being pulled down, or the "developer culture" being changed.
I will say that at different times in my life I've shared your attitude. I do believe there are those that are being sold on hype that may be out of line with reality. However, I'd rather work with someone who is novice and hungry than someone who is elitist.
> suspect you're less concerned about your work environment than salaries being pulled down
Actually I was more concerned about my work environment. With development it's really hard to get a salary that is not directly proportionate to what your skills are worth.
Exactly. I think there's a lot of folks in our industry who found themselves sitting pretty, but the truth is, a large portion of their job is this kind of work. When employers discover that part of your job can be hired cheaper, you tend to move up or move out.
Interesting point. That’s the ideal world situation which encourages self-improvement, self-development. A “natural selection” of sorts. Unfortunately in real world, management that’s smart about resource management and allocation is rare. Very often you can see waste where high-paying devs with valuable skills being tasked to do work that can be outsourced for pennies, or work that can be easily done by a cheap bootcamp graduate. (there are exceptions of course, e.g with dev resource hoarding in big tech)
https://news.ycombinator.com/newsguidelines.html
If you are really interested, just start and learn and apply jobs, that's it. If you do not care about programming, don't even start.
So I'd check what's in demand and then try to use it immediately to make some useful websites; ghat way you can build a portfolio while you learn.
1. It matters where you are geographically as to which tech stack is hot/viable.
2. It matters what industry you are in/coming from both for which tech stack is used, and for how much value you can contribute.
3. A web search (indeed, linkedin etc) for dev jobs is likely to tell you a lot more about these two in terms of what is avaiable, what they are looking for and so on than any generic advice you receive here.
For instance, if you have a background in trading stocks, and are in NYC, then secure web interfaces might be a big deal. If you are have a background in marketing and are in a big city, then single page apps might be your ticket. If you came from Oil and Gas, in Houston, then who knows.
A better way to think of it is probably, if you want to work at a tech startup (which aren't easy to find in every city, so it's contingent on you being near some type of tech hub or doing remote work), then dynamic web languages and js frameworks are good things to learn, like ruby on rails, python/flask, node/express, React on the frontend, etc. Small to medium sized companies can sometimes be easier to get your foot in the door and can be less competitive to get into than FAANG companies for instance, so this can be a good bet.
If you want to work at a bigger company (or one that is not traditionally a tech co, perhaps because the area you live doesn't have a lot of tech companies), then stacks like Java/Spring, C++, C#/.Net, etc. can be more useful.
Either way, the important thing is to start somewhere. Most companies will let you do interview problems in whatever language you're familiar with, and a lot of companies won't require that you have experience with their exact stack as long as you are a good programmer overall.
The only concrete advice was to boot up indeed.com or whatever engine, and see what is actually out there, how much it pays, what skills they are looking for and so on.
I am sure your examples are much closer to the state of affairs than mine were.
You'll also have to get good working with the web environment (understanding how servers and requests work, APIs, etc), with developer tools (the Terminal, your IDE, Git, etc.), and likely some frameworks (e.g. Express on the back end, React on the front end.)
You can make it quite far with just that.
Totally viable, but getting your first job is as much an exercise in grit and hustle (ugh, yes, I know), and self-promotion as it is technical ability. Yes, it is important to learn whatever tech people recommend you (HTML/CSS/JS, and then Node + React would be my recommendation). However, it's just as important to then build a bunch of projects and network/sell yourself to anyone that would give you a chance. It can be hard to get your first job and get someone to take a chance on you - but it is absolutely viable.
I have a dokku box (there's a market setup on DigitalOcean, would go with at least a $10 box on DO). You can then setup all your projects on the dokku box as you go. `git push deploy` ... bonus if you can get integrated with Github's CI/CD pipelines.
I see a lot of example sites from those who come out of bootcamps, or on their own learning path... the extra bit is actually having running samples. It's easy enough to get a domain name and point *.domain at a dokku box.
The other extra points part will be to have tests with code coverage on your projects. Frankly, a lot of code/modules that go into production don't have this, so it's not a hard requirement, but is something that will put you ahead of competition when starting out.
If you have no knowledge at all, I'd suggest getting started with "Head First HTML And CSS"[1]. It's not the most in-depth, but a pretty good beginner book for getting started. From there I would go through the "Modern JavaScript"[3] series from O'Reilly as well as "CSS: The Definitive Guide"[3].
From there, it's a matter of what interests you. Though React, Angular or Vue would be good next steps. Followed by backend with Node.js as well as PostgreSQL (or MS SQL). From there, the sky is the limit.
[1] https://www.amazon.com/Head-First-HTML-CSS-Standards-Based-d...
[2] https://mjavascript.com/
[3] https://www.amazon.com/CSS-Definitive-Guide-Visual-Presentat...
What's your current tech or programming background? Do you have a formal education? It's not a big deal if you don't, but it affects how you may want to enter the field. Have you worked on any coding projects in the past?
How much time and effort are you willing and able to commit to this career move?
If you answer at least one or two of these, I'll be able to give you a much more informed answer.