
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
Software Development Engineers will be responsible to participate in all stages of
the software product development life cycle. This will include analyzing system
and user requirements, designing software flowcharts, writing clean Java code,
troubleshooting bugs, and running tests to improve system functionality.
An ideal candidate would be someone who has proficiency in Java technologies,
good analytical skills, the ability to anticipate issues and frame remedial actions,
and excellent teamwork skills.
What will you be doing?
● Write simple, efficient, and maintainable code.
● Design, develop, scale and maintain backend services in Java
● Manage individual priorities, deadlines, and deliverables.
● Validating the functionality and security of the application.
● Function well in a fast-paced, rapidly changing environment
● Ensuring best coding standards and practices to improve and maintain
quality.
● Meeting with the engineering and product team to discuss project definitions
and goals.
What will you need ?
● Bachelor/Master degree in CS or related field from a reputed college
● Sound knowledge of Java technologies.
● Solid grip on the programming basics like DS and algorithms, OOPS.
● Understanding & experience with software design pattern, restful APIs and
microservice architecture
● Experience with software design and application programming.
● Prior experience in start-ups or health-tech will be a plus
We are looking for a focussed, energetic and motivated Senior Java Developer. You must have sufficient experience in Java Development, Spring, Spring Boot, AWS and SQS, S3. You will be challenged with complex and robust product development.
As a Senior Java Developer, you will be the most senior developer within the company working alongside other Java Developers, the Engineering Manager, and the CTO.
Senior Java Developer requirements
Solid development experience using Java, Springboot, SQS, S3 and Microservices
Experience working in Swing Java framework
Revises, updates, refactors, and debugs code
Write clear, concise and efficient code and ensure it is fully tested
Service and develop features using Java with AWS, JUnit, SQL and Spring framework
You have a good knowledge of Cloud technologies (ideally AWS)
Participate in peer coding reviews and work in a collaborative, agile environment
Demonstrate technical knowledge and expertise with a clear understanding on the products' technical composition
Senior Java Developer responsibilities
7-9 yrs minimum work experience
Excellent analytical, troubleshooting, and communication skills
Excellent attention to detail and time-management skills
Serves as an expert on developed applications
Ability to adapt and learn new product/technology is key
Collaborates with internal teams to produce software design and architecture
Knowledge of Agile frameworks (i.e. Scrum) and has worked with Jira or Spira
Attend daily stand-up meetings alongside the Scrum Master
A self-starter, hardworking and committed individual
Work UK hours - ideally 9.00am - 6pm with the expectation to work out of ours when needed

Job Description:
Responsibilities:
- Completing all tasks set by the supervisor and assisting wherever possible.
- Observing existing strategies, techniques of coding, debugging, testing and adopting to the same
- Ability to maintain composure under pressure
- Ability to work in a team.
- Good observation skills and a willingness to learn.
Skills:
- Proficiency in data structures and algorithms
- Good problem solving and analytical thinking skills
- Knowledge of Linux systems
- Python coding knowledge
- Knowledge of object-oriented programming
- Good verbal and written communication skills.
Requisition Raised by:
Engineering Director
• Expertise in OOPS and coding practices and exposure to TDD
• Should be able to define deployment roadmap and requirements for DevOps implementation.
• Versatile in choosing appropriate tools and frameworks for the Core and advance java development procedures.
• Good in Spring Boot and latest java methodologies to suggest best practices and proven solutions to the business.
• Expert in service oriented solutions and micro services architecture (REST). Should have been a part of monolithic to micro services rearchitecture.
• Exposure towards No-Sql databases such as Cassandra or Mongo DB.


- As a polyglot developer Ideally, you should have:
- 1.5+ years of development experience using any of technology java, scala, python or any similar exciting technologies.
- Hands-on experience in coding, and implementation of complex, custom-built applications Working knowledge of build tool like maven/sbt and code versioning systems like git/bitbucket/cvs/svn
- Familiarity with few databases, like MySQL, Oracle, PostgreSQL, SQL Server, NoSQL etc Great OO skills, including strong design patterns knowledge
- Good communication and ability to work in a consulting environment is essential
- Think through hard problems in a consultancy environment, and work with amazing people to make the solutions a reality Work in a dynamic, collaborative, non-hierarchical environment where your talent is valued over your job title or years of experience
- Build custom software using the latest technologies and tools Craft your own career path
- Providing solution to real problems in Bigdata world.
- RnD on using the latest tools,techniques and cloud services.
- Automating the manual-timetaking tasks.
- Hands-on coding, usually in a pair programming environment.
- Working in highly collaborative teams and building quality code
- Working in lots of different domains and client environments
- Understanding the business domain deeply
We are a team of technology agnostic, passionate people who aim to provide solution to real world Bigdata problems.
We are building solutions that will help our customers to do automatic migration of their RDBMS systems to latest BIGDATA platforms and tools such as Spark, Apex, Flink etc. For more information do visit our products webpage.
Experience-3-5 yrs
Location- bangalore,pune,ggn,
Skills: Core java,j2EE,oops,Spring,Microservices
An ideal candidate must possess excellent Logical & Analytical skills. You will be working in a team as well on diverse projects. The candidate must be able to deal smoothly and confidently with the Clients & Personnel.
Key roles and Responsibilities:
⦁ Able to design and build efficient, testable and reliable code.
⦁ Should be a team player sharing ideas with the team for continuous improvement and development process.
⦁ Good Knowledge on Spring Boot, Spring MVC, J2EE and SQL Queries.
⦁ Stay updated of new tools, libraries, and best practices.
⦁ Adaptable, Self-Motivated, must be willing to learn new things.
⦁ Sound Good knowledge on HTML, CSS, JavaScript.
Basic Requirements:
⦁ Bachelors' Degree in Computer Science Engineering / IT or related discipline with a good academic record.
⦁ Excellent communication skills and interpersonal skills.
⦁ Knowledge on SDLC flow from requirement analysis to deployment phase.
⦁ Should be able to design, develop and deploy applications.
⦁ Able to identify bugs and devise solutions to address and resolve the issues.
- Provide objective guidance without personal or political considerations.
- Pitching ideas for projects based on gaps in the market and technological advancements.
- Rolling out fixes and upgrades to software, as needed.
- Securing software to prevent security breaches and other vulnerabilities.
- Setting up a continuous build environment to speed up software development and deployment process.
- Architecting overall, comprehensive, and efficient practices.
- Guiding developers and operation teams in case of an issue.
- Monitoring, reviewing, and managing technical operations.
Requirements:
- Degree in Computer Science, Information Systems, or related field.
- Previous experience working on a 24x7 cloud or SaaS operation team.
- Spring Boot Java 8, Spring Core, Spring Boot, Spring MVC, Swagger, Tomcat 8, Maven, Jenkins, SVN, GIT, Postman/Newman, RESTful Services, Containers.
- Experience with infrastructure management and monitoring.
- Proven in developing, implementing, and providing solutions to the given problem in all Java technologies.
- Proficient in stitch-together end-to-end application starting from front-end web development, back-end development, middleware integration, and persisting data in no SQL or DBMS databases.
- Ability to work independently and as part of a team.
Technologies
Must have Core JAVA, J2EE, Multithreading, OOPS, and Multiprocessing
Great to have RabbitMQ, Netty, XML, JSON, Messagepack
Huge Advantage: Good at mathematics, statistics, complex data structures, algorithms, and design patterns
Other skills
- Ability to understand most complex and challenging problems and solve them from users’ view point
- Ability to create and present software designs (as per the aligned solution) to the product owner
- Ability to build and create modules from scratch.
- Ability to write, understand and deal with large code base
- Experience in understanding and implementing design patterns
- Ability to provide technical leadership to a team of equally talented, efficient and motivated engineers
Roles and responsibilities
- Responsible for solving the most complex and seemingly impossible problems related to variety of dimensions of software engineering. Dealing with Big Data to Complex Data Structures, From Inter Process Communication to sub 100 MilliSec server responses, From Distributed Systems to 99.999 Availability.
- Responsible for providing technical leadership to a team of 3-4 Engineers
- Responsible to drive delivery of a project/module and report to Product Owner
- Responsible for functional/technical tracking of a project/module
Responsibility Split
- 80% Technology, 20% Team management
- With 80:20 split this is definitely a technology oriented role suitable for geeks.

