Focusing on Programming Elixir

Brian Emory
Brian Emory | Web Developer
5 min readAug 2, 2017
My whiteboard list of things to do in no particular order

Time to change things up

I have been learning Elixir the last few months and I am really enjoying it. So much in fact, I am making that my main focus. This includes what I spend my time learning and programming, and where I apply to for jobs. Elixir 1.5 and Phoenix 1.3 just came out so it is a good time to buckle down and go all in.

Edit: I put my checklist on GitHub
https://github.com/thebrianemory/elixir-focus-checklist/blob/master/checklist.md

Going all in

What do I mean by going all in? I already have a decent knowledge of Elixir. I successfully built an app called VidShare in Elixir and Phoenix. The more I learn the more I am sure it needs some refactoring (especially with Phoenix 1.3 being out) but I am happy with it nonetheless. There is a big difference between following a tutorial and sitting down to make your idea a reality.

I have set myself a two month goal. Is it realistic? Who cares! I want to have a job coding Elixir by the end of September. I am going to do whatever it takes to make that happen. Besides, it should be no problem checking off everything on my list in two months.

Let’s talk about my list

I have 11 things on my list that will be getting my time and attention in the next two months. As you can see from the image above, I have already checked off Dave Thomas’ Elixir for Programmers which I finished up last weekend. This was a great course that really opened my eyes to more ways to think about programming in Elixir. It takes you through making a hangman game where you have a CLI version and a Phoenix version all using the some backend code. It is really great and I recommend it!

So what about the other 10 things?

Phoenix Inside Out
I started on this book series this week. Phoenix Inside Out is a series of books to learn all about Phoenix. In Mastering Phoenix Framework, you learn about Phoenix using TDD. In Garuda, you learn how to build your own Phoenix framework clone to get a better understanding of how it all works.

I have only scratched the surface of Mastering Phoenix Framework and I can already tell it is going to be a fantastic resource. You build an ecommerce site using Elixir and Phoenix 1.3-rc2, soon to be updated to 1.3, and it is all done using TDD (yay!). You will deploy it in a variety of methods using Mix, Distillery release and Distillery release with Docker. The site will utilize i18n so the site can be viewed in English, French, and German.

Write more blog posts
I have not been very good lately with writing blog posts. This will be my first one in two and a half months. I want to write more regularly and will aim for one a week. I should have plenty to write and talk about with all of this Elixir learning and programming.

Update my Elixir tutorial blog posts
The last blog post I wrote was a series of them about creating an Elixir Phoenix app. The combination of learning more about Elixir and Phoenix, and their versions being upgraded tells me I need to go back and update the posts. This goes hand in hand with my next list item

Update VidShare
VidShare is a simple app designed to make it easy to share YouTube or Vimeo videos even if they are private. Simply add the URL and the app takes care of the rest. This is a spinoff of my Rails app Flatcasts. At some point, I would like to expand on it so it would have organizations and users to keep your videos private to your team. I want to go back and update this to use Phoenix 1.3, add some more tests, and tidy up the code.

Remake personal site
My personal site is currently a simple little Rails app. I want to rewrite it in Elixir and give it a little bit of an overhaul. Nothing too crazy but change the copy and the layout of the projects section. Then again, I really like the simplicity of this site by Gregory McIntyre so a massive overhaul could also happen.

Apply for every Elixir job
This part of things will start very soon. I want to update my GitHub, LinkedIn, Resume, and Twitter to reflect my new Elixir focus. I should get those done this week.

Go to ElixirConf
My ticket has been purchased, hotel booked, and flight arranged. I look forward to learning, meeting new people (which is always terrifying for me), and getting myself out there. I am doing the training and conference days so it will be a fantastic four days!

Build my Schedule App in Elixir
I built an app in Rails for my wife to use in her job to create the weekly schedule for her employees. However, I was not really happy with it. It was about that time I started learning Elixir. Naturally, I wanted to build an Elixir version and add more features that she would like to have.

Update Twitter, GitHub, LinkedIn, Resume
As I touched on in the Applying for every Elixir Job section, I have some updates that need done to these sites and my resume. I want to reflect my current focus on Elixir, and better present myself and my projects. There are projects I want to remove from there and projects I want to be more at the forefront. A good example would be my open source Ruby gem Corneal that was featured in Ruby Weekly #353.

Create a Bob’s Burger API
I love the show Bob’s Burgers. I find every show hilarious. I came across http://swapi.co which is a Star Wars API with data from all of the movies. I thought that was pretty amazing. I decided that building an extensive API like that would be a great project to undertake. I was wondering what movie or show I could base mine off of and Bob’s Burgers was the first to come to mind. It will be a lot of fun researching all the data needed and creating a great API using Phoenix.

There you have it!

That is my plan for the next two months. Feel free to hit me up on Twitter from time to time and ask what I am currently doing to get through my list.

Follow me on Twitter @thebrianemory. Follow me here, click the hands below to show some appreciation, leave a comment, and get in touch!

--

--

Brian Emory
Brian Emory | Web Developer

Backend Software Engineer (Ruby/Elixir). Giraffe-like qualities. I enjoy video games, bad movies, hard ciders, and pizza.