迷茫和进步

迷茫和进步

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

你该什么时候跳槽

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

程序员高级装逼指南

前言:本片文章摘自阿里云论坛,个人认为牛逼的程序员一定不能这个样子。不过,为什么本文确实大部分程序员的真实写照呢?何等悲哀首先准备工作, “工欲善其事必先利其器。”双屏电脑:电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好。一个用来查资料,一个用来写代码 。总之要显得信息量很大,效率很高。椅子不一定要舒服,但是一定要可以半躺着。大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善。沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子。从进门开始着装!着装初级装:衬衣+牛仔裤+休闲鞋中级装:T恤+宽松短裤+拖鞋。高级装:背心+宽松大花裤衩+人字拖。得体的举止。在走廊以及任何形式的过道里,一定要双手插兜,走得像个痞子,至少要看起来有点反社会。如若不行,可走文弱天才型geek路线。坐下就不要再动了坐下以后,姿势需要略微后仰,能翘着二郎腿最好了,然后在后仰的情况下... Read More
说说域名那点事儿

说说我曾注册的那些域名

第一个使用的域名是那种空间服务商免费赠送的三级域名,当时的提供商是主机屋(现在的博客域名就是在主机屋注册的)。记得,作为学生屌丝党为了使用主机屋提供的免费空间,不得不每个月在百度给一次“好评”。写评语的时候,还有要求,不得这么,不得那么。为了免费也就忍了,但最后终究被洗脑选择了在主机屋购买付费的产品。注册了ihuxu.com域名,购买了相应的空间。空间是最便宜的那种,貌似有几百个网站公用一台服务器。截止今天,ihuxu.com域名年龄3年6月21天(创建于2013年05月03日)。当时注册的想法就是iphone、ipad、ipod、ihuxu,很高大上。还有就是谐音爱胡旭。接着,当时已经在第一个免费的三级域名空间有练习过静态和动态脚本的编写(PHP)。算是有些经验,接着遇到瓶颈,感觉代码写不下去了,越写越多,越写越乱。于是乎,了解到什么是设计模式,并应用在其中。后来重复造了一个不是很圆的轮... Read More

关于不要重复造轮子的二三事

“不要重复造轮子 Stop Trying to Reinvent the Wheel”, 可能是每个程序员入行被告知的第一条准则。我自己也会对新人反复灌输这个概念,写程序其实是一个最能“偷懒”的工作:你现在费力实现的每一个功能,可能早已经有极好的解决方法贡献在开源社区,如果可以直接用现成的,那节省下来的时间是不是可以用来偷懒呢?极端的说法,哪怕是那位把所有开发外包给沈阳一家公司的哥们,如果撇开道德以及商业安全,只要能贡献优质的代码和健壮的功能,对于一个项目来说,这样做其实没任何问题。找轮子存在的问题虽然不要重复造轮子的准则被反复提到,但是以我个人的经验,这个准则实践起来其实很有难度,因为“不要重复造轮子”意味着首先需要找到一个可以用的轮子,而且我们一般希望是能最好的轮子才可以一劳永逸。这就对个人的信息检索能力有非常高的要求。找到了一个轮子,但这个轮子好不好用,需要时间来论证。能一眼判断一... Read More

聊聊程序员绩效那点事

刚入职场的时候,对于绩效的概念理解朦朦胧胧,到后面自己做PM,自己开始带团队,带团队以后开始接受公司相对正规的团队管理的培训,到阅读德鲁克的《卓有成效的管理者》,对绩效这个概念有了相对较为清晰的认识,所以在这篇随笔里,我会以自己的亲身体验来讲一讲我对绩效的认识。1、TOP 1有意思是作为程序员怎么拿到高绩效?这个话题就好像问做什么赚钱的一样, 没有一个非常精准的答案但是有一些普适的道理。a)超出预期: 所谓高绩效一般情况下是要超出期望才有可能,那么这个期望就是给你考评的老板或者主管的期望。举个例子,比如主管安排你去开发一个大的新特性,主管在和你沟通时候,就会在谈话中有意无意的流露出自己的期望,比如说:小王,这个特性是我们xx项目的关键特性,直接决定了项目的成功。在这句话中,首先主管是希望你把这个特性开发出来,但是如果你只是把功能开发出来了,是不是就意味着高绩效呢?其它不一定,一定是超出预期... Read More

我对程序员身体健康的一点感悟

本来这个话题想写大一些,但是觉得自己的思想境界比较浅,还是从自己谈起。每当在公司看到新来的员工拼命的加班的时候,我总想说两句,但是说了怕大家认为我的想法消极,所以又开不了口。只好在这里随笔一篇,如果看到了对你有用,说明我这篇随笔就是有用的。1、身体健康是无数个0前面的那个1,即没有1,什么也没有。以我自己为例,在学校的时候我每天下午能够打上几个小时篮球都不会觉得累,毕业第一年没什么感觉,直到第四年的时候,缺少锻炼以及长期的加班,我得了严重的颈椎病。在08年那会,严重的时候大脑头晕脑涨,根本没法工作,我觉得我没有办法再继续做下去甚至离职在家休息,那一年我在首佳盲人按摩一年,家里的人着急找医生、治疗仪,后面我再会细谈怎么慢慢转好的。当你结了婚,有了孩子,父母年老的时候,身体健康多么重要这个感受你会更加深有体会。2、公司永远不是家,你的健康只有自己负责,不要指望任何人或者组织去给你健康埋单。那些... Read More

几次印象深刻的网上事故

在华为的时候自己带过几年的团队,团队的规模从一开始10多个人,到后来40多个人,负责的产品也从一个到多个产品,我自己的性格特点只能做一个小主管,做不了大领导,因为在遇到事情的时候,我总希望自己能够冲在最前面,也就是当当班长之类吧,所以我自己处理过很多次的网上事故的处理,当时和我一起处理事故的同学有的换了部门,有的离职,但是当时一幕幕经历就像刚发生过,在这里列举2~3个吧。华为对于网上事故非常的重视,基本上如果个人的话导致网上事故的话,一年基本就白干了,二年内很多调薪、股票这些基本和你无关了,所以任何时候只要出现网上问题大家的精神都是高度紧张,而像我这样一个人负责几个产品,每个产品在网上都有很多局点的小主管,手机24小时开机,经常怀疑手机响了自己没听见。我来华为第1次三级事故大概是在2011年左右,有一天晚上大概10点左右,有一个海外M国打来的电话说P系统手机首页有时会打不开,这时M国正好是... Read More

从学生到妈妈,自我解剖:细数我的7.4年程序员生涯

大学时候的编码仅限于交作业,偶尔看看教学视频跟着写写程序,也往往是有始无终。庆幸的是读研时候导师的项目多,所以有了密集编码的开始。2009.9初入实验室,基础差是很显然的。java完全没有用过,从0开始。好在有师兄师姐一起带着做,所以开始没那么困难,但是由于大学涉猎范围有限,往往有很尴尬的时候,不懂构造方法重载,去“请教”,本来以为师兄会帮忙写好,结果“我念,你来写”,被深深的激励了一把,后来就早出晚归补习练习,java有所成长。实验室的项目是以Elipse插件形式给某研究所做一个工具,所以当时对Eclipse的了解很是深入,用到GEF图形编辑框架,SWT来做界面。自己用XML做存储来实现复制粘贴,还第一次用到了设计模式,visitor。实验室的节奏一直是“时间紧,任务重,成败在此一举”的节奏,早上8.30到实验室,晚上是10:30以后才陆续回宿舍,其实从那个时候我就应该直视自己的抗压能力... Read More

都说IT是青春饭,岛国程序猿的未来在哪里?

文/东京 IT 人-雷子你为什么来日本做 IT?喜欢动漫或游戏,就顺便学习了日语?想着在日本工作,技术以外还能熟练掌握多一门外语?干同样的活儿,在日本攒的比国内挣的还多,先干它几年再说?…各种各样的原因,我们踏上了这片土地,新鲜之后,难免茫然…现在的工作哪一步都是按部就班,学不到东西怎么办?技术更迭好快,以后自己跟不上怎么办?都说编程干不过 35 岁,年纪大了怎么办?……不安,是人类的先天性疾病,咱们中国人可能更重一点。但生活真的这么沉重吗?今天,雷子来浅谈几种常见的日本 IT 职场前进方向及利弊,均为个人看法,希望能给刚上岛的新人们多一点儿参考。里面可能有现在的你,也可能有未来的你,篇幅有限,泛泛而谈,欢迎大家留言补充。  1、SIer 公司社员日本岛上的一亿多人中,有 92 万是干 IT 的,这小 100 万中,有七成属于 SIer 公司(系统集成公司,客户方是企业,客户要啥软件就给... Read More

实习两个月,写在辞职的今天

好长一段时间没更新博客了,总结一下自己这两个月的经历和感悟,以及接下来的安排。一堆的感受,不知道几年之后,再看到这篇文章的时候,想法是不是会改变?也是第一次很正式的实习,感觉学校和社会完全是两个不同的壁垒。7月份工作7月份中旬入职,选择了一家做境外旅行APP开发的创业公司,初到公司,什么也不懂,第一天是安装开发环境,FTP上传服务器,IOS真机环境测试,熟悉MAC的使用,LINUX的命令,以及GITSHELL,SOURCETREE的操作,团队管理TEAMBITION等使用,印象特别深刻,因为第一天去,就觉得压力好大好大,东西都不会,第二天,老大便给我派了个活,重整APP与编辑器UEDITOR的接口,当时也没接触NG,只知道好高大上,没办法,自己就去学,看文档,写东西,好多不懂,好在有个特别特别好的前端带我,有啥不懂的,我就去问他,后来APP界面的内容部分,全部交给我来负责啦,这个活干完差不... Read More

程序员,为什么千万不要重写代码?

程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来。是的,他们决不会满足于简单的增量劳动。或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补,他们认为旧代码简直一团糟。但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难。为什么你觉得旧代码异常混乱?因为读代码更难这大概就是代码Reuse难以实现的原因,也可以解释为什么你组里的每个人都喜欢用不同的功能将分割的字符串转换成一个数组。比起猜测旧的功能是怎样实现的,重新写一个自己的功能要简单和有趣多了。作为这个公理的推论,你可以问问身边的程序员他们正在奋战的代码怎么样?“简直是一塌糊涂!”他们肯定会这样说。“我简直想推倒重来!”为什么认为代码这么糟糕呢?“额,看看这个功能,竟然有两页长!完全不知道这些东西... Read More

程序员找不到女朋友的原因

程序员找不女朋友的原因程序员问禅师:“大师,我身体健康,思想端正,各方面都不错,为何就是找不到女朋友呢?”禅师浅笑,答:“原因很简单,不过若想我告诉你,你需先写一段java代码。”青年略一沉吟,写完了。“再写一段C#” 写完了,“再写一段php” 写完了,“再写一段js”,写完了,“这就是原因” 。技术宅男如何把妹?1.自制系统盘内置马儿随时知道MM在做什么,计划任务定期搞崩系统从而保持用户粘性;2.给MM推荐自制APP,随时知道mm位置给她惊喜;3.经过一段时间你就积累了大量数据,做一下数据挖掘就知道她的一切喜好习惯;4.将该应用免费开放给更多宅男,于是有了海量数据。——这就是云把妹。程序员如何制造就业机会一老板坐飞机,旁边一刚毕业程序员拿着杂志看,一边看一边念叨:云计算要火?老板听了,回去问VP:什么是云计算?VP回去告诉总监:我们可能要做云计算;总监回去告诉经理:公司要做云计算,马上... Read More

如果你写了25年代码,你将会遇到这些

本篇回答作者是个35年C、C++经验的工程师25年后,你关于编程的知识经验还会不断增加,但是你的薪水却不会增加了。你将要重头开始学习新的工具(语言/框架/技术/工具链)两次或者三次,即便你已经掌握的工具看起来依然实用并且你已经很熟悉,但是市面上总会有些热门的新技术出现,你必须学会它们这样你的简历才会漂亮。如果你运气好的话,你在工作中就有机会学到最新最酷的工具。如果没有,你就必须下了班后晚上学习并且独自研究。可能这个时候,你学会计的朋友可以去参加公司赞助的培训,或者在参加各种party。在这25年里,你可能会丢掉你的工作,中间失业好几次。这不一定就是你的错,可能只是因为你加入了失败的创业团队,或者你所在的整个行业被取代消失了,或者经济不景气公司开始裁员。一个关于软件开发的黑暗的秘密是它是一个工程项目,就像建造一座摩天大楼。当项目完成时,你就会被毫不犹豫的抛弃。如果你刚好赶上经济萧条的时期,... Read More

理想的程序员

我算是靠坑蒙拐骗进了程序员的门,然后一路狂奔。26岁之前几乎没有任何写代码的经验,研究生毕业却意外选择了一家不可能提供培训的初创公司,在每日担忧公司倒闭、害怕被炒鱿鱼以及同事冷落白眼的三重压力下逆流而上,一年半后离职,已是拥有500万用户产品的后台主程。从前我对计算机技术心怀畏惧,认定技术高人一定有佛光笼罩,昼夜不息运键如飞日吐代码上万行。现在也算见过一些世面了,回首那段忐忑不安宛如初夜的过程,我却不发觉有任何的励志意味,而是视为一种理所当然。理想的程序员,和理想的建筑师、理想的财务师、理想的按摩师没有任何的差别,他们本质上都是一群手艺人。我相信理想的程序员人人皆可成为。近三年总在互联网圈厮混,我认识过一些程序员,共事过一些程序员,领导过一些程序员,又面试过一些程序员。他们学历不同,有的来自北大,有的来自北大青鸟,有的是博士,有的是高中肄业;资历也不同,有的来自BAT,有的来自某破产基金公... Read More