自由程序员的 3 个开发技巧

1.与你的客户沟通

作为一个自由职业者,这是你最重要的事情之一!我发现客户更认同以下的做法:

可靠:做一个可靠的沟通者,及时回复电子邮件和回答问题。另外,通过发送定期状态报告和/或让他们第一时间知道你完成了一个阶段目标,可以避免让你的客户猜疑你究竟在干什么。

礼貌:礼貌和专业,但同样重要的是,还要友好。毕竟我们是人!

诚实:不要说谎,信守诺言。不要承诺那些你不打算履行的承诺。例如,不要在项目结束时承诺实现一定的功能,如果你已经知道,就算不加上这个功能,在预计期限内完成项目也是有困难的。

不要隐藏问题:如果问题很严重和/或无论无何迟早会暴露出来,那么尽快通知客户问题。

跟踪你的时间:如果你按小时收费的话,那就应该跟踪你的时间,并定期分享给客户。如果你每个项目都采取统一的收费率,那么它可以帮助你找出估计工作量和实际工作量之间的差异。

提供技术咨询:如果你发现客户做了错误的技术决策时,一定要对他们指出这一点,而不要应该让他们在错误的路上越走越远,直到举步维艰。一起讨论决策,但要记住,最后的决定权一定以及始终在客户手里。

提问:不要害怕问问题:这可以避免你和你的客户走弯路。有疑问,就问,遇到有歧义的地方,不要按自作主张自以为是。当需求没有正确定义,或缺少重要细节的时候,让客户提供更多的细节,或给出你的版本,这样对方就可以立即发现错误。

发布客户期望的内容,而不是你认为他们期望的内容:在软件开发中,常常存在着一种期望代沟——客户的期望和他们真正得到的结果之间的差异。当事情未指明的时候,消除歧义,避免假设是减少这种代沟的好方法。

例如,如果需求上声明,用户必须通过提供一个电子邮件地址和密码才能进行注册,而另一条则说要求用户通过输入用户名和密码登录,这时你会发现这里有 一个不一致的地方:注册需要电子邮件(而不是用户名),而登录期望使用用户名。那么应不应该在登录时使用电子邮件,或者在注册时也要求输入用户名?除了客 户,没人能回答这个问题。

解决问题:碰到问题,那就专心致志地去解决这个问题,而不是在一边怨天尤人。

2.保护你的声誉

作为一个自由职业者,这是最重要的资本!俗话说,好事不出门,坏事传千里。

我认为,其实我们应该铭记好事,遗忘坏事,但这个世界就是这么残忍。如果你有一个不好的名声,那么就可能很难找到项目,尤其是网上的自由职业者,因为你的名声是公开的。

几年前,我在Upwork上雇了一个开发人员帮我做一个JEE项目,虽然他没有JEE的特定经验。我愿意支付他去学习他所需要的东西,并且安排的任务也简单,是一个非开发任务,技术写作。

大约一个星期后,他改变了主意,说JEE太复杂了。更糟的是,他开始毁谤我和我的客户所选择的框架,用一些令人非常反感的话。即使这样,他依然要求我向他支付所有他在这个项目上花的时间,并且指责我让他工作于他不想要处理的技术。

最后,我只支付了他一小部分的时间费用,并且还在Upwork上给他写了长长的负面评价,我敢肯定这将破坏他在该平台上的声誉。我是有意的。请不要误解我的意思:我不是为了报复。我只是觉得我有必要提醒未来的潜在客户,他们应该预见这个家伙的服务水平和专业性。

保护和提高声誉的最好方法就是保证客户的满意!

那么该怎么做呢?有一种方法是暂时将自己想象成是客户。我从Freelancer和Upwork等平台上雇过几次开发人员,感谢这些经历,因为这让我懂得了:

  • 如何从若干候选人中选择最好人选
  • 在工作进行中该期待什么
  • 当碰到开发人员不发送更新、不回复电子邮件时,会有多么沮丧
  • 当开发人员总是让你了解内情,能够预料到你的问题,并提供更新时,会有多么开心

当然,你不必为了表现得像一个客户而真的去雇佣开发人员。这成本太高了。 :]

但这种代入的思维可以帮助你从客户的角度看问题。尤其是当你故意做一些事来隐藏问题或者欺骗客户的时候。有一句我最喜欢的格言是:己所不欲,勿施于人。

3.解决常见的自由职业问题

和任何职业一样,自由职业也有危险区域。以下就是关于如何预测和预防最常见的问题。

解决前期所有模棱两可的问题

上面我就提到过,让客户满意的关键方法是明确客户的期望,消除有歧义的地方。项目一开始可能充斥着很多关于费率,酬劳,付款条件和时间期限等有歧义的地方。一定要正确地解决这些问题!

不要在稀里糊涂的情况下签署保密协议

我曾被多次要求在不告知相关项目任何细节之前签署保密协议。我的态度就是拒绝,即便有失去项目的风险。

为什么呢?问题就是,在对我需要保密什么都不知道的时候,我怎么能签署保密协议?如果我已经工作过的项目和这份保密协议发生了冲突怎么办?

如果你遇到这种情况,那么不妨问问客户是否能给一个项目的大概想法,不需要透露太多——只要足以让你评估你是否可以负责任地签署这份保密协议即可。

是什么样的项目?是社交app吗?——哦,好吧,我想我应该告诉你我最近开发过类似的项目。

是什么样的项目?一个用来计算太空火箭的轨迹和油耗的app?——那行,我可以签署保密协议。我敢肯定我从来没有参与过任何哪怕是一点点相似的项目。

阅读和理解合同

这是显而易见的,但是这个话题要格外小心地处理。合同是你和你的客户之间具有法律约束力的协议,但由于通常是你的客户要求你签署得,所以合同主要用来保护他和他的项目,而不是你。

这里很难给出建议,因为没有两份合同是一样的,最重要的是,我不是律师。但这里有几条通用的指导:

  • 仔细阅读合同。
  • 再次仔细阅读,然后再来一遍!
  • 只管去联系有经验的律师来帮你审查合同,尤其是有任何困惑,不清楚或令人不安的地方。诚然,法律咨询是昂贵的,但最后如果有用的话,绝对物超所值。
  • 如果你发现任何错误,或含糊不清不利于你的条款,那么只管提出修改。
  • 如果客户拒绝修改,那么退一步去寻找其他的项目。

做好突然没工作的准备

没有提前通知,项目就停了下来,这是自由职业的属性之一。我的对策是一次至少接两个兼职项目,而不是单单一个全职项目。

每一个项目都是其他项目的后备:如果其中一个被中止,我还有其他工作。毕竟,一半收入总比什么都没有要好。

当发生这种情况时,你可能会感到沮丧 ——至少,这有时会发生在我身上。我知道沮丧是正常的反应,并且当我觉得自己调整好心态之后,我会去寻找其他的挑战。

有时候,如果一两天过去了,我还是没有行动的激情,那么我会选择和家人一起共享天伦之乐,也许会去做一些我平时因为工作太多而没办法做的事情,比如参与业余活动(近日,我在学习打鼓:]),学习新的东西或看书。

最后,我不知道是运气,巧合,还是其他什么东西。当项目结束时,无论是突然发生的还是因为其自然而然地到了时间期限,我经常收到主动和意想不到的 offer。例如上一次,在项目突然被冻结的第二天,我在Stack Overflow上收到了一个方案,过了几天之后在LinkedIn上又收到了另一个。这两个都是新的联系人,而不是朋友的朋友。

不知道在你的身上是否发生过同样神奇的事情。

然而,无论是否是主动提供的offer,我会保持搜索,保持申请项目,询问我的联系人等,直到我终于找到一个值得我下功夫的新项目。这个过程有时需要几天,有时甚至要几个月。

按需出版 http://www.biyinjishi.com/products/a30-b3070/
广告展示 http://www.biyinjishi.com/products/a35/
户外喷绘 http://www.biyinjishi.com/products/a35-b3510/
LED显示屏 http://www.biyinjishi.com/products/a35-b3515/
门头 http://www.biyinjishi.com/products/a35-b3515/
灯箱 http://www.biyinjishi.com/products/a35-b3515/
LOGO墙 http://www.biyinjishi.com/products/a35-b3520/
广告字 http://www.biyinjishi.com/products/a35-b3520/
标牌 http://www.biyinjishi.com/products/a35-b3530/
标识 http://www.biyinjishi.com/products/a35-b3530/
会展配套 http://www.biyinjishi.com/products/a35-b3535/
会议 http://www.biyinjishi.com/products/a35-b3535/
展架租赁 http://www.biyinjishi.com/products/a35-b3550/
展具 http://www.biyinjishi.com/products/a35-b3550/
锦旗 http://www.biyinjishi.com/products/a35-b3560/
彩旗 http://www.biyinjishi.com/products/a35-b3560/
条幅 http://www.biyinjishi.com/products/a35-b3560/
墙贴 http://www.biyinjishi.com/products/a35-b3570/
车贴 http://www.biyinjishi.com/products/a35-b3570/

时间: 2024-10-13 05:20:31

自由程序员的 3 个开发技巧的相关文章

.Net程序员玩转Android开发---(1)环境搭建

对于没有接触过Android开发的人员来说,可能感觉Android开发比较困难,接下来的一段时间,我们将了解Android开发的具体细节,主要是面对.NET程序员,来看看.NET程序员怎样进行Android开发.  下面我们切入本节正题. 工欲善其事,必先利其器,下面我们准备Android开发的环境搭建,下面是开发的一些工具 1. JDK安装   jdk下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html JD

从一个程序员笑话看软件开发管理(转载)

从一个程序员笑话看软件开发管理 原文出处:猛禽的编程艺术 原文链接:http://blog.csdn.net/raptor/article/details/727299 有一个笑话是这样的: 1. 程序员写出自认为没有Bug的代码. 2. 软件测试,发现了20个Bug. 3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug. 4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug. 5. 重复3次步骤3和步骤4. 6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发

Java程序员如何转Android开发

最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区别: Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择.学安卓从事移动互联方向开发,学Java从事软件.网站开发.而安卓上的应用大多是Java编写的,所以建议在安卓前期的Java学习阶段中,要用心学好. 言简意赅的说说"转"前的准备:

如何让程序员更容易的开发Web界面?重构SmartAdmin展示TinyUI

如何让程序员更容易的开发Web界面,是一个持久的话题,所有的从事相关开发的公司都会碰到这个问题,并且被这个问题所深深困扰. Tiny框架也不得不直视这个问题,确实来说,想解决这个问题,也是非常有难度与深度的,业界也有各种各样的尝试,这也是有各种各样不同框架出现的原因. Tiny框架构建者认为,完全采用一种框架解决所有问题,是不现实的.而且即使目前找得到一种非常好的框架,暂时可以满足应用需要,但是随着技术的发展,业务的进化,就会慢慢变得不再满足业务需要.因此,Tiny框架构建从不再把做一套UI组件

80. 投奔怒海——一个Domino老程序员眼里的Java开发

这是一个以键盘鼠标为谋生工具已十多年的人初次进行专门的Java开发的体验和感受,对于Java程序员,这些也许早就习以为常,那就把这当成从一个来自不同世界的新人眼里看看他们自己的工作:对于我的Domino同行,这些体验或许将来有更多共鸣的可能. 在加入到这个Java产品开发团队之前,我的Java开发经验如下:十几年前跟着一本Java入门书做练习写的几个Applet,Domino项目开发中写的几个读写数据库和外部邮件的代理,XPages开发中的少量Java Beans和一个流程库.除此之外就只剩下对

《程序员的呐喊》:一个熟悉多种语言的老程序员对编程语言、开发流程、google的战略等的思考,比较有趣。 五星推荐

作者熟悉二三十种编程语言,写了20多年代码.本书是作者对编程语言.开发流程.google的战略等的思考.比较有趣. 前面部分是作者对编程语言的一些思考.作者鄙视C++, Java,面向对象.比较有趣的是作者把编程语言和思想划分为自由和保守两大阵营.自由派希望快速发布,容忍bug和安全上的缺陷,保守派则重视安全和稳健 作者认为,设计优秀的弱类型系统比同样优秀的强类型系统更有竞争力. 作者推崇精简,认为代码最大的敌人是体格,也就是代码的行数. 作者认为Perl和Python两种语言的出现时间差不多,

漫谈程序员系列:软件开发的十八般乐趣

有人说我在传递负能量,看了我的"漫谈程序员系列"感到了前所未有的彷徨与迷惘,哇哦,这不是我的初衷,我只是给你看真实的世界,真的勇士,敢于直面惨淡的人生与淋漓的鲜血. 有人说我在黑程序员,好吧,我是不惮以最坏的恶意来揣测别人的,是吗?当然不是,我胸怀一颗善良慈悲的红心,来到这个世上,就是为了扯淡的,从未想着黑那谁谁谁,是吧,因为我也是程序员,还是老程序员. 总而言之,言而总之,我们需要正能量,就像多数人喜欢大团圆结局的电影一样.上帝抛我们到这世上,给我们各种困顿.挣扎.忧思.恐惧,生活已

经验:程序员10大职业生存技巧

  摘要: 随着敏捷开发.开发运营和分布式版本控制系统的愈渐流行,开发的重心逐渐从个人能力向小组合作转移 英文原文:Ten career tips every egocentric programmer should hear 翻译作者:– 蒋丽丽    如果你想在众多程序员中脱颖而出,下面这个现象是值得你深思的:随着敏捷开发.开发运营和分布式版本控制系统的愈渐流行,开发的重心逐渐从个人能力向小组合作转移. 在大多数情况下,团队.部门和个人会自行解决问题,团队负责人对最后的项目结果能做的很有限.

程序员10大职业生存技巧(转载)

如果你想在众多程序员中脱颖而出,下面这个现象是值得你深思的:随着敏捷开发.开发运营和分布式版本控制系统的愈渐流行,开发的重心逐渐从个人能力向小组合作转移. 在大多数情况下,团队.部门和个人会自行解决问题,团队负责人对最后的项目结果能做的很有限. 本文中所有技巧的中心思想和主题就是“不要庸庸碌碌,要为自己而活”.好了,坚持和学习下面这十大职业技巧,它们会是你乘风破浪的航船,带你到达成功的彼岸. 1. 你是最棒的 要相信自己是最棒的程序员,充满自信.随着时间的推移,你的崇拜者会越来越多.别担心会出洋