
DeepSource is working on building tools that help developers ship good code. There are over 40 million developers in the world, and all of them write and review code in some form. The Language Engineering team works on the source code analyzers, including both programming languages and configuration-as-code systems. As a member of the Language Engineering team, you will work on building the best, most comprehensive, Ruby analyzer in the world. You will add new rules and Autofixes for finding more issues with code and automatically fixing them. You will be involved with the community to understand the problems with static analysis tools in the Ruby ecosystem.
As a member of the Language Engineering team, you will:
-
Identify bad code practices in Ruby and write new analyzers to detect them.
-
Improve the coverage of automatically fixable issues.
-
Ensure fewer false-positives are reported by the analyzer.
-
Work on the internal tools that support analysis runtimes.
-
Contribute to open-source static analysis tools.
We’re looking for someone who has:
-
Strong foundational knowledge in Computer Science.
-
At least 3 years of professional software development experience in Ruby.
-
Understanding of the nuances of execution of the source code (AST, data flow graphs, etc).
-
Familiarity with Ruby best practices followed in the industry.
-
Native experience with Linux/Unix environment.
-
A focus on delivering high-quality code through strong testing practices.
We offer competitive compensation with meaningful stock options, a generous vacation policy, and a workstation of your choice, to name a few of the perks.

About DeepSource
About
Connect with the team
Similar jobs

Position: Senior Backend Developer: Ruby On Rails
At ReDesyn we’re building a creator economy PaaS that turns creators into creator-preneurs by enabling commerce & fan monetisation features for them in a creator super app! With 10k+ creators and 100,000+ customers, we're expanding our team & looking for experienced professionals to join us in Thane.
Details:-
Package: 15-18 LPA
Travel to Thane: Mandatory, Mon-Sat 10 am to 7 pm.
Work Experience: 3+ years
Joining: within 30-60 days
JD:-
ReDesyn is seeking a highly skilled senior Ruby on Rails Developer to join our dynamic team. As a Ruby on Rails Developer, you will play a crucial role in managing data interchange, maintaining our central database, and ensuring optimal server-side performance to meet front-end demands.
Responsibilities:
- Design, develop, and maintain efficient, reusable, and reliable Ruby code.
- Integrate data storage solutions seamlessly.
- Collaborate with front-end developers to integrate user-facing elements with server-side logic.
- Identify and resolve bottlenecks and bugs effectively.
- Contribute to code quality, organization, and automation efforts.
Requirements:
- 3-5 years of experience as a Ruby on Rails Developer or similar role, with software development and infrastructure knowledge as a plus.
- Proficiency in Ruby on Rails, along with standard libraries like RSpec and Devise.
- Strong grasp of Ruby syntax and its nuances.
- Solid understanding of object-oriented programming.
- Familiarity with server-side templating languages (e.g., Liquid, Slim).
- Knowledge of server-side CSS preprocessors.
- Basic understanding of front-end technologies, including JavaScript, HTML5, and CSS3.
- Familiarity with MVC, Mocking, ORM, and RESTful concepts.
- A passion for writing clean, readable Ruby code.
- Ability to integrate multiple data sources and databases into a cohesive system.
- Understanding of fundamental design principles for scalable applications.
If you are a talented Ruby on Rails Developer with a passion for building high-performance, responsive applications, we encourage you to apply. Join our team and be part of our exciting journey in building India's coolest pop culture creator super app.

• Bachelor’s degree in Computer Science or IT related field
• 4-6 years of experience working across different product domains in a product development/engineering role
• Good communication skills necessary to manage business requests and work with different teams across differ-
ent geographies and time-zones; experience working with remote and distributed teams will be an added ad-
vantage
• Hands-on working knowledge and experience is requiredin:
a. JavaScript, Typescript, NodeJS (Express, NestJs, etc.)
b. Experience working in GCP or AWS or Azure
c. Experience working in Containers & Unix Platforms
d. Relational Databases (PostgreSQL, MySQL, SQL, etc.)
e. Agile Methodologies (Scrum, TDD, BDD, etc.)
f. Understanding of Microservices Architecture, Domain Driver Design, Test Driven Development and
Secure Design patterns and architecture is a must
g. Data Structures and Algorithms using Javascript, Typescriptand/or other Programing Languages
h. Strong organizational skills
i. Agile Methodologies (Scrum, TDD, BDD, etc.)
• Experience with several of the following tools/technologies is desirable:
a. GIT (Bit Bucket, Gitlab, etc.), Jira, Gradle, Maven, Jenkins, SharePoint, Eclipse/IntelliJ.
b. Design Patterns and implementing the Design Patterns
c. Development of Complex Application and System Architectures
d. NoSQL Databases (Redis, Mongo, etc.)
e. Full stack development
f. Experience working with CI/CD pipelines with for example GitHub Actions.
• Knowledge of the following technologies is a plus:
a. Other Programming Languages (Java, Python, etc.)
b. Continuous Integration and Continuous Delivery Tools like Jenkins, Git, etc.
c. Secure Development based on OWASP standards

Developer should have 2-4 years of experience, with a indepth knowledge on how web/mobile app works.
Should have the following knowledge
- RESTful APIs, Python and Django or flask
- Database concepts (MySQL, PostgreSQL, MongoDB, Redis)
- GraphQL
- Version Control tools (Git)/Github/BitBucket
- Ability to communicate and have good writing skills
- Familiarity with multi-threaded applications
- Understanding of Linux Environment and unit test and debugging skills


Responsibilities:
- Build scalable, service oriented web applications from scratch for technology products for European market.
- Maintain these applications for accuracy and high availability.
- Continuously identify opportunities to improve system designs, architecture and implementation standards
- Participate with founding, business and product teams in discussions on how to build and launch new modules.
- Collaborate across functions and own the planning, estimation and execution for parts of the product.
- Start as an individual contributor but stay ready to build and mentor a small team of up to 5 engineers over the coming months and years.
- Contribute in hiring highly ambitious engineers as the team grows.
- Being among the first people on the engineering team, be a culture driver.
Requirements:
- Experience of architecting and building products/business critical backend applications using different MVC frameworks.
- Experience with microservices.
- Experience of building and maintaining scalable applications using Node.js/MEAN stack.
- Experience of deploying and maintaining web applications.
- Experience with non relational databases like MongoDB.
- Understanding of relational databases like MySQL.
- Familiarity with REST APIs and stress testing tools.
- Good communication skills.
- Exposure in building polyglot applications.
- Exposure for devops and related processes, preferably GCP.
- Knowledge of components in scalable solutions i. e. database partitions, message brokers, background processing.
- Exposure to basic frontend technologies to speed up collaboration with the frontend team.



- A Bachelors or master’s degree in engineering.
- 2-4 years of experience in software product development.
- Excellent in Data structure, Algorithms & Problem-solving skills.
- Should be willing to code in Node.js/Java/Python/ROR/Golang
- Write extensive, efficient code to address complex modules and that handles interaction between multiple components.
- Customer-focused, react well to changes, work with teams and able to multi-task.
- Must be a proven performer and team player that enjoy challenging assignments in a high-energy, fast growing and start-up workplace.
- Must be a self-starter who can work well with minimal guidance and in fluid environment






