The Open edX platform and most software projects that interact with it are built using Python and Django. A solid understanding of the Python language is important to your day-to-day work at OpenCraft.The rest of the stack described in the job description can often be picked up on the job, but note that the Open edX platform and OpenCraft will already require significant effort to learn. So the more you are missing, the steeper the learning curve—if you are missing a significant proportion, expect a very intense first few months. If you don’t have Django experience in particular, you will have to be able to pick it up very quickly. You’ll have a better chance if you have experience with at least one similar framework. You should also be familiar with the basics of the Linux command line and system administration. You don’t have to be able to configure a webserver from scratch when you join, but you will need to know how to perform basic shell commands and know how to ssh into machines to run those commands. You will need a POSIX-compatible environment. Most of our developers run Linux or Mac OS X as their main operating system, though Docker and Vagrant are used to ensure compatibility during development for most projects. You will need to learn the basics of them quickly if you don’t already know them. You should be familiar with CSS and Javascript. You don’t have to be an expert in these, but you should not be afraid to get your hands dirty with them. There is a general push towards using React as the frontend framework of choice in the Open edX ecosystem, but you can pick it up as you go. Bonus points for TypeScript, although you can learn that as you go, too. You don’t need to be an expert in SQL, but you should know how to run a simple select statement and have some familiarity with database concepts such as rows, tables, columns, and indexes. Most of the SQL we do is written for us via Django’s ORM. Most of us Google the rest as we go. You should know how to write unit tests. We are serious about testing. We frequently deploy on AWS and OpenStack environments. You don’t need to be familiar with these, since knowing Linux basics is enough to pick them up. There are a few other technologies we use during devops, like Terraform, Ansible, Consul, and more. While you don’t have to know it already, you must be willing to learn public speaking. Developers sometimes present during community events or to clients, and each developer is expected to submit a plan for a talk at the yearly Open edX conference and to present if selected. Project management skills also help, as you will be leading some projects during your tenure.