That is an impossible to answer. The “minimum”? It would depend.
The list you have is a list of technologies. Do you mean that all of those are required to get and entry level position? Not at all. Some of those are “redundant”, like having React, Angular, and Vue - those all do basically the same thing. You have Node and PHP - those are both backends. There may be some jobs that require both, but I think most would require one, many, many jobs would want a different backend, and some would require none.
In general terms, if I were to make a list, I’d want the following:
solid HTML, CSS, and JS
at least one modern view library (React, Angular, maybe Vue)
build some good frontend projects with the above, preferably not just tutorial and lesson stuff, but some stuff conceived and designed by you - it doesn’t have to be an amazing idea, just well coded
learn some basic backend and have a credible fullstack
build a few fullstack projects
By the way, the FCC curriculum gives you the foundations of a solid MERN stack.
After that, I’d want you to keep learning, building new things, work on some open source, team up with some other developers, etc.
After about step 3 above you could start applying. But the further down the list you get, the better your odds.
I am not too familiar with Django and Flask (used intermittently), but I would say they are both backend-related, not frontend.
Maybe you could add something like:
Static Typing: TypeScript
To become a employable junior you missed some stuff:
Svelte, Laravel, C, C++. Some people would add Fortran and Cobol, but I think that would be too much.
I would also add Java, Spring, Kafka and RabbitMQ.
Nowadays AWS isn’t all you need in the cloud, you should also learn Azure and GCP.
Most of the times Juniors also have to administrate Linux Servers, so you should at least be proficient in Debian, Ubuntu, CentOS and Arch and know how to write shell scripts.
If you go the lazy route and invest only 40-50h per week, you should have these skills in 10y and start your first job. Good luck
Perl is something that’s really important that everyone seems to have missed. And some other scripting languages (like TCL) in addition to bash, as well as Awk and Sed. Functional programming is really important, so knowing Haskell is a must. And afaik I juniors generally need to know at least Go, Kotlin, Swift and Rust just to cover the more recent languages bracket. Also Unity and Unreal Engine in case they’re asked to make some games (and in turn, they’ll need to know Blender to make the assets for them).
(/s if you hadn’t got that @kennykenny.l – you don’t need to know most of the technologies you listed, as covered in some of the other answers. Trying to learn all of them off your own back & get good at them all will likely take you years, for no benefit)
As kevinSmith pointed out, Angular, React, and Vue are all the same sort of thing. You do not need to learn all 3, only one of them, well at least at first, anyway. React is probably the most popular of the 3 in industry right now.
Django and Flask are both Python back-end frameworks as already stated. You do not need to learn both of them either, since they are also the same type of thing. Pick one of them. Flask is said to be more accessible to beginners (I’m not familiar with it, so can’t speak to that personally).
There are generally two kinds of databases - SQL (i.e. MySQL, PostgreSQL, SQL Server) and NoSQL (MongoDB, Redis, et al). The only thing you should learn first as far as databases go is SQL in general (relational databases are still very prolific today) and how NoSQL databases are different. MongoDB and Redis are prevalent today, you can pick either one to explore further.
Containers and DevOps-related topics like Docker and Kubernetes are typically relegated to an entirely different type of job position than your typical dev position. While it can be useful to learn those eventually, you can totally skip those if you’re just interested in only web development.
You don’t need to learn anything about AWS at first as a web developer. That will likely come eventually at some point, but you can skip that when you’re starting out.
Agile is a nebulous term that can mean a lot of things. But you don’t need to know very much about it to be employable. A lot of it will be naturally learned on the job.
You should know what RESTful APIs are and how to consume from them to be considered job ready.
Many thanks astv99, your answer really helps filtering out where a newbie likes me should focus on.
I have been doing the responsive web design course on freeCodeCamp for two weeks. I found the concept and the languages itself (html, css) are easy to grasp (I consider myself proficient in Python, reckon that helps), so the technical aspect I do not worry much at this stage.
But I was thinking will the lack of talent in design and artistic aspect in general (e.g. putting colors in a good match) be a problem in career development?
The vast, vast majority of developers are not and have no need to be skilled in design, it’s a completely different specialisation. Not having those skills is likely to have zero effect on career development as a programmer.
Exactly what DanCouper said, and almost all companies hire separately for designers vs developers. No one person will be expected to have both design & development skills. Pretty much the only scenarios in which it might be useful to have both skills are if/when you’re starting your own business/project/app, or working for a brand-new startup in which you’d be the sole person for design & development. And as you might imagine, you’d need to be very good at both at that stage.