While I have branched out into other areas at times, my core business focus is embedded systems and highly technical scientific / engineering software for technology firms.

Development services:

Below are examples of some of the many types of project work I have performed for previous customers:

  • Product planning and system requirements
  • System architecture and high level design
  • Software development (application software, embedded systems, web development, ...)
  • System integration
  • Performance optimization - Sometimes your code works just fine, but you need it to run much faster. In this case, we can provide an in depth understanding of compilers, assembly language and lots of experience increasing software performance. For code already written in C or assembly, gains have typically between two and ten times what the original code provided, though in some cases it has been much greater. Software written in other languages is likely to see greater gains.
  • Integrated system debugging (hardware, software, biology, ...)
  • Sofware cleanup and refactoring - While it doesn't have to happen, software often deteriorates over time as developers make quick fixes for problems rather than fixing the underlying design flaws which caused the error in the first place. In time these "quick fixes" can constitute a large percentage of your code base, slowing new development and increasing the probability of creating new bugs because the real problems are never addressed. After a proper cleanup of the code, many bugs will likely have been fixed and new development can proceed much more quickly.
  • Streamlining of development processes - Often, the problem is not that you don't have enough employees working on the project, but rather that your development methodology is slowing them down. They may not even realize that there is a much better way to get the job done.
  • Temporary employee replacement - Sometimes things go wrong and a critical employee is unavailable temporarily or permanently. In these situations, you need someone who can come up to speed immediately while you search for a solution or new employee to fill the position.
  • Custom bioinformatics analysis - When you need someone with a greater depth of knowledge in either computer science or molecular biology, I may be the best choice for this work due to more extensive knowledge and experience in both of these fields. If you are looking for standard bioinformatics analysis, a bioinformatician is likely to be the better choice as they will have more experience with many of the standard tools and techniques. Most of my bioinformatics experience has been with custom RNA-Seq data analysis.

While my range of skills is extensive, I can't do everything:

  • I can understand the chemistry/biochemistry in your device, however, the chemical processes should be designed by more experienced chemists who would be faster and more cost effective.
  • My electrical engineering experience allows me to help with your electronics development (system design, component selection, debug), however, board level design is best handled by others as I no longer keep up with the tools and technologies for PC board layout and manufacturing.
  • While I sometimes engage in mechanical tinkering for fun (small engine repair, bicycle mechanics, kinetic sculpture racing, construction of a 3D printer, ...), I am not qualified to design the mechanical or fluid flow aspects of your system.

For a summary of major skills and experience, see my resume.

World wide projects

In the past I have occasionally performed work outside of the USA. In late 2016, I established a second base of operations in the Netherlands and am offering services there in addition to my usual operations in the USA. Work in other countries may also be possible, depending on your on-site/off-site requirements and/or your government's legal requirements for foreign workers.

Additional information on topics related to our previous work: