// Marinus
// Swanepoel

About Me

I’m a full stack developer who cares deeply about building software that makes the world a better place. I thrive when collaborating in cross-functional teams where product owners, designers and developers join together to make something awesome.

I have over eight years of experience building applications with Ruby on Rails, React and other web technologies. I started my software development career several years ago doing front-end development using Wordpress, jQuery and backbone.js.

I care about building easy to use software with an emphasis on code readability and maintainability. I am currently looking to join a dynamic team working on challenging and important problems.

I take a leadership approach that embodies a friendly attitude of curiosity, empathy, and consensus building. I believe in embracing the company's values, gaining a deep understanding of business priorities, and ensuring transparent and clear communication with the leadership team.

Key Skills

  • Ruby On Rails, MVC, Full-Stack Development
  • JavaScript, TypeScript, React
  • MiniTest, Jest, Rspec, Capybara, Selenium, Puppeteer
  • HTML, CSS, SASS, LESS, Bootstrap, TailwindCSS
  • CI/CD, Gitlab-CI, Git

Experience Summary

  • Ruby on Rails: I have used this Object-Oriented MVC framework for the past eight years to create RESTful JSON APIs, as well as server side rendered applications.
  • JavaScript & TypeScript: For more than ten years I have been building complex user experiences using "Vanilla" JavaScript and libraries like React.js, Backbone.js and jQuery. I delight in the use of TypeScript whenever the opportunity is available to incorporate it in the development workflow.
  • React.js: I have five years experience creating user interfaces with React.js.
  • Automated Testing: I have experience writing unit and integration tests in TDD workflows, as well as writing end-to-end tests. The testing and automation tools I have most experience with are MiniTest, Jest, Capybara, Selenium and RSpec.
  • Continuous Integration and deployment (CI/CD): I have experience using and configuring CI/CD tools like SemaphoreCI and Gitlab-CI.
  • HTML + CSS: All of my roles have included front end development using HTML and CSS. I have used numerous tools to write CSS and style applications. Some of these tools are SASS, LESS, PostCSS, Bootstrap and Tailwind CSS

Employment

  • Freelance Developer

    July 2023 to Present

    I have been working with a not-for-profit organisation that requires a rich user experience for gathering public feedback in the environmental education sector. For this client I am relying on my Ruby on Rails experience to quickly build the public facing interface and the administratrion and moderation interface.

    Another application I have been working on is a Node.js app using Express.js on the back-end to deliver tailored logistics, work-order-tracking and accounting integration for a small business.

  • Software Developer at ElectionBuddy

    May 2020 to July 2023

    Used Ruby on Rails with some the greatest new tools in the Ruby developer toolbox like Stimulus.js, Turbo and TypeScript. For some projects I worked independently and for others I worked in close collaboration with fellow developers to build solutions that enabled the features outlined by the product owner. Working closely with the product owner I would quickly iterate on the user interface to find the best user experience paired with excellent technical implementation.

  • Software Developer at Two Red Kites

    February 2019 to October 2019

    I worked on numerous projects for smaller businesses and organisations. I regularly communicated with clients to capture their requirements, assess the scope of the work they requested and designed solutions for their specific business needs. A large portion of my work focused on enhancing the look and feel of older applications. I also dealt with maintenance items such as fixing bugs. The majority of my work was focused on erb templates, jQuery and Bootstrap.

    I became very familiar with many ruby gems used for rendering pages server-side such as Formtastic, Cocoon, and Administrate.

  • Developer at Genie Solutions

    February 2019 to December 2019

    I worked in a close-knit team to build a medical practice management cloud SaaS product using RESTful APIs (built with Ruby on Rails) and a React.js user interface. I worked on the team responsible for the invoicing modules and integrations with third-party services like PowerBi. I became familiar with the nuances of end-to-end testing strategies using Cucumber and Capybara. I learned communication strategies to help me advocate for the adoption of Continuous Deployment and other good development practices. Through the opportunity of brown-bag presentations, I introduced many of my colleagues to design patterns I had learned at my previous workplace.

    I took initiative in identifying technical debt that was significantly slowing development of invoicing modules. I drafted a comprehensive report for the product owner explaining specific problems with the relevant modules. I used static analysis tools to quantitatively support my argument and chartered a strategy to incrementally improve the relevant code in preparation for new features to be added.

  • Software Engineer at everydayhero

    September 2014 to November 2017

    The team at everydayhero was large with many mentors available to teach me about various design patterns and practices to build high quality software. We built Single Page Applications (SPAs) using, at the time, cutting edge tools such as React.js and Webpack. The backend for these applications were Ruby on Rails applications with a RESTful JSON API. The interfaces we built were used by charity administrators to manage their campaigns.

    We emphasised comprehensive testing and test driven development by using unit tests and end-to-end feature tests. This was done using Cucumber and Selenium web-driver as part of our continuous integration (CI) workflow. I also made contributions to the reporting application built with Elixir to deliver reports to charities about their donors and donations.

  • HTML5 Developer at Lixar I.T.

    September 2012 to September 2014

    Developed and styled applications for embedded and mobile platforms using HTML5 and CSS3. Developing new features and providing support for legacy web-applications on a C#.Net platform. In this role I was working on both small and large teams in close communication with project managers and team members.

  • Freelance Web Developer

    August 2013 to October 2013

    Worked on the creation of Flash ad banners. Built a small CMS for in store display with CodeIgniter and MySQL.

  • Web Developer at Victory Arts

    March 2011 to August 2012

    Developed websites and web applications in close communication with clients using new HTML5 APIs, JavaScript (including a large project using backbone.js), PHP, WordPress, and LAMP stack. Worked independently and in collaboration with a team to meet project objectives.

  • Web Developer at Canadian Forest Tree Essences

    June 2010 - September 2010

    Set up an stock photography e-commerce site with a custom theme and collaborated with client to create a workflow for uploading images.

Education

  • Interactive Multimedia Developer Diploma Student at Algonquin College

    September 2009 - May 2011

    Learned the basics of design, digital photography, video production, motion-graphics and web technologies.

  • Bachelor of Fine Arts at University of Lethbridge

    September 2004 to May 2008

    My art practice was heavily focused on conceptual art and the development of rigorous analytical processes. Concepts were explored by designing a methodology and process that was carried out to completion. The output of the processes, along with the generated documentation, was presented as the completed "artworks". The process and documentation was designed to clearly communicate project objectives and output to audiences with varying levels of art knowledge.

    Graduated with distinction.