I am an engineer with 1.5 years of experience in Test Automation in Perl. I am getting chance to work in TCL. I am little worried about my career growth. I don't know whether TCL also has the same growth perspective as Perl or which language has a better market value.
My advice to someone beginning to do test automation is to look at the organization or company you are working with and if you see that they are using language X or tool Y, then you need to at least learn enough about X and Y to make a contribution. There are so many languages and tools out there that it cannot hurt to learn any of them. In the case of TCL versus Perl, I would recommend you focus on what you're doing (or trying to do) and then ask yourself how much "local expertise" is there - if everyone knows Perl, go with it. If they all know TCL, go with that... but as another answer stated, it's more important to exercise the product and automate your test processes to find more bugs sooner, etc. If you're still using Perl and TCL but the rest of the organization is using python or ruby or Test Complete or WinRunner or whatever... you might want to move in that direction. Of course, it depends on the organization too, as it may be that they really need Perl developers but everyone only knows Java, etc. in which case it could be beneficial to be the guy that knows Perl real well. But between TCL and Perl, I'd have to recommend Perl, since it's bound to be in use in more potential future job situations, and you can learn object-oriented concepts and a lot of other marketable skills. Then, of course, the ultimate answer is "What is my employer paying me to do?" If they are paying you to learn X, learn X, and don't complain. There's a lot of folks out there who would love the chance to get paid to learn something marketable. So, go with Perl, if your boss says to master Perl.
For Test Automation purposes, it's always been my belief that once you know 2 scripting languages, you are in very good shape.
Being comfortable with 2 languages means you know how to automate, and that you know how to learn a new scripting language. As a hiring manager, I will be able to assume that you could easily pick up another new language as needed.
So don't worry about the career growth associated with any one particular language. In future years neither Perl nor TCL will likely be the high-demand choice anyway - it may well be something that hasn't yet been invented.
The programming language you pursue should be predicated on
- The technology space you are most interested in (web, platform, mobile, etc)
- The market trends in your area (e.g. what language skills are employers most looking for)
On a side note, I don't know why some people get so focused on a particular "programming langauge." Instead, I recommend learning good programming concepts, data structures, design patterns, etc. Once you understand these concepts moving between languages is relatively easy. During interviews you may be asked a coding question and the answer doesn't necessarily depend on which language you use as much as how you choose to solve the problem (even with pseudo code). If you are a good problems solver, employers will usually give latitude in coming up to speed with a new language. Of course, some employers are simply looking for people to put together basic script-lets that attempt to emulate user events and these employers will likely put more emphasis on a particular language.
Welcome to SQA, Nitesh.
In my market, what you tested and how you tested it would be at least as relevant as what programming language you used. I think having a variety of experiences will be more useful to you than specializing in one thing. However, your market might be different. For example, if you work in short-term contracting projects, expertise in a specific language may be more important because the employer may not want to pay your salary while you get up to speed on a new language.
In any case, 1.5 years is not a lot of experience. You have time to experiment and make mistakes.
either is ok , i think. If there is enough libraries available in your company for TCL, it's OK. The language is not important. What you should learn is the test methodologies and the way you are thinking.
It is more easier for you to learning a new programming language than to have good understanding on testing.