Job Summary:
The Software Engineer will play a key role in designing, developing, and maintaining the software systems that power our indoor delivery robots. This role involves close collaboration with hardware engineers, product managers, and other team members to ensure seamless integration of software and hardware, resulting in high-performance, reliable robots.
Key Responsibilities:
· Software Development:
o Design, develop, and test software components for indoor delivery robots, including control systems, navigation algorithms, and user interfaces.
o Implement real-time processing for sensor data, enabling the robot to perceive and navigate complex indoor environments.
o Develop robust, efficient code that meets performance and safety standards.
· System Integration:
o Work closely with hardware engineers to integrate software with hardware components, ensuring optimal performance and reliability.
o Troubleshoot and debug issues at the intersection of software and hardware, resolving integration challenges effectively.
o Develop and implement communication protocols between various software modules and hardware components.
· Algorithm Development:
o Design and implement algorithms for path planning, obstacle avoidance, and localization to enable autonomous robot navigation.
o Optimize algorithms for efficiency, accuracy, and scalability in real-world applications.
· Testing & Validation:
o Conduct thorough testing of software systems in simulated and real-world environments to ensure reliability and robustness.
o Develop automated testing frameworks to streamline the validation process.
o Monitor software performance and implement improvements based on test results and user feedback.
· Documentation & Compliance:
o Create and maintain detailed documentation of software architecture, code, and processes.
o Ensure all software meets relevant industry standards and regulatory requirements.
· Collaboration & Innovation:
o Collaborate with cross-functional teams to define software requirements and deliver solutions that meet user needs.
o Stay up-to-date with the latest advancements in robotics software and apply innovative technologies to enhance product capabilities.
o Participate in code reviews, provide feedback, and mentor junior team members.
Qualifications:
· Education:
o Bachelor’s or Master’s degree in Computer Science, Software Engineering, Robotics, or a related field.
· Experience:
o 3-5+ years of experience in software development, preferably in robotics or a related industry.
o Proficiency in multiple programming languages, with a focus on:
§ C++: For performance-critical systems, real-time processing, and control algorithms.
§ Python: For scripting, automation, data processing, and integration tasks.
§ Java: For developing cross-platform applications and high-level software modules.
§ ROS (Robot Operating System): Extensive experience with ROS, including creating and managing nodes, services, and topics.
§ Bash/Shell Scripting: For automating tasks and managing software deployment on Linux-based systems.
§ SQL/NoSQL Databases: Experience with database management, particularly for storing and retrieving sensor data or logging robot activities.
o Experience with algorithm development for navigation, mapping, and localization.
o Familiarity with real-time systems, multi-threading, and parallel processing.
北京 - 朝阳
欣佰特科技(北京)有限公司北京 - 丰台
北京中航泰达环保科技股份有限公司北京 - 海淀
中核核信信息技术(北京)有限公司北京 - 顺义
北京安达泰克科技有限公司北京 - 海淀
中核核信信息技术(北京)有限公司北京 - 石景山
北京因时机器人科技有限公司