| IMHO, at your career stage (if I'm inferring your "career stage" correctly), I'd consider these two possible avenues to advance your career: - The craft of designing and maintaining software - The problem domain software is being applied to Some people might rationalize this as a generalist vs. specialist argument. However, I see being a badass software expert as just being a certain kind of specialist. Both approaches will help you grow into bigger shoes over time, assuming the most optimistic outcome in either path. If you focus on honing your software craft, you can fit in many places and easily internalize any system as your chops get better. If you focus on a particular problem domain (you seem to be interested in IT security), then over time you can become a subject matter expert. At this point, you can contribute knowledge back to your community, use your domain insight to identify a market and new product to sell, or just become a prized star employee in the companies focused on your chosen problem domain. Being an all-around software badass can also make you a prized star employee after you grow into that notoriety. I suppose it's possible to mix both approaches if your role accomodates this. I guess my ultimate answer is similar to what others have said- follow what your heart says :-) Hopefully this adds some perspective to your choice. Best of luck! |