资深程序员
作为一名Java老兵,入门Golang的一些体验和思考记录,本篇只是一些零碎的记录,不打算写成一个Golang入门指南,如果需要入门指南请参考其他文档或者书籍。
读过 Working Backwards: Insights, Stories, and Secrets from Inside Amazon 这本书之后,结合自己在Amazon的工作经历,觉得Amazon的工作方式还是有一些值得借鉴的地方,在内网写过几点读后感,站在一个工程师的视角讲讲Amazon的公司文化。当然都是一孔之见,建议有兴趣的同学还是去读原文。
随着阿里技术的发展,我们的技术系统越来越成为社会的基础设施,对于这些系统的可靠性要求也就越来越高。但是实际上很多的基础的产品和系统确仍然会出现一些稳定性问题,那么如何才能构建可靠的系统呢?是不是制定非常严格而细致的规则就可以做出可靠的系统呢? # 航空业的教训 在回答这个问题之前,我们先来看看对于系统可靠性要求非常高的航空业是怎么做的?美国的FAA是在航空安全领域事实上的权威,为了保证航空
对于什么是工程师文化,很多人都能说出很多关键词,比如:匠心,创新,专业,担当,开放…… 然而如果要用一句话来描述什么是工程师文化,如何判断一家公司是不是一家工程师文化的公司,却不是一个很容易的问题。 个人认为要回答这个问题,首先需要从了解工程师是一群什么样的人着手。 ## 工程师是什么样的一种人? 工程师其实就是解决问题的人,他们发现问题,找出规律,使用适当的工具和手段来解决问题。
来阿里已经很长一段时间了,从刚开始来我就想写点关于软件工程,服务化和开发效率的个人理解,却一直没有想好怎么写,一直在心里筹划思考该如何准确地表达我所想的内容,也能够给别人带来一些有价值的信息,但是拖了很久了,想想还是写出来罢,没有必要追求那么完美,欢迎拍砖。(顺便说下,有观点认为拖延症患者都有或多或少的完美主义倾向,处女座的同学验证下哈。) ## 1 什么是软件工程? 服务化其实是一个软
现在全栈化已经成为了很多团队的默认标签,但是对于全栈到底意味着什么,为什么要全栈化我们的同学还是有些困惑的,我尝试着从自己的理解阐述一下,欢迎拍砖。 ## 从生产线说起 话说当年亨利福特发明了生产线…… 哦,不是亨利福特,其实细究历史,生产线也不是凭空发明的,其雏形来自于手工生产中的分工合作,而分工合作最早起源于中国,中国自先秦时期就在武器制造等领域实践了分工合作的方法来提高生产效率。
# 软件架构的意义 软件架构的意义是什么,有很多不同的理解和争议,这里不想就软件架构的意义给出完整的定义,而是想聊聊其中的一点:软件架构是沟通 (Architecture is communication),关于软件架构的更多意义,建议参考这篇[别人的旧文](https://msdn.microsoft.com/en-us/library/cc304371.aspx)。 为什么软件架构意味