Senior Software Engineer
Design, modify, develop, code, and implement modules based on specifications.
- Participate in architectural design decisions such as hardware/software tradeoffs; hands-on position.
- Participate in the testing process by coding test applications, module-level test review, system-level test review, analysis, and test implementation.
- Bachelor’s or Master’s degree in either Computer Science or Electrical Engineering.
- Minimum 4-5 years of experience.
- Background in Networking, Embedded Systems, and both C/C++ and Multi-Core Programming.
- Good at data-structure implementation.
- Good at algorithms, Complexity Analysis and Space/Time Tradeoffs.
- Algorithm Experience: L2-L4 Packet Classification, Regular Expression, Concurrent Algorithms.
- Knowledge of OS concepts: multi-tasking, memory management, interrupts, drivers, etc.
- Knowledge of CPU architecture.
- Diligent, detail-oriented, and willing to take initiative and handle assignments with minimal supervision. Inherent sense of urgency and accountability; able to multi-task in a dynamic, fast-paced environment.
- Excellent verbal and written communication skills.
- Effective interpersonal, teamwork, and communication skills; able to interface internally and externally with all levels of the organization.