ProMobi Technologies is one of the leading Enterprise SaaS products company headquartered in Pune, India. Our product portfolio includes - Unified Endpoint Management (UEM) solution, Push-to Talk & team communication platform, Consumer Finance and Hardware as a service (HaaS).
We’re growing and so is our team! We are looking for passionate, self-motivated & energetic individuals to join our dynamic team that’s on the frontline to facilitate growth across our products.
About the role
We are looking for an enthusiastic developer with a strong understanding of the Ruby and Rails framework along with the PostgreSQL database. Someone who is passionate about coding and loves to work in an ongoing challenging environment. You will be part of a talented software development team. You have to consistently deliver in a fast-paced environment and should be more than willing to build software that people love to use.
Key Responsibilities
The individual role that you’ll play in our team:
- Developing large multi-tenant applications in Rails.
- Understanding Rails best practices and religiously introducing those to our codebase.
- Knowledge on how to do effective Refactoring.
- Ability to write unit tests and following those practices religiously.
- Working closely with the Product managers and UX team.
- Helping QAs to write automated integration tests.
- Staying up-to-date with current and future Backend technologies and architectures.
- Defines develop and maintain code for software applications using established project methodology and guidelines. Implements design and testing processes for the successful implementation of new or changed software applications. Focuses on innovation and quality.
- Software Development: Designs, analyzes, writes, tests, and documents code for new or existing software applications. Creates application specifications, diagrams, flow charts, and other documentation to support the design and development if needed. Develops innovative technical designs and collaborates with team members to develop and maintain code quality and standards
- Technical Expertise: Maintaining technical knowledge and best practices with a focus on researching and making recommendations for emerging and future technology trends. Solves business and technical problems by leveraging expertise and technology from across the organization.
- Innovation: Rapidly assimilates and learns new information and encourages information sharing. Synthesizes information from multiple sources into a meaningful representation of how change and innovation will create improvement. Generates new ideas, approaches or solutions that can be introduced to existing processes or to new systems.
- Results Focus: Drives for results and defines how success will be measured. Identifies and organizes the tools and resources needed to accomplish tasks. Contingency plans to anticipate and work around barriers to task completion. Pushes through challenges to achieve results.
- Issue Resolution: Proactively works with peers, managers and customers to research and resolve issues in software applications. Enjoys troubleshooting and problem solving.
Technical Skills - Must Have:
- Ruby on Rails architecture best practices.
- Knowledge on the latest versions of Ruby on Rails.
- Strong OOP knowledge in Ruby.
- Asynchronous Networking in Ruby.
- Designing RESTFul HTTP APIs using JSON-Schema or JSON API (jsonapi.org).
- Ability to architect and develop API only backend.
- Experience in using ActiveRecordSerializer, JBuilder etc.
- Understanding O-Auth2 or JWT (Json Web Token) authentication mechanisms.
- How to use RSpec.
- Rails Security Best Practices.
- PostgreSQL and Rails.
- SQL concepts like Joins, Relationships etc.
- Understanding DB Partition strategies.
- Knowledge about refactoring ActiveRecord Models (read this - “7 Patterns to Refactor Fat ActiveRecord Models”).
- Understanding scaling strategies for a high-traffic Rails applications (50 million+ requests a day).
- Background Job processing using Redis and Sidekiq.
- Sending emails in Rails.
- Experience in using Amazon Web Services (AWS) tools.
- Writing automated Deployment Scripts using Capistrano, Ansible etc.
- Knowledge in Linux and Git is mandatory.
Optional Skills
- Knowledge in using Chef or Puppet
- Ability to do basic DevOps like setting up a Linux server.
- Websocket communication in Rails.
- Node.js
- JRuby