Principal Software Engineer - Rails
Published on April 30, 2023
Nexla is a data platform that processes batch, stream, and real-time data providing data integration preparation, quality, and operations capabilities.
Nexla’s tech stack uses Rails for the admin layer that sits between the user interface and the backend data processing system. This layer is responsible for providing an API to Nexla that is used by our React-based UI, Python SDK, and Command-line tool.
This admin layer takes care of user accounts, organizations, permissions, creation, and management of all data entities such as flows, sources, destinations, transforms, etc.
As a Principal Engineer in this team, you will participate in both design and development of core Nexla capabilities and then implement the corresponding capabilities for the admin layer.
- Design, build and maintain the administrative layer of the Nexla application
- Work closely with a Nexla co-founder and seasoned industry expert who has designed a phenomenal system leveraging the best capabilities of Rails and Active Record
- Build and expose API interfaces that support Nexla’s UI, SDK, and command-line tools
- Design and manage all entities - users, organizations, data sources, transforms, permissions, etc.
- Be a key driving of creating new features for Nexla users
What You Bring to the Nexla Team
- BS in Computer Science, related technical fields, and practical experience
- 10+ years of overall software development experience with a minimum of 5 years of experience working with Rails, Active Record, Ruby on Rails
- Experience designing data models, working with databases
- Strong understanding of database and cache performance. Ability to build efficient, and performant APIs
- Excellent understanding of security for user-facing services and APIs
- Ability to understand, comprehend and solve complex problems
- Ability to work and adapt quickly in a fast-paced, dynamic environment and high-growth startup environment.
- Experience and expertise in Java programming is a big plus
- A strong understanding of algorithms and data structures, and their performance characteristics
- Proficiency in working and developing on Linux
- Diligent and prompt in responding to feature requests, bug reports, performance issues and ad-hoc questions
- KPIs you will be measured on: programming proficiency, ability to think through various scenarios including usage, performance, and security. Quality and foresight in system design. Degree of motivation and efficiency.