GeoSonics, Inc. a seismic consulting and equipment manufacturing company, is seeking an Embedded Systems Programmer to join our team located in St. Petersburg, Florida.
As an Embedded Systems Programmer, you will be responsible for contributing to development, implementation, and updating of software and hardware for embedded devices and systems throughout a development lifecycle.Β
Who We Are:
GeoSonics, Inc. uses web-based technology and innovative remote monitoring systems to measure vibration and environmental data. Our seismic consulting services are used in the construction, mining and energy industries. With over 75 years in business, GeoSonics, Inc. is an industry leader - proud of our expertise and experienced team of professionals.
Comprehensive benefits are offered, including medical insurance with spouse and family coverage, vision and dental, life and long-term disability insurance, generous 401(k) contributions, profit sharing, paid holidays and vacation.
What Youβll Be Doing:
Contributing to design, development, testing and debugging system software
Interfacing with hardware design and development, including remote monitoring services utilizing LWIP and PPP connections
Contributing to design of program architecture, based on project requirements and hardware specifications, at the direction of senior of members of development team.
Supporting the integration and validation of new product designs
Supporting software QA and optimize I/O performance
Documenting code with clear written instructions utilizing gitlab or bitΒ bucket
Working on concurrent projects both independently and as part of a team, while meeting deadlines
Reviewing and investigating various elements of our current embedded data collection system with respect to advancing and updating environment and hardware used for such purposes
Your Background and Experience:
Bachelorβs degree in Computer Science or Software Engineering
Minimum of 5 years of work experience and prior working experience in the embedded systems field a plus
Experience in hands-on development and troubleshooting on embedded targets
Proven experience in embedded systems design with preemptive, multitasking real time operating systems
Familiarity with software configuration management tools, defect tracking tools and peer review
Familiarity with hardware protocols including USB, UART, I2C and SPI
Solid prior experience with the following systems and technologies:
C or C++ Assembly
Linux
RTOS
OpenWRT
LWIP and PPP
Boot loader familiarization and OTA update experience
Web technologies
Ability to create and read schematics and evaluate data sheets for components
Strong analytical and critical thinking skills
Excellent written and verbal communication skills and ability to interact professionally with employees, vendors, clients, etc.