从副业项目中学到的 5 个经验教训
开始直播!
不要试图从中赚钱。
循序渐进地学习
独自工作
共同编写代码
结论
从我成为职业软件工程师的第一天起,我就一直抽出时间开发自己的业余项目。虽然有些业余项目看起来没什么意义(比如上面提到的那条推文),但我发现业余项目对我的职业生涯大有裨益,所以我决定把我学到的一些经验教训写下来,分享如何最大限度地发挥业余项目的作用。
开始直播!
没错,你没听错……你的副业项目上线啦!最近我搭建了自己的挑战网站(www.mypopchallenge.xyz),虽然用户界面并不惊艳,但在部署方面却遇到了不少挑战。由于我在 AWS 的一年免费套餐已经到期,我编写了一些脚本来同步我的 now.sh 实例和 Netlify 部署,这样我就可以同时使用它们,并将成本降到最低。
上线不仅仅是指将应用发布到应用商店或将网站部署到网络上。它还可以是将库发布到 npm,甚至只是开源代码,以便人们可以查看、使用和学习。
所以我的第一个建议是——直播!
不要试图从中赚钱。
当你试图通过你的应用赚钱时,你会开始变得有点疯狂。你会想象自己被金钱包围,并为此努力奋斗。这难道不好吗?我觉得这很棒。这是一种创业精神,很多优秀的产品都是这样起步的。但这可不是个副业。你肯定会学到很多东西,但当你开始从中获利时,就很难放弃它,而有时候放弃才是正确的选择——把更多精力放在日常工作上,或者用你想要学习的新技术开始一个新的副业项目。
我的建议是——开展副业是为了好玩,而不是为了赚钱。
循序渐进地学习
所以你有个想法:这是世界上前所未有的最佳待办事项应用……你听说过一个在 GitHub 上拥有 10 亿星标的超棒前端框架,服务器端必须使用那个数据传输速度极快的框架,你还知道三个很棒的 JS 库,你一定要试试,而且你想展现一下自己作为微服务架构师的技能。听起来很多?确实很多!业余项目往往只靠动力驱动,因此你需要快速看到成果,否则动力就会被下一个好点子冲淡。猜猜看,一个月后,你又会得到一个半成品仓库,里面只有两个微服务、一半的数据层和一小段前端代码。
我的建议是——每次只选择一项新技术用于你的业余项目。
独自工作
软件开发团队中90%的问题都是沟通问题,剩下的问题则是人们无法有效沟通解释清楚的。当你为你的业余项目团队增加成员时,你需要花时间进行沟通。虽然与他人沟通非常重要,但你却无法从中获得你希望业余项目带来的收益。(我并不提倡在代码中编写沟通方法。我的所有业余项目都有完整的文档和README文件。)
如果你不想解释你为什么决定更换技术栈,或者不想把25%的时间花在团队内部的同步上,那就别管它了。
我的建议是——业余项目正是享受纯粹编程体验的最佳时机,而这正是我们大多数人在选择学习编程时所钟爱的体验。
注意:有时当项目范围太大、项目已经上线但你想加快速度,或者你刚开始一个副业项目以便学习如何更好地沟通时,一起工作实际上是有意义的。
共同编写代码
独自工作并不意味着你的代码就一定不能看。每当有人向我寻求改进建议时,我都会这样建议——“找个人帮你审查代码”。我写完关键代码段后,总会找人看看。我会详细询问设计方面的问题,并尽可能让更多人以友好顾问的身份参与进来。如果你找不到人帮忙,别担心,有很多热心人士愿意伸出援手。(有趣的是,朋友帮我审查代码时,我从未收到过差评。看来,乐于助人地帮别人审查代码和拥有良好的编程技能之间存在某种关联。)
我的建议是——尽可能多地分享你的代码,以获得反馈并不断改进。
结论
副业项目很有趣。我喜欢向别人展示自己的作品,也喜欢看到人们与我的产品互动时的兴奋感。我从副业项目中学到了很多,上面提到的经验教训也非常实用。如果你有其他副业项目的经验或心得,欢迎留言分享。如果你想分享你的副业项目,也欢迎在评论区留下链接。
这是我第一次从Medium转帖。希望你们喜欢,也希望我找到了一个发表想法的新平台。
文章来源:https://dev.to/binygal/5-lessons-learned-from-side-projects-4gdb