Doing Dockyard Academy

Years ago, I had considered joining various software boot camps for JavaScript or Ruby, but the price was extravagant and I wasn't sure if it would be worth it unless I could realistically find a job to apply the skills learned. At the time around 2015, I had just moved to Germany and had started day trading for work.

Though I read books and did courses on Ruby, JS, Haskell, and Elixir, it was never enough. I wanted to be part of a group with formal instruction, daily exercises, and projects that pushed me to do proper software engineering.

I heard about Dockyard Academy in late 2022 and was very intrigued since it was all about Elixir and software development. After finishing a client project the following spring, I immediately applied and happily paid the gracious $5k fee. If you're interested, the whole curriculum is open-source.

We started in June and had class Mon-Fri for 27 hours/week until the end of August. Discord was the platform and it worked overall very well for discussions, live group video instruction with screen sharing. We duplicated the curriculum repo to our GitHub account and used LiveBook to read the lessons and practice some inline exercises. For larger exercises, we'd use our own code editor and push all updates to our repo.

We had reading material that would be covered by our instructor Brooklin Myers for a few hours, after which we'd do practice problems or further reading in breakout rooms with a partner. After a longer break, we'd do a group review and share our exercises, then return to a group or go solo for the last hour.

Since I knew Elixir fairly well though hadn't dived into making my own projects with it, the first 6 weeks were easy and the exercises were fun. I'm thankful they weren't just the type of algorithm challenges that you find in the Exercism.io Elixir track.

Then the pace picked up fast with new subjects every day covering Phoenix, Ecto, testing, continuous integration, and more. We started doing larger projects in groups of 3 using GitHub repos with contributors, pull requests, approvals, comments, etc.

In the last few weeks, we focused on our capstone project which we'd continue working on until the end of September when we'd present it to the class. I chose to make a weather application which I discuss here in my portfolio.

Overall, it was a fantastic experience that sharpened my critical thinking skills and taught me the skills to professionally develop software.

[@portabletext/react] Unknown block type "graphicFigure", specify a component for it in the `components.types` prop