For a Friend: From Infrastructure to Web Development in 2025

- Lire en français

After a meetup where I delivered a talk on optimistic UI, a friend approached me with an interesting query. He primarily works in infrastructure, dealing with Linux, Terraform, and Kubernetes, and dabbled in web development years ago. He asked, "I'd like to get back into web development. Where should I start?"

The question struck me as both interesting and highly relevant. Web development is a vast and sometimes perplexing field from the outside. It evolves rapidly, with new tools, libraries, frameworks, and best practices emerging constantly. It can seem daunting, especially the JavaScript world, where JS fatigue is a common challenge.

Important

Regardless of your background, this advice applies universally. Remember, though, this is based on my experience, vision, and opinion—not an absolute truth.

Before I offer any advice, it's crucial to understand the context. How my friend intends to use web development will influence the recommendations. I see two main paths:

  1. Web development as a hobby: Creating personal projects, learning, and having fun.
  2. Web development as a career: Working in a company to build products and collaborate with a team.

The approach also varies by location, as different countries have distinct markets and favored tools. Here, we're focusing on creating websites or web applications, not developing tools or libraries.

In recent years, I've experimented with numerous tools, libraries, frameworks, and languages. Finding the right stack can be challenging and time-consuming. Guidance at the start of your journey can save significant time and prevent spreading yourself too thin amid the constant influx of new tools.

Let's start with the essentials.

The Basics

The foundations of web development are HTML, CSS, and JavaScript. Here are some resources to learn them:

These resources will provide a solid foundation. Don't spend excessive time on them—while fundamentals are essential, they are just the starting point. Keep the Mozilla Developer Network (MDN) as your go-to reference guide.

Backend or Frontend

Many newcomers prefer to explore frontend frameworks like React, Vue, or Angular. Others may opt for a Node.js backend with Express, leveraging their comfort with JavaScript.

However, neither path is ideal at the start. Using a frontend framework too early or diving into the Node.js ecosystem can be overwhelming. My recommendation is to start with PHP and Laravel.

Note

Laravel is a web application framework with an expressive, elegant syntax, allowing you to create apps effortlessly.

Forget any preconceived notions about PHP being outdated or cumbersome. The language has evolved significantly, making PHP development comfortable and efficient.

Here's why PHP and Laravel are recommended:

  • Laravel's documentation at laravel.com is one of the most comprehensive.
  • The Laravel package ecosystem is vast, well-maintained, and documented, providing resources even for niche needs.
  • Laravel's community is supportive and resource-rich, with platforms like Laracasts offering extensive learning materials across web development topics. You can't find a better resource for learning web development.
Subscribe to Laracasts with my referral link

Learn PHP and Laravel

On Laracasts, I recommend following the path, which guides you from PHP basics to advanced Laravel concepts. Here are some courses to consider:

Things Start to Get Messy

Once comfortable with PHP and Laravel, begin building with Blade, pure CSS, and JavaScript. Recognize why more powerful tools are necessary before adopting them.

When CSS and JavaScript management become challenging, learn Tailwind CSS and Vue.js for enhanced maintainability and interactivity:

  • Tailwind CSS is a utility-first CSS framework, making you more productive by eliminating direct CSS file edits, bloated stylesheets, and repetitive classes.
  • Vue.js is a progressive JavaScript framework, easy for beginners, with technical advantages over React and Angular.

Explore Laracasts for courses on these technologies and thoroughly read their documentation to understand capabilities and limitations before usage.

Become a Full-Stack Developer

Achieving full-stack development proficiency is possible with the right approach and tools.

Avoid building a Single Page Application (SPA) with a REST API unless necessary. Over-engineering complicates maintenance without proper justification.

Once familiar with Laravel and Vue.js, learn Inertia—a protocol that combines server-driven simplicity with SPA power. Laracasts offers a series on it, helping you become a full-stack developer capable of building various web applications.

Some More Tools

To avoid JavaScript package management fatigue, use pnpm, a fast, space-efficient package manager suited for all needs, from mono-repos to local dependency patching.

For documentation or content-centric websites, leverage VitePress, a static site generator powered by Vue and Vite. Familiarity with Vue.js makes it easy to adopt.

VitePress for a Personal Website, Is That Possible?

For applications requiring API integration, consider Nuxt, a Vue.js meta-framework supporting various build styles, offering a powerful and well-documented solution.

You might find other tools appealing, but consistency leads to mastery. Focus on these recommended tools and deepen your knowledge.

Additionally, keep an eye on:

  • UnJS, a growing ecosystem of well-crafted JavaScript libraries.
  • Spatie, a web development agency offering valuable PHP and Laravel packages.

For the Work

While these recommendations suit hobbyists and provide in-depth web development knowledge, adapt to market trends for professional work. In France, for example, Java with Spring Boot and Angular are in demand. Focus on core concepts for flexibility in tool or company transitions.

Stay motivated amidst the learning curve. The journey is long but rewarding. Embrace the learning process, connect with peers, and enjoy building creations. Web development is gratifying and offers boundless possibilities.

I hope this post assists you in embarking on your web development journey. Feel free to leave comments or share your experiences with us. 💜

Profil Picture of Estéban

Thanks for reading! My name is Estéban, and I love to write about web development.

I've been coding for several years now, and I'm still learning new things every day. I enjoy sharing my knowledge with others, as I would have appreciated having access to such clear and complete resources when I first started learning programming.

If you have any questions or want to chat, feel free to comment below or reach out to me on Bluesky, X, and LinkedIn.

I hope you enjoyed this article and learned something new. Please consider sharing it with your friends or on social media, and feel free to leave a comment or a reaction below—it would mean a lot to me! If you'd like to support my work, you can sponsor me on GitHub!

Support my work
Follow me on