At work

When I started working at Siyavula as a technical content editor I needed to learn coding to be able to create interactive maths and science questions. The chosen language was Python and so I read some books, played around a bit and started coding.

From this role it was a natural step for me to move more into the development side and learn about websites and databases and such things. I currently work with Pyramid and so my coding experience is largely in Python.

I am passionate about testing. I love seeing well written tests and figuring out how to ensure new code is sufficiently tested. I am part of the Cape Town Testing MeetUp group and actively participate in the quarterly meetings.

I am particularly passionate about changing people's lives through any means. Education is a key means of helping people move to greater things in life. I enjoy working on projects that help people improve their lives.

Online courses have been my main way of gaining the skills I need and they are useful to return to for refreshers. These courses include a Udacity nanodegree in full stack web development and a series of courses in programming languages from Coursera.

My day to day work is very challenging and varied since I am part of a very small dev team. Since the team is small I have to be able to handle a variety of tasks including: updating and modifying the database; creating new web pages (both the backend and ensuring the page looks good); updating existing content; reviewing code; writing tests and fixing bugs.

At play

Outside of work I mostly end up relaxing by hiking, reading or baking but occasionally I will tackle any problems that fascinate me such as determining which years we get the most long weekends to writing a script to help me decide what to make for dinner.

I belong to a hiking club to get out on the mountain with a great group of people. I also belong to two different bookclubs, each with a unique focus.

Current

Python developer at Siyavula Education

As a python developer I work on the main Siyavula website developing new features for the site and maintaining the code.

I work with the Pyramid framework, WTForms and Postgres (SQL) to build out the content on the site. On the testing side I use Python nose as the test runner and help ensure that tests are well written and comprehensive.

In addition my duties include maintaining the main staging server for testing our features and deploying code to the live site.

I assisted in converting the site from Plone to Pyramid and now we run fully on Pyramid. Due to the small dev team size I have worked on both front and back end tasks even though my focus has been mainly backend. I am comfortable with JavaScript, HTML, CSS and Sass as well as a little bit of React. One of the big tasks has been adding tests to the site.

Contact person: Richard Cochrane

Past

Technical content editor at Siyavula Education

In this role I was responsible for creating new questions for Siyavula's practice service using Python, xml and LaTeX.

I was in charge of editing and creating content for the grade 10 and 11 physical science textbooks. For these textbooks I needed to create both ePub and PDF formats as well as web ready pages.

Contact person: Mark Horner

Education

BSc Hons chemistry (UCT)

Skills

Back-end web development

Python
SQL
SQLAlchemy
Pyramid
WTForms
Jinja
LaTeX
LXML
Testing

Operations

Gunicorn
Nginx
HAProxy
Bash
Linux

Frontend

Javascript
React
Bootstrap

Other

Communication
Time managment