

Duration: 6 months with possible extension
Location: Remote
Notice Period: Immediate Joiner Preferred
Experience: 4-6 Years
Requirements:
- B Tech/M Tech in Computer Science or equivalent from a reputed college with a minimum of 4 – 6 years of experience in a Product Development Company
- Sound knowledge and application of algorithms and data structures with space and me complexities
- Strong design skills involving data modeling and low-level class design
- Good knowledge of object-oriented programming and design patterns
- Proficiency in Python, Java, and Golang
- Follow industry coding standards and be responsible for writing maintainable/scalable/efficient code to solve business problems
- Hands-on experience of working with Databases and the Linux/Unix platform
- Follow SDLC in an agile environment and collaborate with multiple cross-functional teams to drive deliveries
- Strong technical aptitude and good knowledge of CS fundamentals
What will you get to do here?
- Coming up with best practices to help the team achieve their technical tasks and continually thrive in improving the technology of the product/team.
- Driving the adoption of best practices & regular Participation in code reviews, design reviews, and architecture discussions.
- Experiment with new & relevant technologies and tools, and drive adoption while measuring yourself on the impact you can create.
- Implementation of long-term technology vision for your team.
- Creating architectures & designs for new solutions around existing/new areas
- Decide on technology & tool choices for your team & be responsible for them.

Similar jobs

Only 10% of India speaks English and 90% speak over 25 languages and 1000s of dialects. The internet has largely been in English. A good part of India is now getting internet connectivity thanks to cheap smartphones and Jio. The non-english speaking internet users will balloon to about 600 million users out of the total 750 million internet users in India by 2020. This will make the vernacular segment one of the largest segments in the world - almost 2x the size of the US population. The vernacular segment has very few products that they can use on the internet. One big need is that of sharing thoughts. Twitter serves this need globally through a micro-blogging platform. However most of the Tweets are in English and the vernacular Indian feels out of place on it. To solve that problem, we started Koo.
About The Company
The app is a micro-blogging platform in Indian languages. It is an app built in India, for Indians, to share their thoughts and opinions on any topic in their mother tongue using Audio/Video/Text. Koo gives a voice to Indians and enables the “Best of India” to share their thoughts with the “Rest of India”. We provide a personalised feed to users by letting people select the people they want to follow. The user is then shown content from these people. Some of the top minds of India are invited to share their thoughts and opinions on various topics. Users can follow such personalities and follow what they are talking about, and share their opinions too.
We are a Series A venture funded company. It has raised $6.5 million from stellar investors like Accel Partners, Shunwei Capital, Kalaari Capital, 500startups and Blume Venture Partners.
Technology Team & Culture
Nishant (CTO), has headed engineering for large and complex platforms like Coverfox and CitrusPay catering to the needs of millions of consumers. Technology team comprises sharp coders, technology geeks and guys who have tried entrepreneurship or are very entrepreneurial in nature and extremely passionate towards technology. Anyone being part of a technology team will have a lot to learn from their peers and mentors. Download our android app nearing 1 million downloads from play store and take a look at what we are trying to build. Technology stack compromises of a wide variety of cutting edge technologies like Elixir, Java 11, Reactive Programming, MongoDB, Neo4j, Kubernetes, AWS, NodeJS, Python, ReactJS, Redis, Aerospike, ML, Deep learning etc. Working hard & party harder is the mantra that we believe in.
Technology skill sets required for a matching profile
1. Work experience between 2 years to 8 years in building large scale high user traffic consumer facing applications with desire to work in a fast paced startup.
2. Knowledge on reactive and asynchronous programming is preferable. If you have worked with coroutines, goroutines, high concurrency or optimized number of threads for processing on your backend server you could be a good fit.
3. Extremely proficient at writing performant, scalable and production ready code in Kotlin, Java (8 or above, comfortable with concepts like lambda, streams, multithreading etc), Elixir, Rust, or Golang. Should be familiar with static code analysis, code coverage and code reviews.
4. Experience with NoSQL DBs like MongoDB, Cassandra, Redis or Aerospike is required.
Knowledge of graph DBs like Neo4j is preferred.
5. Strong in algorithms, problem solving and data structures.
6. Knowledge of TDD and experience with building applications integrated with CI-CD pipelines (automated build, tests and deployments).
7. Exposure to micro-services with good understanding of containers, kubernetes, logging, alerting and monitoring. Inter services communication. Should know how to handle multiple versions of APIs.
- Understand the requirement and convert that into API design.
- Write the code independently
- Unit testing and bug fixing
- Write code with standards and conventions and follow best practices.
- Know how to engineer a full-fledged system and not just write code to make things work.
- Knowledge of agile methodologies, scrum.
- Should be able to guide juniors.
- Communication with clients for requirement understanding.
- Code Merging and deployment
Required Skills:
- REST APIs in Spring Boot and Spring Framework
- MySQL Database, complex SQL queries (like joining multiple tables)
- Spring Security, JWT Tokens
- Third party Integration
- Unix basic commands
- Apache Tomcat, Deployment of War in Unix environment.
- Jira or any other Issue/Task tracking systems.
Qualification:
BE \ B.Tech \ MCA |
Must have skills : Experience with Core Java, Microservices, Oracle Database and SpringBoot.
Roles & Responsibility :
- Build new decentralized microservices based on decoupled Kafka architecture
- Thorough understanding of fundamentals including OOP, Design Patterns and Data Structures
- Good knowledge of design principles
- Produce clean, efficient code based on specifications
- Recommend and implement improvements
- Has proven ability to work independently or with minimal supervision
- Drive design discussions while also working with architects if a need arises
Required Skills :
- Experience building software applications professionally using Java.
- Strong understanding of troubleshooting methodologies and root cause analysis
Soft skills required :
- Excellent interpersonal and written communication skills.
- Able to pre-empt, identify and resolve problems that are non-routine or lacking in definition
- Ability to define, implement and work to a schedule
- Good time management skills.
- Attention to detail. Able to work with little or no supervision
- Ability to work with team members across the globe
- Experience with Core Java, Angular and SpringBoot is a plus.
Educational Qualifications : B.E./ ME (CS/EE) / MCA or equivalent higher-level degree
We are looking for software development engineers to design and develop the backend systems for our consumer and partner-facing applications. You will work on massively scalable distributed systems and solve complex engineering problems
Reporting structure - Engineering Manager-Java
- Computer Science fundamentals in object-oriented design, design patterns, data structures, algorithm design,
- Proficiency with Java, Rabbit MQ, Kafka.
- Proficiency in Mongo DB, Cassandra, Redis.
- 3+ years of experience contributing to architecture and design in a product setup Information Technology
- Understand customer needs by collaborating with Product Managers and Business stakeholders
- Development, delivery and support of large-scale, distributed software applications and tools
- Use software engineering best practices to ensure a high standard of quality and maintainability for all deliverables
- Work in an agile, start-up-like development environment, where you are always working on the most important stuff.
- Take initiatives and come up with new ideas to invent solutions for customer


About the Role
If you are interested in developing the future architecture of Uber's Rider stack by building its core building blocks, join the Rider Backend Platform team. We build backend architectural components and frameworks comprising of services, libraries, state storage and other building blocks that aim to optimise the core Rider flow and foundational features that are shared among all rider products, including but not limited to, Uber Rider app, UberLite, m.uber.com, etc.
What You'll Do
- Work with Rider product engineering teams to identify, design and build solutions that help scale Rider services and platforms.
- Drive adoption of best practices in code health, testing, and maintainability
- Analyze and decompose complex software systems and collaborate with cross-functional teams to influence design for scalability and testability
- Work with smart and motivated teammates in a fast-paced, collaborative environment.
- Build elegant backend platform components for high throughput and low latency distributed systems.
- Solve challenging problems with cutting edge design and algorithms.
What You'll Need
- 4+ years Strong meaningful Individual contributor experience as a software engineer
- Design: Knowledge of data structures and an eye for design. You can discuss the tradeoff between design choices, both on a theoretical level and on an applied level.
- Strong coding/debugging abilities: You have advanced knowledge of at least one programming language, and are happy to learn more. Our core languages are Go and Java.
- Fast learner: We're looking for software engineers who thrive on learning new technologies and don't believe in one-size-fits-all solutions. You should be able to adapt easily to meet the needs of our massive growth and rapidly evolving business environment.
- A team player: You believe that you can achieve more on a team -- that the whole is greater than the sum of its parts. You rely on others' candid feedback for continuous improvement.
-
Business acumen: You understand requirements beyond the written word. Whether you're working on an API used by other developers, an internal tool consumed by our operation teams, or a feature used by millions of customers, your attention to details leads to a delightful user experience.
About the Team: **Rider Backend Platform**
Builds the core building blocks needed to power the rider experiences on the different Rider facing apps including the core Uber app, Uber Lite, Web as we move on to become the preferred transportation platform for millions of riders all over the world.
Uber
At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let's move the world forward, together.
Position |
Responsible for design, development, debugging and implementation of software |
||
Summary: |
applications in support of end user’s requirements. Works on problems of relatively |
||
|
complex scope, through general usage of standard concepts and principles and |
||
|
applications of own judgement. Responsible for delivering results that have direct impact |
||
|
on the achievement of results within the job area as an Individual Contributor. |
||
Main |
Responsible for driving and leading the analysis, design, development activities on |
||
Responsibilities: |
assigned projects. |
|
|
- Involved in entire SDLC lifecycle including analysis, development, fixing and monitoring of issues on the assigned product lines.
- Meets and exceeds standards for the quality and timeliness of the work products.
- Implements, unit tests, debugs and leads integrations of complex code.
- Identify opportunities for further enhancements and refinements to best practices, standards and processes.
- Ensure robust, securely accessible, highly available and highly scalable product that meets or exceeds customer and end-user expectations
Experience
Technical Duties & Responsibilities
3 – 6 Years
With 2-4 years of experience in Scalable Architecture development. We are looking for Independent Contributors, who have good understanding of Microservices based architecture, and a comprehensive awareness of various architectures & their suitability as per product requirements: -
- Can solve problems independently, be responsible for the requirement analysis and design implementation of important business modules, and be familiar with the online deployment environment, able to independently analyse and quickly troubleshoot online faults.
- Familiar with JAVA programming principles, understand their advanced features and class libraries, network and server programming, multi-threaded programming, common open source products
- Experience in SOA EIP using Apache Camel Spring Integration
- High quality coding ability, reusability, low coupling, scalability, high performance, maintainability, high security
- Have the architectural design capabilities of modules and subsystems, master common architectural design methods and patterns
- Understand SOA, event-driven, distributed system principles, large-scale network application structure, message middleware, caching, load balancing, clustering technology, data synchronization, NoSQL
- Have the project experience of RabbitMQ or Kafka
- If the candidate has air fare industry experience, might be priority



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
Skills and Qualifications :-
• Good Understanding of Java/J2EE programming language, Spring REST, Spring Boot, Spring Cloud , Microservices , NoSQL, Cassandra, couchbase, postgreSQL, Redis or any distributed cache stores, Kafka/spark
• Comfortable producing and refactoring code without assistance
• Hands on experience with dockers
• Hands on experience with cloud environments either AWS or Azure
• Able to do BDD or test driven development
• Hands on knowledge with test frameworks for automation
• Understands different major language paradigms (OOP/Functional)
• Knowledge of design patterns for REST application
• Can implement design patterns with guidance
• Understands CI and continuous delivery.
• Understands BDD/TDD/Performance/Security/Smoke testing
• Working knowledge of CI tooling
• Understands version control & branching strategies
• Comfortable translating small behaviour requirements into tasks & code



