Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

New Languages to Learn

by Herkum (Parson)
on Feb 24, 2009 at 23:35 UTC ( [id://746142]=perlquestion: print w/replies, xml ) Need Help??

Herkum has asked for the wisdom of the Perl Monks concerning the following question:

My company just got bought and is basically closing down everything but a few people to help with the migration. I was one of the lucky ones (relatively speaking) in that I am on the migration team. Perl is not much loved in my current location( Tucson, AZ) so to find a new position I need to learn a new language to make myself more marketable.

Given my current location and strong Perl background, what should I look into learning? I am looking for something that would be complimentary with my current skill set rather than so obtuse it would a struggle to learn.

Replies are listed 'Best First'.
Re: New Languages to Learn
by ELISHEVA (Prior) on Feb 25, 2009 at 12:50 UTC
    The fact that you were chosen for the migration team says a lot about what you have to contribute.

    One thing I would spend some time on is the question "what did you/do you contribute that made you essential to that core group?". My guess is that those skills are not merely technical. Perhaps you guided the original design? Are good at communicating? Are good at making things happen? At problem solving? Getting people to work together?

    Once you have identified what it is, the next question is: do you like those things about yourself? Are they worth developing? And if so how? My guess is that whatever they are, they will be attractive to your next employer. But they also have to be attractive to you if they are to be guides for the next stage in your employment journey. Enthusiasm is as important to a job hunt as anything else. It is important to develop skills you can feel (and potential employers/clients can see you feel) enthusiastic about applying.

    Answering these questions may also help you make the decision about whether or not to strike out on your own. Running your own business (successfully) is *hard* work. On one hand, you might find the challenge exhilarating and an opportunity to develop new skills. On the other hand, you may decide that running a business is something you would rather "outsource". To a certain extent when you find an employer you are the one doing the hiring, not the employer. You are outsourcing all of the marketing, accounting, legalese, etc, etc. required to earn money.

    As for language, answering these questions might also give you some hints about where your technical skills need to develop. For example,

    • If you decide that technical innovation is your strong suit, then I strongly recommend learning *well* at least one object oriented and one functional oriented language (e.g. Java and Lisp). That will broaden your perspective and help you think more creatively about problem solving.
    • If you decide that structuring things is more your speed, then languages/technologies that are are complementary to system design would be a good complement. Read some books on structured design, learn UML (there are some excellent UML design tools available in the open source world). Knowledge of at least one computer language often used on large project (C/C++/Java) is also a good move.
    • If you decide that team dynamics and process are your strong suite, then learning about the pros and cons and "lingo" for different team and project management approaches, agile programming and others, may be more worth your time than another computer language
    • If being on the bleeding edge of new technologies gets your goat, then take a stab at whatever standards, design paradigms, or technologies you think are emerging/hot and strive to create a niche for yourself in an emerging market.

    By the way, an excellent book with some creative ideas for job hunts and learning about yourself is "What Color is your parachute". You probably already know about it, but just in case, I thought I'd mention it.

    Best, beth

Re: New Languages to Learn
by dHarry (Abbot) on Feb 25, 2009 at 10:19 UTC

    What were you doing exactly with Perl? What do you want to do in the future? Are you looking for a specific type of job?

    Programming skills are mostly independent of a programming language. Of course it takes some time to get into the details of a new language but in general if you can program in one language you can do so in any.

    I would advice to work on more general skills, e.g. Specification/Modeling of SW, Testing of SW, Software Development Lifecycles, Project Methodologies, etc. etc. Stuff that can be reused across many programming languages.

    If you ask specifically what program language to go for I would say one that gets you a job! If I could choose I would probably be programming in Ada, a language I admire. But chances of finding an Ada job over here are close to zero. So I focus on stuff that is more marketable. I’m not religious when it comes to programming languages, hardware, OS’es etc. I’ll basically work with anything they throw at me (*). I never specialized and sometimes that works against me. Most of times it works for me.

    We also recently got bought by another company:-) Suddenly I have tens of thousands of colleagues. It happened to me 8 years ago too. I learned a lot from it. There is always some pain involved, people leaving, different cultures colliding, "management games", etc. but it also opens up opportunities like new/better/more jobs. It's important to keep a positive attitude.

    Cheers
    dHarry

    (*) Well I refused a few;-)

      I agree that general skills are more important than depth in a language. The problem is a lot of people have a hard time evaluating skills, even the general ones. So generally they are looking for bullet points, like "Know *BLAH* language for X years." This is why there are so many crappy programmers who are the technical leads at their company.

Re: New Languages to Learn
by Your Mother (Archbishop) on Feb 25, 2009 at 03:23 UTC

    Ruby? PHP (there are jobs and it's not *that* bad)? Buckle down on CSS, JS, feeds, social network stuff, and shift focus to UI/front-end dev work? Manager job at a Starbucks while you hack at home? If you're a people person, a counter job can be fun. Move to a tiny place to save money, take your life savings and start a dev business where *you* get to decide if it's the Perl way or the highway. :) You might not eat consistently but you never know...

      Oh, I dunno... I've been eating regularly for ten years doing primarily Perl and only some PHP when I am compelled to do so in order to satisfy an existing client who's done something dumb like installed vBulletin. And of course I am proficient in javascript, CSS, etc. in order to support the web stuff that is the bulk of my business.

      I've been seeing a gradual increase in work lately, too. It seems that those who are desperate to take a bigger hunk of the e-commerce pie, or cut costs, or keep the expensive labor reserved for other things are eager to avail themselves of my services.

Re: New Languages to Learn
by tirwhan (Abbot) on Feb 25, 2009 at 10:55 UTC

    In addition to the excellent advice above, I'd suggest that you think about telecommuting (if location is indeed such a problem) and maybe freelancing. Setting up one's own business is daunting, but IMHO there are enough jobs in the Perl world to support a talented programmer working from home. Especially with the kind of transition you appear to be going through (you're still working with the company for x months but know your employment will cease after that) you should have enough time to ramp up on the skills necessary for such work (and by that I don't just mean programming skills but things like communication, selling your services well, planning a business and so forth) and maybe even already land a few small jobs in advance. If you don't want to take the full plunge, you can also quite often find telecommuting full-time jobs advertised on jobs.perl.org, so maybe one of those will suit you?. Anyway, good luck.

    OTOH, if your mind is set on exploring a new language (and there is a lot of good in that, even if you should decide to return to mainly Perl in the long run) I'd suggest looking for an industry you'd like to be employed in and learning the language that is most often used there. It's important to have fun at what you do for work, so keep that in mind when choosing which path to take.


    All dogma is stupid.

      I would not mind telecommuting but the number of companies that offer that option are limited. If the job AND stock market had not tanked, I would think about starting a business but that looks like a great way to starve yourself at the moment.

Re: New Languages to Learn
by citromatik (Curate) on Feb 25, 2009 at 09:26 UTC

    My modest advice: Invest your time improving your programming skills and let the company selects the programming language (if that decision doesn't depends on you).

    Learn Haskell, Ocaml, Smalltalk... Maybe there is not too much market for them, and probably they would be a struggle to learn, but "A programming language that doesn’t change the way you think about programming is not worth knowing (Alan Perlis)".

    citromatik

Re: New Languages to Learn
by sundialsvc4 (Abbot) on Feb 25, 2009 at 11:24 UTC

    “Perl is not much loved in Tucson?”

    What a sweeping statement, to be so utterly untrue! A programmer's worth is not defined by language, and every computer technology is used in every town. Do not limit yourself to the “low-hanging fruit.” You don't get what you deserve:   you get what you hustle.

    Stop whining ... ;-) ... start hustling.

    You would look strangely at a man who says to you that he is a craftsman who is very good with a wrench and not-so-good with a hammer. When you approach a craftsman, you want to know what he has done, but what you really want to know is what he can do for you... and why you should believe him. You expect him to know what tools to use and when to do so, and to adapt quickly. Same deal, throughout any business but especially in the software business. So, go grab a coffee and go ... not to the computer section, but the how-to-sell section.

Re: New Languages to Learn
by pmonk4ever (Friar) on Feb 25, 2009 at 01:20 UTC
    First let me say I feel your pain, it's not a good time to be looking for work.

    That said, I am an embedded software engineer, Perl is my hobby language that I use to do odd jobs around the Win32 and Linux farms.

    I would think maybe CGI programming, where you can continue to use the experience you have, refocused in Web development.

    Sorry that I am not more helpful, we use C++ & C here on the Left Coast, but they are old and NOT on the cutting edge!!!

    Good luck in your quest. May the wind be always at your back

    ki6jux

    "No trees were harmed in the creation of this node. However, a rather large number of electrons were somewhat inconvenienced."

Re: New Languages to Learn
by puudeli (Pilgrim) on Feb 25, 2009 at 08:25 UTC

    In addition to known programming languages I would promote process skills (eg. Agile methods), tools you know (like SCM tools), motivation, previous art you've done, enthusiasm and willingness to learn new things. The fact that you know how to program makes it easier to shift to another languages. Syntax is easy to learn.

    Printing your job application and resume on a perfumed pink paper is not a bad thing either ;-)

    --
    seek $her, $from, $everywhere if exists $true{love};
Re: New Languages to Learn
by apl (Monsignor) on Feb 25, 2009 at 11:50 UTC
    First, my sympathy (I'm in a similar situation). Second, I concur with most of the comments already made. That is, a real programmer can program in anything.

    The problem may arise with the focus of your current skill-set, or your age / background. I've found that I optimized my career for my former employer. That resulted in a great pay-check and a lot of respect, but after 15 years and a merger, it left me highly unsuited for anything else. (By this I mean that a lot of ads require a certain number of years of experience in X, or so many years using package Y. Many firms find it easier (and cheaper) to hire someone with less background than you because they're cheaper, or have exposure to more current technologies.

    My suggestions?

    • Focus on areas of Perl that you haven't used much before. I'm trying to write Tk and X wrappers for some toy programs of mine. I'm trying to learn mod_perl, because I'm not much of a Web person.
    • Consider teaching. I'm on the path to getting certified to teach Math, and am investigating what paths are available to teach programming (either at the High School or Community College levels)

    Best of luck. If you're young, you'll come out on top. If you're an inflexible dinosaur like me, you'll find alternatives.

      If you're an inflexible dinosaur like me, you'll find alternatives

      Good luck with the diversification, In my book you're never to old to learn, I didn't start my BSc until I was 53.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://746142]
Approved by Arunbear
Front-paged by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-04-19 19:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found