About a year ago, I got laid off from my ten year old job, which was my first full-time job. I worked as webmaster (mostly HTML and CSS), but also did tech support and learned many other things aside from programming. When I was in college, I learned the C programming language, VB.NET, and C# and my approach to programming always was clear to me (my train of thought).<p>Back to my present situation, I found a job as a junior web developer around 6 months ago, where I have been able to get the rust off my dormant programming skills, but the programming approaches and technologies they use are around 20 years old. I really want to get experience to later on get a job with modern technologies. I've been reading about Typescript, node.js and Angular.<p>For those with experience on the field, which of these (or other) technologies would you recommend learning for someone like me? Would there be a particular order? Thanks in advance.
I suggest specialization. If you're 80% as skillful as necessary to make an impact at 8 different skills, that means you make an impact at nothing. If you're good at one thing and very green at everything else, you're employable.<p>It's great that you have some experience with C and that will give you a perspective on how things work at the machine level, but my advice would be to go the opposite direction. As a junior, the area of the stack where you can most quickly prove your chops and where you'll get the most companies willing to trust you is probably going to be the front-end of the front-end.<p>If I were you, I'd learn CSS and a framework (preferably Tailwind) well enough to clone any design you see on the web. I'd be cloning a different site every day. Of course JS will help too, and pick up what you need, but I'd stay laser focused on getting good at and fast at building any responsive site you see. If you can do that, you'll have no problems finding work. After half a year or so on the job, you can start working down the stack and getting better at JS and then databases and other technologies.<p>Also, I'd put about 10% of my time (and I still do) into improving with workflow related tools, like your editor, git, the browser console, etc, etc. It adds up over time.
I suggest you stick with the most popular tools in each category.<p>Front-end: Typescript, React.js + Next.js together, TailwindCSS<p>Back-end: Node.js + Express.js together<p>Database: PostgresSQL/MySQL. Either is fine.<p>If you learn these, you can create a modern full-stack web app that is production ready. This is also my personal go-to stack for web apps.<p>Some might suggest more hipster frameworks to learn but since you're a beginner, you should learn the most popular ones first because there are way more resources to learn and bigger communities to get help from.
Make sure you start with a good foundation in JavaScript and node before moving to typescript and react. As an alternative to react and nextjs you might also take a look at vuejs and nuxtjs.