发布于 2016-03-21 00:20:41 | 179 次阅读 | 评论: 0 | 来源: 码农网
程序员 软件开发人员
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员、系统分析员,系统架构师,测试工程师六大类
我们有三个系列的小技巧要分享:与你的客户沟通,保护你的声誉以及解决常见的自由职业问题。下面让我们开始吧!
作为一个自由职业者,这是你最重要的事情之一!我发现客户更认同以下的做法:
可靠:做一个可靠的沟通者,及时回复电子邮件和回答问题。另外,通过发送定期状态报告和/或让他们第一时间知道你完成了一个阶段目标,可以避免让你的客户猜疑你究竟在干什么。
礼貌:礼貌和专业,但同样重要的是,还要友好。毕竟我们是人!
诚实:不要说谎,信守诺言。不要承诺那些你不打算履行的承诺。例如,不要在项目结束时承诺实现一定的功能,如果你已经知道,就算不加上这个功能,在预计期限内完成项目也是有困难的。
不要隐藏问题:如果问题很严重和/或无论无何迟早会暴露出来,那么尽快通知客户问题。
跟踪你的时间:如果你按小时收费的话,那就应该跟踪你的时间,并定期分享给客户。如果你每个项目都采取统一的收费率,那么它可以帮助你找出估计工作量和实际工作量之间的差异。
提供技术咨询:如果你发现客户做了错误的技术决策时,一定要对他们指出这一点,而不要应该让他们在错误的路上越走越远,直到举步维艰。一起讨论决策,但要记住,最后的决定权一定以及始终在客户手里。
提问:不要害怕问问题:这可以避免你和你的客户走弯路。有疑问,就问,遇到有歧义的地方,不要按自作主张自以为是。当需求没有正确定义,或缺少重要细节的时候,让客户提供更多的细节,或给出你的版本,这样对方就可以立即发现错误。
发布客户期望的内容,而不是你认为他们期望的内容:在软件开发中,常常存在着一种期望代沟——客户的期望和他们真正得到的结果之间的差异。当事情未指明的时候,消除歧义,避免假设是减少这种代沟的好方法。
例如,如果需求上声明,用户必须通过提供一个电子邮件地址和密码才能进行注册,而另一条则说要求用户通过输入用户名和密码登录,这时你会发现这里有 一个不一致的地方:注册需要电子邮件(而不是用户名),而登录期望使用用户名。那么应不应该在登录时使用电子邮件,或者在注册时也要求输入用户名?除了客 户,没人能回答这个问题。
解决问题:碰到问题,那就专心致志地去解决这个问题,而不是在一边怨天尤人。
作为一个自由职业者,这是最重要的资本!俗话说,好事不出门,坏事传千里。
我认为,其实我们应该铭记好事,遗忘坏事,但这个世界就是这么残忍。如果你有一个不好的名声,那么就可能很难找到项目,尤其是网上的自由职业者,因为你的名声是公开的。
几年前,我在Upwork上雇了一个开发人员帮我做一个JEE项目,虽然他没有JEE的特定经验。我愿意支付他去学习他所需要的东西,并且安排的任务也简单,是一个非开发任务,技术写作。
大约一个星期后,他改变了主意,说JEE太复杂了。更糟的是,他开始毁谤我和我的客户所选择的框架,用一些令人非常反感的话。即使这样,他依然要求我向他支付所有他在这个项目上花的时间,并且指责我让他工作于他不想要处理的技术。
最后,我只支付了他一小部分的时间费用,并且还在Upwork上给他写了长长的负面评价,我敢肯定这将破坏他在该平台上的声誉。我是有意的。请不要误解我的意思:我不是为了报复。我只是觉得我有必要提醒未来的潜在客户,他们应该预见这个家伙的服务水平和专业性。
保护和提高声誉的最好方法就是保证客户的满意!
那么该怎么做呢?有一种方法是暂时将自己想象成是客户。我从Freelancer和Upwork等平台上雇过几次开发人员,感谢这些经历,因为这让我懂得了:
如何从若干候选人中选择最好人选
在工作进行中该期待什么
当碰到开发人员不发送更新、不回复电子邮件时,会有多么沮丧
当开发人员总是让你了解内情,能够预料到你的问题,并提供更新时,会有多么开心
当然,你不必为了表现得像一个客户而真的去雇佣开发人员。这成本太高了。 :]
但这种代入的思维可以帮助你从客户的角度看问题。尤其是当你故意做一些事来隐藏问题或者欺骗客户的时候。有一句我最喜欢的格言是:己所不欲,勿施于人。
和任何职业一样,自由职业也有危险区域。以下就是关于如何预测和预防最常见的问题。
上面我就提到过,让客户满意的关键方法是明确客户的期望,消除有歧义的地方。项目一开始可能充斥着很多关于费率,酬劳,付款条件和时间期限等有歧义的地方。一定要正确地解决这些问题!
我曾被多次要求在不告知相关项目任何细节之前签署保密协议。我的态度就是拒绝,即便有失去项目的风险。
为什么呢?问题就是,在对我需要保密什么都不知道的时候,我怎么能签署保密协议?如果我已经工作过的项目和这份保密协议发生了冲突怎么办?
如果你遇到这种情况,那么不妨问问客户是否能给一个项目的大概想法,不需要透露太多——只要足以让你评估你是否可以负责任地签署这份保密协议即可。
是什么样的项目?是社交app吗?——哦,好吧,我想我应该告诉你我最近开发过类似的项目。
是什么样的项目?一个用来计算太空火箭的轨迹和油耗的app?——那行,我可以签署保密协议。我敢肯定我从来没有参与过任何哪怕是一点点相似的项目。
这是显而易见的,但是这个话题要格外小心地处理。合同是你和你的客户之间具有法律约束力的协议,但由于通常是你的客户要求你签署得,所以合同主要用来保护他和他的项目,而不是你。
这里很难给出建议,因为没有两份合同是一样的,最重要的是,我不是律师。但这里有几条通用的指导:
仔细阅读合同。
再次仔细阅读,然后再来一遍!
只管去联系有经验的律师来帮你审查合同,尤其是有任何困惑,不清楚或令人不安的地方。诚然,法律咨询是昂贵的,但最后如果有用的话,绝对物超所值。
如果你发现任何错误,或含糊不清不利于你的条款,那么只管提出修改。
如果客户拒绝修改,那么退一步去寻找其他的项目。
没有提前通知,项目就停了下来,这是自由职业的属性之一。我的对策是一次至少接两个兼职项目,而不是单单一个全职项目。
每一个项目都是其他项目的后备:如果其中一个被中止,我还有其他工作。毕竟,一半收入总比什么都没有要好。
当发生这种情况时,你可能会感到沮丧 ——至少,这有时会发生在我身上。我知道沮丧是正常的反应,并且当我觉得自己调整好心态之后,我会去寻找其他的挑战。
有时候,如果一两天过去了,我还是没有行动的激情,那么我会选择和家人一起共享天伦之乐,也许会去做一些我平时因为工作太多而没办法做的事情,比如参与业余活动(近日,我在学习打鼓:]),学习新的东西或看书。
最后,我不知道是运气,巧合,还是其他什么东西。当项目结束时,无论是突然发生的还是因为其自然而然地到了时间期限,我经常收到主动和意想不到的 offer。例如上一次,在项目突然被冻结的第二天,我在Stack Overflow上收到了一个方案,过了几天之后在LinkedIn上又收到了另一个。这两个都是新的联系人,而不是朋友的朋友。
不知道在你的身上是否发生过同样神奇的事情。
然而,无论是否是主动提供的offer,我会保持搜索,保持申请项目,询问我的联系人等,直到我终于找到一个值得我下功夫的新项目。这个过程有时需要几天,有时甚至要几个月。
如果你想了解更多,这里有一些有趣的读物:
Interview to Piero Toffanin, a former digital nomad
Why you shouldn’t be scared of going freelance, by Ignacio Nieto
Do’s and Don’ts of a Freelance Developer, by Ignacio Nieto
Fixed quotes, by Mariano Abdala
Busting the Top 5 Myths About Remote Workers, by Scott Ritter
How to Travel While Working: The Traveling Engineer’s Survival Guide, by Breanden Beneschott
Don’t Be Fooled: Calculate the Real Cost of Employees and Consultants, by Hyam Singer
有人曾推荐给我《Serial Winner》,一本并不是专门针对自由职业者,但任何想要成功的人都必须阅读的伟大书籍。我还没有看过,但我已经添加到我的阅读列表。
另一本是我个人建议的,并非全部有关于自由职业,但在管理财务状况方面比较实用的书籍是《The Richest Man in Babylon》。
欢迎留下任何你想分享的问题或建议!
译文链接:http://www.codeceo.com/article/freelance-programmer-tips.html
英文原文:Freelance Software Development Tips