

Similar jobs
Job Description
Job Description/Preferred Qualifications
Qualifications
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Proven experience as a VC++ Developer.
- Knowledge of Win32 API, MFC, STL, SQL, XML and TCP/IP Sockets is required.
- Interface with COM ports, USB devices, PCI cards, and Ethernet networks.
- Familiarity with data structures, algorithms, and design patterns.
- Ability to debug and optimize multithreaded applications.
- Strong understanding of Visual C++ and object-oriented programming principles.
- Experience with software development methodologies.
- Excellent problem-solving skills and attention to detail.
- Good communication and teamwork skills.
- Ability to work independently and as part of a team.
Desired Qualifications
- Knowledge of Modbus and SECS/GEM protocols.
- Knowledge of Windows Kernel-Mode Drivers.
- Experience in coding for industrial automation.
- Familiarity with liquid chemical analytical hardware.
- Experience in Semiconductor Manufacturing Equipment.
Responsibilities
• Develop and maintain software applications using Microsoft Visual C++.
• Develop new features to control company Analyzer and Doser hardware in established code base.
• Collaborate with cross-functional teams to define software requirements.
• Write clean, efficient, and maintainable code.
• Debug, troubleshoot, and fix software issues.
• Conduct code reviews to ensure adherence to best practices.
• Optimize application performance for speed and scalability.
• Participate in the full software development lifecycle, from requirement gathering to deployment.
Key Responsibilities:
Team Leadership and Management:
- Lead, mentor, and manage a team of backend developers, fostering a culture of collaboration, innovation, and technical excellence.
- Promote a shared vision for the team, ensuring alignment with business goals and organizational objectives.
- Conduct performance reviews, provide constructive feedback, and create opportunities for team members’ professional growth.
- Drive cross-functional collaboration between development teams, designers, and product managers to deliver seamless and high-quality software.
Technical Strategy and Execution:
- Define and drive architectural decisions for both backend and frontend systems,ensuring scalability, reliability, and performance.
- Advocate and implement best practices in software development, including coding standards, test-driven development (TDD), and peer code reviews.
- Encourage the adoption of Large Language Models (LLMs) and AI-driven tools to optimize development and testing workflows.
- Provide technical direction on backend development using modern frameworks and languages, as well as frontend development using React, Angular, or Svelte.
Process and Quality Management:
- Ensure robust integration between backend APIs and frontend systems for seamless user experiences.
- Establish and enforce coding, testing, and deployment standards for both backend and frontend teams.
- Implement and optimize automated testing frameworks for backend and UI layers to ensure comprehensive coverage.
- Monitor system performance and application stability, proactively identifying and mitigating risks.
- Establish CI/CD pipelines and DevOps best practices for efficient and reliable delivery cycles.
Stakeholder Collaboration:
- Act as a bridge between engineering teams, business stakeholders, and leadership, ensuring effective communication and alignment.
- Translate complex business requirements into actionable technical solutions and guide teams through their implementation.
- Provide regular updates on progress, challenges, and innovations to stakeholders.
Innovation and Exploration:
- Stay updated on advancements in Large Language Models (LLMs) and integrate them into development and quality assurance workflows where applicable.
- Encourage the exploration of cutting-edge technologies, tools, and frameworks for both backend and frontend development.
- Champion the use of AI and machine learning tools for performance optimization, automated testing, and enhanced developer productivity.
Skills & Qualifications:
Must-Have Skills:
- Proven experience as an Engineering Manager or similar leadership role.
- Strong technical background in backend technologies (e.g., Java, Spring Framework).
- Deep understanding of RESTful API design, microservices architecture.
- Hands-on experience with containerization and orchestration tools like Docker.
- Solid knowledge of Agile methodologies, TDD, and CI/CD pipelines.
- Excellent leadership, communication, and problem-solving skills.
- Expertise in integrating Large Language Models (LLMs) and AI-powered tools into development workflows.
Nice-to-Have Skills:
- Experience with cloud platforms like AWS, GCP, or Azure.
- Knowledge of automated testing frameworks for both backend (e.g., JUnit, Postman) and frontend (e.g., Playwright).
- Understanding of DevOps practices and infrastructure-as-code tools like Terraform.
- Exposure to AI/ML frameworks and libraries for enhancing application features and team efficiency.
● You have good understanding of the fundamentals of data science/algorithms or
software engineering
● Preferably you should have done some project or internship related to the field
● Knowledge of SQL is a plus
● A deep desire to learn new things and be a part of a vibrant start-up. You will
have a lot of freehand and this comes with immense responsibility - so it is
expected that you will be willing to master new things that come along!
What you will get to do?
● Build cloud-based services and/or user interfaces
● Participating in all aspects of software development activities, including design,
coding, code review, unit testing, bug fixing, and code/API documentation
● Be the first few members of a growing technology team

At Upswing, we are a passionate and self-driven team of thinkers who aspire to build the rails to connect the legacy financial sector with financial innovators through a simple and powerful banking-as-a-service (BaaS) platform. We’re building our platform putting the focus on pragmatism, reliability, and maintainability. We believe that keeping the engineering complexity under control is key to preserving the development productivity and long-term evolution of a platform.
To bring this vision to life, we are building the infrastructure using Microservices architecture using the latest set of technologies that are also fun to work with such as Java, Scala, Postgres, Akka, Kafka with a completely automated DevOps pipeline from the get-go using tools like Chef, Jenkins, Grafana, Graylog.
We are looking for motivated engineers who will be working in a highly creative and cutting-edge technology environment to build a world-class financial services suite.
Why you should join us:
- You will redefine the financial services landscape for India in the coming years.
- Be part of a core Engineering team that will create innovative and scalable Fintech solutions.
- Work with passionate and experienced engineering, product & business workforce that believes in teamwork, and that helps fast-track learning on solving complex technical challenges.
- We are funded by the leading fintech VC `QED Investors` and other established Founders and Executives of awesome Indian companies.
What you will do if you join us:
- Propose solutions to solve complex system architecture challenges and actively lead the end-to-end development of the system.
- Create robust, flexible, consistent, and easy-to-use APIs
- Continuously strive for performance improvements, code reusability, and readability
- Understand the product in detail and predict potential issues in feature development.
- Mentor and lead junior members of the team
You should have:
- Ability to think of out of the box
- Tech or a higher degree in computer science or a related field.
- 3+ years of experience working on the back-end development for complex distributed systems who are willing to adopt any Programming language as per the requirement.
- Familiarity with any of the following – Java, C++, Scala, Kotlin, and frameworks like Spring, Play, Hibernate, Django, etc.
- Good understanding of Algorithms, Data Structure, OOP, Design patterns, Parallel programming, Multithreading concepts & Event-Driven Systems.
- Understanding of micro-services architecture and best practices.
- Experience with Relational databases such as MySQL, PostgreSQL, Oracle, or any NoSQL database.
It is a plus if you have:
- Familiarity with cloud platforms like AWS (Amazon Web Services), Azure or Google Cloud
- Experience in Web and Mobile Applications
- Agility and ability to adapt quickly to changing requirements and scope and priorities
- Experience in Java, Python.
- Deep understanding of data structures and microservices.
- Knowledge of Node.js
- Understanding the nature of asynchronous programming and its quirks and workarounds
- Familiarity with front-end technologies
- User authentication and authorization between multiple systems, servers, and environments
- Interaction with multiple data sources
- Good understanding of SQL
- Understanding fundamental design principles behind a scalable application
- Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform.
- Implementing automated testing platforms and unit tests
- Proficient understanding of code versioning tools, such as Git .
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.
- 2 - 7 years of experience in building applications using C++ programming language.
- Comfortable with core programming concepts and techniques (e.g. concurrency, memory management).
- Enjoys working with algorithms and data structures (e.g. trees, hash maps, queues).
- Strong in Data structure and good in problem solving.
- Strong debugging skills.
- Certifying the application – White box testing, black box testing.









