Self-taught programmers and holders of non-CS qualifications are welcome to apply.
The following qualifications are an advantage:
- You have developed at least one piece of software that somebody else has used.
- You are comfortable using the Unix shell or Windows Terminal with WSL.
- You are able to independently learn technology from books and online courses (though you will be supported when you get stuck if you “ask questions the smart way”, as Eric Raymond and Eric Moen put it.)
- You have previously asked, or answered, a question on a technical community support forum.
- You have an account on Github or Gitlab.
- Other people turn to you for help with technology, and I mean people besides family.
- You possess the “5 Personality Traits Every New Programmer Should Have”, according to learntocodewith.me: Patience, Courage, Passion, Creativity, Logic.
- You also possess the “Three Great Virtues of a Programmer”, according to threevirtues.com: Laziness, Impatience, and Hubris.
During your time with us, you will be exposed to areas of computing that lie beyond web/mobile app development, data science, and machine learning. You will learn to see the world as a computer scientist does – in terms of logics, languages, and libraries – and acquire, on the job, many of the skills on Matt Might’s list of “what every computer science major should know”. Working with other junior and senior researchers, you will learn technologies and skills which will be valued across a range of future careers.
Open-Source Software & Open-Standard Infrastructure Engineering: Internet infrastructure · Unix · Raspberry Pi · TCP/IP · HTTP(S) · XML · JSON · Schemas · YAML · Git · Github · REST APIs · RFCs · IETF · StackOverflow · Hacker News · Technical Writing · Developer Relations and Evangelism
Software Development: Test-Driven Development · Continuous Integration · Software Project Management · Agile / XP / Scrum · Pair Programming · Literate Programming · Unit Testing · Amazon Web Services · Docker · Full-Stack Development
Documentation: ReStructuredText · LaTeX · Jekyll · Markdown · Org-Mode
Parsers, Compilers, and Programming Language Theory: Lex/YACC · alex/happy · Bison · CFGs · EBNF · BNFC