Noah Roberts
Dependable, honest, confident and experienced developer. Dedicated to quality and correctness. A self-starter with great skill, enthusiasm, and care. Detail oriented and self-motivated, with a strong sense of work ethic. Passionate, eager to learn, and happy to share.
Skills & Experience#
- Fluent in Python and C++ programming – experienced with mixing them (pybind11).
- Fluent in Linux development, scripting, and automation
- Fluent in git and experienced with most other revision systems.
- Fluent in docker and podman for CI/CD purposes and development shells.
- Also experienced with kvm, qemu, libvirtd, virtbox and others.
- Experience with regulated software development, specifically related to medical devices.
Work History#
2019-current: Strange Crew (LLC/Ltd)#
Run my own business selling my services as a software developer. Would like for it to get into other things but needs to build a framework for doing so. My work here has primarily been with neuroscientists working on brain computer interfaces. Highlights include:
- Aided in the release of class A and C medical grade software in the EU market.
- Provided leadership and helped establish coding guidelines and practices for establishing clients.
- Provided leadership and mentoring in the use of modern C++ features.
- Performed experiments and proof of concepts that established sollutions for performance related design elements.
- Helped clients establish CI/CD and automated testing. Trained/mentored on use of pytest, catch, and docker.
- Provided support for scientists during live animal testing.
- Worked remotely with spread out teams in different time zones.
2015-2019: Aristocrat Technologies, Inc.#
Lived and worked in Las Vegas, NV for a time converting games that were written for specialized hardware platforms into selections within mobile applications. These games were based on an in-house API that did a lot of the cross-platform work but there was still a lot of translation to be done and a lot of performance and protocol issues to work out. Highlights include:
- Planning and execution of short-term projects in small, temporary teams.
- Work with artists and the code to combat memory and processing limitations in conversion from dedicated hardware to a component within a mobile application.
2014-2015: Sabbatical#
Mostly took a break and lived on savings for a while. Highlights include:
- Helped a web host with a DDos attack and updated their Linux systems.
- Played around with android studio and C++14
2012-2014: Interactive Intelligence, Inc.#
This was my first remote position where I worked on the software we used to do our remote work. This company makes enterprise call center systems that we used to do all of our meetings. I worked with teams in several time zones but most of us were located in the US. I worked on the team responsible for session management and alerts on their main product offering before they switched to cloud. Highlights include:
- All remote work that was largely self-managed.
- Mentored peers and juniors on topics such as C++11 language use and unit testing.
- Found root cause and solved numerous race conditions and deadlocks in a highly threaded, massively distributed system using only log files and analysis.
- Refactored major pain areas to greatly reduce algorithmic complexity, synchronization issues, memory use, etc… using good design and testing techniques.
- Brought huge amounts of legacy code under harness.
2011-2012: Transaction Network Services, Inc.#
Went to work with one of my teachers in college who worked at a telecom provider. This had been a small business operated trunk until it was bought out and absorbed. When I joined it was owned by TNS, who was interested in using its customer information to provide anti-fraud services to groups like Western Union. Highlights include:
- Aided in the development of an anti-fraud API server written in C.
- Provided integration layer for geo-location services.
- Fixed and updated internal Java applications for handling telephony hardware.
- Set up Jenkins and implemented automated CI/CD.
2005-2011: Engineered Software, Inc.#
My first official position after college. Started out working on their flagship product, PIPE-FLO adding features like the isomorphic display. Argued for a large rewrite/redesign and got it–it was suffering a lot of legacy weight and testing was largely manual and macro. Resigned with automated testing in mind and modified the interface from direct Win32 to Qt, adding better internationalization support and getting a nicer interface. Highlights include:
- Proposed and implemented several development processes including the installation and use of Jenkins CI/CD.
- Learned as much as I could about proper software development and mentored the rest of the team.
- Learned as much as I could about C++, including the developing C++0x and various levels of compiler support.
- Mentored peer developers in advanced techniques like template metaprogramming.
- Developed acceptable use guidelines for new language features.
Previous to 2005: various#
Previous to 2005 I went through college and took on volunteer and work study positions. Previous to that time I worked various labor positions like painter helper and tree bailer. Highlights include:
- Helping open and run a martial arts studio where I did most vendor relations and accounting.
- Served as Linux administrator at a local ISP, a mask website, and the colleges I went to.
- Telephone support for a local ISP
- Lots of tutoring.
Education#
I dropped out of high school and messed about for a while. Then I re-aquanted myself with an old interest and started getting good with Linux and coding in a multitude of languages I learned a little bit about and moved on. I decided to get a degree so I could get into the workforce and learn more. I started with an ATA in network administration but ended up deciding a BS degree was necessary. My time at college was largely paid for by grants from the US government but also some sizable loans. I did the best I could do and graduated with highest honors. I came very close to 4.0 but not quite (3.99 at the 2 year, 3.98 at the 4). Highlights include:
- Struggled through the first half of the first volume of TAoCP in a particularly massochistic self-study class.
- Was on the President’s and Dean’s lists multiple times.
- Was highly sought after as a student tutor.
- Was invited to represent the college and job fairs to present my senior project.
- Invited to present at Scholar’s Day where one senior from each department presents.
- Began to develop a specific focus in C++
2004: Bachelor of Science in Computer Science, St. Martin’s College, Lacey, WA#
2002: Associate of Arts, South Puget Sound Community College, Olympia, WA#
Other#
One of my main hobbies is computing. I just am generally obsessed with computers. Therefor my computing skills go beyond my experience. I have also worked with:
- generating custom linux systems with buildroot, yocto, nix, and guix. Even did set of containers using linux from scratch scripts once.
- Writing a driver for the SPI display in the pinetime for the RIOT embedded os so I could make a clock face.
- Arduino coding in C++20 using a custom built compiler and raw libavr.
- 3d printing where I’ve coded my own models to make simple things.
I also like:
- Making pizza dough and bread from scratch
- Martial arts, yoga, and other forms of meditative exercize.
- Mountain biking
- Camping
- Some video games still
- Board games
- Philosophy