Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I started a new job working on an application I'm vaguely familar with, and it's in Perl! I come from a PHP and Java background, so while I understand the basics, there are lot of nuances in Perl that make it troublesome.

updated < Im supposed to be a UI developer, but the smallness of the office requires me to learn and do a lot more than just javascript. So that was slightly unexpected in some aspects and I'm just thinking about what approach to take with this > /updated

So far I've been sifting through the code to understand what each part does, printed out copies of code and try to lookup APIs I'm not familiar with, and so I dunno how effective this process is -- I feel like it's gonna take some time -- and I dont want my new employers to feel like I'm not being productive.

Anyone have some ideas or approaches for this kind of situation?

I read some of the questions about learning new languages, but I'm curious to see if anyone's had experience with this with Perl.

Thanks you guys for all the awesome feedback!

share|improve this question
1  
Make documentation! When printed, you look VERY productive! –  user1249 Aug 15 '11 at 6:24
2  
"I feel like it's gonna take some time -- and I dont want my new employers to feel like I'm not being productive." - don't worry, this is normal. Any reasonable employer knows that getting up to speed takes time (from a few months up to two years in extreme cases). –  Péter Török Aug 15 '11 at 7:53
add comment

6 Answers

up vote 13 down vote accepted

Ask as many questions as possible (within reason)

As long as you didn't lie on your resume saying you knew Perl or something.

Why should asking be a problem? It shows initiative and a willingness to learn new tech...

Never, ever, ever be afraid to ask questions.

share|improve this answer
9  
But before you spill them out, think them through first for yourself. Others have work to do as well. –  Rook Aug 15 '11 at 3:24
    
good point! Im supposed to be a UI developer, but the smallness of the office requires me to learn and do a lot more than just javascript. So that was slightly unexpected in some aspects and I'm just thinking about what approach to take with this. thanks for your thoughts –  qodeninja Aug 15 '11 at 3:25
    
@Rook: Well obviously, I think asking within reason was a given... –  MattyD Aug 15 '11 at 3:26
    
I appreciate everyone's feedback! Thanks again –  qodeninja Aug 15 '11 at 3:29
3  
+1 Asking questions (even "stupid" ones) is indeed important; my rule is that it is better to ask several stupid questions than to make one (stupid) mistake. The other side of the coin is to prepare your questions well. Think through the problem, do research, google... and if all else fails, ask good (precise, factual, to the point) questions. –  Péter Török Aug 15 '11 at 7:50
show 1 more comment

I'm not one who usually likes learning programming languages from books, but Perl is kind of an eccentric language where it really helps to understand the design philosophies behind it. I highly recommend the Camel Book in this case.

share|improve this answer
    
Truth be told, I'm not loving Perl one bit. I thought I did myself a favor avoiding the whole cgi mess lol –  qodeninja Aug 15 '11 at 4:06
2  
If you read the camel book, you'll pick up a good understanding of why Perl is the way it is. Once I did that, I grew to love it. You don't have to love it, but at least you'll appreciate what it's trying to do. –  Sean McMillan Oct 7 '11 at 15:37
add comment

Chances are that your new employers have hired you for you; the potential they see in you and what you've achieved in the past. If they wanted a Perl guru, they would've specified that in the job description and you wouldn't have been hired. I'm sure they're understanding of the fact that it takes new members time to accustom themselves with the innards of the company (including learning new languages and practices).

While you may not be crunching out any new code for the development team, it would be a great idea to note down what you have spent your time doing. Write down what you have familiarised yourself with, so you show to youself that you're not wasting time and that you can show to anyone else what you've been doing.

Spend this time learning about your new teammates and discern who you can turn to for advice and teaching.

share|improve this answer
1  
I like the part of writing down what I've familiarized myself with, and I have done a number of diagrams and notes to that affect. I really want to impress my new employers though! –  qodeninja Aug 15 '11 at 3:31
1  
@codeninja: it is fairly impossible to impress new employers with productivity in an unknown subject. The first couple of weeks/months you impress them and with your personality (the traits you bring to your job) and with your can do/will learn attitude towards the tasks you are given. –  Marjan Venema Aug 15 '11 at 6:36
add comment

I follow a two-step process when moving to a new language or other technology:

  1. Curl up with a good book for a few hours.
  2. Start working.

It has been a while, but this is how I started writing Perl. I read the Camel book, and then started using Perl instead of writing shell scripts. At first I was pretty slow, and was constantly referring to the documentation. Gradually I got faster.

Since the majority of developers skip step 1, and just cut-and-paste examples, reading one good book will put you ahead of about 90% of your competition.

share|improve this answer
add comment

I can't find the original document I was reading (possibly even a response to another question on here?) but I have heard that fixing problems is a good way to start in a new environment.

Find out what minor problems need fixing and fix them to gain some knowledge of how the system (or some small part of it) actually works and make it feel like you are doing something productive.

Sorry if this response is too general and not specific to the language you are asking about.

share|improve this answer
add comment

I've been in the same situation. I started this new job of mine this April and I had to learn Perl too. These two books got me started rather quickly:

  1. Perl Cookbook - It's readily available over Amazon.
  2. Impatient Perl - It's a free ebook. Go ahead and google it ;).

I hope this helps. Most, if not all, the Perl work I do here is backend stuff though.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.