Skip to main content

For a Friend: From Infrastructure to Web Development in 2025

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.

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.
Profile picture of Estéban

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

I've been coding for several years, and I'm still learning new things every day. I share what I learn because I would have appreciated clear and complete resources when I started programming.

If you have a question or want to chat, leave a comment below or reach out through my social profiles.

I hope you learned something useful. Share the article, leave a comment, or add a reaction if you did. Support my work on GitHub.

Follow me

Estéban Soubiran

Software engineer, conference speaker, and open source enthusiast.

What do you think?

Discussions

Loading discussions...

Add a comment

Checking your session...