Software C/C++ Developer
120K to 150K
As a Software Developer at DGS you will spend your day designing, coding, and testing software. Our projects are non-standard, highly customized, and will push you to new levels as a software developer. Most of our software is developed in C/C++ and runs on embedded systems with a Linux environment.
We are unique company working on the next generation of communications and sensors systems, which means that we constantly push the envelope of technology. We invest in our employees and ideas. We fund internal research and development ideas. Our work environment is casual attire (t-shirt/jeans), flexible hours, and unlimited snacks and coffee.
THIS JOB IS FOR YOU IF YOU ENJOY
- C/C++ development of new feature and functions that supports critical customer goals
- Applying concepts from newer data structures and computing architectures to support both synchronous and event driven processing of large amount of data in near real time.
- Developing for real time operating systems (RTOS) and interesting embedded systems.
- Experience with SQL, API development and integration, caching, logging
- Familiarity with GPU code development.
- Applying understanding of software development process (design, code and test) to develop
modular software platforms for embedded systems.
- Software development is fun and fulfilling when good workflows, processes, and environments exist. We work hard to make sure our engineers have the following:
- Reproducible builds to get you going faster with a given project.
- Continuous integration and strong configuration management practices to validate assumptions made between components to avoid conflicts.
WHAT WE NEED TO SEE FROM YOU TO JOIN OUR TEAM
- Strong understanding of embedded software development in C/C++
- Good knowledge of data structures, algorithms, and techniques to support processing of large amounts data in near real time.
- Experience in generating or desire to generate code and test vectors that are easily portable, and useable stand alone or as part of a library of functions
- Familiarity with open source development tools such as gss, autoconf, automake, cmake, gnu make, valgrind, svn, etc..
- Experience with multithread programming
- Experience with development of distributed systems
- Familiarity with ETL processes
- Experience with wireless communication systems would be a plus.
- Familiarity with Python, numPy, SciPy, Java
- Experience measuring code performance using benchmarks, identifying / troubleshooting performance issues and fixing them to improve real time processing.
- Excellent communication skills, both oral and written
- Ability to work individually and in small fast paced team environments
- Passion and drive to continuously improve your skill set
MS in EE or CS with up to 5 year of experience
Senior position: MS in EE or CS with over 10 year of relevant experience.