为何程序员完成最后20%的工作需要的时间跟之前的80%一样多? 听过行百里者半九十吧。这句话在程序员的工作中同样适用,到底是为何呢?Matija用一个精巧的比喻揭示了个中道理。
其实这就好比在高峰期从郊外开车回市中心。前 80% 的路程很顺,高速嘛,可能两小时就走完了,但是到了城里,就走不动了,红绿灯,人行道,各种环线和菜鸟司机,可能两个小时还不够用的。
编程也是如此。最开始你要设计框架,给整个项目打基础,然后开始开发,几周或者几月之后,你完成了整个项目 80% 的工作,各种关键模块开始起作用了。
但是好戏才刚刚开始,当你准备好好打磨这款产品时,就会发现许多奇怪的 bug 冒出来了。比如:“喂,你知道这个程序在读取文件时拔掉 USB 线会崩溃么?”,“看起来是程序不想下载文件名里有感叹号的文件...”
人在北京,30 岁了,实在买不起房,对生活感到悲观,怎么办?附某励志回复。 觉得自己也差不多,但是家里拿不出首付来,只能靠我一点一点攒,工作6年攒了10W,但是也就够在北京6环付个小房子首付的。老婆是没有的,工作还可以,现在1年20W左右。房价越来越高,我越来越买不起,有种绝望的感觉……
有朋友说去老家工作,但是我很喜欢我的工作(程序员),老家的程序员的工作几乎没有,有了也是非常低级的工作,现在在老家倒是有一套房子
我声明一下,我今年才20W的,以前的工资不高不高不高阿同学们……
还有就算我现在攒钱,以目前房价增长的速度,怎么攒钱我也买不起阿同学……
家里已经催了好几次让我回去了,主要是在北京没有房子,没有女人。在家里有房子,女人就没问题……
做个犀利的码农:如何持续培养/更新自己的开发技能
当你的开发技能到了一定水准,你会偶尔遇到拦路虎:一些短时间内搞不定或理不清头绪的问题。
这是个好事,真的!如果你从不尝试新东西,那当然会发现已有东西对你来说都毫无挑战,这也意味着你没有真的在“求学”。最好的/有价值的学习经历正 是那些拼命搞定某一问题的时光。你极尽所能尝试各种方法并最终找到了解决方案,这就好像你在黑暗中探索,努力拼接出一条成功之路,这种能力在日后也会陪伴 着你。
GitHub的5人骨干小组:早期初创公司该如何招到正确的人
从本文可以看到,最初的几名核心员工大多在Github兼职。
前 5 年对初创公司来说至关重要,根据美国中小企业发展署的数据,大约 1/4 的初创公司在第一年内关门大吉,只有不到一半的企业能撑到第 5 年。对于成立于 2008 年的 GitHub 来说,今年无异于一个里程碑。
编程名言名句 下面是一些迄今为止最好的关于编程的名言名句。阅读它们时相信你会有几分愉悦,你可以在一些会谈场合引用它们,一定能为你的团队吸引到不少的好程序员。
UNIX很简单。但需要有一定天赋的人才能理解这种简单。
–Dennis Ritchie
软件在能够复用前必须先能用。
–Ralph Johnson
优秀的判断力来自经验,但经验来自于错误的判断。
–Fred Brooks
‘理论’是你知道是这样,但它却不好用。‘实践’是它很好用,但你不知道是为什么。程序员将理论和实践结合到一起:既不好用,也不知道是为什么。
–佚名
当你想在你的代码中找到一个错误时,这很难;当你认为你的代码是不会有错误时,这就更难了。
-Steve McConnell
程序员遇到bug时常见的30种反应 开发应用程序是一项压力很大的工作,人无完人,工作中遇到bug是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定。如何进行修复bug的过程,是值得我们好好推敲的。
我想分享一些有关程序员在努力修复bug时常说的话和冒出的想法。当氛围变得紧张的时候,这些话就会显得轻松幽默。最终,bug也会修复成功,你将会继续下一个任务。
我相信许多web开发人员和软件工程师在编程中都会遇到困难,而事后回想起来,还会觉得很好笑。
1、我不知道该删掉还是重写
回归曾经写的源代码,总有一种想要重新返工的冲动,逻辑性差,冗余代码多,让人难以理解。但是,如果功能没出现问题,千万不要去修改。这是我经常要面对的困扰,相信也困扰了其他不少的软件开发者。
在创业型软件公司的收获 我在两家创业公司工作过。A公司,由3人发展到20人;B公司,由20人发展到60人。这两家公司都不算成功,因此,要讲收获,更多的是经验与教训。就如同教材一样,反面教材更加有教育意义。我针对创业公司面临的重要问题,谈谈我的想法。
灵活性
相对于大公司,小公司的灵活性是核心竞争优势。小公司的灵活性,是指小公司船小好调头,能够快速地响应用户。我在B公司时,公司刚好处于创业扩张期(20→60人)。公司也就是在这个时候失去它的核心竞争优势的。
初到B公司,公司的情况是:已经做出了产品,有一些铁杆用户,有投资者表示愿意入股,希望在两三年能够上市。上市,则要求公司在人数上,管理上发生一些改变。我们公司实施了如下举措:
细数黑客攻击的七大战术
不计其数的黑客们游荡在因特网中来欺骗那些容易上当的用户。它们多年使用着重复的攻击手段,毫无创新地利用着我们懒惰、误判和一些犯二的行为。
不过每年,恶意软件研究人员总会遇到一些引人侧目的攻击手段。这些攻击手段在不断拓展恶意攻击的范围。新的攻击手段都是不按套路出牌的,尽管这些手段在被研究看透之后其实很简单。
Mozilla实验室发布的一款实时协作工具库TogetherJS TogetherJS简介
TogetherJS是一种服务,可以在一个现有的网站中添加实时协作功能。可以使两个或两个以上的游客在一个网站或网络应用上,看到对方的鼠标/光标位置,点击,跟踪对方的浏览; 可以一起编辑表单,一起观看影片,并通过音频和WebRTC聊天;
- TogetherJS包括的一些功能:
- 见其他人的鼠标和点击
- 滚动位置
- 观看一个人访问的页面
- 文字聊天
- 使用WebRTC音频聊天
- 表单域同步(文本字段,复选框等)
- 播放/暂停/视频同步轨道
- 跨多个页面的网站上继续会话