3个可以在任何编程工作中使用的实用练习。作为一个软件开发人员,有很多方法可以成长,所有这些方法都需要时间和努力。我建议把实际的练习作为你日常工作的一部分,而不需要开始你自己的项目或加入训练营。
1、为你遇到的每个问题找到2个或更多的解决方案
提高解决问题能力&创新
无论你当前的任务是调试、写新代码或重构,开发任务都是关于问题和解决方案。问题的范围可能不同,从重用现有代码到数据库的选择。即使你已经选择了解决方法,花点时间做这个实验。
2、列出利弊并选择解决方案
改善优先级和详细的思考。
让自己接触更多的标准,思考为何选择这种方法或不用这种方法的原因。检查解决方案,并对每个解决方案如何满足每个标准进行排序。保持你的判断清晰;即使一个“坏”的解决方案在某些方面也可能是好的选择。
最后,对标准进行优先排序——试着理解哪些方面对你的公司最重要,并选择对你的问题利益最大化的解决方案。
3、和一个非技术人员进行技术讨论
提高交际能力&技术理解
不同的人对你的工作有不同的理解能力。与他们交谈将迫使你缩小范围,将细节概括为一个高级概念或放大细节。我会积极地开始讨论,或者试图向别人解释一个问题,以检验自己对这个问题的理解。
一个详细的讨论案例
我为不同类型的人写了4个例子,包含你们交流什么,解释听起来怎么样。
高级工程师
在某一领域比你更有经验,或者善于提出正确的问题的人。向他们表达,你需要对一个主题有深入的理解和知道背后的东西。我经常发现自己在这类演讲之后会回去做更多的研究——这非常好。
我集成了WebRTC:添加了MAOI API,集成了Janus库,并将WS转换为WSS
团队成员或新手
是需要你指导的具有扎实技术的人。这要求您将细节归纳为清晰的指导方针和流程。
“我集成了WebRTC:添加了一个新的API叫…,集成了一个库叫…它的文档是....并将web sockets转换为secure web sockets,我这样做是为了……”
非开发人员例如QA或项目经理
参与讨论,你需要解决技术障碍或获得他们的支持。你最好在他们不知道你工作的每一个技术细节的情况下进行沟通。
WebRTC集成估计需要3个冲刺,并且需要与后端团队协作。我想再花4天时间加强安全工作。”
非开发人员和非技术人员如HR或你的朋友
在面试时,你应该与他分享你的工作或展示你的品质,而不必讨论项目的技术方面。
对HR说:“我集成了WebRTC,这是一种在网络上传输视频的协议。我的工作包括与其他团队合作,我主导,但我们都一致同意解决方案。我还主动加强了这项功能的安全性。”
总结
我建议您在每个开发任务的范围内进行这3个练习,这将帮助您提高架构技能。