Keith C.
Senior Software Engineer with hardware experience
Do you care about the reliability, security, performance, testability, maintainability, and cost of your software/hardware solution? I know how to deliver what you care about with over 15 years of broad experience in software and compute hardware design, development, testing, debugging, and deployment. I get the job done right the first time so you can focus on your larger mission: 1. Reliability: I can help you triage the possible failure scenarios for your system. I can recommend migitations to reduce or eliminate the probability and severity of said failure scenarios. I use simple architectures and programming paradigms that avoid entire classes of bugs. I consider the failure scenarios for every line of code I write. 2. Security: This concern is like reliability, but with a random adversary leveled up to an intelligent, malicious one. I can help you triage potential adversaries and their motivations. I can define a watertight security architecture for your solution with minimal complexity. I avoid entire classes of security vulnerabilities with smart architectural decisions and secure-by-construction code. 3. Performance: Do you care about the latency of your system? Do you care about throughput? Maybe you have concerns about both? I focus my optimization effort on what counts. My hardware background gives me deep knowledge of performance, including multi-core/vector CPU hardware and GPU accelerators. I can optimize at all stack levels from algorithms to machine code to hardware pipelines. 4. Testability: I implement automated, generative tests that perform thousands of operations for the highest confidence in system deployment. To accelerate testing and debugging, I implement _debuggable_ software with a custom visualizer of key internal outputs. 5. Maintainability: I design modular architectures with well-defined interfaces to enable simple component upgrades. I deliver as-simple-as-possible, readable code and high-level documentation. I write self-explanatory code to avoid outdated code comments. 6. Cost: This concern includes development cost, hardware cost, and ongoing operating costs. I minimize development cost by avoiding unnecessary complexity. I build custom software around the lowest-cost compute hardware (CPU or GPU) needed for the job, resulting in hardware costs that are a fraction of the "cookie-cutter" solutions. I fix problems in the design and early testing phases where they are cheap to fix, before they become expensive problems impacting customers in deployment. Specialties: high-performance/embedded, neural networks, computer vision, computer networks, security, reliability Software Languages: SQL, Python, Javascript, Rust, C++, C, CUDA, OpenCL Machine Code: ARM Hardware Languages: SystemC, Verilog A typical consultation involves three steps: 1. Define the Problem: I will work with you to understand the problem space as well as solutions you have tried or are considering. I will respect your time by only asking key questions. 2. Design, Implement, and Test: This typically involves multiple iterations. I will provide updates/metrics/demos at each iteration to ensure that I am converging on a deployable solution. Real test cases from the live system will enable me to catch unforseen problems before deployment. 3. Deploy: I will work with your team to deploy the solution. I will address any deployment issues (typically minor) with additional upgrades.
Earnings and projects
Last 6 months ÷ 6
Last 6 months: $683
Billed in all: $370,106$370k
Earnings, last 30 days
Skill rankings: Top 19% in Deep Neural Network
Ranked by MRR among everyone on Upwork with the skill.
- #7OpenCL25 freelancers · 🇺🇸 #2Top 28%🇺🇸#2 of 5
- #34Assembly Language129 freelancers · 🇺🇸 #7Top 26%🇺🇸#7 of 24
- #36CUDA161 freelancers · 🇺🇸 #4Top 22%🇺🇸#4 of 14
- #56Deep Neural Network301 freelancers · 🇺🇸 #5Top 19%🇺🇸#5 of 25
- #374TensorFlow1,661 freelancers · 🇺🇸 #40Top 23%🇺🇸#40 of 168
- #388Performance Optimization1,100 freelancers · 🇺🇸 #39Top 35%🇺🇸#39 of 104
- #428C1,974 freelancers · 🇺🇸 #65Top 22%🇺🇸#65 of 309
- #433Software Architecture & Design1,465 freelancers · 🇺🇸 #65Top 30%🇺🇸#65 of 207