支持Laravel.io的持续发展 →

作为一名Laravel开发者自由职业:一年后

29 Sep, 2022 25 min读

简介

截至2022年9月27日,我已经全职自由职业整整一年了!

对我来说,这感觉像是一个巨大的成就,而且我没想到能取得这样的成绩。

最近,很多人在LinkedIn和Twitter上问我过去一年的经历如何。因此,我想写一篇博文来谈谈我是如何进入自由职业这个行业的,我典型的工作日是什么样子,我在哪里寻找客户,以及利弊。当然,我只有一年的全职经验,所以我在这方面的经验还很新鲜,所以请把我说的一切都当做一种反思。这篇文章只讨论我在过去几年里的经历,我做的事情可能并不适合其他人。

在我开始之前,我只想说,很多人帮助我走到了今天这个位置,我非常愿意在本文中提到他们,以表达我的谢意并给予他们充分的认可。但出于他们的隐私考虑,我不会具体提及他们的姓名。

怎样进入自由职业

在我年轻时,自由职业的想法从未真正吸引我,我觉得这不是我长大后想做的事情。我实在无法解释为什么,但一点吸引力都没有。

在我就读于中央兰开夏大学(UCLan)的大一期间,一位商务导师在一次讲座中简要地谈论了自由职业,它的含义以及如何涉足该领域。我听了这次讲座,但基本上没有重视,因为我认为这永远都不会对我产生影响。幸运的是,我仍然做了笔记。

这位商务导师来自我大学里的一个叫做“螺旋”(或他们在办讲座时的“北极光”)。螺旋为学生和毕业生提供服务和建议,帮助他们创办自己的企业。但我会稍后再谈谈螺旋,因为他们在我成为自由职业者方面发挥了巨大作用。

当初,我上大学时,只有一个目标,那就是成为一名高中教师,教授11-16岁孩子的计算或IT。但当我在大二的时候,我参加了一门名为“高级交互式应用”(至少我想那是它的名字)的课程。整门课程都是关于使用PHP、JavaScript、HTML和CSS构建网络应用程序。我之前做过一些HTML和CSS,但我第一次学习了PHP和JavaScript。坦白说,我几乎是立刻就爱上了它们!我们首先构建了一个原型应用程序的前端设计,该应用程序可以让健身房人士记录每周的体重。然后我们开始用JavaScript为应用程序添加交互性(如图表和图表)。接着,我们开始用PHP编写服务器端代码来存储所有这些信息并与数据库交互。坦白说,这感觉太神奇了!我将一份纸上的想法变成了可以在您的桌面或手机上交互的东西。我真的感觉自己可以构建任何我想象得到的东西!

毫无疑问,这次课程的导师完全是我对网络开发产生爱好的原因!他还帮助我完成了本科和硕士的毕业设计。

在大三的时候,我的另一位导师将我的名字推荐给了一些想创建小型网站的人。我实际上从未做过过这种有偿的网络开发工作。所以,这感觉非常可怕。但我还是承担了这些网站的建设任务,并成功完成了它们。然后(这是最疯狂的部分)...我得到了报酬!我简直不敢相信。我竟然因为真正喜欢的事情而得到报酬。我还非常喜欢这个成品,任何人在世界上都可以查看。

就在这个时候,我改变了我想要成为一名教师,而想要成为一名网络开发者的想法。

成为自由职业者的想法也开始在我脑海中悄然萌生。于是我想起了我在大一时在螺旋听到的讲座,并决定去拜访他们。他们为我提供了一大堆帮助,帮助我开始了自由职业的旅程。就在2017年,我正式在英国注册成为了一名自由职业者。我得到了税务帮助,有关如何制定商业计划和如何经营业务以及如何寻找客户的指导,还有帮助。他们非常支持我。无论我提出什么问题(无论多愚蠢),他们都会有一个答案,并提供资源来帮助指导我。我还分配了一位导师(我偶尔还会和他联系)我在有疑问或需要指导时可以随时联系的人。

当我还在大学四年级(攻读硕士学位)时,已为几家当地企业建立了一些小型网站。因此,当我完成学业后,我不得不考虑是否要以自由职业作为我的主要收入来源。当时我认为这不是一个好主意。有几个阻碍。虽然我对网站开发有一定的学术知识,但我实际上并没有在现实世界中构建过除了小型网站之外的东西,也没有与团队一起工作的经验。我知道,如果我在职业生涯早期承担任何更大的项目,我可能会感到力不从心。所以我选择寻找全职工作,并且告诉自己,在5到10年内,我会全职做自由职业。

当我倒数第四年的尾声(约2018年)即将到来时,一位招聘人员联系了我,询问当地企业的一个初级网站开发职位。我注意到他们使用的是一个叫做“Laravel”的东西。我在几个不同的工作广告上看到过这个术语,但并不真正懂它是什么。所以我在网上做了一项快速搜索,以熟悉它是什么以及它实现的基础。我设法在他们对我的面试,然后成功获得了这份以Laravel作为全职员工的第一份全职工作。

前3或4个星期,我每天都带着头痛回到家。不是因为工作不好(那简直太好了,我太喜欢那份工作了!),而是因为我学到了很多东西!公司的首席开发人员坐下来,向我讲解了整个即将开发的项目代码库。我看到了Laravel的实际应用,还了解到了队列、缓存、事件、模型和监听器等各种东西。这真是太有用!我感觉自己学到了很多东西,并且我真心认为这是我的关键因素之一。我不是被交给一个项目然后被告知“这里,把这个项目做好”,而是实际上像我一样被当作初级员工,得到了指导和资源去学习。事实上,我非常喜欢在那家公司工作,至今仍然怀念那里的每一个人!

在我为这家公司工作的同时,周末和晚上我还继续做自由职业。但现在,我已经开始作为Laravel开发者做自由职业,而不仅仅是构建小型网站。

大约在那里工作了3年后,我开始在晚上与一个客户合作,在他们Laravel项目上工作。几个月后,他们问我是否愿意加入他们成为全职员工。起初,我礼貌地拒绝了他们的提议,因为我非常喜欢目前的工作。但他们告诉我工资,这将比我目前被支付的工资高出55%(这对我很重要!)。所以经过几周思考,我又联系了公司 director,并告诉他们我接受他们的提议,全职加入他们。

我也非常喜欢在那家新公司工作,因为整个团队都很好相处。我还得到了机会参与一个大型项目,并了解到了可扩展性等问题。

这时,我已经离开了大学3年,尝试在5到10年内达成目标的渴望开始增长。

我开始承担越来越多的自由职业工作。对我来说,这几乎是一个苦乐参半的时刻。一方面,我可能是在做我一生中做的最多自由职业工作(并且我也得到了我一生中支付的最高工资)。但我也非常有压力,而且一直在工作。我没有时间做除了工作之外的其他任何事情。这完全是我太贪婪,咬掉了自己嚼不动的果实。我告诉自己我能应付一切,但我做不到。

我做出了一个决定:我必须放弃其中一样东西:要么是自由职业,要么是全职工作。我实在无法继续两件事都做,因为我总是感觉身心俱疲。我因为一直工作而错过了与朋友和家人共度时光。

在这段时间里我思考了很多。最初的念头是辞去全职工作,转而从事自由职业。我这么想是因为如果现在不去做,将来有了更多责任,就再也不会去做。但我非常担心如果找不到足够的客户会怎么样。到目前为止,我把自由职业的收入当作额外的生活费。现在,我不得不把它当作全职收入来支付账单。

我和普罗佩拉尔(Propeller)的导师进行了多次交谈,他帮助我探讨了几种处理这种情况的方法。在我一直感到身心俱疲、压力巨大,并意识到自己在事业上给人际关系和友谊带来压力的时候,我的导师帮助我认识到一些非常重要的观点。

他让我意识到,我实际上并不像我想象的那么看重金钱。到目前为止,我一直追求金钱,尽我所能增加收入。可能我这么做是因为我觉得我应该这么做,或者可能一切都是出于我的虚荣心,我想证明自己能行。我仍然不完全清楚原因。他帮助我意识到,只要我有足够的生活费,我实际上并没有专注于金钱。我更关注的是拥有更多的自由和能够帮助他人,这正是我从中获得满足感的地方。

现在,我并不是说全职工作的人没有自由,不能帮助他人。因为那与现实相去甚远。但对我来说,我发现,通过自由职业,我有了更大的自由感,能够更加灵活地安排工作时间和工作内容。我还发现,正因为如此,我能够有更多的时间去做一些事情,比如写博客或参与开源项目。

我认真考虑了这一切,并联系了我的雇主,解释了我的情况。我问他是否可以减少我的工作时间(当然,工资也会减少)。于是我开始每周工作两天,剩下的三天从事自由职业项目。

我认为我成功地止住了这种冲动,但几个月过后,我又开始渴望全职自由职业。我开始联系过去的和现在的客户,以及我的网络中的人。我告诉他们,我正在考虑辞去工作,全职自由职业,并且如果他们需要,我可以提供服务。这对我非常有利,因为几位客户告诉我,他们有很多工作可以让我做满整个工作周。这让我有信心我会找到足够的收入工作。我还确保尽可能多地存钱,以建立一定的储蓄缓冲,以防万一几周甚至几个月内找不到工作。

最终,我迈出了决定性的步伐,向我的雇主提交了辞职信!

我将永远感激他们给予我的机会,因为他们告诉我,如果自由职业不成功,我可以回到他们那里重新获得工作。这让我减轻了很多负担,因为我知道,如果我一切都失败了,我还有备选方案。

这就是了,我现在终于成为一名全职自由职业者,我成功地提前五年到十年实现了自己的目标,只用了大约三年时间!

我现在做什么

现在,一年过去了,我的每周生活与我刚起步时略显不同。不像以前一周工作5天(周一至周五),我更喜欢把一周的时间分配得更加均衡。我有一个占据我一周大约3天的合同,这是我收入的主要来源。这个项目很有趣,团队里的人也都非常好!

至于一周中的另外2天,如果有小客户项目,我会处理它们。否则,我会利用这段时间做些给我带来满足感的事情,但这些事情不会直接为我带来收入,比如开源项目和我的博客。或者,最最近,我一直在我最近发布的书《Battle Ready Laravel》(点击链接)上工作。

通过这样安排时间,我挣到足够的钱,能够过上舒适的生活,并可以从事我认为是真正爱好的事情。尽管你可能会认为我的博客和开源贡献是在为自己做宣传,但这并不是我做这些的主要原因。

我实际上非常喜欢帮助人们并看到他们的成功。过去,我收到过一些人的电子邮件,说:“多亏了你的博客,我刚成功应聘了一家网页开发者的工作。”或者“我一直试图理解XYZ主题,但总是不明白。但是读了你的博客文章后,我真的受益匪浅。”当看到这些信息时,我比看到月底发票已经支付有更大的满足感和成就感。真正让我高兴的是,我给世界各地的人们的生活带来了积极的影响。说实话,这很可能与我最初成为老师的目标有关。

我的日程安排将来可能会改变,但目前我对一切进展都很满意。

我如何寻找客户

正如我所提到的,我在跨入这一跃之前的主要顾虑之一是是否能找到客户。到目前为止,这对我来说进行得很顺利。

然而,奇怪的是,我现在实际上并不再主动寻找客户。相反,他们通常来找我了。

我感到非常幸运和有幸处于这个位置,但我明白这不会总是如此。

当我还在大学里兼职自由职业时,我试图通过联系可能需要建站的地方公司来寻找客户,但在这方面我并没有真正取得任何进展,大部分公司甚至没有回复我。我认为主要问题是,一些企业已经有网站了,我所在的城市还有更多-established的网页设计公司,有些企业认为网站没有好处,因为它们是路边的商店,只会卖给路过的行人。

大约在这个时候,我开始为我的博客写一些文章。我写这些文章并不是为了吸引客户,因为我实际上就是喜欢写作。但慢慢地我开始注意到,因为人们在LinkedIn上看到我的博客文章并发现它们有用,所以开始联系我。这些公司中大部分还是本地或近郊的(我认为最远的也就20英里左右)。这让我意识到,我不需要针对性地在本地企业中寻找客户,我可以稍微伸展一下翅膀。毕竟,我提供的服务完全是数字化的,所以客户实际上并不需要地理上靠近我。

现在,我发现自己的大部分客户都是因为我博客或GitHub页面(点击链接)找到我的。

比如,我通常每周收到1或2个咨询。我真的不知道这与其他自由职业开发者相比如何。但在我成功将我的第一个拉取请求合并到Laravel中后,我在接下来的几周里每天收到了4或5个咨询。这又回到了每周1或2个。但我认为这表明,有很多首席技术官、CTO、招聘人员等,他们可能会观察这些类型的活动来寻找新的开发者。所以我就利用这一点,把开源贡献和我的博客当作我的营销手段,来寻找新的工作。

当然,通过这样做,我发现我一般被现有团队中的开发者,而不是客户或代理邀请。这意味着我通常被邀请是为了作为额外的手下来参与现有项目的工作。我实际上真的很喜欢这种工作,因为它给我机会遇见新的开发者并向他们学习,而不是作为项目中唯一的开发者,从中学不到东西。

我发现我的博客和推特相互配合,也为我提供了新的工作机会。传统上,我的博客是吸引流量的方式,但它只能让我有机会对你讲话,而不是和你讲话。我想你们可以在下面评论我的博客文章,但很少有人这样做。但是,通过在推特上发布代码技巧并与社区互动,我可以更亲密地了解Laravel社区。它打开了对话的大门,与周围的人建立联系。如果我需要帮助或处理某个问题,通常有人在推特上能帮我。同样,如果有人需要我的帮助,他们知道可以在那里找到我。这对我真的很有帮助,因为我收到了很多在直接消息(DMs)中寻找与项目合作开发者的开发者的联系。我的推特也允许我将流量重新引导回我的博客,在那里我可以得到你更多的关注。

但这并不是说我的博客单靠自己就没有价值。事实上,它远远不仅仅是这样。我通常会尽量在不同的地方交叉发表博客文章,以便我能够达到最广泛的影响。文章也会通过谷歌搜索结果自然引流。当然,我没有收到大量的流量(大约每月10k访客或14k页面浏览量),但这总比什么都没有好。

此外,当我最近发布了我的书籍后,许多人联系我,询问我是否愿意参与一些项目。

如何选择客户

当任何潜在的客户与我联系时,我会尽力决定我们是否适合一起工作。对我来说,决定我认为自己是否适合客户和项目,与客户决定我是否适合他们一样重要。

当我刚开始自由职业时,我绝对是那种“同意!”的类型的人。如果有人联系我,要求我为他们做些事情,我会无论什么都说“是”。我发现自己很难说“不”,因为我认为这样会让我看起来无能力、不专业或不是好的开发者。但我很快就意识到有时你需要说“不”。如果你不喜欢客户或项目,或者有些事情看起来有点可疑,或者你太忙,无法接受新的工作,说“不”可能是你能做的最好的事情(如果你有时间这样做的话)。

(目前),我只会严格从事Laravel项目。

我通常不会选择委托机构。这并不是因为机构不好,因为它们绝对不是这样。但我发现由于机构性质,它们通常有非常紧的截止日期并期望迅速完成工作。因此,我在这些项目上工作时往往会感到压力很大,所以我会尽量避开。

如果你之前读过我的任何博客文章,你就会知道我非常喜欢测试!在这篇文章中,我不会涵盖测试的好处,但我们都知道测试可以极大地提高软件和Web应用程序的质量。所以,如果我发现我将要加入的团队认为测试没有价值,我会把它视为一个明显的红旗。如果项目没有编写任何测试,我完全能理解。项目可能是一个MVP,或者是因为匆忙投产,或者也许是团队之前并没有看到编写测试的价值。但如果团队现在愿意建立测试套件,我对此完全没有异议。否则,根据过去经验,我知道开发体验可能令人痛苦,而且在生产中可能会有很多头痛的bug和错误。所以我想要知道,我可以加入一个团队,不必因为编写我写的任何代码测试而被骚扰。

在我们最初的讨论中,如果我发现项目没有遵循通常的Laravel惯例,我会把这看作是一个红旗。听到像“我们在使用自己定制的Laravel版本”这样的话通常使我离开。这并不是因为使用自己定制的框架是错误的。如果这对你来说有效,并能帮助你以最佳方式为用户提供应用程序,那么我完全支持。但作为一个自由职业者,我希望能够快速了解一个代码库。我希望能够在头几天就开始积极贡献和发挥作用。

此外,我倾向于在最初的通话中判断客户(如果可能的话,还可以判断团队成员)。当然,在单次电话之后很难真正判断一个人的性格。但我确实相信良好的第一印象,并且通常可以很快地判断一个人是否是坏蛋!如果我认为客户只是一个相对消极的人,我将被当作下属对待,或者我将接手别人都不想做的糟糕任务,我会把这看作是即时红旗。当我加入一个团队时,我希望被视为一名有发言权、有讨论权的平等团队成员。我发现这种情况在开始时发生了很多,感觉自己被当作“刚刚大学毕业的22岁年轻人”来看待。所以我想一些客户将我的年龄与我的经验混淆,并以此为理由居高临下。现在我稍微大一点年纪了(现在26岁),我发现这种情况少一些,但偶尔还是会发生。

自由职业的优势

到目前为止,在我的4年兼职自由职业和1年全职自由职业期间,我发现有很多优点和缺点。我并不一定说这会影响每个人,但这些都是我过去一年中最显著的。

我对我的时间控制得很多。只要我完成了必要的工作,我就可以随时随地工作。如果我某天早上醒来觉得“哇,我好累!我们休息一天吧”,那么我就可以这么做。我相信你们都经历过这种情况,但是有一天我可能就是没有编程的心情或者状态。如果我是在受雇工作,我仍然需要坐在电脑前处理事物,我可能只会产出一些满是错误的东西。而现在,我可以说“不”并且可以改变那天的安排。这可能意味着写一篇博客或者完全休息一天。但它让我有能力以100%的能力工作,并在我不愿意工作时休息。它还给了我时间陪家人,安排和朋友见面的机会,而不用担心那天没有工作。

我对从事的工作类型有很大的灵活性。像我上面提到的,我可以选择要做什么样的项目,所以我可以做有趣并且我认为可以有所贡献的项目。这与全职工作有一点不同,在全职工作中,你通常会被告知工作哪个项目,选择余地很小。

自从成为一名自由职业者以来,我已经与世界各地的大量人士交谈过。我可以坐在电脑前与世界另一端的人交谈的事实仍然让我感到震惊。但我成为了志同道合的人的社区的一部分。此外,通过定期从事新项目,我得以与来自新的团队一起工作。这让我有机会从其他开发者那里学习,看到他们是如何处理问题和矛盾的。

自由职业的缺点

然而,并非一切都很美好,自由职业确实有一些我亲身经历的缺点。

首先,我失去了一些我作为员工通常会得到的一些福利。以英格兰为例,全职员工通常有带薪病假、最低28天的带薪休假和两周的产假。因为我不享有这些福利,我需要将带薪休假纳入我的每小时/每天的费率中。我需要确保我在工作日赚足够的钱,以便我可以在休息日使用。

这部分绝对不是我的专长,所以我可能在这一点上错了。但是,据我所知,雇主在英国会匹配你为工作场所养老金的贡献。因为我是一个个体经营者,而不是员工,我不享有这项福利,需要注意向我自己的养老金投入更多,以弥补通常会为我贡献的数额。

对我来说,这把剑有两面性。我发现我的时间管理并不算很好。我总是确保我的工作按时完成,并且能按时完成期限。但我也发现,由于我对我的时间有相当的灵活性,我有时候对自己太宽容了。比如,如我之前提到的,如果某个早晨我不愿意工作,我可能会多睡一会儿。如果我全职工作,我就不能这样做,因为我的老板会对我负责,我可能会被解雇。但因为没有人来对我负责,我发现很难坚持典型的9-5工作日。这意味着我有时可能需要工作到晚上才能弥补失去的时间。从个人层面来说,这其实不影响我,因为我自己就是一个夜猫子。但这确实影响了我与家人和朋友相处的时间。所以,我现在正在努力提高我的时间管理和责任感。

结论

总的来说,我真的很喜欢过去的一年,我也不会后悔决定全职做自由职业者。如果你关于这方面的任何问题,欢迎随时联系我,我会很乐意尝试回答你的问题。

如果你喜欢阅读这篇帖子,欢迎告诉我。同样,如果你有任何关于如何改进未来的帖子的反馈,我也很愿意听。

有兴趣在我发布新帖子时得到更新?欢迎订阅我的通讯

继续打造出色的事物!🚀

上次更新1年前。

driesvints, ash-jc-allen, ostap 喜欢了这篇文章

3
喜欢这篇文章?让作者知道并给他们加油!
ash-jc-allen (Ash Allen) 我是一名来自英国的普雷斯顿的自由职业Laravel网页开发者。我维护Ash Allen设计博客,并有机会参与许多酷炫和有趣的项目 🚀

你可能还喜欢以下文章

2024年3月11日

如何用Larastan将你的Laravel应用程序从0到9提升

由于Larastan,在您的Laravel应用程序执行之前发现错误是可能的...

阅读文章
2024年7月19日

无需特性设计标准API响应

我注意到的问题...

阅读文章
2024年7月17日

在Laravel项目中通过Discord通知收集反馈

如何在Laravel项目中创建一个反馈模块,并在收到消息时...

阅读文章

感谢这些 令人叹为观止的公司 对我们的支持

您的标志在这里?

Laravel.io

Laravel解决问题的门户网站,知识共享和社区建设。

© 2024 Laravel.io - 版权所有。