Benjamin is a passionate software engineer with a strong technical background, with ambitions to deliver a delightful experience to as many users as possible. He previously interned at Google, Apple and LinkedIn. He built his first PC at 15, and has recently upgraded to iOS/crypto-currency experiments. Benjamin holds a bachelor's degree in computer science from UCLA and is completing a master’s degree in Software Engineering at Harvard University.
Two months ago, Arpit Jasapara and I recorded a podcast for UCLA's UPE organization, a computer science honor society that I was involved in when at UCLA.
Testing software is inevitable, regardless of what you are building: if the software you build is used, then it's being tested. Even if you write no test code, you will definitely still test what you build -- what's the point otherwise? The question is, though, will you automate those tests? Some would say without hesitation that we absolutely should have automated tests, regardless of what we are building or who's building it. I believe there is more nuance to this question, because automating tests takes engineering effort, and it's quite possible that that effort is not worth the reward in certain conditions.
Throughout 2018, Bitcoin’s price has slowly fallen from the highs near $20,000 to roughly $4000 today. Opposite this massive decrease in price, though, is the hash rate on the Bitcoin network: it has mainly gone up in 2018, starting the year averaging less than 15 exahashes per second, now averaging in the 30-40 exahash range, with a peak in November of ~60 exahashes. An exahash? That's a billion gigahashes per second, or a billion billion -- that's 1,000,000,000,000,000,000 -- hashes per second. That's a lot of hashes.