{"id":1484583,"url":"https://alion.io/job/salt-senior-ruby-on-rails-developer","title":"Senior Ruby on Rails Developer","company":{"id":1935342,"name":"Salt","domain":"welovesalt.com","url":"https://alion.io/company/welovesalt","size_band":"201-500","is_staffing_agency":true,"employer_type":"agency","is_intermediary":false,"listed_via":null,"ats_vendor":null,"truth_index":{"grade":"C","score":64,"open_postings":1440,"ghost_share":0.608,"stale_share":0,"repost_share":0,"time_to_fill_p50_days":null,"computed_at":"2026-10-01T05:45:00Z"}},"role":"Backend","role_family":"Backend","seniority":"senior","employment_type":null,"work_mode":"hybrid","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Johannesburg, South Africa"],"countries":["ZA"],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":{"min_usd":31000,"max_usd":73000,"period":"year","method":"role_seniority_country_remote_cell","sample_n":11},"experience_years_min":5,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"AWS","optional":false},{"name":"Azure","optional":false},{"name":"CI/CD","optional":false},{"name":"Docker","optional":false},{"name":"GCP","optional":false},{"name":"Hotwire","optional":false},{"name":"MySQL","optional":false},{"name":"PostgreSQL","optional":false},{"name":"Rest API","optional":false},{"name":"Ruby on Rails","optional":false},{"name":"Stimulus","optional":false},{"name":"Ruby","optional":true}],"status":"live","first_seen_at":"2026-05-28T00:00:00Z","employer_posted_date":"2026-05-29","last_verified_at":"2026-09-29T22:22:26Z","board_verified":true,"closed_at":null,"days_open":126,"trust":{"level":"ghost","repost_count":0,"flags":["stale","company_stale"],"days_open":126},"description":"Senior Ruby on Rails DeveloperLocation: Johannesburg (Hybrid)\nType: Full-Time\nOverview\nSeeking a Senior Ruby on Rails Developer to design, build, and scale high-quality applications while driving engineering best practices and supporting team growth. Key Responsibilities Develop and maintain scalable Ruby on Rails applications\nOwn features end-to-end (design → deployment)\nContribute to architecture and technical decisions\nEnsure code quality, testing, and best practices\nMentor and support junior developers\nTroubleshoot and optimise system performance\nCollaborate with cross-functional teams Key Skills\nTechnical Ruby on Rails (modern practices)\nREST APIs & integrations\nPostgreSQL / MySQL\nFrontend tools (Hotwire, Turbo, Stimulus - advantageous)\nCloud platforms (AWS / GCP / Azure)\nDocker & CI/CD pipelines Experience 5-8+ years software development experience\nExperience building production-grade applications Soft Skills Strong problem-solving and ownership mindset\nAbility to mentor and collaborate effectively\nClear communication across teams Salt is acting as an Employment Agency in relation to this vacancy.","description_format":"text","description_chars":1120,"description_truncated":false,"requirements":{"experience_years_min":5,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[]},"benefits":[],"hiring_locations":[{"name":"South Africa","iso":"ZA","kind":"country"}],"hiring_excludes":[],"relocation_offered":false,"industries":[],"lifecycle":[{"event":"open","at":"2026-09-29T22:07:30Z"}],"liveness":{"score":6,"band":"cold","label":"Long shot","p_open":1,"p_active":0.202,"p_room":0.28,"age_days":126,"expected_fill_days":47,"reasons":["conf:31","agency","stale_co","urgency","velocity","ghost","win:tail","crowd:brand"],"computed_at":"2026-10-01T05:45:00Z"},"pay":null,"html_url":"https://alion.io/job/salt-senior-ruby-on-rails-developer","json_url":"https://alion.io/job/salt-senior-ruby-on-rails-developer.json","meta":{"generated_at":"2026-10-01T12:41:36Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","usage":{"tier":"crawler","counted_by":"address","units_charged":1,"used_today":4074,"day_limit":5000,"remaining_today":926,"minute_limit":60,"resets_at":"2026-10-02T00:00:00Z"}}}