Senior Ruby on Rails Developer (JHB)

IT – Software Development
Johannesburg – Gauteng

A Joburg company providing forward-thinking EdTech solutions seeks the coding expertise of a Senior Ruby on Rails Developer to join its team. Your core role will entail developing features and control, optimising and maintaining the server infrastructure hosted on Heroku. The current architecture to handle the volume is broken up into multiple different servers/apps – all apps are running on Ruby on Rails and all of them except for the Main Server require only backend development. You will require Senior level in depth knowledge of Ruby/Ruby on Rails, solid knowledge of PostgreSQL databases and optimising & indexing queries on those databases as well as deploying to Heroku, connecting Ruby to different AWS environments – this is for file storage and for some AI functions like facial recognition. Your Frontend tools should include HTML, slim syntax, Webpacker, JavaScript, jQuery and APIs.
  • Create new features on the lecturer dashboard.
  • Optimise API calls for the starters and main app API.
  • Create new API endpoints for the Flutter Developers for some of the mobile app features and pulling through that info to the main dashboard.
  • Communicate daily with the Call Centre on technical issues, results that can’t be found and some of the other dashboard related technical issues that certain Lecturers could be experiencing.
  • Make sure the processors and other external APIs are all running, and all results are processed daily.
  • Writing specs/unit tests for code. The applications currently are not tested due to time requirements so the role would also be to increase testing coverage.
  • In depth knowledge of Ruby/ Ruby on Rails (Senior Developer).
  • Knowledge of PostgreSQL databases and optimising & indexing queries on those databases.
  • In depth knowledge of deploying to Heroku and using the tools on Heroku to optimise the applications
  • In depth knowledge of connecting through Ruby to different AWS environments. This is for file storage and then also for some of the AI functions like the facial recognition.
  • Have an understanding of optimising the security on applications. A key improvement is the security of the app and making sure with each new feature we are not vulnerable to any kind of attack.
Frontend Skills –
The Frontend skills needed are for the lecturer dashboard. The initial styling for this dashboard was purchased through a theme and so extending frontend sections can also be sped up using those components from the HTML theme. The main setup for the frontend is:
    • All views are written in slim syntax.
    • Webpacker is used to handle assets and Javascript libraries for the components. 
    • A lot of the JS functions are using jQuery so a knowledge of jQuery would be essential.