Previous Job
Engineering Software Tools Developer
Ref No.: 18-12262
Location: San Diego, California
The Software Analytics and Global Automation (SAGA) team, within the larger Products and Tools Group, enables key automation workflows across as well as productions for our customers. From developing infrastructure to working with partners, we find the best ways to build engineering solutions that are cost-effective, available, scalable, secure, and forward-looking. As a software engineer on the SAGA team, you will be responsible for designing, implementing, and maintaining commercial-grade software tools for development, testing and production within and outside. Responsibilities: Design and implement multi-platform, high-volume, low-latency communication software to communicate with devices over various types of connections Design, abstract and implement high-performance functional modules which can be used by task-oriented applications Design and implement efficient protocols among software components Design and implement unit tests Be part of a cross-functional team, with a large amount of ownership and responsibility for managing things directly All employees are expected to actively support diversity on their teams, and in the Company.
Minimum Qualifications:
3 to 10 years of industry experience in the following: Programming languages: C++/C, C# Experience in at least one scripting language e.g. PERL/Python Inter-process communication and networking including RPC Concurrent programming Device communication and Plug & Play
Preferred Qualifications:
Good understanding in data structures and algorithms Strong software troubleshooting skills Strong communication skills Experience in Windows/Linux kernel driver development and kernel-level debugging is a plus Experience with Apache Thrift is a plus Knowledge in network stacks on Windows and Linux Experience with multi-language programming Experience with data encoding and decoding Experience with distributed systems and cloud computing Familiar with USB and PCIe protocols and hands-on experience with protocol analyzers Experience in systems, including hands-on knowledge with firmware deployment on target and debugging
Required: Bachelor's, Computer Engineering and/or Computer Science and/or Electrical Engineering Preferred: Master's, Computer Engineering and/or Computer Science and/or Electrical Engineering