Here's a list of things you might want to learn about in order to become a better .NET developer. Better developers are eligible to higher paychecks, exciting projects and more freedom in their lifestyles.
- Learn Unit Testing
- Get familiar with distributed Version Control Systems: Git or Mercurial.
- Learn about IoC Containers: Autofac, Windsor Container and StructureMap.
- Contribute to Open Source Projects of your choice.
- Learn about Continuous Integration and try setting up TeamCity, Hudson or CruiseControl.NET.
- Learn about NHibernate Object Relational Mapper, but be prepared to outgrow it for NoSQL persistence like CouchDB, MongoDB or RavenDB.
- Check out the buzz about cloud computing, try Windows Azure Platform and also give a shot to running your .NET App with Mono on Linux (some free offers to try).
- Familiarize yourself with messaging architectures and try NServiceBus, MassTransit or RhinoQueues; then learn about alternative to MSMQ - AMQP and RabbitMQ.
- Read Domain-Driven Design and apply it in your projects.
- Get Started with CQRS Architectures and practice it in a learning project.
As you can see, the list is not endless. There are just ten distinct topics structured in the recommended order of learning and practicing. Diligently walking through them is certain to get you way above the level of Senior Developer, opening a whole set of opportunities all around the world.
And if you happened to learn, understand and master all these steps and still don't have interesting job or project offer - drop me an email; I might get you in touch with folks desperately looking for developers with this set of skills.
PS: On August 2012 we started a new podcast to help aspiring developers. Check it out.