在家上班,躺着收钱?分享远程工作程序员的真实生活

程序员说未来 2024-08-29 13:14:47

这是《开发者说》的第15期,与以往采访的活跃于各行各业的开发者不同,这次我们将目光投向了优秀的远程开发者,本栏目将分享自由远程工作者的经历、见解和故事,希望能给大家带来一些崭新的视角。

这次我们邀请到的是拥有10年开发经验,7年远程开发经验的全职远程开发者于旦。于工考进清华汽车设计专业并顺利毕业,又转行学习后端、转向全栈,而后创立公司,最终全职投入远程开发。

在程序员客栈接单这几年来,于工逐渐探索出了一条技术,远程工作,和商业模式结合的可行之路。服务的客户和项目包括中国人寿的投资基金,国家自然科学基金项目,全美前三时尚买手电商,哈佛商学院MBA创业项目,Aptos Defi区块链交易所。

让我们一起走进他的故事。

1.请自我介绍一下,你是什么时候开始接触技术的?

我出生于湖南,小时候数学成绩很好,经常拿国家奥赛奖。通过清华艺术冬令营,作为特长生考进清华。大学学的是汽车造型设计。我的逻辑推理能力比较可以,数学里面代数,计算推理对我来讲很简单,我在大学学软件很厉害,各类3D软件,我玩的很好,还拿了国际奖项。凭借这个技能,毕业以后,顺利进入到一个汽车设计公司做数字模型设计。

我上大学的时候在学习汽车的建模软件,但我每次用的时候我都在想,这个建模软件的背后到底是怎么一步一步算出来的,现在想来那时候的动机和冲动就是想要深入挖掘编程原理了,只不过那会儿就一直还没找到机会,可以说我的兴奋点一直是在算法上。

真正接触技术的起点,是在广州做服装供应链的时候。那阵子我负责对供应链企业进行管理。在对接了大量加工厂以后,对不同的组织管理,生产方式有了具象的理解,我发现每家工厂的设备和生产流程,决定了效益和成本,先进的厂更接近和倾向采用全自动化的方案。

想象以后的生产,应该采用哪些方式,会有什么样的更先进的设备和流程被发明出来,那时感受到了信息化潮流,是如何深刻影响未来生产变革的,于是决定把信息化作为一个长期方向,就开始自学编程,投入到技术领域来。

我研究一个领域喜欢从历史和理论入手。历史可以让人获得全面的视角,理论通过习得,可以让人在处理一类问题的时候得心应手。

计算机历史很短,能找到的史料不多,我顺便把数学史也修了。理科的更学成分不像人文学科那么重,是学习的主要途径,但是对于学习的帮助,还是很大的。专业课还是从大学课程表来获取,我参考的是MIT的程序语言专业课程。

印象深刻的,硬件原理,操作系统,和程序语言,有一度对LISP 和 lambda 很着迷,觉得搞这种工作可以集才华和成就一体。设想自己靠编译器能不能搞一点成绩出来,当然这并不现实,原因到比较久以后才想明白。

2.分享一下自己的从业经历,是什么契机开始进行远程工作?

我毕业的时候去汽车设计公司,做过汽车设计师,也做过一些产品设计,还做过UI,后来又参与了做服装供应链管理。自学编程后,由于自己工作几年也攒了点钱,我在成都开了个公司。

当时想搞一个IOS相机,因为那阵子苹果app比较火,发布上去比较容易有人用,当时IOS的应用比较少,所以我就想做一个相机应用。应用上线了以后下载的人还挺多的,但可能技术上还不是特别到位,所以做起来感觉自己搞开发有点难度。

当时做的iOS相机应用

当时上线了以后还是反响还可以,大概有几万个下载,但因为我更新比较慢,做这个相机也要结合一点后端啥的,慢慢地就觉得搞一个APP上线到维护没有那么简单,又重新搞技术升级。总的来说:从下载到盈利的距离,有点遥远。

后来我又想找个班上,也顺利进了个国企。做了一小段时间觉得自己不是特别适合。因为我是自驱型的那种人,就是对于自己的发展,想做什么技术栈,我有一些自己的想法,公司很多时候要统一步调。其实找工作要找到一个就是跟自己愿景感觉特别契合的有点难度,所以我就决定走走看自己的道路。

大厂的需求比较确定,基本上是根据自身业务设岗,薪资稳定,升职路径比较明确;远程工作,时间安排自由,需要比较强的自驱能力,和明确的目标。前期发育有难度,跑通了模式以后,会有更稳定的预期增长,不太担心35岁失业。

于工的部分项目

意识到个人早期项目离盈利比较远以后,开始尝试用提供技术服务的方式,来缩小所需的能力范围。调研了国内外的技术市场各类平台,发现程序员客栈在接单这方面处于头部,就注册进来,也没有怎么搞营销,那时候也不太会,就按照操作办法,把资料填齐全了,依靠客栈的推荐算法,接到了一个电商项目。

搞理论,搞技术,和搞市场,其实是三个不同的终点。不过,不管哪个方向,还是离不开另外两个支撑。技术服务市场也存在不同的细分领域,我一开始做的是后端。接了几个小项目练手以后,基本上就掌握了这个服务所需要的技能。慢慢对市场生态有了一定的了解。

可能是因为开始做的是电商类的项目,导致后面积累到的经验也是电商,社交,爬虫这类网络应用,积累的越多,升级也就越快,推荐的项目也会根据前面的项目分配权重。依靠项目质量,慢慢摆脱了接不到单的局面。

3.你是怎么接触、尝试到远程工作的?

我刚注册程序员客栈的时候,已经尽可能把资料填的比较完善了,客栈也有一个推荐的机制等着接单。我当时给了一个中位偏上的报价,等了一两个月都没啥反应。然后我就意识到如果你没有生意就一定要降价,只要降价你就有生意,我就想没有单做,那我就把价格调低,调低了一次不行,又过一两个礼拜又调,再接不到又调,等到调到一个“性价比很高”的价格时,我就开张了。

远程开发者日常:心里有工作,上班旅游两不误

现在想来并不是我的工时不值这个价格,万事开头难,在一个崭新的领域,个人的劳动价值要受到认可是需要经过时间的检验的。等到单量上来了,口碑维护好了,权重高了,就可以慢慢调整到一个合理的价位了。

我接触的第一个单子是个二开。当时这个项目他们做出来有点问题,上不了线,我这边就接手来debug查这个问题,结果发现他是整个流程上的问题。

业务大概的问题就是活动流程没画好,流转出了比较严重的问题,然后我把这个问题找出来了,给甲方给修复了,顺利完成了第一单。

4.你目前的工作、生活、收入状态如何?满意自己的现状吗?

我对自己的生活比较满意,现在的生活比较简单,白天工作,工作完了下午晚上就锻炼一下,休息一下,然后就睡觉,简单且充实,也算是实现了“在家工作,躺着收钱”的目标了。

现在远程工作需要高端的需求要少一点,我感觉跟这个生态有一些关系,因为大厂需求比较稳定,在客栈里面,想要找到一个非常稳定的非常高端的这种需求(T9以上)比较难找,但是以后肯定是有希望的。

至于收入这块,大多数远程自由职业开发者的收入中位数在2w左右,省去了一定的租房和通勤的成本,这个收入还是比较诱人的。

当然,高端的自由远程职业者年收入能达到百万级,这个天花板还是很高的。

5.聊聊远程工作和坐班的对比,远程工作的自由度和薪资收益怎么样?

远程跟坐班核心的区别你和协作方的沟通。你见不到他也看不到你,如何保持协作和信任是最最关键的,然后只要解决好这个问题的话,其他的都还好,也没有太大区别。

首先你每天不用去通勤,然后第二个自己有自驱能力,有愿景的话,其实能给你省出来挺多的,让自己去升级的时间。

我做过挺多尝试的,包括走项目制和走云端制。云端制可以兼职,也可以全职,这都没有问题,相当于是你有一个相对固定的时间和一个相对固定的收益,这种需求也是长期制的,好处就是能够培养一个相对比较稳定的合作关系。

项目制是按项目来报价的,然后接单的时候会告诉你们要商量好要做的活都包括哪些,项目制的缺点是你交付完了以后,后续的需求不稳定。很多时候,项目来的时候有周期性,就是每年有那么几个月注定这个人就多,因为这个需求并不是均匀分布的,需求比较多的时候很容易爆单。比如618双十一大促期间电商项目的活就要多一些,容易一下子接很多活,我记得有一回我三个月是把今年的活都接完了。

云端制的需求没有那么明确,它知道他长期要做这个事,所以你们按照时间或者按照工作量来约定一段时间完成多少东西,然后他就不断的给你提新的需求,不断的去完成他的需求。

现在我在尝试全职一个云端,就是把所有的时间都投入到一个场景项目里,我做这个选择还是因为想要把一个项目打磨得更好一点,跟着项目一起去成长。

6. 在从事远程工作的过程中,你有没有印象深刻的项目?

对我个人来说,有这么几个项目是具有里程碑意义的。虽说我是靠着做项目挣钱,但实际上我也是在跟着项目一起成长,有的项目是解锁了整个后端,有的项目是彻底搞定了产品,有的项目是解决了这个前端。

我一开始搞这个开发的时候,我本来就是全栈,就是所有的技术都有做,虽然刚开始创业做IOS相机,图片社交的应用时,相当于开发的每一方面都有一点接触,但对编程的理解其实不是那么的透彻,这几年一个项目一个项目的做下来,慢慢的就把中间的这些问题都解决得比较好了,也可以说是专业级了。

我做过一个艺术二维码的项目。那个项目我基本上把后端的问题解决得比较到位了,把各方面的问题都考虑到了,也都解决好了,最后做出来效果也挺好,这个项目对我自己来讲还挺满意的,自那以后我的后端就几乎就没啥毛病了。

7.作为远程工作者,你遇到过哪些坑?

做好了后端以后,我发现工作中的瓶颈来源于前后几个需要配合的岗位。最开始老是跟前端套不上,后来又发现产品原型做出来有问题。

有个MCN项目,甲方需求是通过直播平台管理账号数据给雇佣网红发工资,接的时候没有注意,原型拿到手里,才发现产品架构里面有一个爬虫去往直播平台拿数据来进行统计的环节,没有直接的api从接口获取直播数据,还没有开始做,已经意识到项目死亡的结向。这让我认识到,项目中最大的坑,其实是项目当中相关的协作方,在重大问题上存在尚未沟通的潜在分歧。解决这些分歧,恰恰是项目实施的最大成本。

项目组织和实施,其实是有一套默认的运行规则,是依据一定原理设置的,但是实际进来的参与方并不总是符合假定他应该意识到的职责,一直到项目裂开,才发现存在脱节,往往为时已晚。

远程开发,设备也得跟上

有个项目,甲方预算比较少,没有原型,当时我正好时间比较充裕,就自告奋勇免费给甲方做了产品原型,开启了新的视角,慢慢跑通了从产品到架构到后端实施的线路。这个可能算是对业务产生认知和理解的起点。产品,是用来连接业务和技术的桥梁,没有产品视角,就不容易对业务产生理解,而业务,又是通往市场的必经桥梁。这个时候我做项目已经有一定的经验了,对业务也有了认知,对前后端和架构也有了比较到位的理解。组的一些小团队,也能在市场上站稳脚跟。

有一个项目,让我进一步改变了想法。这是个艺术二维码设计和营销平台,潜在市场目标保守估计在千万级。项目甲方已经跑通了商业模式,解决了业务需要的技术,在市场中通过组织设计师生产模版,变现给对视觉形象有需求的B端客户,一般是市场中的中小企业。现在项目希望通过网络平台打通C端,培植一个生态。

我个人很看好这个项目的前景,于是加入了,这个项目虽然产品上有些小毛病,但是基本上原理层没问题,所以我用了两个月的时间,在后端实现尽可能做的很好,没有尽善尽美,但实施高水准。结果在前端实施拉垮了,这个项目最后做了一年才上线,在联调上浪费了大量的功夫。这种情况,经常发生。

有时候运气好,遇到的前端水平高,项目实施就比较顺利,要是遇到不合适的,就不甚理想。这让我对前后端分离的组织方式产生了怀疑。也促使我改变为全栈负责的模式。慢慢就解决了协调的问题。其实全栈的好处是多方面的,它最大的好处是让你对全局有了完整的把握,完成了全栈项目,就站到了项目经理的视角,可以重新审视项目成败的每一个要素。

解决了技术问题以后,现在做项目更多就聚焦在了解决业务模式跑通的问题上了。在商业的另一端,是连接人和需求。在市场里面,有大量业务精通的人,需要通过技术来完成升级和闭环搭建。穿透技术,产品,业务,可以极大程度的规划和落地优秀的项目,最大程度降低沟通损耗,避免路线和试错成本,让更多的业务闭环成为可能。

还有一个项目聊的时候,听着感觉都挺正常的,结果拿到原型时才发现这个项目的技术和原理跑不通。这个时候就特别痛苦,因为就是社会协作它就是这样子,你在这个岗位你也只能尽到这个岗位的责任,有的时候确实没有办法。

一个项目要成功确实是要项目甲方和协作方一起齐心协力的去划这个船,这个船才能划得动,但如果说项目本身出了比较大的问题的话,这里面的任何一方也是有心而无力的。

后来我很勉强地把它做完了,可能也做了两三个月,项目的甲方还挺好的。当时要过年了,老板说发点钱让大家去过年,就把项目给结了。

其实做项目基本上一路全都是坑,而且并不是说你一开始就可以避开所有的坑,每一种避坑的这个方法不太一样。很多时候前端或后端跟你的观点不一样的时候,这个时候就很难,除非说项目里面有一个人能够把这两个端全部打通才可以保证项目最后能够完成,而效率能有多少也是取决于双方的默契程度,这是第一个。

第二个如果产品有坑导致前后端把它搞不起来了,又是一个新的问题了,然后解决它的办法依然是里面的技术点要搞完。

此外还有比如说成本的坑,甲方觉得这个价钱我要做的东西丢给你,你就要全都给我实现出来。总之这个坑是无限的,你解决掉的这个坑越多,那你越有可能把这个项目做得更大一点,更完美一点。

首先你要自己判断一下这个项目是不是它本身就是不通的,要么在做之前还要再跟需求方再聊一遍,比方说ABCD项功能实现再确认一下。不然有可能做的过程中再遇到问题又解决不了,之后两边也协调不下来,很花时间和精力,也达不到一个很好的结果。

其实越是低端的岗位越是依赖高层的设计,客栈里面的项目组织其实比较适合特别专业的甲方来找这种项目,如果甲方很专业的话,你操心的事就没那么多,但是实际情况往往又是反过来的,就是来找的人他往往对开发的理解比较有限,这个时候就容易导致他觉得这个事特别简单,但是在开发或者说在实际编码操作来讲,这个事有可能就复杂度远远超过想象。

所以这种需求上的差异不太好弥合,其实我在沟通的时候往往也是更着重去沟通需求,只有真的把他的需求弄明白了,你才能知道他这个规模和成本到底有多大,到底能达到哪个量级。开发者能够清晰的感觉到自己要做的东西是咋样的,双方都有这个默契是最理想的。

8.自由职业给你生活带来了哪些变化?

19年疫情的时候,那年我在大理。疫情其实对这个传统行业的冲击还挺厉害的,但是那一年我的这个生活的状态和这个工作没有受影响。我在大理待可能有将近一年的时间,然后也是一边生活一边工作,因为你可以自己安排时间,你就可以把自己的生活安排的更好一些。

疫情期间的话,北美的一些科技公司激起了一波work from home的浪潮,包括国内当时也有部分大厂在效仿在家坐班,可以说是把远程工作这种工作形式进行了一次规模化的试点。

9.国内外的远程工作项目开发有什么区别?你是怎么接触到海外的项目的?

是有一些区别,一开始是底层的运维,这是最大的区别。国外海外的项目一般是在亚马逊、谷歌、微软的云平台上。运行国内项目的话一般就是阿里云,腾讯。

国内的项目是对接支付就对接微信支付,对接小程序,阿里支付,工具链技术栈不太一样。另一方面,这就是工作时间不太一样。国外有个十来个小时的时差,实际上协同的成本相对高一点,可能一天两边都得倒腾时间出来同步工作进度。

另外,国外的项目周期会更长一点,因为客栈在国内获客,所以它需求的种类特别多。国外的人找过来要费劲一些,一般他能找过来就说明他准备要充分一些,合作起来其实要容易一些。

10.什么样的程序员适合成为远程工作者?能不能给想从事远程工作的程序员一些意见和建议?

如果你规划要做远程工作的话尽早开始尝试,要有这个过渡期。但是如果你追求一个相对稳定的经济的话,我不太鼓励作为全职远程工作者,因为你自己要把这条路给跑通还是要花一些时间和精力的。

如果说你自己没有任何了解,或者说你还没有成功的接单的经验去做这个远程工作的话,风险还是蛮大的。

早一点规划早一点实施,然后等到有一定的把握了以后再切换赛道会更好。虽然说可能很多程序员还不想做一个全职的远程工作者,但是我觉得也算是给自己一条后路,给自己多一些试错的方向。

如果你在大厂能够干得很好,然后大概率你做项目的这个能力也不会有问题,给自己多条路子也是多个方向。

坚持跑步、健身,日子充实且幸福

11.你还会继续做自由远程工作吗?为什么?

肯定会的,因为远程工作或者说远程职业也可以理解成是一种商业模式,跑通了以后也是一条很完善的职业发展路径。

我以前会做很多尝试,早期的时候我就经常换工作,但后来我就意识到一个问题:职业生涯是需要积累的,你的后一步其实是建立在你的前一步的基础上的。

所以其实我入这个编程是经过了很审慎的考虑的,所以怎么一步一步的去把这个职业生涯规划好,我还是有自己的想法并且付诸实践的。

12.你对数字游民的看法是什么?你认为就是这种远程的工作会成为之后的主流趋势吗?

肯定会的,这个里面的变化我感觉会远超你我的想象。

在程序员客栈的这些年,随着市场实践的积累,我逐渐感觉到了市场发展的走向,对未来的方向有了更深入的理解。当前的趋势,是互联网web3生态持久更替市场,大平台逐渐趋于稳定,赋能小商业和个体。

电脑一放,哪里都可以coding

未来的科技会逐渐平权化,慢慢变得看上去像传统产业,开发成本趋于廉价,随着saas市场的日趋成熟,基础设施会变得廉价,对于开发而言,以前需要大规模成本研发的产品,现在可以通过越来越少的生产力完成了,基础设施的廉价,消除了业务当中的隐性成本,促进信息产品的丰富。

目前还有很多小众商业模式,垂直领域,没有机会进入平台和投资基金的视野,但是也有信息化的需求,这些模式无法负担大规模的研发成本,对于中小团队,却是天然的土壤。经济和交换的增长,是依赖于社会生态结构的生长的,这个需求被不断创造和细化的时代,蕴含着无限的可能性。

故事征集:

《开发者说》是我们最新推出的一个访谈栏目,邀请了一些国内外有趣的程序员来分享他们的经验、观点与成长故事,我们尝试建立一个程序员交流与学习的平台。

欢迎大家推荐朋友或自己来参加我们的节目,分享与对话是一件利他又利己的事。

0 阅读:1

程序员说未来

简介:感谢大家的关注