Experience (Years): Fresher:0-1 | Fresher-Mid:2-4 | Mid: 5-8
Mid-Senior: 9-11 | Senior: 12+ | Director: 15+
Mid-Senior: 9-11 | Senior: 12+ | Director: 15+
- System Software Engineer - Networking (Linux-Programmer-US-241256)
- Virtualization Technologies Engineer (Linux-Programmer-US-241257)
- Sr. Software Engineer - CDN Edge Performance (Linux-Programmer-US-241258)
- Software Engineer – System (Linux-Programmer-US-241259)
- Sr. Embedded and System Software Engineer (ADAS/AD Middleware, ROS2/Linux Kernel/IP-comm) (Linux-Programmer-US-241260)
Title: System Software Engineer - Networking
Job Code: Linux-Programmer-US-241256
Location: Hybrid
Experience: Fresher-Mid Level
Date Posted: 2024-11-28
Valid Through: 2024-12-27
Apply: Job Application Form
Job Description:
Job Code: Linux-Programmer-US-241256
Location: Hybrid
Experience: Fresher-Mid Level
Date Posted: 2024-11-28
Valid Through: 2024-12-27
Apply: Job Application Form
Job Description:
Responsibilities:
Basic Qualifications:
- Optimize Linux TCP/IP stack performance for production environment;
- Research and develop other high-performance network technologies, such as DPDK or eBPF;
- Develop container network interface (CNI), network switches, SDN, ACL.
Basic Qualifications:
- A Bachelor's or Master's degree in Computer Science, Information Science, Engineering, Mathematics, or a related field, or experience equivalent to a Bachelor's degree based on three or more years of work experience
- Three or more years of software development experience in Unix/Linux environment.
- Experience with one or more following languages: C/C++/Golang/Rust
- A solid understanding of Linux network stack.
- Familiarity with Linux operating system, hands-on experience working in Linux environment;
- Familiarity with TCP/IP protocols and other common networking protocols;
- Good understanding of network devices and network technologies, such as NAT, VPN or SDN.
- Strong debugging and problem solving skills;
- Familiarity with Linux or FreeBSD networking stack;
- Experience in Linux kernel development or other large open source projects.
Title: Virtualization Technologies Engineer
Job Code: Linux-Programmer-US-241257
Location: Hybrid
Experience: Unspecified
Date Posted: 2024-11-28
Valid Through: 2024-12-27
Apply: Job Application Form
Job Description:
Job Code: Linux-Programmer-US-241257
Location: Hybrid
Experience: Unspecified
Date Posted: 2024-11-28
Valid Through: 2024-12-27
Apply: Job Application Form
Job Description:
Key Qualifications:
- Experience with system programming.
- Experience with kernel and/or device driver development
- Understanding of OS internals and memory management.
- Knowledge of CPUs and/or GPU architectures.
- Understanding of virtualization technologies – CPU/GPU virtualization or device emulation
- Experience working with assembly languages
- Highly focused, with the ability to deliver solid work on tight schedules
- Excellent collaborative skills, with strong written and verbal communication
- Excellent C and C++ programming skills
- Experience with Objective-C or Swift a plus
- Hardware virtualization is core foundational technology. You’ll be implementing new virtual machine and virtual device capabilities across the stack from guest to host.
- BS or higher in Computer Science/Computer Engineering
Title: Sr. Software Engineer - CDN Edge Performance
Job Code: Linux-Programmer-US-241258
Location: Hybrid
Experience: Mid Level
Date Posted: 2024-11-28
Valid Through: 2024-12-30
Apply: Job Application Form
Job Description:
Job Code: Linux-Programmer-US-241258
Location: Hybrid
Experience: Mid Level
Date Posted: 2024-11-28
Valid Through: 2024-12-30
Apply: Job Application Form
Job Description:
Job Description:
Working with the Video Distribution team, you will use your low-level network protocol development experience to dive deep into next-generation media protocols and optimize the efficiency of Twitch video delivery at the edge. We've already built the lowest latency high-scale HLS distribution system on the planet. You will help us build the next generation of sub-second and real-time product offerings.
As a Senior Software Engineer you will report to the manager of the Video Distribution Edge and Backbone team.
You can be located in San Francisco, CA; Irvine, CA; Seattle, WA; New York, NY; Salt Lake City, UT; or Vancouver, BC. You can also be remote within Canada or the USA.
You Will:
Working with the Video Distribution team, you will use your low-level network protocol development experience to dive deep into next-generation media protocols and optimize the efficiency of Twitch video delivery at the edge. We've already built the lowest latency high-scale HLS distribution system on the planet. You will help us build the next generation of sub-second and real-time product offerings.
As a Senior Software Engineer you will report to the manager of the Video Distribution Edge and Backbone team.
You can be located in San Francisco, CA; Irvine, CA; Seattle, WA; New York, NY; Salt Lake City, UT; or Vancouver, BC. You can also be remote within Canada or the USA.
You Will:
- Design, implement, and deploy live video CDN edge delivery features using modern protocols like QUIC, WebRTC, and HLS.
- Squeeze every last iota of performance out of Twitch's edge compute by writing performant kernel and network code and investigating further optimizations like TCP offload.
- Validate performance improvements and prevent regression by defining and implementing repeatable automated performance tests.
- Work with client video teams to contribute to the next generation of Twitch by improving edge efficiency, lowering latency, and improving time to video.
- You have implemented QUIC or HTTP/3 at scale across a large bare metal fleet
- Hands-on experience with video protocols like HLS or LL-HLS.
- Hands-on experience with WebRTC.
- 8+ years combined of C++, C, or Rust programming experience related to Linux kernel or network protocols.
- Hands-on experience with Go
- Experience with TCP/IP or UDP performance tuning and congestion control algorithms (e.g. BBR, GSO)
Title: Software Engineer – System
Job Code: Linux-Programmer-US-241259
Location: Hybrid
Experience: Mid Level
Date Posted: 2024-11-27
Valid Through: 2024-12-28
Apply: Job Application Form
Job Description:
Job Code: Linux-Programmer-US-241259
Location: Hybrid
Experience: Mid Level
Date Posted: 2024-11-27
Valid Through: 2024-12-28
Apply: Job Application Form
Job Description:
Job Summary:
This position is responsible for the firmware of Bear Robotics’ custom PCBA board, which is one of the most critical components of Bear Robotics’ robots. You are expected to be highly autonomous and to lead technical directions as well as work with high-level product requirements and manage individual project priorities, deadlines, and deliverables with your technical expertise.
About The Position:
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform essential functions.
This position is responsible for the firmware of Bear Robotics’ custom PCBA board, which is one of the most critical components of Bear Robotics’ robots. You are expected to be highly autonomous and to lead technical directions as well as work with high-level product requirements and manage individual project priorities, deadlines, and deliverables with your technical expertise.
About The Position:
- Responsible for the firmware of our custom PCBA board
- Work closely with electrical engineers and software engineers, to design, prototype, develop, test, deploy, maintain and improve the PCBA board design and its firmware.
- Expected to architect and develop the whole firmware stack.
- Expected to work with high-level requirements, and to manage individual project priorities, deadlines and deliverables with your technical expertise.
- Mentor interns or other junior engineers
- Perform other related duties as assigned
- BS in EE/CS or related field
- 5+ years of relevant work experience
- Development experience within embedded systems/firmware design
- Solid coding in C/C++
- Microcontrollers, ARM processors, SoC
- Hardware bringup, hardware/software integration
- RTOS, application/driver integration
- Peripherals including BLDC motor, UART, SPI, CAN, BLE, USB, PWM, ADC, LED
- Expert at the Linux Kernel, POSIX, filesystems, networking, and automated deployment
- Devop (Bash, Docker, CI/CD)
- Able to identify and mitigate security issues following industry best practices - secure by default
- Experience with optimizing system boot-up time
- Experience with creating system services for cleaning logs, uploading logs, monitoring disk usage, etc
- Ability to troubleshoot database performance and availability issues
- STM32 MCU
- C2000 MCU & MotorWare
- PCBA and wire harness design
- Manufacture & mass production
- ROS1 or ROS2 experience
- Large-scale ETL and data analysis/mining pipeline in the cloud
- Mobile robot performance evaluation
- Python data analysis
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform essential functions.
- Prolonged periods of sitting/standing at a desk and working on a computer. The employee routinely is required to type, sit, stand, walk, talk, and hear.
- Specific vision abilities required by this job include close vision, color vision, peripheral vision, depth perception, and the ability to adjust focus.
- Ability to lift 20 lbs.
Title: Sr. Embedded and System Software Engineer (ADAS/AD Middleware, ROS2/Linux Kernel/IP-comm)
Job Code: Linux-Programmer-US-241260
Location: Hybrid
Experience: Mid Level
Date Posted: 2024-11-28
Valid Through: 2024-12-27
Apply: Job Application Form
Job Description:
Job Code: Linux-Programmer-US-241260
Location: Hybrid
Experience: Mid Level
Date Posted: 2024-11-28
Valid Through: 2024-12-27
Apply: Job Application Form
Job Description:
As a Sr. Embedded and System Software Engineer you will:
Qualifications:
- Design, implement, and debug low-level software platform, supporting a wide variation of requirements with high efficiency & scalability.
- Implement robust, testable, abstract, and modular software components.
- Write unit tests to fully protect and validate implemented functionality.
- Create and document design to aid validation and verification.
- Perform dynamic and static tests.
- Follow best software practices from functional safety and team guidelines.
- Bridge the gaps between hardware and software, provide advice to the HW team to bring the best HW/SW abstraction and integration.
- Commit and deliver high quality software deliverables on time for the different vehicle programs.
Qualifications:
- BS / MS in Electrical Engineering, Computer Engineering, Computer Science or equivalent.
- Software Developer with 7+ years of experience working in embedded systems.
- Excellent experience in C/C++ and Python.
- Proficiency in the use of debugging tools like debuggers, logic analyzers, and oscilloscopes.
- A thorough understanding of object-oriented software design.
- Focused on testability, quality, scalability, portability, and easily maintainable software platforms.
- Excellent experience in ROS2 development, DDS, and rmw adaptation.
- Proven history of architecting and designing embedded platforms.
- Understanding of embedded Real Time OS on microcontrollers and microprocessors.
- Deep understanding of Linux kernel functionalities, network communication protocols and the ability to adapt and development novel features for performance optimization.
- Experience with embedded Linux development and drivers.
- Ability to remain focused while understanding the effects of change to multiple systems.
- Experience identifying and implementing low level system tests.
- Ability to successfully and effectively work within a global team environment.
- Experience with AUTOSAR.
- Experience with different HW MCALs.
- Experience with FREERTOS & SAFERTOS.
- Experience with Linux build systems: Yocto, Buildroot.
- Experience setting up Linux kernel and device drivers.
- Experience with Automotive networks.
- Knowledge about security in embedded systems.