[Israel.pm] Shortage (or Perceived Shortage) of P-Languages Programmers in Israel (and Elsewhere)

Shlomi Fish shlomif at iglu.org.il
Sun Jun 25 08:20:54 PDT 2006


On Sunday 25 June 2006 00:12, guy keren wrote:
> i don't think this is specific to perl, but rather to any technology that
> is not very wide-spread in use by companies in a sophisticated manner.
>
> lets divide the use of a technology to two levels. the entry level, where
> the technology is used for simple tasks which are not the main business of
> a company, and the "advanced" level - where the technology is used for the
> main parts of the company's product/service/whatever.
>

Right.

> in the first case - you don't need "language experts" - you just take a
> programmer that learns this technology, and uses it.
>

Yes.

> in the second case - most companies look for "language experts", for one
> reason or another.
>

True. Either "language experts" or they expect professional (for some value 
of "professional") programmers to learn the language while working there, and 
then become "language experts".

> when a technology is not in wide-spread use, you'll see two things.
>
> jobs - will be scarce, because not many companies use this technology, and
> lets face it - most jobs are normally not vacant (if you have 100 jobs,
> you'll most likely not have more then 5-10 new openings each year,
> depending on how long it takes employees to leave you or get fired).
>
> people - people preffer learning how to use the more wide-spread
> technologies, which will mean they have a more flexible job market.

Depends on which people. If you're talking about the "average" programmer who 
just wants to make a living, or has been hyped into IT because of the large 
salaries, then yes. If you're talking about a programming enthusiast (the 
so-called "hackers"[1]), then they may not necessarily want to learn it 
unless perhaps they want to work on a project that is written in such a 
language. I didn't give any time to thoroughly learn Java or .NET, even 
though they are popular, because I don't need to write any code for projects 
written for them. (except for very minor things, where my rusty knowledge of 
JDK 1.0.2 is adequate).

>
> as a result, there is lack of good job, as well as lack of technology
> experts.
>
> conclusion 1: make sure you have good knwoledge in some wide-spread
> technologies, so you'll have a fall-back.

Good idea. Hopefully, as far as a hacker is concerned, it will be a technology 
that hackers love to use, rather than one of the so-called "Enterprise 
Technologies" that are parodied on http://thedailywtf.com/ , (and especially 
those that hackers hate - some enterprise technologies may be pretty good). 
Learning all the hyped enterprise technologies or all the hyped open-source 
technologies is a waste of time.

>
> conclusion 2: if you become an expert in a technology that is not so
> widely-used, expect having a harder time when looking for jobs.
>

Yes, unless you also know a popular technology. And some technologies which I 
really like (for what's their good for), are already popular, and I'd 
recommend everyone to use them.

> linux is still less (much less) used then windows, for example.
>

True, as far as the home users are concerned. However, according to the 
article reference at:

http://xrl.us/np5i (points to the old Joel-on-Software forum, with some 
discussion there)

then:

<<<
Linux is becoming the development platform of choice; for example, it is 
expected that more developers will be developing on Linux than Windows by 
2004;
>>>

And we're already in 2006. The problem I outline there is that most software 
is not "shrinkwrap" that is intended to run on home users' machine (for which 
you probably have to develop for Windows, if you want a market large enough), 
but rather different kinds of software. (See: 
http://www.joelonsoftware.com/articles/FiveWorlds.html ).

> C, C++, java and dot net are probably the most used langauges in the
> israeli market - so it'll be easier finding jobs where they are required,
> then finding jobs where other languages are required.

Right, but as you say (or I'm saying now) there are also more programmers who 
know them than Perl or (much more so) Python or (much much much more so) Ruby 
or (infinitely more so) Lisp programmers[2], simply because they are or have 
already become popular. Even most people I'm talking to did not hear about 
Perl yet. So, although there is a smaller demand for them, there is also a 
smaller number of programmers to fill this demand.

>
> the web-development market, btw, is distinct, because it uses a set of
> application-specific technologies (be that php, ASP, server-side java
> technologies, etc.). it is not easy to switch between the web-development
> market, and the systems development market - because they use quite
> different "language sets". it is possible to do the switch by finding
> partial-pverlaps. for example, if you did web development in a company
> that used java server pages - it'll be easier to switch to the systems
> development market by going to company that uses java, rather then a
> company that uses C++.

Right.

>
> the two ways to get over the "pickiness" of employers are:
>
> 1. gain more (relevant) experience. don't gain too much experience, or
>    else you'll be dismissed as "being too old" (or too expensive) ;)

Hmmm...

>
> 2. learn how to pass interviews better. just like you can learn
>    programming, you can learn how to get interviewed. i found that being
>    an interviewer helps in this. makes you think "what do they want, and
>    how do i help them see that i got this?". most bad interview-es (people
>    that are being interviewed) don't see this - so they come up with
>    hand-waving excuses (i'm a fast learner... i knew how to do that, i
>    just forgot but i'll remember quickly.. i'll learn this when i need
>    it...), rather then with susbtance (oh i know this - you do this and
>    that....  here is the code..... the answer is 1, 2, 3, but there's
>    also another option, but it'll make the code harder to maintain).

I heard of a few consultants for preparation for passing interviews as well. I 
usually don't hand-wave. Either I admit I don't know the answer, (which 
doesn't happen often, but happened to me at least once), or answer the best 
way I can. Sometimes I try to develop the answer along with the interviewer 
step-by-step if I don't know it right away, which AFAICT should make a good 
impression.

However, despite all that some interviews where I answered all questions 
correctly, turned out to be dead-ends. And some companies I've been too also 
find the fact, that I've been out of jobs for so long, a bad sign, so it was 
a vicious circle.

( Now that I think of it, it is possible I resorted to hand-waving 
or "gimgumim" when the employers asked me some personal questions. I hate 
most of those. ("Name three of your faults.", etc.))

>
> 3. don't insist on using technologies that companies don't want. if you
>    interview for a job that asks for experience in technology A, and you
>    got to the interview, don't tell them that using technology B is
>    better. it works very rarely - but normally it will back-fire.

That I know. Of course, I think it may be a sincere thing to admit that you 
prefer technology B, or that you don't like technology A too much. Hiding it 
will only bite you later.

>
> 4. become an excellent programmer - and learn how to prove that during
>    interviews. if not excellent - at least very good.
>

Well, I don't know if I'm an excellent programmer, but I'd like to think I'm 
pretty good, and that I'm getting better in time. I've seen some bad code in 
various places. (Including some of my old code that I became unhappy with, 
and had to refactor, etc.). To paraphrase what I said on Hackers-IL once, I 
think that sometimes when a programmer writes code, he writes it 
quick-and-dirty, rather than in perfect modular condition. 

>
> finally, there is no way to overcome the pickiness of employers - they are
> picky because they were burnt. you can't make them not be picky, because
> you'll need to resort to hand-waving - and that is exactly what they were
> burnt by.

I realise that. What I'm trying to say is perhaps an employer should realise 
that if a candidate did everything all-right except for one or two things 
where he was unhappy with him, he should still consider hiring him. 
Otherwise, he'll probably never find a candidate that's "perfect". We are all 
human. 

BTW, I forgot to say that I enjoyed your presentation at YAPC about the perl 
framework you wrote to test the SAN. One problem for me was the fact that my 
own presentation got scheduled in the second half of yours. Now, the 
presentation itself (about a Perl module to a mostly Pythonist crowd - it was 
the room of the Python track) took about 5 minutes, but setting up the 
computer took most of the other time. Thus, I missed the middle part of the 
presentation.

Regards,

	Shlomi Fish

[1] -  and I don't necessarily mean computer intruders. <sigh />

[2] - I've talked with an Israeli guy (I won't mention his name) who now has 
his own small web development firm and writes server-side logic in Common 
Lisp. He doesn't tell that to his customers. 

---------------------------------------------------------------------
Shlomi Fish      shlomif at iglu.org.il
Homepage:        http://www.shlomifish.org/

95% of the programmers consider 95% of the code they did not write, in the
bottom 5%.



More information about the Perl mailing list