阅读更多
原文:Freelance Software Development Tips



这是三篇独立程序员(自由职业程序员)系列文章的最后一篇。
第一篇, 我们整理了一些成为独立程序员的优点和缺点,帮助你决定自己是否适合成为独立程序员。
第二篇,我们介绍了怎么成为一名独立程序员。
在这第三篇,将分享一些过去几年里我们作为成功的独立程序员所学习到的经验和技巧。

本文分成三大块来讲述:
  • 和客户的沟通
  • 维护自己的名声
  • 怎样解决一些常见的问题

和客户的沟通



第一个部分要谈的就是和你的客户沟通的问题。作为一名独立程序员,这是要做对的最重要的事。我发现客户喜欢有以下品质的人:

可靠
成为一个可靠的联系人,能及时的回复邮件和回答问题。同时,避免让客户担心你的进度,你可以给他们发送常规的进度报告或者当你完成一个目标后让他们知道。

礼貌
礼貌并且专业,友好也一样重要,毕竟我们是人!

诚实
不要说谎,总是遵守诺言。不要许下做不到的承诺。比如,不要在项目快结束的时候答应实现一些功能,如果你都知道你连按时项目都已经很困难了。

不要隐瞒问题
如果问题很严重或者迟早会暴露,尽快告诉客户。

记录你的时间使用
如果你是按照小时收费的,记录你的时间使用,并且经常告诉你的客户。如果你是按照项目一次收费的,这也可以帮助你评估你的效率。

提供技术建议
如果你发现客户做出了一个错误的技术决策,一定要告诉他们而不要让他们陷入困境。和他们讨论这个决定,但是要注意的是,最后还是让客户自己定夺。

提出问题
不要害怕提问,这可以让你和客户在未来省下不少心。如果有疑问,总是去问清楚,不要自己假设客户想要的是这样。如果一个需求定义的不是很清楚,或者缺失了一些关键的细节,要求他提供更多的细节,或者告诉你他想要的结果。这样他就能马上指出一些错误。

做出客户期望的东西,而不是你认为客户期望的东西
在软件开发里,总是有一条沟:沟的这边是客户期望的结果,沟的那边是最后他们得到的结果。消除歧义并且在不明确的时候不要自作主张是缩小这个沟两端距离的好方法。
比如,如果一个需求说:一个用户注册需要提供邮箱和密码。但是在另一个地方却说:一个用户登录需要输入用户名和密码。你会发现两个需求有冲突:注册时填的是邮箱,登录却要输入用户名。是把邮箱当做用户名还是在注册时需要填用户名?除非客户自己说明否则没人知道。

解决问题
当出现了一个问题,集中精力去解决它而不是去抱怨。

维护自己的名声
这个部分要分享一些怎么维护自己的名声的建议。
作为一名独立程序员,这是你最重要的资产。正如老话说的,那些你做过的好事早就消散在风里,而坏事永流传(good things are written in sand, bad things in stone)。
我们都希望事情不是这样,是反过来的,然而世界就是如此。如果你的名声不好,你就很难找到项目,尤其是在你的名声是公开的社交网络上。

最好的维护提高你的名声的方法就是让你的客户满意。

怎么样做到呢?一个可行的方法是临时把你想象成一个客户。我曾经从一些平台上(Freelancer、Upwork)雇过几次独立程序员,所以以下几点有切身体会:
  • 怎样从几份申请中选择程序员
  • 期望工作的进展是什么样
  • 当开发者没有告诉我当前的进度,没有回复我的邮件我有多郁闷
  • 如果开发者总是和你保持联系,回答你的问题,告诉你进度是多么开心

当然你真的不必为了体验客户的感觉真的去雇两个人,这还是挺贵的 。

如果你时常从客户的角度来思考会很有帮助。尤其是当你刻意隐瞒一些存在的问题或者撒谎这样的行为。这辈子我最喜欢的一句话就是:己所不欲勿施于人(没想到老外也知道这个。我天朝文化真是经久不衰)。

怎样解决一些常见的问题
最后一部分是解决独立程序员常见的一些问题的建议。

就像所有的职业一样,独立程序员也有危险的区域。这里告诉你怎样避免一些常见问题。

在项目开始前都谈清楚
在上面里我提到,让用户满意的一个关键就是明确客户的期望,消除歧义。项目的开始阶段也有很多不明确的地方:开发速度,开发费用,支付方式和交付日期。这些一定要谈的非常清楚。

不要在对项目一无所知的时候签下保密协议
有好几次客户在没有向我展示项目的任何信息就要我签署保密协议(NDA)。即使冒着丢掉的风险,我也总是拒绝。

为什么呢?关键是:我怎么能签下一份不知道具体详情的协议,让我自己去为它保密,在没有完成前都要保密,我连要保密的是什么我都不知道!如果我一开始就已经违反了保密协议呢?

如果你也遇到这样的情况,请求客户告诉你这个项目的idea是什么,不需要太多的细节,只要让你能有信心能做到保密。

这个项目是做什么的?一个社交约会APP?额....我应该告诉你们我最近在做着一些相似的项目。

仔细阅读理解合同里的条款
看起来这是显然的,但是这是需要一个特别认真对待的话题。一份合同是受法律保护的你和客户间的协议。并且通常都是客户要求你签的,这份合同通常总是更关注保护客户和他的项目的权益,而不是你的权益。

这很难给出建议,因为没有两份合同是一样的,而且更重要的是,我也不是一个律师。但是有一些通用的忠告:

  • 仔细的读合同。
  • 在仔细的读一遍,然后再读一遍!
  • 如果某个部分不明白或者不清晰,一定要找个有经验的代理人帮你看看。是的,虽然获得法律的建议要花费一些钱,但是这些建议可能最后为你节省更多的钱。
  • 如果你发现有一些错误,歧义或者你不喜欢的条款,不要害怕提出来。
  • 如果客户不同意你提出的要求,放弃去寻找另一个项目。

为可能突然找不到项目做准备
有时你在一个项目完成时找不到下一个项目是很正常的情况。我的对策就是保证自己至少同时在做着两个可以兼顾的项目,宁可放弃一个可以专职的项目。

这样每个项目都可以为另一个项目当做后备:如果一个结束了,我还是有项目可以做。毕竟有一半收入比完全没有好。

当真的发生这样的情况,你可能会很伤心,至少我有时会这样觉得。但是我知道这只是一种正常的反应,当我感觉我状态正常了我就开始找一些其他有挑战的事。

如果我依然没有激情状态不好,我就会让自己休息一两天。我会和家里人花更多的时间相处,也可能做一些我平常没法做的事,因为总是有着大量的工作,比如一些休闲活动(我最近在练习打鼓:]),学习一些新东西或者读读书。

最后,我不知道是因为运气好,巧合还是其他的什么。当我的一个项目结束的时候,我经常就收到主动邀请我的offer。上一次,比如,在一个项目突然暂停后的第二天,我就接到Stack Overflow的邀请,在那之后的几天又收到LinkedIn的。都是一些不太熟的人,不是朋友或者朋友的朋友介绍的。

我希望这样的事情也能发生在你的身上。

然而,无论有没有主动的offer,我会坚持搜索,申请项目,询问我的朋友等等。知道我有一个新的项目可以做。有时会花几天时间,有时也能要几个月。

这些我都知道了,我还能去哪多了解一些?
我希望以上提到的这些能对你有帮助,如果你在考虑是不是要否要成为一个独立程序员,或者已经是了正在寻找一些经验建议。

如果你想要了解更多的东西,下面是一些可以提供的资源:

有人给我推荐过:Serial Winner,一本不是专门给自由职业者的看的书,而是给那些希望自己总是成功的人的书。

还有一本是我的个人推荐,和自由职业者完全不相关但是有好几个地方都激励了我,是关于管理你的资金:The Richest Man in Babylon

译文来自:简书
  • 大小: 84.8 KB
  • 大小: 52.8 KB
来自: 简书
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 思考方法,程序员生存之道

    我想所有有热情的程序员都经过这一步。对技术不断求深求广求精。后来喜欢玩设计,技术有一定积累了,就想更大的提高,自然就到了设计阶段(最初也学了好多,但是设计这东西必定要基于足够多的实践)。这么又过了几年...

  • 程序员常用英语单词1700

     派给…任务 111. view n. & v. 视图,景象 112. switch n. & v. 开关,转换,切换 113. include vt. 包括,包含 114. get v. 得到,获得,取 115. default v. 缺省,预置,约定 116. structure n. ...

  • 8w 字,给程序员的职场第一课(上篇)

    同时,文章里面给出了一些我的职场经历,希望能够让大家对程序员这个圈子有所深入理解。总计 30 讲,这一篇是上篇,目录清单: 前言:关于职场,你需要不断拼搏 大学最重要的 8 件事 大公司...

  • 程序员成长规划

    我早就有和他们共语的愿望,希望通过这个主题和他们交流程序员所关注的各种问题,希望我的经验有助于他们的成长,同时我也想谈谈EOM对程序员的真正价值的影响,以及如何实现“成?榷じ谴摹闭飧龀绦蛟钡淖罡呙蜗搿? ...

  • 程序员必备高频英语词汇

    派给…任务 111. view n. & v. 视图,景象 112. switch n. & v. 开关,转换,切换 113. include vt. 包括,包含 114. get v. 得到,获得,取 115. default v. 缺省,预置,约定 116. structure n. 结构,构造,构件...

  • 写给想通过程序员转型为项目经理的人

    写了这么多硬技术文章,今天转一篇在blog.joycode.net看到的软技术文章,对想通过程序员转型为项目经理的人有一些用处。 广为流传的一个关于项目管理的通俗讲解古老虾 发表于 2005-11-9 13:25:50 想首先问大家一个...

  • 程序员都该知道这5个定律,有朋友使用后,现在已经是软件工程师!

    这篇文章中,我将介绍我每次设计或实现软件时出现在我脑海的 5 个定律。其中有些和开发有关,有些和系统组织有关。它们可以帮助你成为合格的软件工程师。 墨菲定律 “凡事可能出错,就一定出错。” 这条定律...

  • 程序员专业词汇

    派给…任务 111.view n. & v. 视图,景象 112.switch n. & v. 开关,转换,切换 113.include vt. 包括,包含 114.get v. 得到,获得,取 115.default v. 缺省,预置,约定 116.structure['strʌktʃə]...

  • 读书之一--《程序员修炼之道》

    告诉你的老板“我的源码让猫给吃了”也无法改变这一点。 提供各种选择,不要找蹩脚的借口(Provide Options, Don’t Make Lame Excuses) 在你的头脑里把谈话预演一遍。其他人可能会说什么?他们是否会问:“你试了...

  • 程序员需要了解的五个定律

    这篇文章中,我将介绍我每次设计或实现软件时出现在我脑海的五大定律。其中有些和开发有关,有些和系统组织有关。它们可以帮助你成为合格的软件工程师。墨菲定律“凡事可能出错,就一定出错。” 这条定律来源于 ...

  • 程序员入门之路

    总之在这之后基本没有再学习了,后面去医院看了一下是支气管炎,开了药,感冒好了还是留下了早晚咳嗽的后遗症,(有病千万别挺着,这是血的教训),那个时候班也不怎么上了,基本每天请假,白天窝在宿舍疯狂玩手机...

  • 整理程序员常用英语单词1695个

     派给…任务 111 view n. & v. 视图,景象 view n. & v. 视图,景象 112 switch n. & v. 开关,转换,切换 switch n. & v. 开关,转换,切换 113 include vt. 包括,包含 include vt. 包括,包含 114 ...

  • 超过三十岁就不适合写代码了?看看国外程序员怎么说

    我是一个29岁的程序员。 随着时间的推移,我注意到的一点是,我不再像刚开始工作时那样朝气蓬勃、意气风发和精力充沛。随着年龄的增长,对我的工作要求越来越高,每天都需要学习新的东西,随着时间的推移,我的大脑...

  • 101个帮助你成为更好Web开发程序员的技巧

    对于像你我这样的开发人员来说,进入IT行业会带来很多挑战和机遇。有很多东西要学习和掌握。我们有React,Vue,Angular和Svelte之类的JavaScript框架。我们有静态站点生成器,即JAMstack,无服务器,Git,并且还在...

  • 程序员生存定律

    http://blog.csdn.net/leezy_2000/article/details/29407747#comments 程序员生存定律这书是陆续发的,所以做个目录让想从头读的方便些: 前言:解码程序人生

  • WebAudioAPIError(解决方案).md

    项目中常见的问题,记录一下解决方案

  • avnet(安富利)网站详情页数据样例

    avnet(安富利)网站详情页数据样例

  • 1-全国各地区建筑业-二级专业承包建筑业企业利润总额2005-2012年-社科数据.zip

    该数据集涵盖了2005至2012年间全国各地区二级专业承包建筑业企业的利润总额。这些数据不仅包括了原始数据,还提供了线性插值和ARIMA填补的版本,以便于研究者能够根据不同的需求选择合适的数据形式进行分析。数据集中包含了行政区划代码、地区名称、是否属于长江经济带、经纬度信息、年份以及利润总额等关键指标。这些指标为评估企业的经营效益和盈利水平提供了重要依据,同时也反映了建筑业在不同地区的发展态势。数据来源为国家统计局,确保了数据的权威性和准确性。通过这些数据,研究者可以深入分析建筑业的经济贡献及其在宏观经济中的作用,为政策制定和行业规划提供数据支持。

  • CentOS6.4X64安装Oracle11g中文2.05MB最新版本

    本文档主要讲述的是CentOS6.4 X64安装Oracle11g;在CentOS安装oracle11g比安装oracle10g简单很多,oracle可以不设置比如OS内核参数、防火墙、环境变量等,所以实施时推荐安装oracle11g。感兴趣的朋友可以过来看看

Global site tag (gtag.js) - Google Analytics