[Israel.pm] Shortage (or Perceived Shortage) of P-Languages Programmers in Israel (and Elsewhere)
Shlomi Fish
shlomif at iglu.org.il
Sun Jun 25 18:20:54 EEST 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