[erlang-questions] Onboarding programmers who are new to Erlang
Fri Aug 29 17:43:48 CEST 2014
I've had good experience with bringing developers with no Erlang
experience on to an Erlang project. In my case it was someone with a
Ruby web application development background.
I spent most of the time at first explaining Erlang concepts in a way
a Ruby user could relate to. "Atoms are like symbols", "Processes are
like instances of objects", etc. Other concepts like strings versus
binaries, function clauses and pattern matching came as we were
pairing on the task at hand.
I also picked libraries that were similar to their Ruby counterparts.
For example, her task was to implement an Erlang REST API. Rather than
go with a webmachine-like REST library (i.e. webmachine, cowboy_rest),
I picked axiom, which is reminiscent of Sinatra.
After installing Erlang, setting up tools and a couple of days of
pairing, she was pretty much moving along on her own and landing pull
requests in Github.
I think using Github really makes reviewing junior Erlang devs a lot
smoother since you can have comments and discussions right on the
lines of concern. For example, maybe you see something with nested
case statements that could be solved with pattern matching. With
Github you can just add an example in the comments. Now you've taught
them that concept and they will use it in the future.
The key is to just have a real world problem that you're solving using
Erlang. Start working on it with the junior dev while finding ways to
talk about Erlang concepts from their perspective. Then, when they're
introduced, be available for guidance and review incoming code.
On Thu, Aug 28, 2014 at 12:47 PM, Leonard Boyce
> 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.
> 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.
> 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?
> Are there any specific resources (books/sessions/tutorials etc) you've
> found useful in the past?
> Any other recommendations?
> erlang-questions mailing list
More information about the erlang-questions