软件工程师和自由职业者的 10 条经验教训
最近几周,我想分享一些我作为软件工程师、自由职业者以及现在经营一家软件公司的职业生涯中所学到的经验教训。
此外,分享就是关爱,如果有人能从我的一些错误和观察中吸取教训,那就太好了!
进入文章...
第一课:营销是你最好的朋友
学习营销基础知识很有帮助,但这并不意味着你必须了解如何在全国性电视台上发起一场全面的宣传活动。我的意思是:
- 建立投资组合
- 展示一切
- 告诉每个人(朋友、家人、你的 LinkedIn 网络)你的工作
15 年来,我的大多数客户都是通过推荐来的,所以不要低估口碑的力量。
第二课:少用专业术语
在与客户/利益相关者/项目经理打交道时,您需要有良好的沟通意识,以便双方能够相互理解,从而提供符合他们目标的产品(软件)。
因此,使用诸如“请求很慢,我们应该选择内存数据库”之类的说法可能并不完全受欢迎。请记住,并非每个人都像你一样理解技术,尊重它很重要,尤其是在你自己做事的时候。
学习如何在与非技术利益相关者沟通时使用简单的英语(或任何你使用的语言)
第 3 课:编程语言很重要,但是……
在浏览我的 Twitter 推文时,我看到人们痴迷于了解“最佳”语言或框架,这当然很重要,但项目的“正确”方法不仅仅与语言或框架有关。
语言是编写指令的工具,艺术在于了解基础知识(数据结构、搜索算法、OOP、设计模式、测试驱动开发等),以便让您正确理解如何构建软件。
此外,不同的语言有不同的优势,有些语言可能比其他语言更适合特定的任务。
第四课:自我,自我,自我
在我看来,自信很重要,因为它能让你在做某些选择时感到安心。然而,作为一名软件工程师,我喜欢脚踏实地。如果你要问为什么,原因如下:
-
每个人都会犯错,即使是最有经验的人,所以别自以为是 :) 我曾经
sudo rm -rvf *
在一台 Linux 开发机上,错误地执行了 ,当时我位于文件系统的根文件夹中。哎呀!——幸运的是,由于我及时阻止了它,所以没有造成严重损害。 -
它可以帮助您成为一名更好的开发人员,因为您会时不时地质疑自己。
-
人们更加欣赏你,因为你真正有能力寻找“正确”的解决方案,而不是适合你自我的解决方案。
第五课:保持透明
在开始任何项目之前,务必明确你的交付计划,并对客户或利益相关者保持透明。这能让产品负责人确信你言行一致,并且专业性十足。
如果您觉得某项任务会破坏整个项目计划,请不要害怕说“不”。
第六课:项目规划是关键
当你经营自己的节目,事情开始好转时,你会开始接到越来越多的项目,这很棒。然而,如果没有适当的规划,你可能会让客户失望,这并非理想情况。
我们采用以下流程和工具来保持井然有序:
- 用于项目规划的甘特图,让我们了解项目需要多长时间、任务顺序和资源分配
- 我们在 Trello 中使用看板 ( https://en.wikipedia.org/wiki/Kanban_(development) ) 来确定所有任务的范围,这让我们能够很好地了解当前的进度以及每个人正在做的事情
- 我们每天与团队组织站立会议,讨论每个人的问题和进展
如果你问,这如何适用于规模较小的团队,例如只有一两个人,我仍然建议使用甘特图+看板。无论团队规模多小,都能保持井然有序!
第七课:了解用户体验
这主要适用于所有从事前端工作的人。尽管作为开发人员,我们不需要知道如何设计合适的用户体验。经验告诉我,了解什么是良好的用户体验是有益的。
这将帮助您提出更好的建议并构建最终用户真正喜欢使用的软件。
您可以通过两种方式来解决这个问题:
- 与优秀的用户体验设计师合作,如果预算紧张,则选择方案 2
- 尽可能多地阅读,例如https://amzn.to/2RqpM3q
第 8 课:不要成为无所不知的人
这种感觉与个人的自尊心息息相关,但它本身也值得我们反思。作为开发者,我们有时确实会感受到一种如同希腊诸神般强大的力量。这或许是因为我们正在解决一些真正具有挑战性的问题,并且在不贬低任何人成就的情况下,我们需要牢记,开发团队并非企业的全部。
其他重要的业务功能,例如市场营销、SEO 等,也都有各自的功能需求。根据我的经验,我有时会看到这些功能被忽略,并声称它们不重要。
这种糟糕的判断力导致了部门之间的冲突,仅仅是因为缺乏同理心,或者一方不愿设身处地为他人着想。根据我的经验,SEO部门的一次根本性变革,可能对公司业务带来真正的利好。
底线是,尊重他人的要求并做好自己的功课。
第九课:保持最新状态
即使在行业中耕耘了15年、20年、30年,你也永远无法掌握足够的知识。尤其是在经营自己的事业时,你需要付出额外的努力才能与时俱进,因为你并不总是有时间向同事请教最佳方法。
因此,请与这样的社区保持联系,永远不要停止学习。
第十课:建立持久的关系
建立人际关系不仅在商业领域重要,在组织工作中也同样重要,因为你们可以互相学习。更重要的是,你永远不知道人生会走向何方,你的同事或老板可能就是你的第一批客户,也可能是未来的商业伙伴。
结束
希望你喜欢阅读,并从中有所收获。如果你能读到最后,那就太好了 :D
欢迎提出任何建议。保持求知欲,随时联系我们,我们很乐意提供帮助。
文章来源:https://dev.to/fzammit/10-lessons-from-a-software-engineer--freelancer-1fho