Ken Brooks, Developer in Redding, CA, United States
Ken is available for hire
Hire Ken

Ken Brooks

Verified Expert  in Engineering

Software Developer

Redding, CA, United States
Toptal Member Since
November 27, 2016

After working six years in industry, Ken branched out to work as a freelancer and has done that ever since. His strength is not merely coding, but the whole process from thorough problem analysis to completed coding. He's good at strong, clean system design and especially clean user interfaces.



Preferred Environment

LabVIEW, Visual Studio, Xcode, Wingware IDE, Windows, MacOS

The most amazing... I've made is a system that specifies, controls, collects, & analyzes data using Cyclic Voltammetry to monitor brain chemistry in lab animals in real-time.

Work Experience


1993 - PRESENT
Freelance Work
  • Created custom databases.
  • Installed upgrade components.
  • Wrote a system and provided the support for the keyboard input of Indian languages (Sanskrit, Hindi, Telugu, and more).
  • Recommended systems for purchase and upgrade.
  • Installed and maintained networks.
Technologies: Database Applications, Training & Training Content Development, Training, Installation

Contract Software Developer

2008 - 2012
University of North Carolina
  • Performed a radical rewrite/update of an experimental software system handling Cyclic Voltammetry. The system supports experiments on anesthetized and active lab animals to do real-time monitoring of brain chemistry, accurate to 1/10 second.
  • Transformed a messy piece of code written largely by chemistry students, into a clean professional piece of work.
  • Brought technical understanding to bear, to allow my users to load and analyze very large data files from long experiments, in one piece rather than chopped into annoying 30 second fragments, as it was previously being done.
  • Collaborated with several graduate students to incorporate their research technologies into the new software.
  • Created a very flexible interface to National Instruments hardware allowing the substitution of numerous other hardware card models besides the one we designed for.
  • Created a live 2D color plot to allow experimenters to watch their data unfold in real time as the experiment progresses. Older versions required post-processing to see this.
  • Wrote an academic paper based on this work.
Technologies: MathScript, DAQ, LabVIEW

Contract Programmer

2005 - 2007
  • Built a software system supporting Tracera's product under development, a "chemistry robot" for handling highly radioactive compounds.
  • Did a radical rewrite and update from Visual Basic 6 to VB.Net.
  • Performed heavy handling of serial communications to numerous serial devices that were part of that "robot".
  • Interfaced with Excel spreadsheets which contained the "recipes" that specify the chemistry operations to be done.
Technologies: Visual Basic

Part-Time Teacher

1999 - 2000
Durham Academy
  • Taught advance placement computer science using C++.
  • Went beyond the scope of the required curriculum in order to include computer graphics at every reasonable opportunity because I observed that the students were much more engaged when I used graphics.
  • Created Drawbox, a cross-platform simple graphics library that supported both Mac and Windows; in support of that course. Emphasis was on creating an easy learning curve and ease of use.
Technologies: Graphics, Cross-platform, C++

Support Programmer

1984 - 1991
Digital Equipment Corporation
  • Provided support programming for a leading-edge research lab building a new world from the ground up.
  • Built part of the text and code editor.
  • Wrote ongoing test code for a graphics card under development.
  • Designed and built an experimental UI toolkit.
  • Designed and built an advanced, experimental document editor.
  • Wrote academic publications stemming from work at Digital.
Technologies: Modula-3


SortWatcher is a program I wrote years ago while teaching AP Computer Science. It supported a class project in which the students wrote sorting algorithms. It provides a framework in which the steps of the sorting algorithm are visible in detail.

The core code consists of a SortWatcher.cpp, VisVector.cpp, and VisVector.h. VisVector uses a strategy of overloading operators so that the student can write a sorting algorithm that plugs into the visual framework while spending a minimum of effort dealing with the framework itself. Most of the algorithms in the algorithms folder were provided by students.

HDCV: An Open Source Software Suite for Fast-Scan Cyclic Voltammetry Data Collection and Analysis

Wrote and published an academic paper based on my work at the University of North Carolina.

Academic Publication 1 Stemming From Work at Digital Equipment Corporation
An academic publication based on work I did at Digital.

Academic Publication 2 Stemming From Work at Digital Equipment Corporation
This is another academic publication based on my work at Digital.


Python, C, C++, Go, Visual Basic, PHP, SQL, Lua, Visual Basic 6 (VB6)


LabVIEW, Wingware IDE, Visual Studio, Xcode


OpenSCAD, 3D Printing, 3D Design, GUI Design, User Interface (UI), Modula-3, Installation, Training, Database Applications, Graphics, DAQ, MathScript, Training & Training Content Development, Unix Shell Scripting, Algorithms


Object-oriented Programming (OOP), UI Design, Cross-platform


MacOS, Unix, Windows


Corona SDK


Win32 API, OpenGL



2004 - 2004

Completed a Refresher Course in Computer Graphics

University of North Carolina at Chapel Hil - Chapel Hill, NC, USA

1981 - 1988

PhD in Computer Science

Stanford University - Stanford, CA, USA

1976 - 1980

BA in Physics

University of Virginia - Charlottesville, VA, USA