一位自身软件工程师的总结,很全面,也说得很好