https://jimjh.medium.com/practical-finance-for-software-engineering-part-2-understanding-growth-7f3968447a09