Senior Software Engineer
R&D | Pflugerville, TX | Full Time
Under the general direction of the VP of Engineering, the TrackingPoint Senior Software Engineer will be responsible for architecting, coding, debugging, optimizing, supporting and maintaining software throughout the Precision Guided Firearm (PGF) systems as well as other new products. This includes the embedded software running on the Precision Guided Firearm, as well as mobile applications which connect to the Precision Guided Firearm. A qualified applicant must have a deep background in software engineering and must be able to demonstrate the ability to learn and understand complex software systems. A qualified application must also have experience in system-level performance analysis and optimization and/or wireless networking.
The selected applicant will be expected to fill a senior individual contributor role, providing technical leadership within the software team and interfacing effectively with other parts of the R&D organization.
Essential Skills, Competencies and Qualifications:
- BS or MS in Computer Science or a related field
- 7+ years of embedded software development
- Mastery of Linux bring-up on embedded custom hardware, e.g., U-Boot porting, device tree configuration, driver and kernel configuration, etc.
- Expert C language experience, especially in context of low level hardware interfacing.
- Understanding of trade-offs when designing for real-time systems.
- Experience with developing Linux device drivers.
- Familiarity with laboratory tools such as oscilloscopes, power supplies and multimeters.
- Working knowledge of typical hardware interfaces: I2C, SPI, GPIO, UART, etc. Working knowledge of typical subsystems (e.g., eMMC, raw NAND, etc.) and associated system level software integration. Proficient knowledge of interfacing to various sensors and peripherals using listed interfaces from application space is a must.
- Experience interfacing, configuring and implementing an application with support for BLE and/or WiFi stack is a big plus.
- Experience with test-driven development
- A passion for quality work
- Strong initiative, positive attitude, and an ability to work independently in a fast-paced environment
- An ability to learn & comprehend complex systems (HW, OS, applications)
- Strong communications skills
- Comfortable working in and with Linux
Additional Valuable Background:
- Knowledge of firearms
- Experience with Android and/or iOS
- Experience with Java, Python, Objective C, Swift, Matlab, Simulink
- Experience with GUI-level programming (especially embedded GUIs)
- Experience developing systems & software around ARM-based SoC's
- Experience with streaming video
- Experience with Linux driver development
- Experience with GPU programming (OpenGL/OpenCL)
- Experience with OpenCV
- Ability to understand electrical hardware design (read schematics, etc.)
- Experience using standard lab equipment: oscilloscopes, logic analyzers, etc.
Special Position Notes
- No regular travel required
- This position may supervise the work of other engineers and/or contractors
- Must be willing to submit to a criminal background check
Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions listed above.
Environment: Work is performed primarily in an indoor office lab; incumbents may be required to work extended hours including evenings and weekends and may be required to travel outside the office to attend meetings. Employees may work under the stress of regular interdepartmental contacts and pressure to meet various reporting and filing deadlines.
Physical: Primary functions require sufficient physical ability and mobility to work in an production area setting. Employee should be able to lift up to 50 pounds of weight; to operate office equipment requiring repetitive hand movement and fine coordination including use of a computer keyboard; and to verbally communicate to exchange information. Specific vision abilities required by this job include close vision, peripheral vision, depth perception, and the ability to adjust focus.
All employees are expected to conform to the following in the performance of their respective tasks and duties:
- Accept full responsibility for tasks and duties, and be accountable for quality of work product, managing multiple projects with varying deadlines.
- Establish and maintain effective, professional working relationships with other company employees, customers and external stakeholders.
- Exercise sound judgment in business and interpersonal affairs.
- Demonstrate willingness and ability to work collaboratively with peers.
- Produce quality work without direct supervision while understanding the necessity for communicating and coordinating work efforts with management, supervisors and other employees, as well as persons affiliated with customers, suppliers and other company stakeholders.
This position description does not constitute an employment agreement between TrackingPoint and employee and is subject to change by the Company as the needs and requirements of the position change. The position description is intended to describe the general nature and level of work being performed by people assigned to this classification. They are not to be construed as an exhaustive list of all responsibilities, duties and skills required of personnel so classified. All personnel may be required to perform duties outside of their normal responsibilities from time to time, as needed.
Please note, no relocation support is being extended for this position and we are not providing sponsorship for this role.