[erlang-questions] Onboarding programmers who are new to Erlang
Garrett Smith
g@REDACTED
Fri Aug 29 15:56:03 CEST 2014
On Thu, Aug 28, 2014 at 11:47 AM, Leonard Boyce
<leonard.boyce@REDACTED> wrote:
> I'd like to tap the collective wisdom of the group for their
> experiences in onboarding fresh-out-of-college programmers who are new
> to Erlang. This is assuming the new programmer has mostly imperative
> experience (C/C++/Java) and have had a fleeting glimpse of functional
> through Haskell.
>
> I'm of the mindset to have them work through a book or two over the
> 1st couple of weeks with plenty of rubber ducking and/or pairing on
> simple exercises.
Where are the Erlang leaders (those programmers who are building the
system today) in this picture?
I'd be concerned about sending folks off to a program only to have
them mildly more prepared for the realities of your particular
environment. This includes your existing code base, programming
processes, culture, etc.
> After that maybe have them work on a simple feature or two in some
> prototypical work we're doing on the side, and of course sending them
> off to the first available 'bootcamp'/training session available.
It's a huge cost to pull your experienced Erlang programmers out of
their day-to-day to help build a team, but you might end up paying
that cost eventually anyway. Sending someone to a training will get
them trained in whatever course material they're exposed to. That may
have very little application in your particular context.
On the other hand, getting together with your Erlang leaders and
working with them to build a training -- that could yield a more
direct path to getting everyone closer to an independent contributing
state.
> What have you found is the best way to introduce them to the language
> and bring them up to a level where they can start standing on their
> own feet?
As I think many have mentioned in this thread, it's not hard to pick
up the basics of the language. IMO it's not that hard to pick up OTP.
It's much harder though to put a programmer in position to
independently solve real world problems (i.e. your specific business
problems). I would not set that as any short term goal.
Why are you doing all this in the first place? I imagine you have
specific work in mind. Get them working on that, even if in a remedial
way at first. Iterate and improve. You'll need cycles from your Erlang
leaders though. That's a big cost. If you're not willing to bear that,
you might consider hiring experienced Erlang programmers off the bat,
or pulling in ESL for a combo consulting/training services for your
particular program.
Maybe... you could find that pointing smart, new programmers at a
concrete, well defined, problem-that-you-have-to-solve that has real
stake holders could work over time. It depends on the people
obviously. But even in that case, if the team doesn't have some
mentors who are working alongside it, even if just occasionally, it
will likely flounder.
> Are there any specific resources (books/sessions/tutorials etc) you've
> found useful in the past?
I think $300 will buy you most every Erlang book ever written. Have
that material on hand and use it when you need to, but *build real
stuff* to learn.
I don't mean to be patronizing here, but you might have to adjust to
the idea that building an effective team is expensive :) If you don't
have help inside, pay a vendor.
Garrett
More information about the erlang-questions
mailing list