Eventually, one must choose, and specialize in those areas we wish to master. Eventually, we learn to trust the skills of those around us; to rely on the works of others to take care of the nitty-gritty details of those areas in which we are perhaps not so skilled.
Yes, and if you do not choose for yourself, your projects will choose your specializations for you. If you are not very careful, you may find yourself specializing in things you really don't enjoy or care about.
Some solutions, I think are:
Keep an active eye on the progress of your technical skills and the ones you wish to develop. If you cannot do that in your current situation, then you need to choose between the safety of the known and the risk of the unknown.
Find ways of networking with skilled peers in the fields you wish to cultivate. This will help you build your technical skills and it will help you learn of opportunities more aligned with your desires.
Invest in your technical skills on a regular basis, whether taking a few hours over the weekend, attending local user groups, lurking in appropriate technical communities, or whatever.
Use personal projects to learn the basics of the skill you want to grow. This will help you find time to actually build them. By creating things you care about, you'll be able to maintain your enthusiasm while crawling up the learning curve.
Prioritize your To Do list and manage that like you'd manage any other project. Give yourself schedules, task lists, and requirements. This will help you develop and/or maintain your design discipline.
Never stop asking, "How can I do this better?"
The Perl community is really quite fortunate to have such a broad range of talent willing to help others learn. Between the O'Reilly books, CPAN, and sites like the Monastery, it's very easy to find new and better ways of doing things.
I've only seen that type of teamwork in a few other communities and none of had the breadth of support that the Perl community does. If this is important to you, then I suggest you use it as much as you can.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.