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, Python 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 Python community to understand the problems with static analysis tools in the ecosystem.
As a member of the Language Engineering team, you will:
-
Identify bad code practices in Python 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 2 years of professional software development experience in Python.
-
Understanding of the nuances of execution of the source code (AST, data flow graphs, etc).
-
Familiarity with Python 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
Similar jobs
Requirements:
• Should be a go-getter, ready to shoulder more responsibilities, and shows enthusiasm and interest in work.
• Excellent core Python skills including threading, dictionary, OOPS Concept, Data structure, and Web service.
• Should have work experience on the following stacks/libraries: Flask
• Familiarity with some ORM (Object Relational Mapper) libraries
• Able to integrate multiple data sources and databases into one system
• Understanding of the threading limitations of Python, and multi-process architecture Familiarity with event-driven programming in Python
• Basic understanding of front-end technologies, such as Angular, JavaScript, HTML5 and CSS3
• Writing reusable, testable, and efficient code
• Design and implementation of low-latency, high-availability, and performant applications
• Understanding of accessibility and security compliance
• Experience in both RDBMS(MySQL), NoSQL databases (MongoDB, HDFS, HIVE etc) or in-memory caching technologies such as ehcache etc is preferable.
Primary Skills: Database Systems (SQL), Python Flask/Fast API/Django frameworks specifically
Requirements:
- Highly proficient in fundamentals of Python web development frameworks like Flask, Django and Fast API
- Demonstrated experience in developing APIs using Python frameworks
- Should have deep knowledge in PostgreSQL, MS SQL Server and other SQL based Databases
- Knowledge and proficiency in NoSQL is a bonus
Requirements:
- Energetic self-starter, with a desire to work in a startup environment.
- Proficient in advanced Java programming skills.
- Expert in Application development cloud/on premise end to end. Middle layer, DB layer.
- Nice to have understanding on MQ and DB
- Good hands on in Complex Event Processing systems.
- Solved scale and performance issues while dealing with huge sets of data. Pre compute or data aggregation frameworks to achieve good response time.
- Real world experience working with large datasets and NoSQL database technologies
- Experience of debugging applications running on Unix like systems (e.g. Ubuntu, CentOS)
- Experience developing RESTful APIs for complex data sets
- Knowledge of container based development & deployment (e.g. Dockers, rkt)
- Expertise in software security domain, a plus
Job Description
- Managing the interchange of data between the server and the users.
- Development of all server-side logic, ensuring high performance and responsiveness to requests from the front-end Integrating the front-end elements built by your co-workers into the application; therefore, a basic understanding of front-end technologies is necessary as well.
- Writing reusable, testable, and efficient code.
- Design and implementation of low-latency, high-availability, and performant applications.
- Integration of user-facing elements developed by front-end developers with server-side logic
- Implementation of security and data protection.
Expected experience with
- Should have worked on the Django REST framework.
- Familiarity with some Pandas, Numpy, text parsing/mining and ORM (Object Relational Mapper) libraries
- Able to integrate multiple data sources and databases into one system
- Understanding of the threading limitations of Python, and multi-process architecture
- Good understanding of server-side templating languages
- Worked on Amazon cloud solutions
- Understanding of accessibility and security compliance
- Knowledge of user authentication and authorization between multiple systems, servers, and environments
- Understanding of fundamental design principles behind a scalable application
- Familiarity with event-driven programming in Python
- Able to create database schemas that represent and support business processes
- Strong unit test and debugging skills
- Proficient understanding of code versioning tool
- Excellent written and verbal communication skills.
- Should know about HDL and LLD.
- Should know about making python packages
- Should have worked on microservice-based Architecture
About us
At Lucidity, we are a year and a half old company and we work on helping large enterprises manage their cloud storage platform.
Our founders bring with them more than a decade of experience working with top tech Gaints in the world, building and selling large tech products from zero to one. We are seeing a lot of early traction and expanding aggresively.
We are a B2B product based startup building the next generation of storage orchestration system for cloud. We are hiring agressively across multiple roles and looking for passionate engineers to join a very young and energetic team at Lucidity.
What you'll do
Technology is at the heart of our organization. As part of the tech team you will
- Understand product requirements and brainstorm ways to address them.
- Build features from scratch and have complete ownership for it.
- Deliver efficient, reliable, scalable code with high automated test coverage.
- Contribute to team decisions in the overall architecture and practices of the company.
What you'll need
Must haves
- At least 1 year experience in a product based company.
- Experience working with distributed environments.
- Comfortable with at least one Object Oriented Programming language.
- Hands on with AWS or at least one other public cloud.
Good to have
- Experience handling highly scalable systems.
- Experience with at least one among C++, Java.
- Experience with docker and Kubernetes.
- Experience with Linux file systems.
Additional
- B Tech/M Tech in Computer Science or equivalent from a reputed college.
- Good problem solving skills.
- Deeply technical with a track record of successful delivery.
Why us
We're hiring a set of highly skilled, enthusiastic and passionate people who thrive in a high growth environment. We believe the best way to grow is to give everyone the opportunity to pursue their interests. At Lucidity, you have complete freedom to work on projects that interest you. Plus, with benefits like flexible hours, company offsites, unlimited leaves, we ensure you enjoy the journey as much as we do.
Job Description: (Mandate Skills)
- Exceptional architecture and design skills using Object Oriented Programming concepts and Design patterns
- Strong problem solving and analytical skills
- Hands on Java Engineer, with experience building consumer facing or enterprise applications using Java stack
- Ability to manage small teams (2-4 members) using agile development process
Do You Know? (Skills good to have)
- Exposure to building service oriented distributed systems
- In building systems that process big data in a distributed environment, either in real time streaming or offline
- In messaging systems like Kafka, RabbitMQ, kinesis, etc.
- In real time computation tools like Storm / Spark or Hadoop based tools.
- In Data warehousing technologies like Redshift, BigQuery, etc.
Responsibilities Include
You will break down business opportunities and problems into software solutions. You will work closely with the CTO to help product and marketing stakeholders distill the product vision and roadmap, into a technology vision. You will be responsible for the evolution of an already bleeding-edge highly distributed systems at the back-end, and would need to work with front-end architects to come up with the best user experience for the gaming platform. You will be required to make decisions quickly, and work under strict timelines. You would lead technology strategy through analysis of market trends and product requirements. You would help set coding guidelines and help bring the most modern tools to keep engineering processes most efficient.
Requirements
- B.E/MS in Computer Science or equivalent.
- 10+ years or more of progressive software technology experience with at least 3 years in an architectural role.
- Completely hands on with technology and architecture. Start-up experience is a huge plus.
- Ability to quickly prototype and demonstrate technology value adds and educate + drive adoption within the extended technology team
- Excellent and robust understanding of scalable product system architecture(s), platforms and core technologies
- Demonstrated problem-solving and leadership skills to pursue correct engineering process in adverse conditions. Ability to embrace and demonstrate leadership beyond ownership
- Work with engineering leadership to setup and manage processes.
- Track record of thought leadership and out of the box thinking in the technology arena.
- Ability to work efficiently in an entrepreneurial and in a start-up environment
- A Java/Spring/Akka, Javascript or Golang rockstar.
- Deep and hands on knowledge of some of these technologies - MySQL, NodeJS, message brokers such as Kafka/RabbitMQ, NoSQL datastore such as Mongo, Cassandra, Arango, distributed caches such as Redis/memcached, container technology such as Docker and Kubernetes etc.
- Great proficiency in distributed systems design, with an ability to make the right trade-offs for creating future-proof solutions.
- Building quick PoCs and full-fledged solutions with various AWS managed services would be a big plus.