Principal Software Engineer (closed)
PRINCIPAL SOFTWARE ENGINEER
As the global market leader in set-top boxes, Pace has delivered over 120 million set-top box products, to customers in all major markets around the world. Pace is the largest provider of residential gateways in the U.S. Pace has shipped well over 30 million managed gateways to many of the leading service providers throughout the world including AT&T, Telmex, Bell Canada and others.
We are seeking a Principal Systems Software Engineer who will play a key role in shaping the architecture, design and development of our flagship networking products. You must be a seasoned senior software engineer with demonstrable accomplishments and experience in performing responsibilities that include but are not limited to feature definition, architecture design, implementation and unit test. The primary responsibilities for the position will be focused on but are not limited to providing the necessary expertise and software deliverables to support the hardware bring-up, hardware verification, and factory test for various STB and RGW product lines.
You can apply directly by clicking this link: https://careers-pace.icims.com/jobs/1912/job
Successful candidate is someone who:
- Is very passionate about software design and development
- Enjoys dealing with abstractions and working through complex problems and delivering solutions to them.
- Can lead a team of developers or a technical group on projects from establishing requirements through to solution development and implementation.
- Plays an active role in design reviews, code reviews. Assists & mentors other developers on technical issues, design choices and decision making.
- Has excellent verbal and written communication skills are a must as you will work closely with other development and cross-functional team members including but not limited to Hardware Design, Factory Test Engineering, Quality Assurance, Product Management, Professional Services, Sales, and Third Party Vendors.
- Has the ability to facilitate discussion among people with differing backgrounds and opinions leading to consensus. Extensive interaction with both technical and non-technical persons, and the ability to bridge between them.
You may be required to perform other development related responsibilities/work-activities as assigned.
- BSCS, BSCE or equivalent; MSCS, MSCE preferred
- Requires a minimum of 12 years of overall technical experience and a minimum of 5 years of recent technical lead experience.
- Minimum 12+ years systems software development experience with C/C++ on Linux/BSD/Unix with preference for embedded devices.
- Extremely proficient in Linux/BSD/Unix Internals and designing and implementing system software modules in Kernel space
- Experience in developing kernel modules and drivers in a SMP hardware architecture and the usage of processes, threads, and mutexs
- Previous experience in the design, implementation, debug, and support of device drivers in an embedded system
- Previous experience in porting/integrating third party reference software releases and working with third parties to track and resolve issues
- Previous experience in working closely with hardware design engineers and reading datasheets and hardware schematics, and debugging board level issues
- Experience in porting/integrating/debugging Board Support Packages(BSP)
- Experience with developing/debugging (secure) bootloaders for embedded networking products
- Experience with network programming, including sockets, TCP/IP, UDP and related networking protocols.
- Proficient with source control management systems such as Perforce and CVS required
- Proficient with linux makefiles and large software build environments
- Experience in middleware architectures considered a plus
- Experience in using JTAG debuggers for loading and debugging of software
- Hands on experience in STB and/or CPE device kernel level or below software development required
- Knowledge of Linux/BSD/Unix User space design and implementation
- Knowledge of Assembly programming
- Knowledge of shell programming
- Knowledge of IPv4/6, DHCP, NFS, HTTP, FTP
- Knowledge of video encoding/decoding and audio encoding/decoding method implementations and how to test a plus
- Knowledge of digital rights management and conditional access solution implementations a plus
- Accomplished individual contributor
- Excellent problem solving skills
- Excellent verbal and communication skills
- Equivalent combination of education, training and experience will be considered.
Specific skills or technology areas that are highly desirable:
- Previous experience in BSP, driver, and/or kernel level software development on embedded media processor SoCs from Sigma Designs, Intel, or other vendors
- Previous experience with Set Top Box (STB) and/or IPTV software integration and support for Microsoft Mediaroom™ or Minerva platforms
- Experience in developing software diagnostics to support hardware bring-up, hardware design verification, factory verification, customer oriented diagnostics, and/or returns (RMA) diagnostics
- Experience with wireless 802.11n and/or 802.11ac driver development, porting, testing, and support as well as knowledge of wireless calibration methods
- Experience with secure boot process and associated software/hardware implementations
- Experience in developing/integrating Microsoft Mediaroom™ and/or Minerva software
- Experience with peripheral I/O interfaces (PCI, Ethernet, g.hn, USB, IDE/SATA, SPI, IR, I2C, HDMI, NAND Flash Memory, DDR memory)
This position may require travel both domestically and internationally.
Excellent Salary with Annual Bonuses including an excellent benefits package that consists of: Medical (incl. Rx Program), Dental, Vision, Flexible Spending Accounts (Health & Dependent Care), LTD, STD, Life and AD&D, Supplemental Insurance Policies, 401(k), Employee Stock Purchase Plan, Tuition Reimbursement, etc.
Pace is an Equal Employment Opportunity Employer. We welcome and encourage Diversity in our Workforce.