
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

5+ years of solid experience with a wide range of web, backend, or mobile technologies.
● Mastery of at least one of the following languages in a cloud-based ecosystem:
• Ruby on Rails
• Angular
● Experience presenting technical solutions to peers and managers.
● A proven track record of designing scalable and maintainable technical solutions.
• Experience coordinating development efforts across multiple managing projects in
parallel.
● Experience working with off-shore/outsourced developers across different time zones.
● Experience with code review tools and practices to ensure best practices are followed
and code quality gates are achieved.
● Experience with creating documentation, unit tests, integration tests, security, and load
tests.
● Solid Understanding of GitOps principles.
We will provide relocation allowances - accommodation for 10 days including flight tickets.




- You solve problems at their root, stepping back to understand the broader context.
- You develop pragmatic solutions and build flexible systems that balance engineering complexity and timely delivery, creating business impact.
- You understand a broad range of data structures and algorithms and apply them to deliver high-performing applications.
- You recognize and use design patterns to solve business problems.
- You understand how operating systems work, perform and scale.
- You continually align your work with Amazon’s business objectives and seek to deliver business value.
- You collaborate to ensure that decisions are based on the merit of the proposal, not the proposer.
- You proactively support knowledge-sharing and build good working relationships within the team and with others in Amazon.
- You communicate clearly with your team and with other groups and listen effectively.



- Solid experience in RoR, Golang, NodeJS or Python. Good to have exposure to ML.
- Should have experience in cloud computing
- Has an ability to quickly learn and contribute in multiple codebase
- Overcomes roadblocks and requires minimal oversight
- Takes initiatives to fix issues/tech debts before assigned to him/her
- Able to deep dive into codebase and advise QA of possible regression impact
- Communicates tech decisions through design docs and tech talks
- Has delivered projects with end-to-end accountability
- Keeps track of industry trends and introduces right tech/tools for a given job
- Excellent understanding of software engineering practices, Design Patterns, Data Structures, Algorithms

- Part of the core team responsible for powering the various apps and moving parts of the product
- Design, build and own key technology decisions and implementations
- Wear multiple hats - that of an architect, developer, or product owner
- Collaborate with other team members to find optimal solutions and engineering workarounds based on resource/time constraints
- Communicate development status and features to the rest of the team members
- Manage interactions with designers, testers, and other developers
Required Skills :
- 4-6 years of overall software development experience
- 2+ years of development experience with Ruby on Rails
- Experience with support of high-availability, high-performance, customer-facing web applications
- Expert in configuring and deploying multiple rails applications quickly
- Experience with collaborative code development in small agile teams and managing releases (Git, Continuous Integration, Capistrano)
- Experience building internal and external APIs and RESTful web services
- Strong foundation in Database ( SQL / Postgres )
- Experience deploying and managing applications on cloud-based infrastructure (Heroku/AWS)
- Outstanding understanding of software design and architecture
It will be good if you also have:
- Worked in a web startup before and been part of the core development during a high growth phase
- Practical experience with building scalable, high availability, and high-performance systems
- Hands-on background with agile development practices including test-driven development and scrums
- Contributed to open-source projects on Github
- Familiarity with a variety of programming languages and development tools
Job Description:
- Programming and optimizing smart contracts
- Design, research and develop blockchain-based solutions
- Developing decentralized high-performance systems
- Building reliable and fast data storages
- Security audits of third-party and internal solutions
- Establishing policies and procedures that produce secure, high-quality software
- Write and review technical proposals
- Improve engineering standards, tooling, and processes
- Coding with concurrency, efficiency and scalability as primary motive
- Document systems, build runbooks, and automate those processes
- Being hands on by writing, testing, and deploying high-performance networking code
- Rigor on clean code, unit testing, code coverage and best practices
- Developing infrastructure software
Required qualifications:
4+ years experience in JAVA, 1+ year of experience in Blockchain, willingness to learn on the go, ability to write clean code, a strong sense of responsibility.
Tech Stack:
JAVA, git, linux, bash, ability to work with Docker.
Nice to have:
cryptography and system software development experience, understanding of design patterns, understanding of operating systems and networks, ability to design algorithms and mathematical models.




Ideal candidate should be able to guide multiple projects at once in a dynamic and expeditious environment. You will be responsible for developing a world-class product with clean, well-documented code and at the same time ensuring high performance & scalability using proper design principles. You will be responsible for writing server-side web application logic as well as for the integration of the front-end part. Needless to mention you have demonstrated ability towards urgency, ownership, sharing success and competent enough to excel prevailing engineering velocity at Cogoport.
You should be a modern thinker and believer of manager and hierarchy free organisation like Cogoport. The ideal candidate would be assessed basis the defined role fitment. Critical is that you are curious and learner to be able to seek out and evaluate new ideas and bringing them back into the organisation. If you have outstanding programming skills and a great passion for developing beautiful, innovative applications, then let's get in touch!
1. Problem Solving: You should have the rigour and discipline to approach most of the problems and ensure the delivery of quality work ahead of timelines. You are able to look at a problem, define and brainstorm ways to achieve an optimal solution and pick the best engineering approach to bring the software productivity.
2. Architectural Design: You should have in-depth knowledge to design highly scalable architecture. You have strong experience in building products ensuring scalability in tech architecture & design implementation.
3. Database: Should have strong expertise in the database to manipulate data in the software system to minimize data redundancy and maximize the speed of retrieval. Knowledge of MongoDB, MySql, PostgreSQL database is preferred.
4. Algorithm Skills: You should be adept in all algorithm aspects to define an efficient way of solving the problem. You will solve complex problems with algorithms embedded in logical thinking and creating the most efficient and optimum code.
5. Code Quality: Enhancing the code quality by structuring the code & making sure that all the guidelines are followed to ensure enhancing code efficiency & reduction of code failure & bug rectification.
6. Product Inclination: A Software Engineer not only gets involved in coding but should equally understand the product/feature to think & cover all the possible business edge cases coming on the way.




