<p>Hi Leonard,</p>
<p>one of the most important lessons to impart, is showing that there exist severalĀ  really big different ways of tackling programming problems: imperative, object oriented (class based, object copying, multi dispatch, message passing, ...), functional, declarative, logic, array, concurrent, parallel, distributed, ... And that these overlap in a lot of places.</p>

<p>In essence, it is about open minds, the ability to listen to someone else's opinion, without rejecting it outright.</p>
<p>At a practical level, for Erlang in particular, this could mean: teach single assignment, pattern matching (aka deconstruction), list based recursion, list and binary comprehension, process linking, supervision and "let it crash". On top of that, encourage the examination of the libraries that come as standard with the Erlang release.</p>

<p>Any of the existing Erlang books can help. Also, some people learn better in courses, others from books, most need some kind of practice based in reality. Made up simple problems are nice for exposition, but lack in imparting knowledge that sticks.</p>

<p>Regards,<br>
Robby<br>
</p>
<div class="gmail_quote">On Aug 28, 2014 5:48 PM, "Leonard Boyce" <<a href="mailto:leonard.boyce@lucidlayer.com">leonard.boyce@lucidlayer.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'd like to tap the collective wisdom of the group for their<br>
experiences in onboarding fresh-out-of-college programmers who are new<br>
to Erlang. This is assuming the new programmer has mostly imperative<br>
experience (C/C++/Java) and have had a fleeting glimpse of functional<br>
through Haskell.<br>
<br>
I'm of the mindset to have them work through a book or two over the<br>
1st couple of weeks with plenty of rubber ducking and/or pairing on<br>
simple exercises.<br>
<br>
After that maybe have them work on a simple feature or two in some<br>
prototypical work we're doing on the side, and of course sending them<br>
off to the first available 'bootcamp'/training session available.<br>
<br>
What have you found is the best way to introduce them to the language<br>
and bring them up to a level where they can start standing on their<br>
own feet?<br>
<br>
Are there any specific resources (books/sessions/tutorials etc) you've<br>
found useful in the past?<br>
<br>
Any other recommendations?<br>
<br>
Thanks,<br>
<br>
Leonard<br>
---<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div>