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. There’s a massive opportunity to impact how software is built right from where the code is written using automation and intelligence, that not only improves developer productivity but also increases software’s robustness.
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, Scala 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 Scala ecosystem.
As a member of the Language Engineering team, you will:
-
Identify bad code practices in Scala 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 Scala and Java.
-
Understanding of the nuances of execution of the source code (AST, data flow graphs, etc).
-
Familiarity with Scala 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
Job Description
The ideal candidate will possess expertise in Core Java (at least Java 8), Spring framework, JDBC, threading, database management, and cloud platforms such as Azure and GCP. The candidate should also have strong debugging skills, the ability to understand multi-service flow, experience with large data processing, and excellent problem-solving abilities.
JD:
- Develop, and maintain Java applications using Core Java, Spring framework, JDBC, and threading concepts.
- Strong understanding of the Spring framework and its various modules.
- Experience with JDBC for database connectivity and manipulation
- Utilize database management systems to store and retrieve data efficiently.
- Proficiency in Core Java8 and thorough understanding of threading concepts and concurrent programming.
- Experience in in working with relational and nosql databases.
- Basic understanding of cloud platforms such as Azure and GCP and gain experience on DevOps practices is added advantage.
- Knowledge of containerization technologies (e.g., Docker, Kubernetes)
- Perform debugging and troubleshooting of applications using log analysis techniques.
- Understand multi-service flow and integration between components.
- Handle large-scale data processing tasks efficiently and effectively.
- Hands on experience using Spark is an added advantage.
- Good problem-solving and analytical abilities.
- Collaborate with cross-functional teams to identify and solve complex technical problems.
- Knowledge of Agile methodologies such as Scrum or Kanban
- Stay updated with the latest technologies and industry trends to improve development processes continuously and methodologies.
Qualifications
- 4+ years of software development experience in Java 8. Knowledge of Java 9.
- Experience in developing micro services in Spring Boot or Node.js. Experience in security, transaction, Idempotency, log tracing, distributed caching, monitoring and containerization requirements of Micro services. Experience in developing High Cohesion & Loosely Coupled Micro Services
- Should have excellent acumen in Data Structures, Algorithms, problem-solving and Logical/Analytical skills. Thorough understanding of OOPS concepts, Design principles and implementation of different type of Design patterns.
- Sound understanding of concepts like Exceptional handling, Serialization/Deserialization and Immutability concepts, etc. Good fundamental knowledge in Enums, Collections, Annotations, Generics, Autoboxing, etc.
- Experience with Multithreading, Concurrent Package and Concurrent APIs
- Basic understanding of Java Memory Management (JMM) including garbage collections concepts.
- Experience in RDBMS or NO SQL databases and writing SQL queries (Joins, group by, aggregate functions, etc.)
- Hands-on experience with JMS. Hands-on experience in creating RESTful webservices and consuming webservices. Hands-on experience with Spring.
- Hands-on experience with any of the logging frameworks (SLF4J/LogBack/Log4j)
- Experience of writing Junit test cases using Mockito / Powermock frameworks. Should have practical experience with Maven/Gradle and knowledge of version control systems like Git/SVN etc.
- Good communication skills and ability to work with global teams to define and deliver on projects. Sound understanding/experience in software development process, test-driven development.
- 4+ years of software development experience in Java 8. Knowledge of Java9.
- Experience in developing micro services in Spring Boot or Node.js. Experience in security, transaction, Idempotency, log tracing, distributed caching, monitoring and containerization requirements of Micro services. Experience in developing High Cohesion & Loosely Coupled Micro Services
- Should have excellent acumen in Data Structures, Algorithms, problem-solving and Logical/Analytical skills. Thorough understanding of OOPS concepts, Design principles and implementation of different type of Design patterns.
- Sound understanding of concepts like Exceptional handling, Serialization/Deserialization and Immutability concepts, etc. Good fundamental knowledge in Enums, Collections, Annotations, Generics, Autoboxing, etc.
- Experience with Multithreading, Concurrent Package and Concurrent APIs
- Basic understanding of Java Memory Management (JMM) including garbage collections concepts.
- Experience in RDBMS or NO SQL databases and writing SQL queries (Joins, group by, aggregate functions, etc.)
- Hands-on experience with JMS. Hands-on experience in creating RESTful webservices and consuming webservices. Hands-on experience with Spring.
- Hands-on experience with any of the logging frameworks (SLF4J/LogBack/Log4j)
- Experience of writing Junit test cases using Mockito / Powermock frameworks. Should have practical experience with Maven/Gradle and knowledge of version control systems like Git/SVN etc.
- Good communication skills and ability to work with global teams to define and deliver on projects. Sound understanding/experience in software development process, test-driven development.
Additional Information
- Gender-Neutral Policy
- 18 paid holidays throughout the year for NCR/BLR (22 For Mumbai)
- Generous parental leave and new parent transition program
- Flexible work arrangements
- Employee Assistance Programs to help you in wellness and well being
Job Title: Java Developer - Immediate Joiners Only
Recro, a leading software development company, is currently seeking a skilled and motivated Java Developer to join our team. If you have a minimum of 3 years of experience in Java development and are eager to work on exciting projects, we encourage you to apply for this opportunity.
Responsibilities:
- Collaborate with a team of talented developers to design, develop, and maintain high-quality Java-based applications.
- Write clean, efficient, and maintainable code, adhering to industry best practices and coding standards.
- Analyze requirements provided by product managers and technical leads and translate them into technical specifications.
- Conduct thorough code reviews, identify and address performance bottlenecks, and ensure the overall reliability and scalability of the software.
- Troubleshoot and resolve issues related to Java applications, identifying root causes and implementing effective solutions.
- Stay up-to-date with the latest trends and advancements in Java development to continuously enhance our software offerings.
- Ensure timely project delivery and maintain a high level of code quality throughout the development lifecycle.
- Collaborate with cross-functional teams to ensure smooth integration of different software components.
Requirements:
- Minimum 3 years of professional experience as a Java Developer, with a proven track record of delivering successful projects.
- Strong proficiency in Java programming language and associated frameworks.
- Hands-on experience with Spring and Spring Boot frameworks.
- Familiarity with web services, RESTful APIs, and microservices architecture.
- Excellent understanding of object-oriented design principles and software development patterns.
- Proficient in database design and SQL queries, with experience in working with popular databases.
- Strong problem-solving skills and the ability to think critically to develop innovative solutions.
- Self-motivated and detail-oriented, with the ability to work both independently and as part of a team.
- Excellent communication skills to effectively collaborate with team members and stakeholders.
- Must be willing to work from our office location [mention office location] on a full-time basis.
If you are a Java Developer looking for a new opportunity to showcase your skills and contribute to exciting projects, apply now to join the talented team at Recro. Immediate joiners are preferred, and we look forward to reviewing your application.
• Should have a B.Tech / M.Tech / MCA in CS / IT / IS from premier college with 6+
years of experience in software development.
• Strong OOPS and OOD Fundamentals.
• E-commerce domain experience of 2-3 Years is mandatory.
• Good Coding, Problem Solving Skills, algorithms and data structures.
• Knowledge of My SQL database or any other RDBMS with a good understanding of
SQL language.
• Prior experience in web technologies is a plus.
• Ability to work on UNIX / Linux platform.
• Good Communication & Interpersonal Skills.
Job Description :
• You will be involved in all phases of development : architecture & design,
prototyping, implementation & testing, analysis & documentation, deployment.
• Capable of independent full systems design, including requirements gathering,
specifications, and coding.
• Knowledge in performance, scalability, enterprise system architecture, and
engineering best practices.
• Take the product/feature idea from the conceptualization phase to delivery with all
the relevant high-quality artifacts during the cycle.
• Flexibility and collaboration, coupled with strong object-oriented design & software
development skills are keys to success in this position.
As an SDE, you will develop a deep understanding of our business, work closely with development teams and own the architecture and end-to-end delivery of software components.
Requirements:
- Exp: 3 - 8 years.
- 4 + years' experience building successful production software systems.
- A solid grounding in Computer Science fundamentals (based on a BS or MS in CS or related field).
- The ability to take convert raw requirements into good design while exploring technical feasibility tradeoffs.
- Expertise in System design (design patterns, LLD, HLD, Solid principle, OOAD, Distributed systems etc. ), Architecture (MVC/Micro services).
- Excellence in technical communication.
- Has experience in mentoring other software developers.
- BS/MS in Computer Science or equivalent.
- Experience developing service oriented architectures and an understanding of design for scalability, performance and reliability.
- Demonstrated ability to mentor other software developers to maintain architectural vision and software quality.
- Demonstrated ability to achieve stretch goals in a highly innovative and fast paced environment.
- Expertise in delivering high-quality, innovative application.
- Strong desire to build, sense of ownership, urgency, and drive.
- Strong organisational and problem solving skills with great attention to detail.
- Ability to triage issues, react well to changes, work with teams and ability to multi-task on multiple products and projects.
- Experience building highly scalable, high availability services.
- The ideal candidate will be a visionary leader, builder and operator.
- He/she should have experience leading or contributing to multiple simultaneous product development efforts and initiatives.
- He/she needs to balance technical leadership with strong business judgment to make the right decisions about technology choices.
- He/she needs to be constantly striving for simplicity, and at the same time demonstrate significant creativity, innovation and judgme.
- Proficiency in, at least, one modern programming language.
- Experience in SQL or Non-SQL database.
- Strong sense of ownership, urgency, and drive.
- Demonstrated leadership abilities in an engineering environment in driving operational excellence and best practices.
- Demonstrated ability to achieve stretch goals in a highly innovative and fast paced environment.
- Excellent communication, collaboration, reporting, analytical and problem solving skills.
- Good understanding of at least some of the modern programming languages (Java) and open-source technologies
Requirements:
- Experience in Enterprise Java building restful microservices
- Strong Exposure to any of the Java Enterprise frameworks such as Spring, Vert. x, Quarkus or others
- Good exposure to databases such as PostgreSQL, MongoDB etc
- Good analytical and problem-solving capabilities along with excellent communication skills.
- Any exposure to UI programming using REACT JS or AngularJS is a plus
- Preferred candidate who can join in 15 days or max 30 days.













