What software development skill do I need?

What software development skill do I need?#

The first thing is obviously knowing and choosing programming language(s) appropriate for your task. Here’s a short discussion on that here: What programming languages do I need to learn?

Let’s say you are writing a super cool software that does amazing things.

You should version control it using Git.

And you should want to make it open-source and f

Surely, you want the world to use it. If your software has a lot of dependencies, you might want to containerize it.

Version control using Git and GitHub#

Conda#

When you install a package via Conda, it searches for the package in repositories (called channels). If the package is not available in Conda’s default channel, alternative channels include conda-forge and Bioconda. We recommend using conda-forge for the reasons listed here.

Note that Conda’s dependency resolution tends to be slow, so here are some faster alternatives:

Docker#

Apptainer#

Documentation#

GitHub Actions#