Solar Technology Inc. · Jan 12th 2018
You’ll be joining a small team which develops and maintains a collection of embedded products, server support software, and desktop control software. Though you will work closely with other team members, this position will grow to provide substantial independent responsibilities and a rewarding career.
Your development responsibilities will be varied, and include:
Using Java and some C/C++ to develop the software that controls our Linux-based variable message signs.
Using Java to develop features in the server control software which oversees thousands of message boards, arrow boards, and other equipment.
Developing programs on embedded Linux systems to support remote sensors such as radar, queue detectors, etc.
Developing programs which run in our server cluster and remotely read data from sensors, cameras, and other data sources directly connected to the internet.
Occasionally developing microcontroller firmware for resource constrained 8-bit and 32-bit embedded devices (display modules, charge controller, etc.)
The languages we use are Java, C, C++, Python, and Perl. The ideal candidate will have experience with Java or at least an object-oriented programming language with native types (e.g. C++), higher level languages (e.g. Perl, Python), and the ability to quickly learn new languages, libraries, and tools. The ability to communicate effectively with non-programmers is a requirement.
As many of our products run embedded linux and our development environment is Linux based, experience with Linux will be very helpful. We use git for version control and Jira for issue tracking, and HipChat for communication within the development team, including (typically brief) daily meetings.
All candidates must be eligible to reside and work in the US. We strongly prefer residence within 300 miles of the factory in Allentown, PA.