# Books on software design with Julia

**URL:** https://discourse.julialang.org/t/books-on-software-design-with-julia/131598
**Category:** Offtopic
**Tags:** question, book
**Created:** [August 14, 2025, 7:24am UTC](https://discourse.julialang.org/t/books-on-software-design-with-julia/131598 "2025-08-14T07:24:55Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Nikos\_Gianniotis](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nikos_gianniotis/32/11487_2.png) [@Nikos\_Gianniotis](https://discourse.julialang.org/u/Nikos_Gianniotis)
#### Post date: [August 14, 2025, 7:24am UTC](https://discourse.julialang.org/t/books-on-software-design-with-julia/131598/1 "2025-08-14T07:24:55Z")

</div>

I have been using Julia for a long time, but my skills have long plateaued when it comes to designing my code in more modular / structured way. Ideally, I would like to improve my coding so that I could modularise my code so that it plays well with other Julia packages, e.g. taking advantage of the amazing DifferantiationInterface.jl and so on.

I have learnt quite a bit from reading blog posts, looking at people’s code and of course from this tremendously helpful forum. However, I learn best from books (is this an age thing ? 😁) and I was wondering if anyone could perhaps point out to me a book that is devoted or devotes a significant portion to software design with Julia. I could imagine that there also non-Julia specific books out there that a Julia programmer would benefit from?

(Sidenote: would it be a good idea to have a Category in this forum called something like “Learning Resources” or similar?)

---

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [August 14, 2025, 7:40am UTC](https://discourse.julialang.org/t/books-on-software-design-with-julia/131598/2 "2025-08-14T07:40:52Z")

</div>

If you look [here](https://julialang.org/learning/) and scroll down a bit there are eight books presented.

This is a larger collection of books: [Books](https://julialang.org/learning/books/)

There is also [Hands-On Design Patterns and Best Practices with Julia | Programming | eBook](https://www.packtpub.com/en-us/product/hands-on-design-patterns-and-best-practices-with-julia-9781838646615)

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [August 14, 2025, 9:51am UTC](https://discourse.julialang.org/t/books-on-software-design-with-julia/131598/3 "2025-08-14T09:51:33Z")

</div>

I collected a few tutorials here: [https://modernjuliaworkflows.org/further/](https://modernjuliaworkflows.org/further/)

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [August 14, 2025, 1:15pm UTC](https://discourse.julialang.org/t/books-on-software-design-with-julia/131598/4 "2025-08-14T13:15:44Z")

</div>

> [@Nikos\_Gianniotis](#):
>
> improve my coding so that I could modularise my code so that it plays well with other Julia packages

For this specific purpose, I think the best source is still _The Unreasonable Effectiveness of Multiple Dispatch_ by Stefan Karpinski:

[![](https://global.discourse-cdn.com/julialang/original/3X/c/5/c5a2f02c81c376da005f8610ce9cdd4ad47cfdf4.jpeg "The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 2019") ](https://www.youtube.com/watch?v=kc9HwsxE1OY)
