Software Engineer II
at the forefront of innovation in the digital video industry,
Mandatory Skills:
- C++/GPU
- Experience working on products hardware based/embedded.
Key Responsibilities:
- Develop new features using Modern C++, Object-oriented design practices
- Maintain and improve existing C++ codebase (1.5 million lines), running on Linux
- Take responsibility for code quality by providing well-designed unit tests
- Optimize code performance by measuring resource utilization
- Participate in merge-request reviews
- Develop system tests in Python
- Hands on debugging using third-party video and network equipment
- Be a team player who is willing to make mistakes, learn, improve, and accept feedback
Requirements:
- Bachelor’s degree in Computer Science, Electronics or related fields
- 3-5 years of experience with strong programming logic, code analysis/ debugging and problem-solving skills
- Proven software design experience for complex codebases systems
- Expertise in Modern C++ and Object-Oriented software development
- Comfortable developing design for new features, task breakdown and estimation skills
- Comfortable developing on Linux
- Comfortable following git-flow process
- Good written and verbal communication skills
Additional Skills:
- Experience in GPU programming - OpenCL, CUDA, Halide
- Embedded development and debugging experience
- Understanding of real-time processing constraints
- Understanding of continuous-integration principals and tools (such as Jenkins)
- Experience with Cmake
Similar jobs
Summary
Miko is an advanced consumer robotics innovation lab focused with the mission of Bringing Robotics and AI to every consumer home. Founded by young and dynamic entrepreneurs from IIT Bombay, Miko is a global deep tech company with offices in US, UK and India, and customer base across 140+ countries. Focused on taking Robotics and AI to every consumer home, Miko is the first of its kind "content on subscription" hardware platform for kids powered by patented technology.
Our flagship products, Miko 3 and Miko Mini (www.miko.ai), are playful companion robots that engage, educate and entertain kids. Their unique approach is to focus on child learning and development through self-initiated contextual topics that encourage conversational learning. It hosts a powerful marketplace for third party content partners to plug their content and connect with Miko users on subscription.
Miko is powered by a proprietary emotional intelligence and adaptive personality engine, complex conversational and multilingual AI framework, edge and hybrid speech & vision recognition along with an active learning and behavioral analysis engine. All of this is built over an autonomous navigation system, which enables Miko to offer a range of benefits for the user.
The team at Miko team is an interdisciplinary team consisting of team members from electronics, embedded system, mechanical, industrial, robotics and AI engineering domains, Human Robot Interface designers, UI/UX designers, mobile and cloud software engineers, content creators, artists, mathematicians, neuropsychologists, marketing and sales mavericks, Customer support professionals and knowledge partners.
The Role
We are looking for a middleware software engineer to join the team. In this role you will be working on designing, developing and optimizing the middleware stack for current as well as new companion robot products.
Work Experience & Qualifications
2 years or higher industry experience in the Software domain. No restrictions on degree/qualifications; only skills matter. (* for Junior role)
Responsibilities
- Designing and developing software on the product to enhance current functionality and add new features. Lead the technical delivery of assigned tasks/projects.
- Consistent coordination and collaboration with the Backend, AI, Product and QA team for efficient development cycles and testing for new features and improvements.
- Operating in an Agile/Scrum environment to deliver high quality software against aggressive schedules
- Ability to diagnose, troubleshoot and perform root cause analysis of critical business and production issues
- Strong technical leadership with experience building software engineering teams. Demonstrate strong ambiguity resolution skills to be able to break down ambiguous problems into simpler milestones and delegate to junior engineers
Requirements & Skills
- 2+ years of experience as a Software Engineer
- Expertise in C/C++ and Java
- Strong understanding of environment management, release management, code versioning best practices, and deployment methodologies.
- Experience with implementing various communication protocols like I2C, SPI, UART
- Experience working on Embedded Linux OS and Android
- Demonstrated experience in developing multi-threaded applications
- Experience with IPC including socket programming
- Should have hands on experience and thorough knowledge in STL, BOOST understanding of data structures and algorithms
- Experience with using Git as a version control system
- Excellent coding and debugging skills
- Ability to work in a fast paced environment
- Excellent verbal and written communication skills
Software Developer
Roles and Responsibilities
- Apply knowledge set to fetch data from multiple online sources, cleanse it and build APIs on top of it
- Develop a deep understanding of our vast data sources on the web and know exactly how, when, and which data to scrap, parse and store
- We're looking for people who will naturally take ownership of data products and who can bring a project all the way from a fast prototype to production.
Desired Candidate Profile
- At Least 1-2 years of experience
- Strong coding experience in Python (knowledge of Javascripts is a plus)
- Strong knowledge of scraping frameworks in Python (Request, Beautiful Soup)
- Experience with SQL and NoSQL databases
- Knowledge in Version Control tools like GIT.
- Good understanding and hands-on with scheduling and managing tasks with cron.
Nice to have:
- Experience of having worked with elastic search
- Experience with multi-processing, multi-threading, and AWS/Azure is a plus
- Experience with web crawling is a plus
- Deploy server/related components to staging, live environments.
- Experience with cloud environments like AWS,etc as well as cloud solutions like Docker,Lambda, etc
- Experience in DevOps and related practices to improve development lifecycle, continuous delivery with high quality is an advantage.
- Compile and analyze data, processes, and codes to troubleshoot problems and identify areas for improvement
Rejolut is among the fastest-growing and award winning Tech companies working on leading technologies namely Blockchain, Machine Learning & Artificial Intelligence, Complex mobile & Web Apps, IoT, etc.Rejolut is a venture-backed company with clients in over several countries namely Malaysia Airlines,gba global,my-earth,biomes, Dlg-hub,etc.
We are looking for Tech geeks having hands-on experience and in love with building scalable, distributed and large web/mobile products and tech solutions. He/She must be an excellent problem solver with passion to self-learn and implement web technologies (frontend + backend). He/She would be responsible for the architecture design, code review, and technology build and deployment activities of the product.
Responsibilities:-
-Work with the team to develop world-class tools through practical development and collaboration with the open source Go community
-Interact with internal and external developers and communities
-Work with the toolchain team and other engineering teams as well as the community on senior-level feature contributions to Golang, related compiler bug fixes, efficiency improvements, and optimisations, and some light packaging work where needed
-Accept, analyze, and respond to bug reports against tools packages in your area of responsibility
-Plan and track development and periodically report progress to team management.
- Own the product development from scratch.
- Architect scalable, distributed and large-scale web and mobile solutions from scratch.
- Code for fresh development and to troubleshoot and resolve issues.
- Writing reusable, testable, and efficient code.
- Creating database schemas that represent and support business processes.
- Design and implementation of low-latency, high-availability, and performant applications.
- Able to learn & implement new technology/framework/library at God Speed.
- Customer-focused, react well to changes, work with teams and be able to multitask.
- Experience and knowledge of open-source tools and frameworks, broader cutting edge technologies around server side development.
Desired Candidate Profile:-
- 1+ years of experience in open source compiler or tools development
- 1+ years of experience with the Go language, runtime and tools
- Experience with or exposure to the Linux kernel is helpful
- Bachelor's degree or higher in computer science, computer engineering, or a technology-related discipline
The following requirements are a plus:
-Experience with C/C++ toolchains and debuggers
-Advanced knowledge of Go language, compiler, library, runtime, and debug internals
-Practical experience developing Go tools for enterprise use
-Direct experience with Go tools community participation
-Knowledge of and experience with system tools internals (e.g. compilers, debug formats)
-Proficiency in multiple programming languages, both dynamic(Javascript, Python, Ruby, etc.) and strongly typed object-oriented language.
-Implementing automated testing platforms and unit tests.
-Must be a proven performer and team player that enjoys challenging assignments in a high energy, fast growing and start-up workplace.
-Good communication and interpersonal skills
Rejolut - As a Career Differentiator
- We are a young and dynamic team who are obsessed with solving futuristic and evolutionary business problems at scale with the next generation technology like blockchain, crypto and machine learning. Focuses on empowering people across the globe to be technically efficient, making advancements in technology and providing new capabilities that were previously thought impossible.
- We provide exposure to higher learning opportunities so that you can work on complex and cutting edge technology like React, React Native, Flutter, NodeJS, Python, Go, Svelte, WebAssembly. Strong expertise in blockchain and crypto technology and working with the networks like Hedera Hashgraph, Tezos, BlockApps, Algorand, Cardano.
- We maintain high end transparency with clients and employees as Visibility unlocks Efficiency and trust unlocks Visibility.
- Company is backed by two technology Co-founders, well-versed with consumer applications and their work has been downloaded millions of times and have led teams in leadership positions in companies like Samsung, Purplle, Loylty Rewardz.
Benefits :
> Health Insurance
> Work from Home
> Fast growth and more visibility into the company
> Experience to work on the latest technology
> Competitive Learning Environment with supportive co-workers
> Employee friendly HR Policies
> Paid leaves up to certain limits
> Competitive salaries & Bonuses
> Liberal working atmosphere
> Get mentored by the best in the industry
Schedule:
Day Shift/Flexible working hours
Monday to Friday
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.
Work as a member of a team responsible for problem resolutions requiring extensive analysis, troubleshooting to product development. You will apply your knowledge of building scalable, distributed applications to provide ideal solutions to solving our clients business problems by driving customer experience outcomes with enhanced technical capabilities. Essential Functions include, but are not limited to the following.
You will be expected to:
- Work closely with a team of highly technical engineers distributed geographically.
- Contribute to all phases in the software lifecycle requirements analysis, solution design, development, and delivery
- Build high quality, efficient & reusable code in server-side programming.
- Troubleshoot & debug applications/products
- Ensure assigned projects are developed in accordance with established engineering processes, adhering to scope, schedule constraints and agile project plans
- Guide/mentor the less experienced team members
- Participate in code reviews
- Document and test the features worked on by you or team
- Explore & Propose to incorporate cutting-edge technologies / plugins etc to improve applications
- In addition, position is responsible for a variety of complex Linux, SQL, networking and coding challenges.
Must Have Skills:
- Strong programming skills in C/C++, Knowledge of PHP would be advantageous.
- Experience in Networking software development and Domain Knowledge
- Experience working with Linux
- Good Understanding of Databases (MySQL) and proficiency in SQL Queries.
Good to Have Skills:
- Knowledge of RESTful APIs
- Exposure to DevOPS practices, Continuous Integration (CI/CD), Containers (Docker).
- Experience with Spark Structured Streaming API, MySQL performance optimization, Linux Kernel experience
- Exposure to Test Driven Development
- Working with Databases and Linux platform
- Understanding algorithms, databases and their space and time complexities
- Writing unit and integration tests with reasonable coverage of code and interfaces
- Solving complex and interesting problems
- Taking up a high level of ownership and commitment towards the business and product vision
What you need to have:
- Minimum 1-year experience
- Strong problem-solving skills
- Good understanding of data structures & algorithms and their space & time complexities
- Strong hands-on and practical working experience with at least one programming language: C/Java/C++/C#
- Excellent coding skills – should be able to convert the design into code fluently
- Strong technical aptitude and a good knowledge of CS fundamentals
- Hands-on experience working with Databases and Linux platform is a plus
- B-Tech in Computer Science or equivalent from a reputed college
- Good experience in at least one general programming language (Java, Ruby, Clojure, Scala, C/C++, Python and SQL)
- A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design.
- Have a penchant for solving complex and interesting problems, Worked in startup like environment with high levels of ownership and commitment
- Excellent coding skills – should be able to convert design into code fluently
- Good skills to write unit & integration tests with reasonable coverage of code & interfaces
- TDD is a plus
• Excellent programming skills in C, C++11
• Strong working experience in developing application on Linux.
• Experience of working with multithreading, IPC mechanism, queuing is must.
• Effective requirement analysis and effort estimation skills.
• In-depth knowledge of Object-Oriented Programming.
• In-depth understanding of docker-containers
• Understanding of container orchestration tools (e.g. Kubernetes, docker swarm)
• Experience using MQTT, SSL, boost, etc.
• Preliminary Python hands-on experience
• Unit Testing and Test-Driven Development
• Experience of working with Interfacing or implementing any protocol (BACnet, Modbus, etc.) will be an
added advantage
• Knowledge of developing applications for data collection, real time monitoring systems will be an added
advantage
• Experienced with all phases of project in development, testing and deployment and management of
enterprise solutions.
• Aware of Agile Methodologies, SCRUM, CI/CD methods
• Coordinate application implementations and follow-up on client problems
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.