如何学习成为更好的开发人员
2023年7月,我大学毕业已经5年了。这些年来,我做过2份工作,这些工作为我提供了很大的成长机会。以下是一些对我帮助很大的关键点。
了解你开发的产品
作为开发者,对自己开发的产品有深刻的理解是必不可少的,了解产品的特性和目标,明确产品解决的问题,以及产品在市场的定位,这样才能更好地理解用户需求,把握产品的核心功能和重点,为产品开发提供建设性的建议。
还记得 2021 年刚换工作的时候,新员工学习期过后,由前辈指导完成需求。因为是新环境,很多东西都不熟悉,不了解需求的来龙去脉,做这些需求就像在流水线上执行一个固定的程序,不知道为什么要做,也不知道最终的效果会是什么。
当你熟悉了需求涉及的相关流程,你会有更高的视角去看待需求,知道这些变化会带来什么影响,会有哪些影响,并开始考虑兼容性/错误场景。
我合作过的一些产品经理,会很用心地在需求文档里附上各种原型图和流程图。文字描述可能有点枯燥,但图表却很有帮助。当产品文档中没有流程图,而我又觉得非常陌生时,我会尝试自己理解并绘制流程图,以明确它应该做什么。
了解产品经理
与产品经理建立良好的沟通与协作是成为一名合格开发人员的关键。产品经理负责定义产品需求,规划产品的发展方向。与产品经理紧密合作,了解他们的需求,确保开发工作符合产品的愿景和目标。同时,积极参与讨论并提供技术建议,与产品经理共同推动产品进步和创新。
根据用户手机的颜色来更换对应的主题吧!
这是几年前网上流传的一个真实案例。确实,当产品经理想出一些奇思妙想的时候,可能看起来有些莫名其妙,因为通常这个时候我们已经确定了它的可行性。但是产品经理的视角和开发人员不一样,他们的职责是想出各种奇思妙想,然后由开发人员去实现。不管这个需求是否合理,每个产品需求都要经过可行性分析和技术方案讨论,确保它是可以实现的,并且值得实现。
有时候,当产品给我一个需求,我觉得可以增加一些功能或者需求的某部分不合理时,我会征求产品经理的意见,沟通后得出结论。在需求开发过程中,与产品经理反复沟通是常见且必要的,这可以大大避免项目最后偏离轨道,导致需求无法正常部署或者需要大量额外工作的情况。
了解设计师
在软件开发中,设计是至关重要的一环。与设计师密切合作,了解他们的设计理念和对用户体验的考虑。了解设计师使用的工具和设计原则,帮助更好地实现他们的设计,并为产品的外观和用户界面提供宝贵的建议。同时,向设计师学习,不断提高自己的设计技能。
了解设计师,成为设计师。哈哈😄 不会切图的前端开发人员不是好的前端开发人员。
在我的两份工作经历中,与设计师一起使用过以下切片工具:
- Photoshop (裁剪图片,画参考线)
- lanhuapp (这个挺好用的)
- Adobe XD (这个也不错)
- Figma (现在在用,很人性化)
这些工具变得越来越用户友好。现在您可以直接调整页面上的视图元素、分组/取消分组图层、以各种格式导出图像,甚至可以直接从设计文件中复制样式代码。还有各种插件可用于生成前端/客户端代码。
了解 QA
QA 在产品发布过程中扮演着重要的角色,因为测试人员总是会尝试各种方法来寻找产品中的缺陷。作为开发人员,了解测试流程和方法、编写可靠的测试代码并积极参与测试工作非常重要。与测试团队协作,了解他们的需求和测试策略,并及时修复和解决测试过程中发现的问题。通过与测试人员的密切合作,您可以更好地了解产品的稳定性和可靠性,并提供更好的用户体验。
有时,测试可能会非常具有挑战性,因为感觉测试人员在故意在产品中找毛病。例如:
- 这个按钮可以连续点击两次,不太合理。
- 快速滑动时滚动会卡顿。
- 我切换到后台,切换切换切换。
- 我切换到飞行模式,切换切换切换。
- 我切换到低功耗模式,切换切换切换。
- 我在 iPhone 5 上打开它,你敢吗?
以上是一些常见的测试场景,其目的是确保产品在各种环境下、各种用户下都能正常使用,通过测试反馈,开发者可以加强性能、兼容性、防错等方面,尽量减少异常情况的发生,防止产品漏洞被利用。
了解用户
用户都是新手,他们不需要知道你的产品逻辑是如何运作的,他们只需要一个学习曲线最简单的产品。
理解用户需求是成为一名合格开发者的关键。通过沟通、观察、分析用户行为,深入了解用户需求和痛点。将用户置于产品开发的中心,关注用户的反馈和建议,不断改进产品,提供更好的用户体验。同时学会解读数据,利用数据分析和用户反馈指导产品优化升级。
给予/接受积极反馈
持续获得积极的反馈是成为更合格开发人员的重要动力。积极参与团队讨论和交流,与其他开发人员分享经验和技术,共同学习和成长。同时,积极寻求用户的反馈和建议,了解他们的满意度和需求,不断改进和提高自己的技能和能力。通过获得积极的反馈,你可以更好地发展自己,为团队的成功做出贡献。
当我得到别人的称赞时,我会感到很开心,事情会变得更加轻松和快乐,我相信赞美别人也会让别人感到开心。
做出预期,无论好坏
在软件开发中,保持期望至关重要。
软件生命周期通常有6个阶段:
1.可行性研究
2.需求分析
3.设计
4.实施
5.测试
6.维护
通常,我们对产品有一定的期望,这些期望从不同的角度是不同的。例如,从产品经理的角度来看,他们的期望是产品上线后能产生多少收入;从技术开发的角度来看,期望是判断产品上线运行时是否会出现可能的错误。通过分析这些期望,我们可以制定措施来实现预期目标或防止错误发生。
就这些了,谢谢阅读。