Articles About

Atlassian Engineering

Behind the scenes of the Atlassian Engineering team. Tips, tricks, and how we get it all done!

Featured Article

Git submodules: core concept, workflows, and tips

[cta]Including submodules as part of your Git development allows you to include other projects in your codebase, keeping their history separate but synchronized with yours. It’s a convenient way to solve the vendor library and dependency problems. As usual with everything git, the approach is opinionated and encourages a bit of study before it can […]


Git submodules: core concept, workflows, and tips

[cta]Including submodules as part of your Git development allows you to include other projects in your codebase, keeping their history separate but synchronized with yours. It’s a convenient way to solve the vendor library and dependency problems. As usual with everything git, the approach is opinionated and encourages a bit of study before it can […]

Subscribe to Work Life

Get articles like these delivered to your inbox every two weeks.

Git submodules: core concept, workflows, and tips

[cta]Including submodules as part of your Git development allows you to include other projects in your codebase, keeping their history separate but synchronized with yours. It’s a convenient way to solve the vendor library and dependency problems. As usual with everything git, the approach is opinionated and encourages a bit of study before it can […]

Git submodules: core concept, workflows, and tips

[cta]Including submodules as part of your Git development allows you to include other projects in your codebase, keeping their history separate but synchronized with yours. It’s a convenient way to solve the vendor library and dependency problems. As usual with everything git, the approach is opinionated and encourages a bit of study before it can […]

Covariance and Contravariance in Scala

I spent some time trying to figure out co- and contra-variance in Scala, and it turns out to be both interesting enough to be worth blogging about, and subtle enough that doing so will test my understanding! So, you’ve probably seen classes in Scala that look a bit like this: [cc escaped=”true” lang=’scala’ ] sealed […]

Git submodules: core concept, workflows, and tips

[cta]Including submodules as part of your Git development allows you to include other projects in your codebase, keeping their history separate but synchronized with yours. It’s a convenient way to solve the vendor library and dependency problems. As usual with everything git, the approach is opinionated and encourages a bit of study before it can […]

Covariance and Contravariance in Scala

I spent some time trying to figure out co- and contra-variance in Scala, and it turns out to be both interesting enough to be worth blogging about, and subtle enough that doing so will test my understanding! So, you’ve probably seen classes in Scala that look a bit like this: [cc escaped=”true” lang=’scala’ ] sealed […]

Article in Git Atlassian Engineering
Git submodules: core concept, workflows, and tips
Article in How we build Atlassian Engineering
Covariance and Contravariance in Scala