Nota: Este post esta basado en https://www.youtube.com/watch?v=sZVqGIW6Jno
Aquí un roadmap para ser desarrollador C#.
1. Aprender C# desde la consola.
- Aprende a usar la consola para crear proyectos, compilarlos y ejecutarlos.
- Conoce el lenguaje, los paradigmas que usa. Los tipos de datos, estructuras de control (if, if-else, for, while, etc.) y estructuras de datos.
- Entiende lo que es el paradigma orientado a objetos.
- Crea aplicaciones de consola para aprender y poner en práctica los fundamentos.
- Crea aplicaciones para el manejo de archivos (abrir archivos, crearlos y borrarlos).
- Crea aplicaciones para acceder a BD (el clásico CRUD).
- Crea aplicaciones para acceder a API's públicas.
Nota: Olvídate de aprender Visual Basic .NET a menos que tengas que trabajar con código legado. También olvídate de las aplicaciones tipo ventana (Windows Forms) a menos que sea necesario. Y centrate solo en .NET y no en .NET Framework.
Domina lo básico antes de entrar al desarrollo web.
2. Aprender ASP .NET MVC
- Comprende el concepto de Modelo-Vista-Controlador. Aprende WepApi, Api Controllers, Routing, ViewModels y MVVM.
- No aprendas Razor Pages y/o Blazor (solo si no quieres aprender Javascript).
- Tampoco Net MAUI.
Si entiendes las bases del Modelo-Vista-Controlador estás listo para el siguiente paso.
3. Aprende HTML, CSS y Javascript (y Typescript)
- Como maquetar una página web, aprender las etiquetas HTML.
- Cómo darle estilo a una página web con CSS.
- Cómo crear eventos con Javascript, cómo usar funciones como fetch, etc.
- Aprende Typescript, un Javascript de tipado.
- Entender lo básico de Node JS.
- Aprende React JS (no empieces con Angular, ya que es más complejo).
- Crea una aplicación SPA.
Javascript es un mundo, así que siempre vas a encontrar algo nuevo por aprender. Typescript es su "sucesor".
4. Concéntrate en éstos conceptos
- Comprende lo que es la Inyección de dependencias (Dependency Injection).
- Entiende sobre código limpio.
- Aprende sobre patrones de diseño y principio SOLID.
- Cómo crear pruebas unitarias (xUnit).
- Cómo usar logging (Serilog) en tus aplicaciones.
Si ya comprendes estos conceptos, estás listo para lo que sigue.
5. Aprender Sql Server
- No uses MySQL, Mongo, PostreSQL, etc. Antes aprende a usar Microsoft Sql Server. Como crear bases de datos, tablas, consultas, crear nuevos registros, actualizarlos y eliminarlos.
- Aprende a usar Entity Framework, el cual es un ORM similar a tecnologías como Hibernate.
- Aprende a usar LINQ (Language INtegrated Query), una librería que permite integrar capacidades de consulta de datos directamente en el lenguaje.
6. No te centres en cosas sin ningún valor
- No aprendas Web Forms y/o Windows Communication Foundation (WCF).
7. Crear aplicaciones MVC
- Crea una aplicación web.
- Aprende a usar Microsoft Azure (Azure app Service).
Ya estarás listo para crear servicios de mensajería con RabbitMQ o Apache Kafka y cosas más avanzadas. Podrías usar Github Copilot, ChatGPT u otra herramienta similar, pero no abuses de ella pues perderías el objetivo: aprender por ti mismo.
8. Docker y Kubernetes
- Aprende sobre contenedores con Docker.
- Aprende a usar Kubernetes para administrar tus contenedores.
Enlaces:
https://roadmap.sh/aspnet-corehttps://www.youtube.com/watch?v=sZVqGIW6Jno

