最新文章
优秀技术人的管理陷阱 程序人生
写在前面 几乎每一位做软件开发的技术人,都听过类似这样的话,“30 岁以后,身体比不过 20 几岁的年轻人,需要转型做管理了”。这句话理解起来是没有问题的。的确年龄越大身体就越比不过自己 20 多岁的时候,拼体力不够,但拼经验也完全够资格去带领年轻的团队上战场搏杀了,不过这里面的“管理”一词...
作为一个程序员,数学对你到底有多重要 编程基础
原文发布于 2011 年 每个计算机系毕业的人,大都学过不少数学课,而且不少学校的计算机系的数学课,通常比一般的其他工科专业的数学要难一些,比如不上高等数学,而是学数学分析,不上线性代数而去上高等代数。但是,大部分毕业了后去做程序员的人,即使是所谓的名校计算机系毕业的,大都工作中也基本完全用...
领域驱动设计在互联网业务开发中的实践 软件设计
前言 至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven Design,简称DDD)。在互联网开发“小步快跑,迭代试错”的大环境下,DDD似乎是一种比较“古老而缓慢”的思想。然而,由于互联...
步入云计算 云计算
原文发表于 2010 年 I、云计算发展历程大事记 众所周知,云计算被视为科技界的下一次革命,它将带来工作方式和商业模式的根本性改变。追根溯源,云计算与并行计算、分布式计算和网格计算不无关系,更是虚拟化、效用计算、SaaS、SOA 等技术混合演进的结果。那么,几十年来,云计算是怎样一步步...
以操作系统的角度述说线程与进程 编程基础
原文发布于2015年10月25日 什么是线程 什么是线程?线程与进程有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲得好,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把它讲通俗一点,讲得明白一点,因为这是个一直困扰我很久的,...
软件测试转型之路 软件测试
原文发布于2012年5月8日 选择测试之路——路上的迷茫 2010年12月31日,在网易从事了多年开发之后,依依不舍地离开,面临的是一个完全从零开始的全新职位:SQA,也就是tester。 当时对为什么被选择做软件质量保证,而不是继续在研发上进取,持有保留态度:凭什么要我转,不是别人...
门内门外看招聘 求职面试
原文发布于2013年 年初加州求职不利,撰文《加州求职记》一篇,蒙列位看官抬爱,短短两天时间点击量破万。之后,收到《程序员》杂志编辑的约稿邮件,询问能否结合既往的招聘经历写一写国内外招聘的异同点。毕业至今,除去年初尝试的Google、Amazon、Facebook三大公司,身为应聘者参加的正...
大道至简,职场上做人做事做管理 程序人生
原文发布于 2011-8-20 篇外话:很久没有写技术文章了,期间有很多朋友给我发了消息或者邮件,很感谢这么久还有人关注着我。 但是很抱歉 ,我极少回邮件。这两年因为工作、生活上的事务尚自顾不暇,实在抽不出空来处理和解决朋友们的技术问题,况且很多问题通过百度就可以解决。 虽然这两年...
关于编程,你的练习是不是有效的? 程序人生
最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即我的Idea列表上的一个个酷炫的项目,先满足自己再说。 理论驱动的项目。这一类的项目会比较少,因为我...
改善程序员生活质量的 3+10 习惯 程序人生
一封离职邮件 2017年的一天,代码伴随着手指极具节奏感地输出在IDE上,突然某Chrome插件弹出一封邮件提示:“今天是我在ThoughtWorks的最后一天”。遇到这种离职邮件,我都会点进去,一来看看是否是自己曾经共事的小伙伴,二来了解一下小伙伴离职的原因。离职原因无出其右:跳出去接受更...
NASA的10条代码编写原则 编程基础
英文原文:NASA’s 10 Coding Rules for Writing Safety Critical Program 译/ 大愚若智 美国宇航局(National Aeronautics and Space Administration,缩写为 NASA)是美国联邦政府的一个独...
为什么你参加了那么多培训,却依然表现平平? 程序人生
有个刚毕业的小伙伴想提升英文能力,问我有没有相关的培训,于是有了下面这段对话: “你觉得提升英语最重要的是什么? ” “多练习。” “你的客户、用户大都是老外,你团队里面所有人都能讲英文,你有很多机会练呢。” “我现在英文不够好,还不能和他们沟通。” “那如何才能让你的英文够好呢?” “多练习...
写给初学前端工程师的一封信 程序人生
大家好: 应波波的邀请写一写我对这个话题的想法。从去年开始不少朋友让我帮忙介绍前端工程师,绝大部分忙都没帮上,原因是真找不到人。我当时是这么跟他们分析的:过去的客户端以browser为主,所以HTML/CSS/Javascript是唯一选择,现在可是mobile first,于是大量前端开发...
实用VPC虚拟私有云设计原则 云计算
英文原文:Practical VPC Design 在云计算的基础架构领域,没有比从一开始就正确地布局VPC(虚拟私有云)IP地址更重要的事情了。VPC的设计对于系统的伸缩性,容错性以及安全性都有深刻的影响。它也直接影响到基础架构的灵活性:如果你走进了一个死胡同,将来就可能要花费大量的时间做...
如何阅读计算机科学类的书 其他分类
作为一个研发工程师,无论你是否喜爱阅读,相信你都一定读过不少关于计算机技术的书籍。这其中不乏《21天学会JAVA》这样的语言入门书籍,也有《算法导论》这样的专题书籍,也有《人月神话》这样关于软件管理学的实用性的书籍。也许你已经读过他们中的大部分,也许你现在还在不断地购入新的书籍来补充你的知识库。...
Google 及其云智慧 云计算
【编者按】“云”的想法,是创造一个平台,让所有大型的信息创造、学习、管理和使用机构不得不加入。这个平台由此成为一台自我生长的超级计算机。而这个超级计算机的品牌就是谷歌。 百年前,每个企业自己用发电机发电,后来则从大型电力网络买电。可以把“云”比作这个大型电力网络,它的品牌就是谷歌。所有用户都要向谷...
做到这一点,你也可以成为优秀的程序员 程序人生
作为一个程序员,我经常会问自己一个问题: 优秀的程序员都具备哪些特质? 我总结过很多特质,例如: 有解决问题的能力 有独立思考的能力 有好奇心、有探索精神 逻辑清晰,能够用通俗的语言把技术问题讲清楚 有良好的英文阅读能力 数学好,算法好 经过一段时间的观察,我发现这上面的所有特...
写给立志做码农的大学生 程序人生
确定方向 选择比努力更重要。 关于方向的选择其实越早确定越好,生活中我们要面临无数个选择,前几天看的一个黑客相关的美剧中有句台词说的不错: life is binary. 生活就是二进制,一个个0101组成的。每一次抉择,选了就是1,不选就是0。另外也有一句话说:“人一生要面...
架构腐化之谜 软件设计
前言 新技术层出不穷。过去十年时间里,我们经历了许多激动人心的新技术,包括那些新的框架、语言、平台、编程模型等等。这些新技术极大地改善了开发人员的工作环境,缩短了产品和项目的面世时间。然而作为在软件行业第一线工作多年的从业者,我们却不得不面对一个现实,那就是当初采用新技术的乐趣随着项目周期的...
学会思考,而不只是编程 程序人生
英文原文:Don't learn to code. Learn to think 中国人常说“授之以鱼不如授之以渔”。如果说教授编程是授之以鱼,那么教授计算机科学就是授之以渔。为什么说学习计算机科学比学会编程要重要得多?来听听Yevgeniy Brikman的解释。 现如今,似乎每个人...