近期准备找下一份远程工作,求建议

2015-06-24 03:05:58 +08:00
 mouhong

毕业就要满6年,前1年半全职上班,然后自由职业一年多,再后来在一家公司远程工作到现在(刚辞职)。

走上自由职业的路完全是一个巧合,当时我并没有一个明确目标,只是在某个地方看到了这么个名词,颠覆了我的观念。因为业余时我刚好写了个CMS系统作为平常练手用,所以当时想,要不我就用这CMS来接网站的单,只要一个月能接一单,赚3K左右让我活下去,我就继续走这条路,否则就找工作。

网站项目是没接到,倒是接到一同学介绍的一个企业项目,借着这个项目我开始了自由职业。项目本来预估一个月,结果做了一年,一个人从Web前端做到C#后端,还有工厂扫描枪上的程序 (扫描枪装的是Windows Mobile,所以其实也就是一个WinForm程序,倒也没什么新东西),还从厦门跑到沈阳深入工厂做项目实施 (这是一个企业信息化项目,Web端接受经销商订单,然后和工厂中的设备对接,完成订单到生厂这个流程的信息化,工厂设备有相应接口,所以主要还是做Web部分)。这个项目两期最后收了大概3W左右,自由是自由,但是穷得一塌糊涂。

这期间因老师介绍也到另一家做教育方面的企业系统的公司以兼职形式客串了两个月,后来老板想留我在那,给我画了不小的饼,年少的我当时也纠结了半天,还好后来想清楚了,当时他们公司大多数员工薪水只有两三千,虽然老板画的饼里暗示我的薪水会比他们高得多,但低薪环境意味着这不会是一家尊重程序员价值的公司,给我再多也不敢拿,更重要的是,公司发通告要求员工上班不能上网看网页,这种通告让我感觉很无语。

自由职业时工作时间很灵活,但极缺在项目估时和商务谈判上的经验,每次都亏本,我也比较好说话,中间加了N多需求我一分钱都没要,工厂那个项目的老板可能也感觉有点对不住我,后来主动给我打了几千块的补偿。不过不管怎样,这个自由职业是继续不下去了。

说来也巧,在我快活不下去时,第一家公司联系我,表明不想全职以后,对方表示有一个客户的项目可以接受在家兼职工作,计时薪,这意味着有干活就确定有收入,不用冒着低估工作量的风险,只要每天记录一下工作内容,月底发他们即可。我很感谢他们对我的信任,事实上,他们应该没有看我的工作记录,只有财务算钱时才会看一下里面的工时统计。有朋友感觉不可思议,说要是我乱写怎么办?但我相信人与人之间基本的信任是会存在的,而且正直一定是成功的基础,我没有必要这样自毁前程。

然后,我就开始了兼职远程工作的生涯。当时找我去是因为项目人手极缺,但接触项目后,我感觉根本原因是技术债务太重。代码里太多的 Copy-Paste,不使用的代码也不删除。所以当时我想改变这种状况,一方面开始重构部分业务变化最频繁的模块,另一方面制定一些 Code Review 规则,鼓励写单元测试,但似乎总是缺了点什么。这是一个客户的项目,项目组的成员相当于是人员外包给这个客户,客户没有技术团队建设的概念,我的计划还没实施多久,因为客户另一个项目的负责人走了,我就被调过去填上了,之前的计划自然也就停住了。

但新接手的这个项目更糟糕,项目业务逻辑相当复杂,是一个B2B的电商项目,B2B项目里的计价方式和B2C有很大差别,算一个订单价格时要从零件价格算起,不同零件还有不同的规则,但这些代码全都是用 IF-ELSE 加硬编码加到处 Copy-Paste 写的好吗!!此外还有,4千多行的JS文件到处都是(4K行最后被重构到三四百行,重复得有多严重)。但既然接手了,就决定把它做好,和一个产品经理一起(他设计功能和用户体验),两个人,一年多,至少从我的角度,这个项目后来算是比较可控了,包括计价规则,原本是客户经常发邮件过来说帮忙改下某产品的计价规则,后来我改成让客户自己在后台通过公式来配置了。我对重构、单元测试这种事热情比较大,倒不是我闲得蛋疼,主要是想让客户少烦我一点。

后来公司想把我拉到研发部,但这个B2B项目的客户不肯,这个客户带来的收益应该不大,所以公司干脆就和这个客户中止了合作,于是就进了研发部,做框架型产品,所以这时的主要任务是设计扩展点和API。

研发部的项目就更自由了,因为这种项目根本就没有明确的需求,只有老板的一些基础想法,你要做的就是和团队成员一起设计更好的需求,然后实现它,你可以尽情发挥你的想法,这也挺合我味口,说实话我不喜欢那种“项目经理分解任务(这在软件工程里好像还有个什么术语,三个字母的),再分配给程序员”的团队,每个人按部就班地完成工作,你要做的就是完成任务,没有一点意思。

但这毕竟是一个老板直接领导的项目组,说实话和老板一起工作多少有那么点不自在。但更多的是,在研发部呆了两年后,我发现我开始有一股很强的冲动,想找一个至少一半以上的人都比我厉害的团队,做一些我没做过、做不来的事情。

突然发现已经离题八万里了,哎,每到深夜时情感就会泛滥...切回正题。近期打算开始找工作了(项目交接中)。

我当前的技术栈

ASP.NET/C#/JavaScript,主要做后端,MongoDB, RavenDB 这些也都用过,但因为公司项目用不到,所以只在业余项目用一些,用得不深,不过我对文档型数据库模型设计特点应该也还算比较熟悉。

前端偶尔也做,但没太花心思去研究,了解得不是太深。用过两次 SPA (DurandalJS),偶尔也写一些简单的JS库项目内用 (主要是封装一些项目相关的UI组件,或对第三方JS库做一些扩展,不重复造轮子)。因为产品类型的原因,所以现在大部分工作内容都是设计框架、扩展点等。

期望的团队

为什么远程?

我真觉得每天花两小时挤公交是浪费生命,两小时干什么不好,非要在路上颠簸,通常晚上挤完公交回来,人也很累;其次,我看到太多的同事中午趴在桌子上午休,这么艰苦的午休,怎么保证下午的工作效率?再者,我工作中间休息时,会想要看看书,或练练吉他,这在办公室是做不到的;

前段时间看到一网文,说是某著名团队创始人讲,我们一起工作基本靠吼,我不太认可这种观念,“吼”是方便了你,但这是以打断另一位(或多位)同事的工作为代价的。你“吼”一声可以迅速解决你的问题,但别人要花十几分钟甚至更多时间来“接”上刚才被打断的工作。

为什么不做外包

外包是一次性项目,即使我写再好的代码,这个项目数月后也会终止。而我希望我写的代码能对项目产生长远影响,今天重构一段代码,意味着以后踩坑的机率可以小一点,多写一个单元测试,被紧急电话吵醒的机会就少一些。文艺一点说,就是我希望我能对项目产生感情,这在外包项目上是不可能做到的。

自我评价

和我相关的链接

我想知道的

谢谢大家。

12782 次点击
所在节点    程序员
80 条回复
anubiskong
2015-06-24 11:12:20 +08:00
同求js方面的全栈职位
mouhong
2015-06-24 11:18:23 +08:00
@woojuno 其实是公司 A 为工厂 B 提供信息化服务,A 卖进口机器给 B,后来 A 想在软件方面加强一下才找的我,我相当于是为 A 服务的。项目实施包括硬件和软件,A 说怕软件实施他们搞不定,希望我能和他们的硬件工程师一起去,我就过去了,当时感觉是按项目收钱的,所以实施期间我一分钱都没收...

虽然实施很累,但一个沈阳的清晨,我看到酒店附近的一片被秋天染成红色的小树丛,这一幕现在仍记忆犹新,在只有冬夏的福建呆了二十多年,终于第一次感受到了什么叫秋天
wincat
2015-06-24 11:32:25 +08:00
哈哈,我接手你你在A做的项目,并维护到现在。你算我不收学费的老师吧!祝你一路顺风!加油!
mouhong
2015-06-24 11:33:56 +08:00
@keroro520 做外包的自由职业我两年前就不太想做了,虽然也能学到不少东西,但沉淀很少,成长太慢,在我前两年远程工作时,有时业余还接些外包晚上和周末做,弄得我非常忙,我现在都有点后悔,因为那段时间几乎学习就停滞了,如果让我再来一次,我会选择把更多的时间拿来看书。

至于远程工作嘛,我现在已经没有办法适应朝九晚五每天打卡的生活了,所以目前的计划是,远程工作到我退休 (如果有合适机会,可能也会考虑创业)。到办公室上班是不太可能了,除非办公室离我家非常近,走路能到。这样倒是可以每周去公司上两三天班,一个人远程工作也有一点不好的地方就是比较孤独。
CIVITAS
2015-06-24 11:34:44 +08:00
我们是做原创移动游戏的团队,足够靠谱。附链接,有兴趣可以聊聊,可以满足楼主所提的要求。
http://bb.soobb.com/t/754
BTW 楼主是在晒脸
MOsky
2015-06-24 11:35:28 +08:00
已关注楼主的 GitHub。

我也是一个远程工作者,不过没有做个自由职业。楼主的文章全部看完了,深有感触。

我曾经很认真的思考过如果我做自由职业的话,我会是一个什么样的生存状态,而我能够做什么样的工作。不过我总有一种感觉,搞技术的开发者做自由职业的话几乎都是在接外包。

那就说外包吧。如果你专心技术的话,做外包就必须分出精力来维系自己的人脉来接单,同时要维护自己的商业形象(信誉,技术实力)。不论是通过熟人接单,还是通过 freelancer 这样的平台,都要花很多精力在非技术面上。

同时还要进行风险管理(又是非技术上的),包括评估单的价值,评估单的隐形风险。有些垃圾单最好一开始就拒了。但这样还是无法避免踩坑,如果被坑了,就只好接受现实了,这就考验你承担风险的能力。

总结:如果做一个单打独斗的自由职业者,你将不得不分出很多精力在非技术面上,即便如此,还得承担不小的风险。

我个人认为,自由职业者也许应该抱成团,这个团可以是临时的(随时走不拦着),也可以是比较稳定的(成立一家远程工作的公司)。这样,通过一个团队来分散风险,并通过分工将非技术面的或集中在部分成员身上,以让其他成员能在技术面上投入更多的精力。

可以参考这个网站 yizaoyiwan.com 的创建者的例子。他也是做外包,但他们成立了一家公司,远程工作着可以全职或兼职与他们合作。

当然,以上内容即便的确是我认真考虑后所想的,但我毕竟没有做过自由职业者(我远程工作的资历也不如楼主)。如果楼主发现有错误的地方,还请赐教。
CIVITAS
2015-06-24 11:37:58 +08:00
对了,我们公司就在福州……
mouhong
2015-06-24 11:38:54 +08:00
@mugbya 其实我小学时是画素描,当时我的数学很差,去奥赛一道题都不会做,导致在后来的十几年中,我对理科都有一种条件反射式的恐惧感,后来才慢慢好了。初中时就想学吉他,但当时没有这样的环境,直到去年,我才找了个老师开始学...
mouhong
2015-06-24 11:41:44 +08:00
@inmyfree 好吧,这个倒没有注意,现在把 www 301跳转到 blog 了
CIVITAS
2015-06-24 11:46:02 +08:00
@mouhong
换个人来和你扯。事情很简单:我们是创业公司,对你感兴趣。

不过,不确定在这里和你沟通是否合适,或者应该换邮件?

当然,首先需要确定你是否有风险偏好,尽管我们发工资非常准时,有五险一金,薪资水平也很好谈。

但你可能对创业公司毫无兴趣,那也只有表示遗憾了。这也是人之常情嘛。
mouhong
2015-06-24 11:48:27 +08:00
@MOsky 赞同你的观点,只是我花了很多时间去验证了 (走弯路)。初入行时做外包可以学到很多,毕竟是真实的项目,但如果要走纯技术道路,还是要适可而止,外包项目不如自己的产品那般能带给人成就感。
CIVITAS
2015-06-24 12:05:07 +08:00
上一条回复似乎不符合这里的社区礼仪,抱歉。

稍微翻了翻您提供的各类地址,暂未见到电子邮件?
exuxu
2015-06-24 12:07:17 +08:00
"我真觉得每天花两小时挤公交是浪费生命,两小时干什么不好,非要在路上颠簸"
你在说我喽?
mouhong
2015-06-24 12:33:02 +08:00
@wincat 那我知道你是谁了,嘿嘿~ 当时我就觉得软件开发才更适合你^^
zhonghua
2015-06-24 12:33:58 +08:00
@CIVITAS 路过的,很感兴趣,想聊一聊,怎么联系?
yangmls
2015-06-24 12:35:21 +08:00
@MOsky 赞,我也做了两年多的remote worker,因为是一个国际团队,氛围很好,也学到了很多东西。

如果是纯粹接外包的自由职业的话,我觉得有追求的技术都不应该去考虑,如果技术得不到长进,那我你宁可在路上浪费两个小时。
mouhong
2015-06-24 12:37:16 +08:00
@CIVITAS 不好意思,回复太频繁刚刚被禁言了T_T。我 GitHub 主页左侧有邮件地址。不过我对游戏基本一窍不通。初中有段时间极其沉迷于小霸王,但有次一个游戏打通关后,居然没有漂亮的祝贺页面,让我感觉很失落,从此对游戏就再也提不起兴趣了...
CIVITAS
2015-06-24 12:37:40 +08:00
@zhonghua
john@soobb.com 这是我的个人邮箱。
civitas@soobb.com 这是 HR 的个人邮箱。

工作场合,我们俩换着用邮箱。
另外,我们支持远程工作。我就是远程工作的,lol
CIVITAS
2015-06-24 12:38:45 +08:00
出门有点事,晚些时候回来和你说。
我们做的东西超级特别,国内现在没法归类。
当然,这事也是挺让人郁闷的一点。
mouhong
2015-06-24 12:39:27 +08:00
@exuxu 没呢,我其实说的是在抱怨那些古板的公司制度~~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/200681

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX