[erlang-questions] Training new Erlangers
Juan Jose Comellas
juanjo@REDACTED
Mon Oct 22 15:59:36 CEST 2012
I can share my experience having had to train 15+ developers (coming mostly
from a Java background) when rewriting an existing project practically from
scratch.
First, try to hire people that are really interested in Erlang and
genuinely want to learn it and program in it. We had a mixed group of
people, and with those that were "forced" to use it the results were not
that great, whereas with the ones that had wanted to learn it by themselves
the results were excellent. Self-motivation is key to get people to excel
at it (I know, this is probably a truism).
Second, make sure that you have several people in the project that already
know Erlang very well and can act as a reference to other developers. At
the beginning it's very difficult to know which one is the correct way to
implement something in Erlang, especially if you're not coming from the
functional programming world. Pair-programming might help for this, but we
didn't have the resources to try it.
Third, keep in mind that the code the new (to the Erlang world) developers
write will probably be inelegant (in Erlang terms) and not use the
established Erlang features and idioms. With enough will power they'll
probably get whatever they have to do to work, but it takes a while to get
into the Erlang mindset (especially the let it crash philosophy), so if
possible allow time for a rewrite.
BTW, I don't regret one bit making the switch to Erlang.
Good luck with it,
Juanjo
On Sun, Oct 21, 2012 at 1:26 PM, David Goehrig <dave@REDACTED> wrote:
> As someone actively hiring Erlang programmers, I'm far less interested in
> how many existing programmers there are, and more concerned with how to
> train new programmers. Right now, I have a team of 8 engineers learning
> Erlang, and plan on hiring 8 more for the team before the end of the year.
> Because we are hiring experts in other fields (video engineers, machine
> learning, hardware engineering, graphics processing, rights management) and
> teaching them Erlang.
>
> Our pool of new hires are constrained by:
>
> 1.) domain knowledge in a component of our infrastructure
> 2.) self directed individuals who require minimal day to day supervision
> 3.) a willingness to learn Erlang
>
> This turns out to be a great fit as the personality profile favors T
> shaped individuals. (A little of everything + world class specialty) but
> that category of individual is already rare enough that adding #2 becomes a
> positive boon. People want to work on this team because they get to learn
> Erlang.
>
> It turns out the difficulty in training them is not Erlang's syntax, or
> the globally distributed infrastructure they're reworking. It is the cycle
> of learning itself:
>
> 1.) Why would I ever want to use ________?
> 2.) Wow ________ is cool! I'm going to rewrite everything using ________!
> 3.) WTF were the thinking when they implemented ________, it is far too
> complex!
> 4.) Oh $#!+ I need rewrite everything again as a proper __ application.
> 5.) repeat cycle again ad nauseum infinity.) goto 1
>
> This cycle goes through several iterations that seem to repeat for each
> group, where they discover the value of bits of OTP by reinventing it piece
> by piece.
>
> I wish there way a way to fast track this learning by devising a fiendish
> set experiments to get them to do all the wrong things quickly. A "Learn
> Erlang the Wrong Way" course, to distill months of painful lessons into a
> few short weeks :)
>
> Granted, you are probably still doomed to repeat those lessons for the
> next 2 years as they get ingrained in practice.
>
> How have other's experiences been with Erlang training programs / seminars?
>
>
> -=-=- dave@REDACTED -=-=-
>
> On Oct 19, 2012, at 1:33 PM, Max Bourinov <bourinov@REDACTED> wrote:
>
> > Hi guys,
> >
> > I see that demand of Erlang on the market is rapidly grows. I think it
> is just beautiful news! People are realizing the power of Erlang.
> >
> > Also I heard strange information that there are 2-3 thousands full-time
> Erlang programmers in the world and this is biggest problem of the
> language. I have no idea how to calculate all Erlangers, but my first
> thought to ask a list to reply to this mail so we all can see how many
> replies we have. Of course it won't count all Erlangers, but I believe that
> big part of Erlangers are in this list.
> >
> > So, please reply just once!
> >
> > Let distributed asynchronous counting begin!
> >
> > Best regards,
> > Max
> >
> > _______________________________________________
> > erlang-questions mailing list
> > erlang-questions@REDACTED
> > http://erlang.org/mailman/listinfo/erlang-questions
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121022/c20da592/attachment.htm>
More information about the erlang-questions
mailing list