Ruby Developer in Johannesburg, Gauteng, South Africa
Systems Architect2016 - PRESENTAutomation Exchange
Technologies: Ruby, Sidekiq, Linux, C#, MS SQL, Elasticsearch
- Built CI/CD from scratch using GitLab.
- Migrated the C# background service to Sidekiq workers.
- Guided and coached a team of five developers.
- Designed and architected the overall system.
- Built a full API with 80%+ test coverage.
Owner2007 - PRESENTJade IT CC
Technologies: PHP, Ruby, Rails, Sinatra, Symfony
- Designed and developed a system to manage rentals and rental payments.
- Conducted basic data mining for a local university to determine the achievements of its first year students.
- Managed and monitored the AWS infrastructure for a small mobile application company.
- Integrated with various APIs (Facebook, Twitter, Instagram, MotorMouths) for different projects.
- Implemented a document management system with fuzzy searching and an API in Rails.
Technical Analyst2015 - 2016Dimension Data
- Developed technical specifications.
- Implemented technical specifications.
- Tested and released changes.
Senior Developer2013 - 2015Tutuka
Technologies: ColdFusion, MS SQL, Ruby, PCI
- Implemented a log data store using Elasticsearch, Logstash, and Kibana.
- Designed and implemented an API proxy to enable the rapid integration of third-party APIs.
- Debugged ISO8583 financial transactions.
- Assisted in integrations with MasterCard and Visa for international clients.
- Set up and ran Ubuntu 12.04 infrastructure to support the Elasticsearch setup, including taking them through PCI compliance.
Lead Developer2012 - 2013Everlytic
Technologies: PHP, MySQL, Various APIs
- Migrated the version control system from SVN to Git.
- Integrated with the Facebook, Twiiter, and Google Analytics APIs.
- Mentored the development team in good design and best coding practices.
- Expanded the testing infrastructure to get more code under test.
- Guided the integrations team in developing solutions needed by clients.
Systems Developer and Head of Development2009 - 2012Branded Internet
Technologies: PHP, Linux
- Created an API to enable wholesale selling of ADSL and other ISP services.
- Implemented source control for the codebase.
- Expanded systems to enable quicker resolution of support queries.
- Designed and implemented a new customer portal to enable quicker go-live for new clients.
- Mentored the development team in best practices and design methodology.
Developer2006 - 2007Cherry Creek Software
- Increased the usability of the company's core product by resolving bugs and improving the flow of the product.
- Implemented a simple spell checker to allow fuzzy matching of words sent in a SMS campaign.
- Created a CMS for an international customer.
- Consulted on the needs of international clients.
- ProxES (Development)http://gitlab.com/eagerelk/proxes
ProxES is an Elasticsearch application framework that allows a developer to add security, access control and basic reporting to any Elasticsearch cluster.
- Ready to Send (Development)https://members.readytosend.com
A mass email marketing system built using PHP, Laravel, and AWS services like SES, SQS, EC2, and RDS. The system enables the client to send hundreds of thousands emails a month to the real estate industry in South Africa.
- Sequel::Elasticsearch (Development)https://github.com/jrgns/sequel-elasticsearch
Sequel::Elasticsearch allows you to transparently mirror your database, or specific tables, to Elasticsearch. It's especially useful if you want the power of search through Elasticsearch but also the sanity and structure of a relational database.
- Logstash CloudWatch Plugin (Development)https://github.com/EagerELK/logstash-input-cloudwatch
This Logstash plugin pulls statistics on various metrics from the AWS CloudWatch service on regular intervals. This allows the user to import data from CloudWatch into data systems such as Elasticsearch. Built in Ruby.
- EagerELK - Elasticsearch, Logstash, and Kibana (Other amazing things)https://blog.eagerelk.com
This is a blog about the ELK stack - Elasticsearch, Logstash, and Kibana. On it you can learn how to set up the various products, as well as use them in various ways.
- Personal Blog (Other amazing things)http://jrgns.net
A blog used to record the progress of my technical knowledge and skills.
- Logstash Tutorial: Using Logstash to Streamline Email Notifications (Publication)Toptal engineer Jurgens du Toit looks at the possibility of using Logstash to regain control of your inbox and make your error emails manageable again, all without changing a single thing in your app. Logstash can effectively leverage the power of Elasticsearch and Amazon SNS to streamline email notifications and save time.
FrameworksSinatra, Laravel, Ruby on Rails (RoR), Bootstrap, Symfony 2
Libraries/APIsSidekiq, Sequel, Pundit, Rack, React, jQuery
ToolsLogstash, RSpec, Rubocop, AWS CloudWatch, JSX, AWS SES, Amazon SQS, AWS CodeDeploy, GitLab, Ansible
ParadigmsObject-oriented Programming (OOP), Object-oriented Design (OOD), Continuous Integration (CI), Continuous Delivery (CD), Scrum, Continuous Deployment, Agile Software Development, Event-driven Programming
StorageElasticsearch, MySQL, PostgreSQL, AWS RDS, Redis
PlatformsUbuntu, AWS EC2, Amazon Web Services (AWS)
- Master of Science degree in Computer Science2004 - 2007University of Johannesburg - Johannesburg, South Africa
- Bachelor of Science degree in Computer Science, with Honors2000 - 2004University of Johannesburg - Johannesburg, South Africa