Software engineer & teacher · Oslo Open to conversations

Craig Marais

Software-engineering teacher at Gokstad Akademiet · backend developer by background

More than a decade teaching software engineering, writing curricula, and leading technical teams in Norway and South Africa.

I teach the two-year backend programming programme at Gokstad Akademiet in Oslo. It covers the stack end to end: Python and SQL, C# and .NET, ASP.NET Core APIs and Blazor, and deployment with Docker and AWS, with security built into every course. Before that I wrote and taught the Java and .NET full-stack bootcamps at Noroff Accelerate, led a team of six lecturers, and managed the commercial relationship with Experis Academy.

I started as a backend developer in South Africa, hold a Master's in IT, and have seven peer-reviewed publications on cyber security awareness, game-based learning, and computing education. Research is on hold while I focus on teaching. I am a Norwegian and South African citizen based in Oslo, working in English with working proficiency in Norwegian.

I enjoy teaching and am not actively looking to move. That said, if you have read this far and think I would be a good fit for something, I would genuinely like to hear about it.

What I bring

Experience

2023–
Teacher · Gokstad Akademiet, Oslo Teach all four courses of the Backend-programmering programme: Python, SQL and Flask; C# and .NET; algorithms, Blazor and ASP.NET Core; Docker, Docker Compose and AWS. Authored a peer-reviewed paper for the institution (CENTRIC 2024).
2023
Teacher (part-time) · Norwegian School of Technology, Oslo Concurrent part-time role developing introductory software development material.
2022–23
Technologist · Talented (acquired by Witted), Oslo Designed and delivered in-house technical training, acted as a hands-on technical resource for colleagues and clients, and managed internal IT and supplier contracts.
2018–22
Noroff Accelerate · Noroff School of Technology and Digital Media Lecturer & Programme Leader, then Programme Manager, then Key Account Manager. Wrote and taught the Java and .NET full-stack bootcamps, led all teaching staff in the new Accelerate department, supervised six lecturers, and developed new courses (cloud microservices, embedded C++, Python for data analysis, TDD, OWASP). Managed the Experis Academy partnership end to end.
2011–18
Earlier roles · South Africa Project supervision and web development at Nelson Mandela University; Unity mobile prototyping at Fuzzy Logic Studio; tutoring in software development, information systems, AI, and theory of computing at NMU and Rhodes University.

Skills

Languages
C#, Java, Python, JavaScript, SQL, C++, R
Backend
.NET and ASP.NET Core, Spring, Flask, REST API design, relational databases
Frontend
Blazor, Angular, React, Vue
Platform
Docker and Docker Compose, AWS, Git, CI, agile delivery, testing and TDD
AI tooling
Claude and Claude Code, AI-assisted development workflows, teaching their effective use
Other
Unity, secure software development, Microsoft Certified Professional, CompTIA A+, member of Tekna

Education

2013
Master of Technology, Information Technology Nelson Mandela Metropolitan University · Dissertation: Guidelines for the Use of the Indie Approach in Game Development Projects in the Context of a Capstone Experience
2012
Bachelor of Technology, Information Technology (Software Development) Nelson Mandela Metropolitan University
2011
National Diploma, Information Technology (Software Development) Nelson Mandela Metropolitan University

Publications

7 peer-reviewed · h-index 4

Publications on cyber security awareness, game-based learning, and computing education. Full list on Google Scholar.

  1. 2024

    The Balance Between Surveillance and Privacy: Adjusting to a Changing Threat LandscapePDF ↗ Berntzen, L., & Marais, C. · CENTRIC 2024, Venice, Italy

  2. 2018

    Offline-First Design for Fault Tolerant ApplicationsPDF ↗ Linklater, G., Marais, C., Herbert, A., & Irwin, B. · SATNAC 2018, Western Cape, South Africa

  3. 2016

    Towards a Technical Skills Curriculum to Supplement Traditional Computer Science TeachingDOI ↗ Marais, C., & Bradshaw, K. · ITiCSE 2016 (ACM)

  4. 2015

    Problem-Solving Ability of First Year CS Students: A Case Study and InterventionPDF ↗ Marais, C., & Bradshaw, K. · SACLA 2015, Johannesburg, South Africa

  5. 2014

    Incorporating a Game Design Document into Game Development Project DeliverablesPDF ↗ Marais, C., Futcher, L., & Van Niekerk, J. · SACLA 2014, Port Elizabeth, South Africa

  6. 2013

    Are you human? A framework to prevent automated web-form submissions Marais, C., & Van Niekerk, J. · ZA-WWW 2013, Cape Town, South Africa

  7. 2013

    Fostering Content Relevant Information Security Awareness through Browser ExtensionsDOI ↗ Potgieter, M., Marais, C., & Gerber, M. · WISE 8 / IFIP, Auckland, New Zealand

Get in touch

LinkedIn or email both work