We're hiring developers & designers learn more >

x
Show Nav

Greg Williams

Software Consultant & Developer, Grand Rapids

I first delved into the world of computing when my Dad purchased an IBM Personal Computer, including one of the first luxurious RGB monitors with a whopping 16 colors! I started delving in deeper by getting books of BASIC programs, hand-copying them, tweaking them, and just playing around with how I could make this box do all sorts of cool things. This led to a deep love of robotics and using a computer to control various types of hardware.

I graduated from Michigan State University in 1998, with a B.S. in Electrical Engineering and Computer Engineering. I started my career in Tucson, AZ as a test tooling engineer at IBM, designing systems for validating the performance and robustness of networked storage libraries. From there, I went on to work at X-Rite, Inc., developing automated-test equipment for production testing of color measurement instrumentation and then moved on to embedded product development.

While at X-Rite, I worked closely with Atomic Object, a local software contract and consulting outfit that built their business and sparkling reputation by using TDD (test-driven development) and Agile methodologies to add continuous feedback and, more importantly, sanity back into the software development process.

I accepted the opportunity to join Atomic Object in 2006, in order to help Atomic Object expand TDD and continuous integration into the embedded realm, where we were told it was impossible. My fellow Atoms and I embarked on a journey to make TDD in the C language a reality. This adventure led to the creation of three awesome open-source tools geared towards the C language.

In my free time, I love to spend time with my wife Kelli and daughters Natalie and Sedona. I have a deep interest in music and performance, having played lead roles in stage shows and I also play guitar and sing. I share my musical interests with Kelli, who also sings and plays bass.

Customer Projects
  • Savant Automation: I Developed firmware for modular control and monitoring modules for AGVs (Automated Guided Vehicles).
  • Chrysler: I helped develop a Rails/Ruby test architecture for testing handheld diagnostic devices and software for automotive ECUs.
  • X-Rite: I developed hardware and firmware for color measurement devices and helped fit effective TDD and CI into the development process.
  • Gentex: I helped the Embedded Group obtain Automotive Spice Level 3 compliance by using our open source tools for firmware development and created analysis and collection utilities using Ruby as the catalyst.
Open Source Contributions
  • Unity: A lightweight, C-based unit test framework well-suited for embedded systems.
  • CMock: A mock object framework for interaction-based testing in C.
  • Ceedling: A build tool that ties the preceding three together.

The Atomic Team

  • Leadership
  • Development
  • Design
  • Operations
  • Interns