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:
- Web development as a hobby: Creating personal projects, learning, and having fun.
- 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:
- Apprendre l'HTML with Grafikart.
- Découverte du CSS with Grafikart.
- Apprendre le JavaScript with Grafikart.
- HTML & CSS Crash Course Tutorial with the Net Ninja.
- Modern JavaScript Tutorial with the Net Ninja.
- JavaScript DOM Tutorial with the Net Ninja.
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:
- PHP for Beginners.
- 30 Days to Learn Laravel.
- Build a Forum With Laravel. This course is challenging, but find related courses for concept clarifications when needed.
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. 💜
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!