Senior Software Engineer (Network/Embedded)
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+29 more
Job description
Design and implement an efficient program in C/C++ that reliably and efficiently transfers files between two machines that are on the same or two different networks, both running Linux. The program can run in both daemon mode and via a simple command, just as scp). The program should be easy to modify to support streaming applications. Make the program as simple as possible. Don’t use complicated packages, such as QUIC.
The program should:
1) Use UDP for data transfer;
2) Use BBR (V3) for congestion control; write your own source code instead of turning on BBR flag in kernel;
3) Work without requiring changes on either machine’s router or firewall configuration. You may assume SSH is running on both machines and port 22 is open on both networks.
Please make your solution as simple and elegant as possible, and of course with data transfer performance in mind. You may use any open-source component and/or AI tool, but you need to own your code, i.e., you know and can explain every piece of the final code so that any modification/improvement can be made quickly by you if needed.
Requirements
A Silicon Valley startup is looking for a few highly capable engineers to design and implement a new fast data transport product that will impact ML/AI infrastructure systems., * Strong programming proficiency in C/C++ with experience developing high-performance, production-quality software.
-
Solid understanding of computer networking, including TCP/IP, UDP, Ethernet, routing, switching, and socket programming.
-
Experience designing and implementing network protocols, congestion control, flow control, and error recovery mechanisms.
-
Strong knowledge of multithreaded programming, concurrent software design, synchronization, and thread-safe programming.
-
Experience with parallel processing and performance optimization on multicore CPU architectures.
-
Proficiency in Linux software development, debugging, testing, and performance profiling.
-
Familiarity with data structures, algorithms, and memory management for systems-level software.
-
Experience using version control systems (Git) and modern software development practices.
Preferred Skills
-
Experience with high-speed networking (10/25/100/400GbE) technologies.
-
Knowledge of Forward Error Correction (FEC), data compression, packet processing, or distributed systems.
-
Familiarity with cloud computing, virtualization, Microservices, or container technologies (Docker/Kubernetes).
-
Experience with network performance analysis tools such as Wireshark, tcpdump, perf, or gdb.
-
Strong analytical, problem-solving, and debugging skills. xrbllit
-
Excellent communication skills and ability to work effectively in a collaborative, cross-functional engineering environment.
Benefits & conditions
The positions are remote and can be full-time ($150K to $250K/year with benefits) or part time/contractor ($100 to $250/hour).
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…