当我们想到软件开发人员时,我们会想象一个人总是在电脑前,专注于创造一些改变世界的应用程序,花上几个晚上来改善软件程序的性能,整天修复错误,或者试图创造下一个机器学习算法。
对于许多从事传统职业的开发者来说,这可能是事实。他们为大公司、创业公司、银行或任何其他雇主工作。
我们中的一些人,包括我,正在经历一个完全不同的职业。
有时我在YouTube上看一个关于一些非常非常晦涩的编程主题的会议讲座,我就会想 "这个人是在哪里找到时间来学习这些东西的"?
一天中没有足够的时间让我看那个讲座,更不用说首先发现这些东西了。然后我提醒自己,我是不同的。我是全栈的。
在Web开发中,全栈意味着你既做前端又做后端。但在这里,我赋予全栈另一种含义。我通过Thiago Forte的这篇帖子发现了这个含义,而我又通过RIP先生的这篇帖子发现了这个含义。
我是一个独立的软件开发者。我从......让我看看......一直都是独立的。我从来没有被任何人雇用过。我从来没有当过雇员。一个承包商,自由职业者,是的。但从未做过雇员。
回顾过去,我一直是一个兼职承包商。半天工作来支付账单,剩下的时间用来做我自己的独立项目。
网络应用,移动应用,开放源代码,CMS插件,主题,桌面应用,培训项目,我都尝试过。有时是愚蠢的想法,有时不是。
作为一个受雇的软件开发人员,你所需要的技能与作为一个独立的软件开发人员所需要的技能之间存在着天壤之别。
想象一下,你想创造你自己的软件产品,并独立销售它。
你必须戴上这么多的帽子
你必须知道如何确保你所做的项目是一个好主意。这不是小事,而且还涉及到运气和时机。
你必须擅长品牌推广,所以你要为你的应用程序想出一个令人难忘的名字。
你必须是一个好的设计师,来设计着陆页。
你必须是一个好的文案,所以你知道在这个着陆页上应该说些什么。
你必须是一个网络开发人员,以创建登陆页面。
你必须是一个DevOps人员来部署登陆页面。
你必须善于营销。这就是你如何知道如何为你的第一个测试版收集电子邮件。
你需要得到一些法律条文。隐私、条款、GDPR...
我忘了什么吗?哦,是的,我们还没有开始研究你想销售的软件产品。
你必须在这方面做得很好。伟大的执行力,坚实的后端,可扩展的架构,漂亮的用户界面和用户体验,安全。
你必须知道如何部署应用程序,如何快速部署更新,如何不因迁移而崩溃。
然后你需要善于营销。我希望你有一个感兴趣的听众,否则你会了解到,你并不是 "建立了他们就会来"。你需要知道如何正确地写电子邮件,让你的潜在客户打开。
你需要学习如何做SEO,如何做内容营销,如何做销售,如何成为播客或YouTube频道的嘉宾,以提高对你产品的认识。
我希望你是一个优秀的演讲者,最好是英语为母语的人。
当然,你可以雇人帮你解决这个问题。我提到了大约15个不同的专业领域。其中一些将需要一个至少5人的团队。
现在让我们找一些风险投资的钱来支付这30-40人的月薪,我希望你在硅谷已经有一些很好的人脉了
除非你像我一样是一个全栈式的独立开发者,而且你绝对喜欢做这种事情。戴上你需要戴的所有帽子,让你的创作落地,落到客户手中。
而在99%的情况下,最终你会以失败告终,并花费数小时阅读Indie Hackers上的成功故事。
或者,你会成为那1%的人,你会成功。