// Marinus
// Swanepoel
About Me
I’m a full stack Ruby on Rails Engineer 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 create something awesome.
With over eight years of experience building applications with Ruby on Rails, React.js and other web technologies I am eager to use my skills to solve important problems. I started my software development career several years ago focusing front-end development using Wordpress, jQuery and backbone.js. Over time, I have honed my skills, enabling me to exercise sounds judgement and discretion in choosing patterns, technologies across all facests of web application development, deployment and maintenance.
My goal is to build easy to use software with an emphasis on code readability and maintainability. I am currently seeking opportunities to contribute to a dynamic team tackling challenging and impactful problems. I bring a leadership style that embodies a friendly demeanour of curiosity, empathy, and consensus building.
I firmly believe in aligning with a company's values, gaining a profound understanding of business priorities, and fostering transparent and clear communication with the leadership team.
Key Skills
- Full-Stack Development, Ruby On Rails, MVC
- JavaScript, Stimulus.js, Turbo, Hotwire, Node.js, Express, TypeScript, React.js
- MiniTest, Jest, Rspec, Capybara, Selenium, Puppeteer
- HTML, CSS, SASS, LESS, Bootstrap, TailwindCSS
- CI/CD, Gitlab-CI, GitHub Actions, Git
Technical 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. Using this "batteries included" framework, has given me a transferrable well-rounded understanding of all the parts that comprise a dynamic secure web application.
- 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.
- Node.js: I am currently collaborating with a friend on a logistics and accounting application that uses Express.js for the Node.js server. The application has a minimal custom crafted front-end framework, shares application models between the front-end and backend and uses our own MicrosoftSQL query builder layer.
- 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 include Jest, Selenium, MiniTest, Capybara and RSpec.
- Continuous Integration and deployment (CI/CD): I have experience using and configuring CI/CD tools like Github Actions 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
- React.js: I have five years experience creating user interfaces with React.js.
Employment
-
Freelance Developer at for small organizations with a big impact
July 2023 to PresentDescription:
- Built applications from the ground up chose the stack and implemented features to meet client needs
- Gathered client requirements and integrated them into feature development plans and development roadmap
- Exercised discretion regarding technical solutions balancing speed of development, maintainability and feature completeness
- Demonstrated fast learning and adaptability in learning tools required to develop quickly in Node.js
- Learned to use Docker and other tools to facilitate quick development and easy deployment
Tools:
- Express, Microsoft-SQLServer, Node.js, Docker
- React.js, jQuery, SASS
- Playwright, Jest
Software Developer at ElectionBuddy
May 2020 to July 2023Description:
- Worked closely with product owner to refine feature specifications, visual design and planning with the goal of balancing feature completeness and speed.
- Offered guidance and support to fellow developers
- Designed and implemented dynamic user workflows and experiences (organizing records, downloading reports, printing ballots)
- Independently built backend integrations with external systems like Zapier
- Invented innovative approaches to generating PDF election result documents by re-using existing front-end code.
- Built a dashboard with complex and dynamic interactions (multiple filters, context sensitive actions, progressive disclosure)
- Monitored error reporting system and provided support pro-actively
Tools:
- Ruby on Rails, Turbo, TypeScript
- Stimulus.js, Hotwire, Turbo, jQuery, CoffeeScript
- Sidekiq, Devise
- Postgres, Capistrano, DataDog, Rollbar
Software Developer at Two Red Kites
February 2019 to October 2019Description:
- Liased with clients to gather requirements and presented iterations on deliverables
- Learned to effectively use Ruby on Rails front-end technologies (previous my experience was limited using React.js on the front-end and using Rails for a REST API)
- Brought consistency and maintainability in markup and semantics across user interface for a large application
Tools:
- Ruby on Rails
- Formtastic, Cocoon, Administrate, Pundit, JSONAPI-Resources
- Bootstrap, SCSS
- Ember.js, jQuery
- Heroku
Developer at Genie Solutions
February 2018 to December 2018Description:
- Built full-stack features, using Ruby on Rails for a REST API, and using React.js on the front-end
- Participated in planning meetings, estimating scope and feature design
- Presented research to development team at brown-bag meeting regarding our specific use of testing tool and how to approach testing more effectively
- Identified and documented specific problems regarding technical debt. I wrote a proposal for a plan to address the debt incrementally. I received praise and recognition from the product owner for my well written proposal and plan contrasted to complaints and vague ideas of rewriting the module.
Tools:
- React.js, Redux, MaterialUI, Jest
- Ruby on Rails
- Rspec, Cucumber, Capybara
Software Engineer at everydayhero
September 2014 to November 2017Description:
- Built a dynamic React.js front-end for a Ruby on Rails Rest API
- Contributed to the Ruby on Rails backend, such as creating new models, controllers and integrations with microservices maintained by other teams in the organization
- Learned nuances of managing priorities of testing to ensure reliability (unit tests on the front and and backend, integration tests and end to end tests)
Tools:
- React.js, Redux, Webpack, Jest, Mocha
- Ruby on Rails
- Rspec, Cucumber, VCR
- Docker, Microservices, RabbitMQ
- Elixir, Phoenix
HTML5 Developer at Lixar I.T.
September 2012 to September 2014Description:
- Worked extensively on the front-end for several applications, using CSS3 and jQuery
- Worked in large team in fast development work cycles
- Contributed to effort to white-label an existing application, with support for tenant dependent localization
Tools:
- JavaScript, jQuery
- C#.Net
- SASS
Education
-
Interactive Multimedia Developer Diploma at Algonquin College
Learned the basics of design, digital photography, video production, motion-graphics and web technologies.
-
Bachelor of Fine Arts at University of Lethbridge
This program taught me to critically evaluate the context and content of production. My art practice was heavily focused on the development of rigorous analytical processes within the context of conceptual art. Concepts were analysed and 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".
Graduated with distinction.