PSA is currently seeking a Senior Ruby on Rails Developer to join our technology team in Kuala Lumpur. This is a full-time and fully on-site role.
We are looking for more than someone who simply completes assigned development tickets. You should be comfortable taking a loosely defined business problem, clarifying the requirements, investigating the existing systems, proposing a technical approach, implementing and testing the solution, and taking responsibility for it through production deployment. You should be pragmatic about working with existing software. We expect senior developers to have strong technical opinions, but also to value consistency, maintainability, collaboration, and practical business outcomes over individual stylistic preferences.
This is a hands-on senior development role for someone who can take ownership of projects from requirements and technical design through development, testing, deployment, and ongoing support.
As an early member of a growing engineering team, you will play an important role in improving and standardising these applications and helping establish our engineering practices, development standards, testing strategy, CI/CD processes, and AI-assisted development workflows.
The successful candidate will have strong production Rails experience, excellent English communication skills, and the ability to work effectively with existing and legacy applications as well as new development.
You will work closely with the IT Director, business stakeholders, clients, and other developers.
Duties & Responsibilities:
- Design, develop, test, deploy, and maintain Ruby on Rails applications and services.
- Take ownership of projects through the full development lifecycle, from requirements gathering and solution design through implementation, deployment, and production support.
- Deliver both client-facing technology projects and internal applications and improvements.
- Work across several interconnected Rails applications and help improve consistency and maintainability across the codebase.
- Help establish and maintain engineering standards covering:
- Rails and Ruby coding conventions
- application architecture
- automated testing
- code review
- CI/CD
- security
- dependency and framework maintenance
- Review merge requests and provide constructive technical guidance to other developers.
- Work directly with business stakeholders to clarify requirements and translate business problems into practical technical solutions.
- Develop and maintain integrations with Salesforce, third-party APIs, and internal systems.
- Design and maintain REST APIs, webhooks, background processing, and integration workflows.
- Troubleshoot production issues and identify practical, sustainable solutions.
- Progressively improve existing and legacy Rails applications through refactoring, improved testing, dependency upgrades, and technical debt reduction.
- Support and improve automated deployment and development workflows.
- Contribute to architectural decisions and document significant technical decisions where appropriate.
- Provide technical guidance and mentoring to less experienced developers as the team grows.
- Make effective use of AI-assisted development tools for implementation, testing, documentation, investigation, and code review while maintaining responsibility for the quality and correctness of delivered software.
Required skills and experience:
- 5+ years of professional Ruby development experience, with substantial production Ruby on Rails experience.
- Strong experience developing, maintaining, and supporting production Rails applications.
- Experience working with existing or legacy Rails applications, including refactoring and progressive modernisation.
- Strong understanding of Rails application architecture and established Rails conventions.
- Strong understanding of relational databases, preferably PostgreSQL, including:
- schema design
- migrations
- indexing
- query performance
- transactions and data integrity
- Strong experience with automated testing using RSpec and/or Minitest.
- Experience designing and consuming REST APIs and integrating multiple applications or platforms.
- Understanding of background processing, asynchronous workflows, retries, idempotency, and integration failure handling.
- Experience using Git and modern branch/merge-request-based development workflows.
- Demonstrated experience delivering projects end to end, including production deployment and support.
- Ability to independently investigate problems, clarify requirements, propose technical approaches, and deliver practical solutions.