Modern Julia Workflows

A series of blog posts on best practices for Julia development. Consider this a draft: once the posts are ready, we will submit them to the Julia language blog to make them easily discoverable. If you find our project useful, please star the GitHub repo!


Our purpose is to gather the hidden tips and tricks of Julia development, and make them easily accessible to beginners. We do not cover syntax, and assume that the reader is familiar enough with the basics of Julia. Instead, we focus on all the tools that can make the coding experience more pleasant and efficient.


There are three blog posts of increasing technical difficulty, plus one page of additional resources:

  1. Writing your code: from zero to a basic script
  2. Sharing your code: from a basic script to a reliable package
  3. Optimizing your code: from a basic script to a light-speed algorithm
  4. Going further: other websites to help you dive deeper into the rabbit hole

These are all fairly long and not meant to be read in one sitting, so take your time. Keep in mind that while each of these resources can be useful to you, not every one of them will be. But at least you will know where to look in case you have a specific question.

Before you start

Many of the links you will see point to GitHub repositories for Julia packages. When you click them, they will take you to a page called that contains a brief description of the package, sometimes insufficient for actual use. You can usually find more thorough documentation by looking for a blue badge called docs|stable at the top of the page.

CC BY-SA 4.0 G. Dalle, J. Smit, A. Hill. Last modified: March 20, 2024.
Website built with Franklin.jl and the Julia programming language.