# Hard core Elixir/OTP learning

**URL:** <https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914>\
**Category:** Resources Chat/Questions\
**Tags:** learning\
**Created:** [August 22, 2020, 7:11pm UTC](https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914 "2020-08-22T19:11:34Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeramyRR](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeramyrr/32/722_2.png) [@jeramyRR](https://forum.elixirforum.com/u/jeramyRR)\
**Post date:** [August 22, 2020, 7:11pm UTC](https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914/1 "2020-08-22T19:11:34Z")

</div>

Are there any only courses that provide some hard core learning materials for OTP? I mean something more than just the normal beginner level stuff that is found in most of the Elixir books out there? Something that would really prepare an individual for building a serious production level application.

---

<div class="post-metadata">

**Author:** ![krstfk](https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/k/c67d28/32.png) [@krstfk](https://forum.elixirforum.com/u/krstfk)\
**Post date:** [August 22, 2020, 7:34pm UTC](https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914/2 "2020-08-22T19:34:06Z")

</div>

Online courses, I don’t know, but resources we do have plenty:  
On OTP:

- [Designing for Scalability with Erlang/OTP [Book]](https://learning.oreilly.com/library/view/designing-for-scalability/9781449361556/)
- part 2 of my fav elixir book by Sasa Juric:  
[Elixir in Action, Second Edition [Book]](https://learning.oreilly.com/library/view/elixir-in-action/9781617295027/)
- erlang in anger and pretty much anything by Fred Hebert:  
[https://ferd.ca/](https://ferd.ca/)
- talks from erlang solutions, code beam and many more.

On functional programming:

- CS 3110 by Cornell, ocaml but useful :  
[http://www.cs.cornell.edu/courses/cs3110/2020sp/textbook/](http://www.cs.cornell.edu/courses/cs3110/2020sp/textbook/)
- the scala series by epfl (scala obviously)
- the funmooc series by INRIA if you’re not bothered by the strong French accent (ocaml, but applies)

Hope this helps.  
Oh and I almost forgot: popular elixir libraries/frameworks have VERY readable code, and thanks to HexDocs it’s literally one click away from the doc, so read it as well.

---

<div class="post-metadata">

**Author:** ![iangl](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/iangl/32/16535_2.png) [@iangl](https://forum.elixirforum.com/u/iangl)\
**Post date:** [August 22, 2020, 7:46pm UTC](https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914/3 "2020-08-22T19:46:26Z")

</div>

Apart from the ones mentioned above, I find that this talk by Sasa Juric explains on a very concise manner the core of OTP:

![](https://img.youtube.com/vi/JvBT4XBdoUE/maxresdefault.jpg)https://www.youtube.com/embed/JvBT4XBdoUE?feature=oembed&wmode=opaque&list=PL9OZpS8UqTW8SCWOwdosFc0Z1CT3oFAO6&start=0

Also, if the idea is to use the knowledge on production, I find that the book _Designing Elixir Systems With OTP_ by James Edward Gray II & Bruce Tate covers not only what is OTP but also gives an approach as to how to design an application with that in mind.

> **[Designing Elixir Systems with OTP](https://pragprog.com/titles/jgotp/designing-elixir-systems-with-otp/)**
>
> This book will move you from just coding in Elixir to designing beautiful, self-healing code with effective APIs by showing you the same layering techniques the experts use, from basic datatypes to OTP.

Though it is a book and not a course, the narrative guides you through the construction of an example project while explaining the concepts, so it is also pretty hands on if you follow it that way.

There are also some small videos on Elixir Casts about GenServers, but those are not that “hardcore” I’d say, but still are very good and well explained summaries on different Elixir topics.

Hope that helps!

---

<div class="post-metadata">

**Author:** ![rvirding](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rvirding/32/1409_2.png) [@rvirding](https://forum.elixirforum.com/u/rvirding)\
**Post date:** [August 22, 2020, 8:10pm UTC](https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914/4 "2020-08-22T20:10:12Z")

</div>

I don’t know if I should mention this here but Erlang Solutions has a number of courses and tutorials some of which can go quite deep.

---

<div class="post-metadata">

**Author:** ![jeramyRR](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jeramyrr/32/722_2.png) [@jeramyRR](https://forum.elixirforum.com/u/jeramyRR)\
**Post date:** [August 22, 2020, 8:16pm UTC](https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914/5 "2020-08-22T20:16:28Z")

</div>

Robert, does Erlang Solutions offer any self-paced courses?

---

<div class="post-metadata">

**Author:** ![rvirding](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/rvirding/32/1409_2.png) [@rvirding](https://forum.elixirforum.com/u/rvirding)\
**Post date:** [August 22, 2020, 8:32pm UTC](https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914/6 "2020-08-22T20:32:46Z")

</div>

Not really, at least not that I know of. The ones I know of are fixed courses.

---

<div class="post-metadata">

**Author:** ![krstfk](https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/k/c67d28/32.png) [@krstfk](https://forum.elixirforum.com/u/krstfk)\
**Post date:** [August 22, 2020, 8:44pm UTC](https://forum.elixirforum.com/t/hard-core-elixir-otp-learning/33914/7 "2020-08-22T20:44:13Z")

</div>

I don’t know about courses, but their videos and posts are always great.

> **[Erlang Solutions](https://www.youtube.com/c/ErlangSolutions)**
>
> We build transformative solutions for the world’s most ambitious companies. 
> By providing user-focused consultancy, high tech capabilities and connection to diverse communities.
> 
> Sharing knowledge is one of our team values and we believe to have an...
