I was recently talking to a student about their career goals and they said “which language should I choose to learn: C# or Java?”. My response was that they should learn both, since limiting your knowledge in this field can be a dangerous game. You want to be able to branch out and learn new things, even after you are out of school, so you can figure out where you fit. I hear a lot about “specialization”. People seem to think that since these specialized devs that only know about a few key systems like Sharepoint make tones of money, that is what they need to do as well. I would caution you to not think this way as specialization only seems to work for a handful of people. The more you learn about different systems, environments, and technologies the more it is going to open your eyes to different ways of thinking and working with different types of people.
Specialization also happens in the development world where you get stuck only working on projects that are supported on one platform. You may think, “hey, I know a lot of different stuff about C#, Winforms, Asp.net, ASMX, Asp.net MVC, etc” but all of these are .NET platform technologies. Not limiting yourself, should mean using different platforms altogether. i.e Linux, Windows, OSX, iOS, Android, different DBs, different languages. Also, different types of apps and requirements such as web, desktop, mobile, embedded, enterprise level, high traffic, etc…
Trisha talks about not limiting yourself in your learning and thus limiting your career by only focusing on one kind of technology, platform or area. She used herself as an example since she switched from web development to server administration to server development. I’ve done the same thing. I started as a programming student that went into programming, then IT administration (basically a catch-all title in itself), then server administration, then software administration, then programming instruction with freelance development and web development projects on the side. By learning all of this, I learned I can switch gears and diversify my skills to create an impressive resume. I also learned a lot of soft-skills. Those are the people skills that you pick up along the way and having all of this experience helps when you need to put yourself in another person’s situation or understand the impacts of your decisions. It gives you a broader view of the process.
The key to all of this is don’t box yourself in. Don’t be afraid to learn new things and pick up new skills, even 10 years from now when you feel secure in your job. By switching gears now and then you are going to keep yourself from feeling like you are stuck in a rut. It can be quite scary jumping into a new area or discipline in your field but ultimately it is rewarding as it gives you a very well-rounded resume that will open up a lot of doors. It also shows employers that you are willing to invest in yourself and aren’t afraid of change.