Sr. Software Engineer
Location : Elk Grove Village, IL 60007
Headquarters : Charlotte, NC
Hiring Mode : Full Time
Hiring Role : Developer
Experience : Senior Level
SPX Corporation offers a benefits package that is competitive with the market and choices designed to help employees manage their well-being. Our performance and recognition programs focus on alignment and assessment of organizational, team and individual efforts toward the achievement of business results. Through our development and career growth programs, employees have opportunities to enhance their skills, develop new competencies and pursue career goals. The SPX work environment is based on a work-life philosophy supported by policies, programs and practices that help employees achieve success within and outside the workplace.
Genfare is seeking an Embedded Software Engineer to join an innovative and dynamic team that develops and tests industry-leading fare collection products and services. The Embedded Systems Engineer will support the design, development, and testing of high performance electronics for unmanned ticket vending machines, and embedded applications. Candidate will be working with a multi-disciplined, fast paced team and should be prepared to work on a large variety of interesting projects. We are looking for an independent thinker that is self-motivated, goal oriented, and willing to learn something new every day!
Primary responsibilities will include developing embedded software and fare collection hardware for the transit industry. The Ideal candidate has experience programming OS applications as well as embedded processors. Prior programming experience required with preference to candidates with C/C++ and Linux experience. Candidate must be knowledgeable on common communication protocols such as RS232, RS485, USB and TCP/IP.
- Work independently or as a team member to design, build, test, troubleshoot and support software for Ticket Vending Machines (TVM).
- Program OS applications as well as embedded processors
- Program embedded (C/C++) applications and device drivers on Linux-based operating systems.
- Define, analyze and review software requirements to meet defined and anticipated customer needs and system quality and performance standards.
- Collaborate with other engineering disciplines in planning, design and development of systems to ensure software and hardware performance and compatibility
- Write test plans and test cases, conduct unit, integration and system-level testing.
- Support supply chain (Operations, Production), when issues arise during TVM assembly.
- Work with other engineering functions (Electrical / Mechanical / Data / SaaS / Mobile) to collaborate and/or resolve issues related to subsystems (For Ex: Door board, Media board, UPS, Reporting, etc.,)
Bachelor’s degree in electrical or computer engineering or similar with 8-10 years of experience with embedded systems development.
- Programming experience required with preference to candidates with C/C++, and Linux (Ubuntu / Red Hat) experience
- Programming experience with real time multi-threaded embedded application
- Developed code for Intel family of processors
- Used shell scripts, gnu toolchain, makefiles
- Developed code to communicate with serial devices over RS232 or RS485
- Developed code to communicate using TCP/IP sockets
- Developed code for controlling graphical user interface
- Used a source code control system like CVS, SVN or BitBucket
- Experience troubleshooting a complex system consisting of many hardware/software components
- SQL query experience on Oracle, Sybase or SQL Server
- POS (Point of Sale) programming experience
- Smartcard (Mifare Classic, DESFire, Ultralight, Ultralight C) programming experience
- QR code reader programming experience
- Netbeans or Eclipse IDE experience
- Agile development experience
- Candidate must be a US citizen or legal US permanent resident
- Believer in Test Driven Development and Continuous Integration.
- Knowledgeable about distributed systems, system design and algorithms. Familiar with multi-process software architecture.
- Advanced proficiency with C and C++.
- Comprehensive experience with serial communication protocols. Smartcard (Mifare Classic, DESFire, Ultralight, and Ultralight C), QR code, EMV readers hands-on experience is a plus.
- Good working knowledge of software development on Linux. Ubuntu and Qt for Embedded hands-on experience is a plus.
- Extensive experience with IoT protocols including HTTPS, Bluetooth, IEEE 802.11, IEEE802.15.4, LTE (4G), etc. Familiar with Pub/Sub messaging is a plus.
- Working knowledge of in-memory data management. Hands-on experience with Redis is a plus.
- Some travel required (~10%) to customer sites
Genfare is a leader in providing configurable fare solutions to transit agencies of all sizes throughout North America. As a leader in fare collection systems for more than 30 years, Genfare provides solutions that are secure, reliable and highly flexible. Some of our innovative, integrated systems encompass the latest in electronic validating fare boxes, cloud-based reporting software, smart card and mobile payment options, ticket vending and point of sale card distribution systems.
SPX is an equal opportunity employer and makes employment decisions without regard to race, color, religion, national origin, sex, sexual orientation, gender identity, age, genetic information, disability, protected veteran status, or any other reason prohibited by applicable law.
Thank you for your interest in our company.