Primeiro: Conheça bem suas ferramentas básicas
Conheça o modelo de evento do ASP.Net. Você vai se bagunçar se não o fizer.
Entenda a mecânica do OO. Um número surpreendente de programadores .Net relativamente experientes ainda parece pensar que é 1972.
Comece a ler o código completo.
Segundo: Aprenda a separar preocupações
O crime de design mais comum que vejo no desenvolvimento do ASP.Net é preencher toda a lógica de negócios no código por trás. Eu sei que todos os exemplos da Microsoft fazem dessa maneira. Eu sei que isso se justifica em aplicativos pequenos. E eu sei que às vezes faço dessa maneira. Mas, na verdade, é um design ruim e é meu ódio por animais de estimação durante a semana.
Terceiro: Aprenda tudo sobre design
A maior parte do código .Net de baixa qualidade que eu vejo é o resultado de um projeto OO ruim. Portanto, recomendo um bom entendimento de:
- Princípios do SOLID
- Padrões de Design GoF
- MVC (para ASP.Net MVC)
Quarto: conheça mais ferramentas
Você sabe como a Microsoft facilita as coisas, fornecendo muitas ferramentas prontas para uso? Bem, você atingirá suas limitações mais cedo ou mais tarde. Ao fazê-lo, você terá que dobrá-las à sua vontade ou rolar a sua. De qualquer maneira, você terá que ficar sujo com algum CSS e Javascript.
Finalmente
Depois de fazer isso, você estará no caminho certo.
[Editar: Corrigida a sequência para aprender este sutff. Aparentemente eu não pude contar ontem ...]