2017年度回忆与总结 – 心态

写在前面在写之前,我注意到标题中的词语,描写的到底是2017年还是2018年?想想,应该是总结2017的过往之后,对2018年的期望。一年一次的总结是否应该详细些呢?不!因为我觉得,大篇幅的总结并没有太大的价值。首先,并没有谁会在乎我在2017年里的细节。其次,有价值的总结并非在于字数之多。在这里也明确下本篇及以后“年度总结”内容范围,仅包含个人在工作、专业能力、职业及其相关方面的内容。工作2017年2月14号入职滴滴,这一年在工作上做得最多的就是努力地熟悉业务。的确,滴滴的业务发展快速,产品不断地迭代与重构。通过逐渐地参与产品的研发、维护工作,意思到要了解和学习的东西还有很多。也正是因为这一过程,熟知了滴滴相关的业务,培养了研发与维护的能力,提升了自信心。考研在2016年的总结中,并没有列出这一计划。但却是,我觉得比较重要的一件事情。目前为止,能否考入仍未有结果。所以,单就此过程来谈谈感...阅读全文

Effective Engineer

What's an Effective EngineerThey are the people who get things done. Effective Engineers produce results.Adopt the Right MindsetFocus on High Leverage ActivitieLeverage = Impact Produced / Time InvesteUse Leverage as Your Yardstick for Effectivenes80% of the impact comes from 20% of the work.Focus on high leverage and not just easy wins.阅读全文

3年PHPer的面试总结

之前看到一篇文章《八年phper的高级工程师面试之路》,然后最近我也在面试,面了有百度、360、滴滴、小米、微博、58赶集、搜狗、瓜子二手车等公司,最后也进了心仪的公司,面试过程中学到了很多东西,所以也想和大家分享一下,虽然我的工作经验才3年左右。 注:下面题目的答案只是我思考和查询资料的结果,并不代表完全准确,有错误的地方大家可以指正,有更好的方案可以提出,大家一起讨论。算法1.反转函数的实现2.两个有序int集合是否有相同元素的最优算法3.将一个数组中的元素随机(打乱4.给一个有数字和字母的字符串,让连着的数字和字母对应5.求n以内的质数(质数的定义:在大于1的自然数中,除了1和它本身意外,无法被其他自然数整除的数思路: 1.(质数筛选定理)n不能够被不大于根号n的任何质数整除,则n是一个质数 2.除了2的偶数都不是质数 代码如下6.约瑟夫环问题相关题目:一群猴子排成一圈,按1,...阅读全文

公司没大牛带,需要离职么?

最近,我小密圈的一位圈友问了我这么一个问题张哥,我在想要不要辞职了,我来公司 8 个月了,也确实学到了好多东西,但我最近感觉天天写的代码都一模一样,持续两个月了,这让我有些不安,公司最厉害的程序员水平都跟我差不多,我想辞职了去找一家产品公司,可又怕我水平不高别人看不上,我到底是辞不辞?这个问题很有代表性,因为我不止遇到过一次,有很多人在后台问过我类似问题,今天姑且把我的回复统一发在公众号上,希望对同样有类似困惑的同学一点帮助与借鉴。首先,毫无疑问,公司里如果有大牛,能够得到大牛的指导当然是有帮助的,因为一些经验与教训只有亲自经历过的才能了解学习到,有大牛的指导可以避免少走些弯路。但是,我要告诉你们的是,大牛们哪有那么多时间与精力去带你啊,每个人在公司都是很忙的,没有任何人有责任、有义务去手把手带你。可能你会说,我只需要大牛偶尔指导下我就好了,避免少走些弯路,也占用不了大牛多少时间。但是哪...阅读全文

当我们追求不可替代时

昨天,angela zhu在她的公众号“嘀嗒嘀嗒”,发表了一篇职场文章,怎样让自己成为不可替代的程序员。突然,我发现我在职场上难有前进的弱点和问题被暴露无遗。因为一直以来,我追寻的目标,都是可替代。其实我没有在任何公司从事过哪怕一天的职业运维工作,但很有意思,在我职场的最后几年,运维工程师很多工作方式和策略都是我来手把手教的。并不是因为我懂得多少技术,而是我非常清楚运维的至高目标,系统架构应竭力避免单点隐患,什么是单点隐患,就是这个节点崩溃了,系统整个就崩溃了。如何避免?就是任何一个节点,一个设备,一个硬件,或一个服务,崩溃了,系统都有自动检测,利用冗余机制快速恢复,哪怕是降级恢复的策略,保证系统的可用性,不会因为这个故障而全盘崩溃。当然,实话说,这个只是目标,在实践中并不是能做到完全的可靠,但至少,我们所有运维策略,架构设计,以及系统的扩展性分析,都是以这个目标为导向的,那么,为什么罗嗦...阅读全文

我是如何成为一名更优秀的程序员的

译者注:本文作者 James Long,前 Mozilla 工程师,NodeJS, ReactJS 社区活跃开发者。NodeJS 著名模板引擎 Nunjucks 作者,JavaScript 格式化工具 Prettier 作者。在 Mozilla 工作 6 年后离开,年仅 32 岁自己创业开公司。其人生经历值得大部分程序员学习。在React Conf上有几位朋友咨询我如何成为一名更优秀的程序员。由于某种原因,人们认为我是一个值得倾听的高级程序员。所以我想有必要把我这些年编程路上的『心路历程』写下来。关于我的一些详细信息:我现年32岁,有10年以上扎实的工作经验。直到最近几年我才对自己所做的工作充满信心。即使是现在,我也在不断质疑自己。问题在于,这种质疑并不会消失,所以你要做的就是无视它,不断的解决问题,不断的积累经验。首先我要说明的是以下提到的只是一些帮你提升技能的小贴士。最终你还是需要找到...阅读全文

读研究生利弊之我见

嘀嗒你好看了嘀嗒嘀嗒最近的文章,想说的有点多,但留言不能超过600字,就把一部分留言写在这了:看过文章又想到一个老话题—要不要读研。看过几篇文章,都不是很支持,角度大多是“读研不代表有好工作”“时间成本太高”“导师不靠谱”等等,这些都是实际问题,但不经过这样系统的训练,如何能快速得到或着说找到正确路径获得安姐要求的这样的思维能力呢?安姐能写出如此受大家欢迎的文章,想必和在学校里受到的训练是分不开的吧。安姐如果有空,能不能写一篇关于如何获得好的思维能力的文章,世界观和方法论都写写,感激感激!/玫瑰玫瑰你好关于要不要读研的问题,很多人写过文章了。记得我也有提过几次。今天再分享一下我的感受吧。我读硕士和博士的主要专业一个程序语言设计,二是 BioInfomatics。前者加深了我对程序语言的理解,更清楚各种程序语言最基本的设计理念,以及一些在性能和表达上的优缺点。当然,简历上写着“我能写一个...阅读全文

为什么有的程序员觉得自己是个打杂的?

先说几句题外话。前几天在小密圈里介绍了几位嘉宾,大部分是我的同事,其中还有一位是我老板。有人发消息问我:“你把同事老板都拉到圈子里,不怕有的话不方便说么?”其实我平时连发朋友圈都几乎不用分组。老板同事都在圈子里盯着,确实,我不能嘚瑟得太厉害,因为就算自己不会不好意思,他们也得替我不好意思。所以啊,这样反而于我有益处了。本来就是分享自己作为工程师的日常,以及一些所思所想。有他们在,我的分享反倒更真实和诚实,也让我时时刻刻警醒着做自己,不要上天。此外,就像最初开公众号的初衷,之所以我有那么多东西可以分享,很大程度因为我身边有很多这样给我启发和帮助的朋友、同事。我的故事,很多时候就是他们的故事。言归正传。好几次收到留言,问:觉得每天都没有进步,做的事情似乎都没有太大的意思,自己很难有提高,怎么办?一觉得每天都做着重复性的工作。数学和计算机科学都有两个境界。一个是具体问题,一个是抽象问题。如果对于...阅读全文

一个国外UI工程师的年终总结

2016年是我脱离公司开始单干的第4年,下面我罗列一些数字来看看去年我干了啥写了一本193页的书,一共40660字。写了23篇博客博客分享了11个外链。去了4个大洲、8个国家的36个城市,飞了86105英里。在11个大会上做了分享,在12个大会或公司内部搞了工作坊。接了3个网站私活。和去年相比,我飞得少了,参加大会的次数也少了。有一部分接活和写书的原因。2016重要的事写完了《原子设计》一书——他喵的终于写完了!如释重负如释重负啊。如果你想看,请尽管管我要。做完这件事,我心里开心死了,但是估计我较长时间内不会启动另一本书的写作了。眼睁睁看着我弟变成了一个程序员去年我雇了我弟(Ian Frost)给我干活,事实证明他确实也是这块料。有他在,去年干活确实轻松了不少。我的注意力依然集中在这一大堆事情上——搞工作坊、咨询、写作、发邮件、胃下垂——这堆没技术含量的事情总得有人干啊!所以,跟客户打交...阅读全文

跳槽,要不要跳,如何跳?

春节过后是跳槽高峰,有心跳槽的人在犹豫不决。要不要跳槽?如果是钱没给够,心委屈了,跳槽似乎有合适的理由。但是,每个人都觉得自己的工资低了,如果没有一个合适的锚点,那么说钱没给够似乎也很难成为真正的理由。心里委屈也一样,是不是只是暂时的?或是自己过于敏感,需要一点同理心?如果公司开空头支票兑现不了,拖欠工资,诚信有所缺失,甚至自己的主管明显做得不够公平,那就马上做决定,该走就走。在面临跳槽的时候,顾及太多的情感没有意义,很可能对方根本没在乎你的情感。先谈利益,再谈感情。而利益应该建立在确定可执行的契约之上。在一个公司超过两三年,自己接下来收益能怎样,已经基本可以看到头了。是不是值得自己留下来,看看公司的业绩增长,发展势头,再看看自己的能力增长空间,就有答案。有一个事实是,跳槽带来的薪酬涨幅,确实普遍高于公司内部按部就班薪酬涨幅。一般的公司会有一个调节机制,确保这种误差别太大。如果久而久之依然...阅读全文

迷茫和进步

最近收到一份读者留言,问了个问题,大概意思是说编程两年,觉得进步不大,很有压力。每天都是重复性劳动,要如何摆脱这种状况?有时候觉得自己思维能力差,怀疑自己没有当程序员的能力。应该以什么样的心态来面对自己的怀疑,以及看待自己能不能做程序员的问题?会对自己的未来很迷茫,不知如何来规划自己的职业以及未来。先不说我自己,说说我身边的一些事。之前写过一篇《关于 Level 和 Promotion,其实就那么简单》,大概提到过:Google、Facebook、Airbnb 等公司,对于 Software Engineer,本科毕业一般差不多是 L3,以后的几年,只要工作还算勤勉踏实,一般慢慢总会升到 L5。但是 L5 往上,如果走纯技术路线,升级也不是一定有保障的。如果转管理路线,那也要看能力和机遇。一个在 Google 的好朋友跟我说过他认识的两个人。这两个女生都是差不多十年前 L3 或者 L4 ...阅读全文

你该什么时候跳槽

还记得多年以前,我们公司的一位分公司总经理跟我们分享的时候,让全场哗然的一句话。当然,当时大家哗然的原因有很多,有佩服这位总经理的直言不讳,有惊讶于他跳槽公式的精确程度,而我,则惊讶于他的自信和冒险精神。这位高管是个台湾人,才华横溢,为人幽默,从年轻的时候就是个积极冒险的人。三十多年前大学一毕业就进入了世界顶尖五百强当管理培训生,但没做多久就追逐自己的梦想去了美国念研究生。后来进了我们公司台湾总部做了十多年,随着大陆经济慢慢崛起,他也敏锐地嗅到了机会,于是毅然而然地在台湾事业如日中天的时候转岗到大陆,甚至都没知会家人,听说气得他太太足足一个月没有理会他。事实证明他的选择时正确的,当他台湾的同僚发展机会慢慢萎缩的时候,他在大陆一直做得很好,直到成为了我们这一家分公司的总经理。在他的分享中,他将自己起伏的职业生涯都融进了一个个幽默段子,在场的同事们不时爆发大笑,但当他非常认真地在白板上写下他的...阅读全文