Learn Web Development, First
I recently read Rob Conery's PHP or ASP.NET: Did I Do The Right Thing? Although it does a great job uncovering how a developer can literally lose half a decade of their life by focusing their efforts towards the wrong technologies, I can't help but feel as if Rob is still asking himself the wrong questions, focusing on symptoms rather than the problem itself.
Toward the end of the article Rob imagines five ways his professional life would be better today, had he not focused on ASP.NET (presumably, if he had focused on PHP):
- Know Linux a whole lot better
- Be very familiar with MySQL and other open databases
- Be less reliant on an IDE
- Love HTML and CSS
By no means are my intentions to pick on Rob - I don't know him personally, nor am I familiar with his work; rather, I look to him as an example (and I believe this was his intent with his article).
By all means, you may be the best PHP developer the world has ever known; you'll find a job in which you are a mentor to those that work with you, you'll live comfortably and you'll love the work that you're doing. But, if there's one fact within the world of web development it is this: frameworks/languages, which are nothing more than varying syntaxes to achieve the same result, come and go.
If you're just starting out, or perhaps you describe yourself as one of these silo developers - only focused on a single technology - I encourage you to focus on the basics. Learn web development, first; then, feel free to explore various supporting languages.
Consider this: would you trust a surgeon or specialist, knowing they completely ignored the foundation of general medicine?