程序员有哪些工作小技能?

这本神书,迫不及待的要推荐给大家!

5月18~6月1日,在当当购买异步图书全场每满100减50元!在当当APP或者小程序结算时输入优惠码:PX99FJ(大写) 再减30元!相当于花170元买400的书!不到4折!

这本书的作者是John Sonmez,国外的一个老司机,经历过程序员、团队管理者、创业者等等角色,对程序员那些事儿门清。他曾经写过一本《软技能:代码之外的生存指南》,红极一时。我在2017年初,也在公众号“程序视界”给大家推荐过。

这本《软技能2:软件开发者职业生涯指南》和《软技能:代码之外的生存指南》,有很大不同,《软技能》侧重讲述软件开发工程师工作和生活中需要关注的各种“软技能”,而《软技能2》是以软件开发工程师的生涯线为基础来讲述所需要的各种知识、技能、思维、认知和方法。

我翻了一遍,叹为观止,从没有哪一本程序员的生涯指南类图书,能覆盖的这么全面!

编程语言选择、14种语言的概览、代码、入行、转行、自学、测试、调试、单元测试、TDD、敏捷、源代码控制、持续集成、简历撰写、面试、谈薪水、领导力、软件工程、升职加薪、典型工作岗位描述、团队协作、自我营销……

《程序员修炼之道:从小工到专家》《代码整洁之道:程序员的职业素养》《程序开发心理学》《成为技术领导者》这些书,都超级经典,但是,说到全面程度、概括程度,没有一本比得过《软技能2:软件开发者职业生涯指南》。我自己的《大话程序员》和《程序员的成长课》,两本加一起,也没有《软技能2》讲的全面。

如果说这本书有什么缺点的话,那就是它因为太过全面而在部分主题讲解的不够深入。但是,它足以给我们一个纲要,让我们在遇到某个方面的问题时,可以快速获得一些基本信息,并以此为基础,去探索更深的东西。

所以,如果你只能有一本程序员职业生涯类的图书,这本是最好的选择。

接下来,我选取书中的一些片段(用灰色文字表示),分享给大家,同时也说一些我的看法。具体有下面这些内容:

  1. 找工作的1个原则和4个策略
  2. 简历撰写如何写工作经历
  3. 调试的分而治之策略和核心原则

下面的内容很长,将近9000字,文末送书哦!

作者提到找工作时,认为定位好目标公司,比定位该公司发布的职位更为重要。原文如下面几段灰色文字所示。

另一个你可以用来找工作的主要策略就是,把目标对准你想要加入的公司,而不是对准该公司发布的职位。
把目标对准你心仪的公司,你需要做一些调查研究,确定一家或几家公司作为你想为之工作的目标公司,然后你把所有的资源和精力都投入如何加入该公司的过程中。
当我在寻求一份可以远程工作的开发者职位时(那时候允许远程工作的职位还真心不多),我就成功地运用了这个策略。我找到了一家我知道的公司,他们有一支完全远程工作的开发团队。我了解了一些关于该公司的情况。我了解到谁为该公司工作。我开始关注该公司的一些开发者的博客。我在他们的博客上发表评论,然后开始结交这些开发者。
下一次,当他们想要雇用一位开发者的时候,猜猜看该公司的多位开发者会推荐谁去做这份工作呢?再猜猜谁得到了这份工作?运用这种策略有很多方法。这是一个非常普通的策略。
实际上,我将在下面给出一些具体的应用步骤。
基本的思路是你要选择的是公司而不是工作,然后你再找到进入公司的正确方法。
可以是通过寻找你认识的为该公司工作的人员,也可以是与公司工作人员建立新的联系。
也可能是通过向那家公司提供一些有价值的服务来实现为该公司工作的目的。
也许是因为你的坚持不懈,也许是因为你不会轻言放弃,这家公司的招聘经理终究会知晓你的名字。
我妻子的一位同事曾经热切地期盼为爱达荷州博伊西的一家公司工作,那家公司名叫Healthwise。两年来,她几乎申请了他们开放的每一个职位。她和该公司许多员工都成了朋友。她坚持不懈地跟进,直到他们最终心软了并雇用了她。今天她依然在那里工作。

这点我很赞同,因为找工作的逻辑,就是选择大于努力的逻辑,公司的选择,在职位的选择之前。

所以你先锁定目标公司,是一种非常好的策略,别管什么职位,先进去再说。一旦你进去,就有更多可能,转到你想要的职位,做你想做的事情。

1.2 赢得工作机会的4个策略

锁定公司后,如何获得目标公司的工作机会呢?作者还提到了4个非常棒的策略,超出我的想象。

第1个策略是,你要针对目标公司构建一些东西,令面试官经验,觉得你就是那个人。具体内容如下:
一个特别针对目标公司、吸引他们注意力的好方法就是构建一些对他们有用的东西。
我认识几个工程师,他们之所以能够直接被公司录用,就是因为他们使用该公司开发的软件开发了某种工具,或者他们专门开发了一款能够为公司使用的工具。我还听说,有的设计师之所以被一家公司录用,就是因为他们重新设计了该公司的网站,并免费发送给该公司。
想象一下,如果你为某个流行的软件开发了一项新功能,或者以某种方式对其进行了改进,然后向该软件的开发者展示了你所做的事情。那么接下来会发生什么?
因此,你必须体现出来自己的价值,而不应该只是在炫耀,而且如果你为自己心仪的公司创造了真正的价值(注意:这些都是免费的),他们难道不会想要录用你吗?
某个流行的网站有问题,很多人都会发现,甚至还会告诉公司该如何改进它,但是很少有人真正为此做一些具体的工作,很少有人真正实现了解决方案以改进该网站。

第2个策略是自顶向下操作。也就是先找机会认识目标公司的高层,比如CTO或技术总监,让他们对你刮目相看,产生要招募你加入公司的想法。书中原文如下:

下面这个小技巧来自销售领域:自顶向下的操作。
当大多数开发者向一家公司提供服务并试图在这里找到工作的时候,他们通常都会从底层开始操作。他们可能会联系人力资源部工作人员,或者开发经理,甚至某一位软件开发者,但这些人在做出招聘决定方面几乎没有发言权,尤其是在没有空缺工作岗位的情况下。
不要从底部开始,取而代之的是要从顶部开始。看看你是否能找到某种方法与公司的首席执行官建立某种联系,甚至是公司的CTO或者技术总监。
一种方法就是用公开的电话号码给公司打一个电话,然后直接要求与该名人士通话。别说你正在找工作。相反,你要说你有一个独一无二的机会,你想向他或她展示一下,或者说你有一笔生意想要跟他谈谈。
如果你真的能和这些“顶级管理层人士”中的某一位有说话的机会,那么一定要自信,要有一个良好的开端。不要一上来就向他们求职位。要去谈一谈你能想出来的你能给他们和他们的公司带来有价值的东西。问问他们,是否能让你与继续跟进的人士联系,进一步探讨你能为他们的公司做些什么。
这一切听起来很可笑,是吧?也许是得了失心疯吧?你可能认为这完全行不通,对吧?这就是所谓独辟蹊径的想法。太多人认为他们必须从接触底层人士开始,或者必须从公司前门进入。
你没有理由不让公司的CEO或者CTO成为对你着迷的观众,让他们把你介绍给公司招聘经理,直截了当地说:“我想要这个人。你看看有什么岗位是可以让他来担任的。”
成功的销售人员一直在用这种技巧。你没有理由拒绝它。

第3个策略是内容营销。简单讲,就是成为某个细分方向的专家,公开输出一些专业内容,吸引别人主动邀请你加入公司。书里面叫这种方法为“集客式营销”。以下是这种方法的原文。

这是我最引以为傲的方法。
我推出了一门关于“软件开发者如何自我营销”的系列课程,主要讲授如何让你利用集客式营销方式来获得工作,而不是自己走出去苦苦寻找工作。
我自己也曾经成功地运用了这种方法。事实上,你之所以能够读到这本书,就是因为我在自己的职业生涯中成功地运用了这一技巧。无数的机会来到我的身边。我收到了数百份工作邀请,在世界各地的活动上发表演讲,并且由于集客式营销的影响,我的生活也发生了巨大的变化。
那么,集客式营销到底是什么呢?很简单。它通过创造内容或者其他类型的有价值的东西,让人们自动找上门来,而不是你去找他们。
身为一名软件开发者,你可以通过开设博客、制作视频教程、写书、写文章、开设博客等许许多多类似的方法来提高你的声望,让你的名字遍布大江南北,让人们聚集在你身边,让机会自动降临。有些人可能会称此为“一举成名”的方法,但你不一定非要为了出名才让这个方法为你所用。在软件开发的世界中,你需要做的就是知道一件很特别的事情。
关键是要挑选一些专门的软件开发领域,并且成为该领域的专家。挑选的领域越专注,你就越容易成为领域内的佼佼者,而成为佼佼者应该就是你的目标。而一旦你树立起在这个专业领域内的声望,工作就会自动来找你。我保证。

第4个策略是,想办法与面试官会面。听起来好像很难,但实际上,如果你足够想要进入某家公司,你会想办法搞定这件事的。来看作者提供的具体技巧。

这是另一种通过“后门”让你进入心仪公司的方法,这个方法主旨就是结识“看门人”。
与面试官会面是一个很好的方法,可以让你在没有开放的工作岗位的时候为你找到一个机会。使用这种方法,你将与一家你想为其工作的公司的联系人交谈,也许是一位开发经理、一位首席技术官、一位技术总监,也许是其他一些具有某种招聘决策能力的人。
你要告诉这个人,你正在为你正在撰写的一篇文章收集信息,或者你想为你正在制作一个播客内容采访他们,你甚至可以说自己最近刚刚入行这个专业领域,你想向一位经验丰富的前辈取经。这样做的目的是要想出一些办法,让你能够径直走入此人的办公室与他交谈。
大多数人都会欣然接受免费采访的机会,也会欣然同意帮助有抱负的软件开发者更多地了解该领域。采访的内容是否真正发表并不重要。尽管我看不出为什么你不会发表,因为别人给了你免费的有价值的内容,你当然就可以发表了呀。
能做到径直走入办公室与这个人交谈,你就种下了一颗种子。
现在,你在一家期盼为之工作公司里有了一个认识你的人,他知道你是谁,很可能还挺喜欢你,因为人们总是倾向于喜欢那些对他们最喜欢的话题(就是他们自己)感兴趣的人。再过几个星期、几个月,或者当他们公司碰巧发布职位招聘时,你就可以跟进了。你也可以在自己的博客或博客上发表对他们的采访内容,以此作为跟进方式。
事实上,如果你想要应用这一方法,为什么不采访你所在地区所有顶尖科技公司的首席技术官呢?然后,你可以对所有的采访做一个总结,发布在自己的博客上,又可以从这个集客式营销方式中受益。
你知晓所有的策略,但如果不去落实,也没办法找到合适的工作。所以最重要的,还是想办法,结合自己的情况,改造这些策略,创造适合你的具体执行方案,做出结果!

如果这种策略不行,就换一种。如果一次不行,就多次。机遇的大门,有时得反复去撞,它才会打开。

很多开发者不重视简历,随便找个模板一套了事。实际上,写简历是个技术活儿,很有讲究。《软技能2》中有很多关于简历的内容,其中有一个描述工作经历的技巧,简单实用,摘录出来,分享给大家。

我不会进入细节的描述中,因为我不是一个专业的简历写手,而且你可以在网上搜索到很多其他资源,告诉你简历的格式以及具体布局的方式。不过,我确实想谈一谈在撰写工作经历时的一个细节,我觉得这个细节至关重要。
这样的描述不可取:“使用Java和Spring框架来帮助开发一个应用程序,用于创建猫形标识。”应该采用下面的格式描述,而且一定要有针对性:
例如,可以这样描述:“利用Java和Spring框架设计并编写过一种独特的、创新的猫变形算法,改善了创建猫形标志的应用程序的性能与适应性,提高了500%以上。”
如果是一位优秀的简历写手,那行文会更紧凑,使之更加聚焦:“提出了一种基于旅行推销员问题的猫变形算法。重构猫变形模块以实现新算法,使用Java Spring框架来提高可维护性。性能提高了508%,修复bug的时间减少了34%。”

《程序员的成长课》一书中专门有一章讲简历优化,也可以参考。

《软技能2》中关于调试,提到了“分而治之”这个技巧,让我会心一笑。分而治之真的是最基本也最实用的技巧,我在2005年刚入行做软件开发时就经常用。后来我写文章有时触发敏感词,也会用这个方法。我们来看书中原文。

我还记得我曾经对付过的一个真正难缠的bug,它让我不能正确地解释用PostScript打印语言编写的打印文件。我想尽一切办法来调试这个问题。我测试了各种假设,都没有奏效。看起来这个bug是由于打印文件中的多个命令的组合造成的,但我不知道是具体是哪一个。
我把打印文件裁剪掉一半,bug还在那里。因此,我把这一半的打印文件又切成了两半,这次bug消失了。我测试了另一半,bug又回来了。我持续不断地尝试从打印文件的头部开始拆解它,直到我把整个文件从几千行代码裁剪到只有5行。正是这5行顺序排列的代码导致了bug。就是这么简单!
有时候,如果你在调试的时候卡住了,你需要做的就是找出一种方法来把待解决的问题的范围缩小一半,即尽你所能把大块头的部分先剔除出去。具体采取的方法可以根据问题的不同而不尽相同,但是,基本思路就是尝试并考虑如何消除大量的代码或删除大部分的系统或变量,然后看看bug是否仍然可以重现。
看看你能否想出办法来完全消除系统中会产生错误部分的测试路径。然后再做一次、再做一次。如果你继续进行这种分进合击的工作,你可能会找出导致错误的关键组件,然后问题就会变得相对简单一些。

很多人解Bug,会采取头痛医头脚痛医脚的方式,不琢磨Bug产生的原因,结果就是,这里解一个Bug,那里冒两个Bug,越搞越乱。实际上,最好的做法是,了解Bug产生的原因,从根儿上修复它。来看原文:

如果要修复一个问题,必须要搞清楚问题之所以能够修复的原因。如果你不明白自己为什么能够修复这个问题,那么你的调试工作还不算完全完成。你可能会在无意间导致产生了另一个不同的问题,也有可能你还没有彻底修复原来的问题。
问题是不会自动消失的。如果你没有修复这个问题,我可以向你保证,它肯定不会自行修复,它只是隐藏起来了而已。但如果你彻底修复了问题,不要就此停止。深入探究一下,确保你明确理解最初导致这个问题产生的原因,以及你之所以能够修复这个问题的原因。
太多的软件开发者通过随意摆弄代码来调试问题,显然这么做代码也可以正常工作,于是他们就假设错误已经被修复,但他们并不清楚导致错误的原因。这是一个危险的习惯。
说这是危险的习惯原因有很多。
正如上面提到的,当你随机调换系统内的代码位置、随机在这里或者那里修改代码的时候,你可能会引起各种不可预测的其他问题。问题还不止这些,你这么做就是在训练自己成为一个蹩脚的调试器。你正在养成把事情搞得一团糟的习惯——不讲技术,一点也不严谨。
有时你可能靠运气调试出来一两个问题,但是你并没有掌握可重复的调试过程,你也没有掌握可靠的调试技能。你不仅应该了解哪里出了问题、问题产生的原因,以及你是如何修复问题的,你还要去验证这样修复的正确性。
我知道,这似乎是常识,但我无法告诉你,程序员在“修复问题”上浪费了多少时间——他们总是假装问题已经修复了,然后将代码传递给质量保证人员,质量保证人员会立刻发现问题依旧在那儿,只好让它又回到开发者手中,不断往复。这是对时间的巨大浪费,其实你只需要花5分钟去验证自己所做的修复是真正的修复就可以避免这样的时间浪费。
事实上,不只是需要验证问题是否被修复,还需要针对这个问题编写一个回归测试用例,以确保它再也不会出现。
如果你真正理解自己所修复的问题,你就能针对这个问题编写一个单元测试用例,修复之后的代码就应该能够通过这个单元测试。
最后,你需要查找一下是否还有同类型bug。bug通常都是成群结队出现的。如果你发现在某种前置条件下会导致某个代码错误,那么很可能还会有由这个问题引起的其他bug。
再重复一遍,这就是了解真正的问题是什么以及为什么你的解决方案可以修复它至关重要的原因。只有当你知道发生了什么以及为什么会发生这样的事情,你才可以很快确定是否会有同样的问题导致其他隐藏起来的问题。

这部分我觉得作者说得简洁明确,特别好,直接上原文。

让我们先谈谈领导到底是什么。领导力不是头衔,也不是职位。领导力是你的所作所为,也是你发挥出的榜样力量。
你可以被告知你是领导者,你也可以被授予领导者的正式头衔,你可以被任命去负责一个团队。但没有人,绝对没有人,能够让你成为领导者。你必须靠自己去做到这一点。你必须自己去掌控“领导者”的职权。
领导力就是让人们跟随你进入你对未来的憧憬之中,因循你所要前进的方向,沿着你所选定的道路前进。这意味着你必须身先士卒、率先垂范。领导是站在前面的人,而不是从后面推别人的人。
没有头衔,没有正式的称号,没有来自上级的授权说“你就是那位领导”,因为服从不是目标,发自心底的全力支持才是目标。
你可以用武力或者权威来暂时控制某人的行为,但是身为领导者,需要你去试图赢得他们的内心与灵魂,激发出忠诚而不是恐惧。
只有一种方法能够成为高效能的领导者,那就是以身作则。
最好的领导会做到所有他要求他的团队做的事情。他们愿意牺牲,愿意多走一公里为他们试图领导的人铺平道路。
即使没有正式的职务,如果你愿意为人们树立榜样,你也可以成为他们的领导者。
如果你希望你的团队实施测试驱动开发方法,也就是在编写任何生产用代码之前要先编写单元测试,那么不要告诉他们“要这么这么做”,你要自己先这么做,率先垂范。
如果你希望你的团队在将代码添加到源代码控制系统中时要编写更好的提交消息,那你自己最好先这么做,先拿自己写出来的消息来做范例。
如果你希望你的团队互相尊重、避免争吵、积极合作,该怎么做呢?我想你已经知道自己应该怎么做了。而且,以身作则经常还意味着要去做那些不属于你的、应该由“你的下属”去完成的工作。
太多的“领导者”想坐在象牙塔里高高在上地指挥他们的军队。作为一个真正的、以身作则的领导,你必须自愿在前线、在战场上身先士卒,自愿去承担一些困难的、枯燥的甚至是你的团队里没人愿意去做的工作。向他们表明:即使是最单调乏味的任务,你也能做出高品质。
一个好的领导者是在多个方面都值得敬仰的人,而不仅仅是在他们的主攻领域。
我的意思是,你是一个优秀的程序员,而且你能写出任何一个人所见过的最整洁的代码,但这只是你必须去领导的一个领域。你应该在你想让你的团队跟随的每一个领域都成为楷模。
你想让你的团队有良好的职业道德吗?你想让你的团队被正确地激励吗?你想在你的团队中培养出良好的沟通能力和软技能吗?想让你的团队在哪一个领域里表现优异,那你就必须要在这个领域里成为楷模。
如果你想知道一个团队的行为和习惯,那你只需要看看他们的领导者。团队往往会表现出领导者的许多特质,时间越久越是如此。因此,如果你上班经常迟到、午饭时间超时、在网上冲浪而不好好工作,那不用说你的团队成员一定也是如此。如果你说粗俗的笑话、经常争吵、抱怨你的上级或没有以专业的态度对待别人,那你应该可以预料到你的团队也会有同样的行为。
因此,作为一名领导者,你必须……

简单概括,作者认为成为高效能领导者,要用所作所为赢得领导,要身先士卒、以身作则,还要成为所有领域的楷模。

呃,这是完美的技术领导者!

我太难了……从未做到过……并且看到这样的要求,在觉得特别正确的同时,心生惶恐……真的是臣妾做不到哇……

关于升职加薪,作者提出了非常多的具体策略,但我特别赞同的,是他说的——选择职责而不是薪酬。

在讨论如何获得加薪或升职之前,让我们先谈谈你是应该选择加薪还是应该选择升职。更多的钱和更高的头衔哪个更好?更多的钞票还是更多的职责?
答案似乎显而易见,对吧?我要拿现金,给我钱!但是,不要这么做。这其实是错误的答案。
情况应该是下面这样的。
我只看过两集《纸牌屋》,但我记得主角——我相信他是凯文·斯派西扮演的角色——说了些非常中肯的话:“这真是浪费天分!他选择的居然是金钱而不是权力。在这个镇上,几乎每个人都犯了这个错误。金钱是建在萨拉索塔的华而不实的伪豪宅,10年后就会分崩离析,而权力则是一座古老隽永的石头建筑,几个世纪屹立不倒。”
职责也是一样的。职责就是权力,不管是出于哪一种意图或者目的。真相是:只要你追逐职责,金钱就会随之而来。你总是可以用职责来换钱。
想想看:你是愿意在财富500强的公司找到一份工作,在那里你能得到CEO的薪水,还是愿意得到CEO级别的实际头衔,却拿着看门人的薪水呢?
从短期看,拿到这笔钱是有意义的,但当你失去那份工作后会发生什么呢?你可以试着告诉你申请的下一家公司,你的上一份工作年薪是30万美元,他们会嘲笑你。但是,如果你曾经是财富500强公司的CEO,想象一下在以后你会怎样把这个头衔换成钱。
问题是,当你在追求某件事时,你需要追逐权力的位置,这大致意味着你需要承担更多的职责。抓住每一个机会,让你可以承担一些事情,即使这是一份糟糕的工作。但这无关紧要。
你要是想通过获得越来越多的职责来成长和扩展你的领地,就找一些还没有人探索过的沼泽地,没有人想去碰它,你把它拿走,别怕它会弄脏你的手,然后在那里建造出一个主题公园——华特·迪士尼就是这么做的。
找出那些没人愿意染指的领域,那些没人愿意触碰的项目,接管它们。然后,让它们变成你的高光时刻。

其实作者说的这个逻辑很简单:有了权力和职责,钱自然就来了。这个说法我非常赞同,同时也想推荐作者看看《人民的名义》这部电视剧。

尽管我很想把《软技能2》的内容都展示给大家,但这实在是太难了……它真的是讲的东西太全了。所以我只能请你去看书了。

软技能2 软件开发者职业生涯指南

  新的一年,新的开始,要从年初开始做好计划,这样一年才能有条不紊地进行。以下是由yjbys小编为大家推荐的程序员新年计划,欢迎大家阅读。

  从我11月份离校来到溪谷晨歌网络公司已将近一个半月了,从一个学生变成了一个员工,角色变了,职责也就变了。虽然工作上的很多困难都是在自己的预料之内,可是很多事情都不像在学校里那么简单、单纯。在项目开发的工作中,难题一个接一个的出现,自信心不止一次的受到过打击,虽然自己早就知道,要做到符合公司的要求,做一名合格的程序员,在学校学的知识,根本就不够,而且很不够。每天醒来我都不断勉励自己,好好学,以后会好的。在此同时,公司也给了我很多学习的机会,这使我对以后的编程之路又有了些许信心。

  11月下旬与12上旬的几天,我的主要任务是将公司的静态网站与数据库连接做成动态的。由于功能比较简单,做起来没有遇到什么困难。可是之后的“南京市砖瓦粘土信息管理”项目,里面涉及到的一个地图功能的实现,让我不知所措,不知道怎么实现。由于自己没有能力完成项目,项目就交给了其他公司,之后的工作都是在合作公司——南京宁派网络科技有限公司里学习、工作的,了解他们公司的开发项目流程,学习他们的开发技术,请教他们开发技术上的问题。

  二、在工作中主要存在的问题有:

  1、 由于开始对业务需求不是很熟悉,所以在写需求分析与了解所要开发的过程中多次出现因为需求的原因,而不断修改、返工的情况。

  2、 在开发中,用到很多我所不知道或很多我知道但不太熟悉的技术,有时甚至会出现这种情况,合作公司的技术人员,讲个名词,我都要百度一下具体什么意思,涉及什么技术。

  3、 在工作阶段,有时比较偏向自己的工作方便,忽略了其他同事的工作上的量与难易。有的功能自己怎么方便怎么写,有点难为其他同事,大家都要相互配合。

  1、在这将近一个半月的工作实践中,我参与的都是团队合作的项目,无论是在自己公司,还是在合作公司,我们都讲究团队精神。在信任自己和他人的基础上,思想统一,行动一致,这样的团队一定会攻无不克、战无不胜。我们的很多工作是一起完成的,在这个过程中,大家互相提醒和补充,大大提高了工作效率,所有的工作中沟通是最重要的,一定要把信息处理的及时、有效和清晰。

  2、每一个项目在开始着手的第一步,一定要和客户把需求沟通清楚,只有了解了项目的需求,才有可能真正做好一个项目。我们需要向客户提出要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的最少一至两个程序员随时记录需求。

  3、工作中,有一个无论是技术,还是经验都比较让人肯定的前辈带领,将任务详细化,详细到,每个页面、甚至是一个页面中的图片什么时候做好,做到什么程度,这样把工作进度有计划有方向的赞定下来,做事很有效率。

  4、每天的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,日记、周记、月记、年记的工作习惯。

  5、工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要互相学习,也许有一天,公司需要你发挥其他的技能帮忙,所以互相学习也是很重要的,我在宁派公司,深有感触,除编程之外,切图、界面设计等工作都干过。

  经过一个半月的工作学习,我也发现了自己离一个符合公司要求的程序员还有很多差距,

  主要体现在工作技能与工作经验的不够,也是我以后要在工作中不断磨练和提高自己的地方。仔细总结一下,自己在一个半月工作中主要有以下方面做得不够好:

  1. 工作的条理性不够清晰,要分清主次和轻重缓急;

  在开发时间很仓促的情况下,事情多了,就一定要有详实而主次分明的计划,哪些需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。

  2. 对流程、业务需求不够熟悉;

  在工作中,发现因为流程或业务需求的问题而不知道如何下手的情况有点多,包括错误与缺漏还有当时设计考虑不到位的地方,对于这块的控制力度显然不够。平时总是在开发,但说到底对业务很熟悉才是项目很好完成的前提

  3. 缺乏工作经验;

  4.学习的知识不够广泛;

  一个项目中,涉及的技术往往有多种,知识多了,就会灵活变通,以后我会加强这方面的学习。

  暂时做出以下几点规划:

  1、要提高工作的主动性,做事干脆果断,不拖泥带水;

  2、工作要注重实效、注重结果,一切工作围绕着目标的完成;

  3、要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺;

  4、把握一切机会提高专业能力,加强平时知识总结工作;

  5、精细化工作方式的思考和实践。

  6、虚心请教比我做的优秀的其他同事,向他们学习技术或经验。

  其实作为一个新员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,不论在什么环境下,我都相信这两点:一是三人行必有我师,二是天道酬勤。

  在参加工作的这短短的一个半月中,我深刻的体会到,把自己所有的精力都投入进去,技术工作都不可能做到完美程度,毕竟技术工作太繁杂,项目多而人手少,但多付出一些,工作就会优化一些,这就需要认认真真沉下心去做事情,就是公司所提倡的企业精神:职业做事,诚信待人。

  1. 学习一门新的不同风格的编程语言

  这是很需要的一件事,因为如果你只了解一种语言,它就会局限你解决问题的能力和你的职业发展。所以在新的一年,你应该花些时间学习一门新的语言,体验不同的编程风格,并学以致用。

  2. 提高你的已有技能

  如今Codecademy,Code School,Code Avengers,Treehouse等都提供了大量的在线课程,在这里你可以强化技术,加深对知识的理解。如果你更喜欢那些面对面的课程,也是可以的,甚至你可以到当地的大学听课。

  3. 活动你的手指,但不是在键盘上

  从你的书架上拿起“刺客信条”或其它游戏,用手柄和方向盘操纵游戏,活动你的关节和手指,当然还可以减压。

  4. 减少咖啡因的摄入

  无论你之前喝了多少咖啡、茶或是其它功能饮料,都应该在新的`一年多喝水,最好在每一天都能喝8杯水,因为即使有一点脱水都会让你感到疲惫,没有力量。

  5. 按时交付每一个项目

  当然,这一点你不能完全控制,但是你要确保你的文档按时交付,不拖累整个项目的进展。

  6. 更多的时间远离计算机

  让自己有更多的时间在做饭、登山、滑雪、跳舞或者学习艺术,总之多做一些不需要总盯着电脑屏幕的事情,到户外闻一闻花香,感受一下自然气息。

  7. 关注更多信息

  你有很多编程上的智慧可以分享,给自己一个展示的机会,现在有很多的组织需要编程上的帮助,你可以为这样的组织贡献力量。

  我们知道硬件都不是坚不可摧的,随时要检查你的备份情况。尝试免费和安全的云存储,当然投资给一些好的硬件设备,设置安全的密码都是很好的方法。

  9. 生活得更有趣

  如果没有任何一条新年愿望适合你,你可以找找那些新年愿望生成器,“这一年我要......”或“这一年我会......”看看系统会显示出什么。

  程序员每天该做的事

  1、总结自己一天任务的完成情况

  最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多

  2、考虑自己明天应该做的主要工作

  把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作

  3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法

  出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢

  4、考虑自己一天工作完成的质量和效率能否还能提高

  一天只提高1%,365天你的效率就能提高多少倍你知道吗?(1+0.01)^365=37倍

  5、看一个有用的新闻网站或读一张有用的报纸,了解业界动态

  闭门造车是不行的,了解一下别人都在做什么,对自己能带来很多启示

  6、记住一位同事的名字及其特点

  你认识公司的所有同事吗?你了解他们吗?

  7、清理自己的代码

  今天完成的代码,把中间的调试信息,测试代码清理掉,按照编码风格整理好,注释都写好了吗?

  8、清理自己的桌面

  当日事当日毕,保持清洁干劲的桌面才能让你工作时不分心,程序员特别要把电脑的桌面清理干净

  程序员每月该做的事

  1、至少和一个同事一起吃饭或喝茶

  不光了解自己工作伙伴的工作,还要了解他们的生活

  相对正式地考核自己一下,你对得起这个月的工资吗?

  3、对你的同事考核一次

  你的同事表现怎么样?哪些人值得学习,哪些人需要帮助?

  3、制定下月的计划,确定下月的工作重点

  4、总结自己工作质量改进状况

  自己的质量提高了多少?

  5、有针对性地对一项工作指标做深入地分析并得出改进的方案

  可以是对自己的,也可以是对公司的,一定要深入地分析后拿出自己的观点来。要想在老板面前说得上话,做的成事,工作上功夫要做足。

  6、与老板沟通一次

  最好是面对面地沟通,好好表现一下自己,虚心听取老板的意见,更重要的是要了解老板当前关心的重点

  程序员每年该做的事

  每个公司都会做的事情,但你真正认真地总结过自己吗?

  2、兑现给自己、给家人的承诺

  给老婆、儿子的新年礼物买了没有?给自己的呢?

  3、下年度工作规划

  好好想想自己明年的发展目标,争取升职/加薪、跳槽还是自己出来干?

  4、掌握一项新技术

  至少是一项,作为程序员一年要是一项新技术都学不到手,那就一定会被淘汰。

  掌握可不是看本书就行的,要真正懂得应用,最好你能够写一篇教程发表到你的blog。

  5、推出一种新产品

  可以是一个真正的产品,也可以只是一个类库,只要是你创造的东西就行,让别人使用它,也为世界作点贡献。当然如果真的很有价值,收点注册费也是应该的

  6、与父母团聚一次

  常回家看看,常回家看看。

【程序员新年计划】相关文章:

我要回帖

更多关于 程序员工作怎么样 的文章

 

随机推荐