Primero: conozca bien sus herramientas básicas
Conozca el modelo de evento ASP.Net. Te meterás en un lío si no lo haces.
Comprender la mecánica de OO. Un sorprendente número de programadores .Net relativamente experimentados todavía parece pensar que es 1972.
Comienza a leer Code Complete.
Segundo: aprender a separar las preocupaciones
El delito de diseño más común que veo en el desarrollo de ASP.Net es rellenar toda la lógica empresarial en el código subyacente. Sé que todos los ejemplos de Microsoft lo hacen de esa manera. Sé que está justificado en aplicaciones pequeñas. Y sé que a veces lo hago así. Pero realmente, es un mal diseño, y es mi mascota el odio de la semana.
Tercero: aprende todo lo demás sobre diseño
La mayor parte del código .Net de baja calidad que veo es el resultado de un diseño OO deficiente. Por lo tanto, recomendaría una buena comprensión de:
- Principios sólidos
- Patrones de diseño de GoF
- MVC (para ASP.Net MVC)
Cuarto: conozca más herramientas
¿Sabes cómo Microsoft facilita las cosas al proporcionar muchas herramientas listas para usar? Bueno, tarde o temprano vas a alcanzar sus limitaciones. Cuando lo haga, tendrá que doblarlos a su voluntad o rodar los suyos. De cualquier manera, tendrás que ensuciarte con algunos CSS y Javascript.
Finalmente
Una vez que hayas hecho todo eso, estarás en camino a lo increíble.
[Editar: Se corrigió la secuencia para aprender este sutff. Aparentemente no pude contar ayer ...]