Job Description
We are seeking a detail-oriented, highly analytical Junior Systems Software Engineer to join our core engineering team. In this role, you will design, implement, and optimize low-level application architecture, networking protocols, and performance-critical systems. The ideal candidate brings a strong foundation in computer science fundamentals, hands-on experience with C++ and Python, and a passion for building responsive, scalable software.
Key Responsibilities:
• Systems & Network Architecture: Design, implement, and maintain custom networking components, client-server models, and protocol resolvers (UDP/TCP, DNS, socket communications).
• Algorithm & Performance Optimization: Apply data structures, memory management, and graph search heuristics (e.g., A*, custom hashing, priority queues) to solve complex performance and indexing challenges.
• Testing & Quality Assurance: Develop and execute comprehensive unit, integration, and stress tests to validate network state synchronization, catch edge cases, and eliminate execution bottlenecks.
• Debugging & Problem Solving: Utilize low-level debugging tools (GDB, Wireshark) to trace memory leaks, analyze packet flow, and debug asynchronous multi-threaded or multi-client execution paths.
• Cross-Functional Collaboration: Partner with cross-functional teams to design clean, modular codebases and maintain version control integrity across all release cycles.
Key Requirements:
• Education: Bachelor of Science in Computer Science, Computer Engineering, or a related technical discipline (GPA 3.5+ preferred).
• Core Languages: Strong proficiency in C++ and Python. Familiarity with C, C#, Java, SQL, or x86 Assembly is a plus.
• Systems & Networking: Solid understanding of TCP/UDP networking principles, socket programming, caching mechanisms, operating systems, and computer architecture.
• Tools & Environment: Hands-on experience with Linux/Bash, Git/GitHub, GDB, and Wireshark. Experience with SFML, Unity, or VR/AR engines is desirable.
• CS Fundamentals: Proven command of object-oriented design, algorithmic complexity, recursive problem-solving, and concurrent state management.
Desired Competencies:
• Self-starter capable of managing end-to-end projects-from requirement mapping to comprehensive testing.
• Passion for interactive media, high-performance computing, or game engine mechanics.
• Strong written and verbal communication skills for technical documentation and code reviews.