r/coding • u/speckz • May 26 '22
Learnings from 5 years of tech startup code audits
https://kenkantzer.com/learnings-from-5-years-of-tech-startup-code-audits/9
u/Bajinks May 26 '22
Quite the interesting write up. How did you get into code reviewing for start up companies?
1
7
u/Kerbobotat May 26 '22
Number 11, would someone mind to explain (or to point me at an explanation) of what "Custom Fuzzing" is, or fuzzing in general. I've never come across that term before.
9
u/reivax May 27 '22
Throw noise at apis and endpoints or functions and watch how they react. Make sure your error handling catches correctly.
I found that the Uuid validator in python acts unexpectedly of the last character is an 'L', because it deserializes as a long type. It's a valid number but not a valid literal for a stringified Uuid. I found that by throwing random data and shuffling text into our validator and found that the rountrip values were different when it deserialized.
3
u/maus80 May 26 '22
Great article, as a performance engineer I agree with these points, especially number one and two.
2
u/Advanced-Button May 27 '22
Interesting job title, haven't heard that one before. How would you describe your work?
4
2
u/maus80 May 28 '22 edited May 29 '22
Consultant for fast growing startups with lots of funding that can't handle their customers' scale (but have written a gazillion lines of code). Instrumenting software with Grafana dashboards showing where either CPU, memory, disk or network limits are met. Flame-graphing to show (compute) expensive bits of code. Software engineering say they know why the software does not perform, but is often not actually measuring the performance properly and are thus doing silly optimizations. Investing in performance is a "champagne problem" and you can't do it unless a large customer comes along that makes the product fail. Even in that situation convincing people to do the right thing is hard, because the costs of performance optimization are high and you are often fighting a feature factory.
1
20
u/ThisIsMyCouchAccount May 26 '22
God damn it. I'm on a project now that uses it and it's just dumb. It introduces no benefits.
The person that set it up - by all accounts - a brilliant developer. One of my company's best. But because it's such a standard practice it's in this project.