Job Description:
We are looking for a passionate Backend developer with a focus on building maintainable and scalable systems. The developer will be responsible for the design and development of Jodo’s backend platforms. You will be closely working with Product Managers and Frontend developers to gather requirements and implement features. As a senior developer in the Team, you will be taking ownership of services/systems and be a mentor to other developers in the team.
Responsibilities:
● Own and drive the development of new features
● Lead design and development of the Jodo backend platform
● Troubleshoot production defects and performance issues
● Write reusable code/modules
● Optimize for speed of development/delivery
● Collaborate with frontend developers for integration
● Identify opportunities for automation
● Make cloud(AWS) infrastructure/services scalable and secure
Qualifications:
● 5+ years of proven experience as a Backend developer
● Experience in working with distributed systems
● Proficient in building Microservices/RESTful APIs with any modern tech stack
● Working knowledge of relational and nonrelational databases
● Prior working knowledge of Python/Django is a big plus
● Familiarity with modern CI/CD tools
● Knowledge of AWS or any other Cloud Platform services
● Champion code quality and drive best practices
● Ability to analyze and convert business requirements into technical requirements
● Self-starter and ability to take the ownership
● Prior experience working in a startup environment is great to have
Similar jobs
Hiring For SDE II - Python (Remote)
The Impact you will create:
-
Build campaign generation services which can send app notifications at a speed of 10 million a minute
-
Dashboards to show Real time key performance indicators to clients
-
Develop complex user segmentation engines which creates segments on Terabytes of data within few seconds
-
Building highly available & horizontally scalable platform services for ever growing data
-
Use cloud based services like AWS Lambda for blazing fast throughput & auto scalability
-
Work on complex analytics on terabytes of data like building Cohorts, Funnels, User path analysis, Recency Frequency & Monetary analysis at blazing speed
-
You will build backend services and APIs to create scalable engineering systems.
-
As an individual contributor, you will tackle some of our broadest technical challenges that requires deep technical knowledge, hands-on software development and seamless collaboration with all functions.
-
You will envision and develop features that are highly reliable and fault tolerant to deliver a superior customer experience.
-
Collaborating various highly-functional teams in the company to meet deliverables throughout the software development lifecycle.
-
Identify and improvise areas of improvement through data insights and research.
Primary Responsibilities
-
End-to-end ownership of product development, from design, through implementation, testing, deployment, and maintenance
-
Translating high-level requirements and end-user use cases into design proposals, decomposing complex features into smaller, short-term deliverable tasks
-
Maintaining constant focus on scalability, performance and robustness of architecture
-
Designing and implementing logging, monitoring and alerting systems for existing and new infrastructure
-
Documenting API's and architecture design
-
Mentor and guide juniors on their path to become solid developers
What we look for?
-
4+ of industry experience in technical leadership roles
-
Solid knowledge of Python, SQL, NoSQL, shell scripting and Linux operating environment
-
End-to-end experience in design and development of highly scalable enterprise and cloud data products
-
Ability to challenge and redefine existing architecture to create robust, scalable and reliable products
-
Hands-on experience with design and troubleshooting of scalable web services, queue based systems, distributed databases and streaming services
-
Experience with modern DevOps technologies such as kOps, Kubernetes and Docker, CI/CD, monitoring and autoscaling
· Good in designing, developing, and implementing Software architecture adhering to the standard software development principles
· Experience in past paced, dynamic, agile software development/maintenance environments
· Experience in Agile (Scrum/Kanban) development methodology
· Good in effort estimation of work items
· Product engineering experience preferred but not a must
· Good communicator who can articulate and translate business requirements into technical implementation
· Good working knowledge of CI/CD environments, TFS, azure, etc.
· Understanding of Cloud Environments will be added advantage
- Develop, maintain, and enhance robust backend systems using Python3 and frameworks like Django (mandatory), Flask, and FastAPI (good to have).
- Design, implement, and maintain highly efficient and automated continuous integration and continuous deployment (CI/CD) processes using Jenkins and configuration management with Ansible.
- Elevate our testing culture by architecting and implementing innovative testing strategies, focusing on both unit and integration testing to ensure exceptional code quality and extensive coverage.
- Follow peer-to-peer code reviews and cross-team collaboration to build scalable and reliable solutions.
- Proficiently work with at least one cloud technology, preferably AWS, to deploy and manage applications in the cloud environment.
- Possess knowledge of Nginx, load balancing, and scalability to optimize system performance and reliability.
- Good experience working in distributed micro-service architecture and driving them with crucial requirements like request tracing, debugging critical issues, logging, monitoring, and alerting.
- Work in containerized environments using Docker and Docker Compose, and have experience with AWS ECS for container orchestration.
- Prioritize maintainability and reliability in developing and maintaining software systems, pushing the boundaries of what's possible in our product ecosystem.
- Collaborate effectively within a team, taking initiatives and driving projects forward with minimal micro-management.
- Pave the way for maintainable and reliable codebases by introducing novel approaches and best practices in software development.
Requirements
- Bachelor’s/Master’s degree in computer science.
- Strong teamwork and communication skills, with a proactive approach to project management and task ownership.
- Proven track record as an innovative Python developer with a focus on product engineering.
- Visionary mindset to work in an agile environment, participating in sprint planning, stand-ups, and retrospectives.
Benefits
100% Remote
Insurance
Looking for candidates only with tier 1 colleges OR have experience in a product-based company.
Desired Skills :
● Experience with data modeling and SQL/NoSQL databases
● Experience with distributed systems and microservices
● Good experience in working with any of Java/SpringBoot, GoLang or NodeJS
● Excellent problem solving and debugging skills
● Passionate about the experience of software engineering as much as the output
● A strong sense of ownership
● Ability to communicate your ideas and approach to solving problems with clarity
Notice Period should be imemdiate or Max 20 Days
● Experience in Core Java and Spring.
● Extensive experience in developing enterprise-scale n-tier applications for financial
domain. Should possess good architectural knowledge and be aware of enterprise
application design patterns.
● Should have the ability to analyze, design, develop and test complex, low-latency
client-facing applications.
● Good development experience with RDBMS, preferably Sybase database.
● Good knowledge of multi-threading and high-volume server-side development.
● Experience in sales and trading platforms in investment banking/capital markets.
● Basic working knowledge of Unix/Linux.
● Excellent problem solving and coding skills in Java.
● Strong interpersonal, communication and analytical skills.
● Should have the ability to express their design ideas and thoughts.
Who We are?
At e6data (https://e6x.io/" target="_blank">https://e6data.io) we’re building core algorithms that make querying 25 - 200X more performant (i.e. faster and/or cheaper) than every other analytics platform in the world. This results in billions of dollars of value unlocked across faster analytics, savings on computing/infra, and new use cases become possible.
Our core team has 100+ years of combined experience and 10+ patents across diverse but complementary disciplines like real-time databases, time-series databases, SQL OLAP engines, distributed computing platforms, stream processing, and log analytics. Two of the founding team are second-time founders with past exits.
We are passionate about solving the deepest and most important problems in computer science and believe in making our technology available to customers regardless of their location, size, or budget. Our vision is for e6data to power every analytical workload in the world - regardless of deployment scenario (cloud, on-premise, edge), across every use case (end-user queries, ETL / data pipelines), and every latency requirement (batch, streaming / real-time).
What you will do?
- Write awesome code
- Your primary focus will be on building our product around our core algorithms. You will collaborate with our Performance Engineering and DevOps teams.
- Identify tactical and long-term product improvements (could be code, script, etc.) so that e6data development is based on frictionless onboarding of customers
- Build our internal Data Platform using e6data
- Adding scalable functionality to the core e6data engine for new features like UDFs, SQL functions, etc
What we are looking for?
- Worked with Java for a minimum of 4 years
- Knowledge of SQL Query planning will also be good to have
- A passion for continuous learning and growth (both at a personal and team level)
- Strong team player
- Experience (or enjoys) working in a startup will be an added advantag
- Design, construct, test and maintain robust and scalable data pipelines.
- Research, prototype and apply different methods to improve data reliability, fault tolerance and system performance.
- Instrument, monitor and troubleshoot these systems in a Production environment.
- Contribute to design reviews, code reviews, integration and automated testing.
- Adopt and improve our Agile development process.
- Writing effective and scalable Python codes
- Designing and implementing robust applications
- Debugging applications to ensure low-latency and high-availability
- Integrating user-facing elements with server-side logic
- Implementing security and data protection
- Accommodating various data storage solutions
Key Requirements
- Degree in Computer Science, Engineering or a related field
- You have prior experience as a Python Developer
- Good knowledge Django, Flask or similar Python frameworks
- Familiarity with front-end technologies, such as JavaScript, HTML5, and CSS3
- Knowledge of ORM (Object Relational Mapper)
- Familiarity with various testing tools.