The Pragmatic Studio

Don't Make The Same Mistake Mike Did 😩

June 30, 2020


Mike here with a small confession to make. I failed my first semester of college Calculus. It was devastating!

I went from being a straight-A student in high school to a college flunky. As the first person in my family to go to college, my parents went from being over-the-moon proud to what-in-the-world worried. 😬

You have to understand, Calculus wasn’t an elective course for me. It was a requirement for a Computer Science degree. And Calc I was only the beginning. Calc II and other advanced math courses were in my future.

So what went wrong? Did I not try hard enough? 🤓 Did I party too much? 🎉

Actually, neither.

Over a cold Christmas break back home in Montana, I realized I failed Calculus for two reasons.

First, I wasn’t prepared. I didn’t understand the “language” of Calculus. Unlike most of my college classmates, I hadn’t taken a pre-Calculus course in high school. That put me at a serious disadvantage as I was unfamiliar with concepts such as limits, derivatives, and integrals.

Secondly, my Calculus teacher was dull and boring. And that’s not a personality you want teaching a 7am course to 19 year olds! 😴 It didn’t help that he had a thick Russian accent. I can still hear his voice, willing me to fail.

Instructors of technical topics seem to fall into two categories.

They’re either like Ferris Bueller’s teacher Mr. Lorensax or Doc Emmett Brown. You remember them from the 1980’s movies, right?

Mr. Lorensax was the archetypical Economics teacher in the comedy Ferris Bueller’s Day Off. Monotonous. Mundane. Mind-numbing. 😵 Assign someone like Mr. Lorensax the job of teaching an exciting programming language and it would go like this:

“Bueller?” “Bueller?” “This is a string…” “This is an integer…” “This is a function…” “Anyone?” “Anyone?”

Sorry, Professor. We all decided to take the day off!

Or you can try learning from the zany Doc Emmett Brown from Back To The Future. He’s a genius alright, but nobody can seem to follow his logic.

Even the time traveler Marty McFly can’t keep up as the eccentric Doc rambles on about 1.21 gigawatts, channeling energy, molecular structure, and flux capacitors. ⚡️

Put this guy in charge of teaching you Elixir and the syllabus would look like:

  • Lecture #1: 1 + 1

  • Lecture #2: Asynchronous messaging between stateful GenServers

  • Lecture #3: Fault Recovery with OTP Supervisors for Flux Capacitors

Whoa, Doc! Didn’t you leave something out between lectures #1 and #2? We were following along just fine and feeling good after the first lesson, and then whamo!

“Anyone?” “Anyone?”

You’re left hung out to dry when courses make the wrong assumption about your previous experience or have the wrong pace.

In the same way I wanted to learn Calculus but wasn’t quite prepared, you may have jumped right into LiveView without being ready. I get it! 😀

It probably isn’t the LiveView programming model that’s tripping you up. If you’re struggling, it’s likely because you’re not yet comfortable enough with the Elixir language itself. So far in our Phoenix LiveView course, the examples assume you know the following Elixir concepts and syntax:

  • immutability
  • pattern matching
  • modules
  • named and anonymous functions
  • function clauses and guards
  • lists, maps, and structs
  • comprehensions
  • transformations and the pipe operator
  • using Enum to process collections

Indeed, writing even a basic LiveView assumes you know a whole bunch about Elixir and functional programming.

And we’re only halfway through the LiveView course! In upcoming examples you’ll see more advanced Elixir and we’ll use parts of OTP including GenServers and Supervisors. As you’re probably realizing, the key to firing up LiveView in your own app is feeling confident with Elixir and OTP.

So how do you get that confidence?

Well, if you’re like me, the thought of enduring yet another programming language course is simply dreadful. Too many are either mind-numbingly slow or mind-blowing fast. 😩

What if there was a way to learn Elixir that was approachable and engaging?

A kind of sweet spot. You know the one. It’s when a course:

  • is perfectly paced to meet you where you’re at

  • takes a practical project-based approach, not a sluggish syntax-approach

  • deconstructs underlining mechanics before introducing abstractions

I found that sweet spot during my spring semester of college. I got my hands on some study guides that met me where I was in terms of experience. They helped me understand the Calculus way of thinking. And then I re-enrolled in Calculus but chose a different instructor who had a reputation for making Calculus approachable, practical, and even fun!

🍯 Our video course puts you in the sweet spot of learning Elixir and OTP.

It’s not too slow and it’s not too fast. It’s paced just right to keep you engaged and rapidly moving toward your goal.

"Most courses have the wrong pace for experienced devs. Yours is balanced perfectly (enough detail to learn and not get lost, but also a relatively fast pace and focus on idiomatic aspects)." Weronika Łabaj

In our Elixir and OTP course, we build a full-featured app step-by-step, from start to finish. You see every move, every change, and every refactoring firsthand.

"You kept me interested at every step and I now understand complex concepts I never thought I would. You opened a whole new way of thinking for me." Josef Richter

You’ll come away ready to ace LiveView! And you’ll have the confidence to build pretty much anything with Elixir and OTP.

"Really enjoying the @pragmaticstudio Elixir course. It doesn't waste any time. I also like that the main thing built is a web server, which gives some insight into Phoenix. Highly recommend!" David Tang

If you like how Nicole and I teach, then we think you’ll love our Elixir & OTP course. You get:​

  • 6 hours of live-coding videos
  • 22 narrated animations
  • 56 hands-on exercises
  • all the source code, of course
  • lifetime access!

As for my adventures in Calculus, things went a lot smoother the second semester. I aced Calculus I (whew!) and, much to my surprise, I went on to ace Calculus II the next semester. And that put me back on track to earning my degree.

Along the way I learned a valuable lesson: You can learn almost anything with the right material and instructor. ⭐️

We hope you’ll join us in the Studio to learn Elixir & OTP!