赞
踩
如何突破测试/开发程序员思维?
小张:
过去我曾一直认为程序员是依靠他们的技术在编程,也是因为技术使得程序员的水平有高低之分,但随着我写代码的时间越来越长,也接触到更多的程序员,我渐渐发现程序员们其实是依靠他们所特有的程序员思维在进行编程的,而他们中的佼佼者正是那些有着更高思维成熟度的优秀程序员们。
什么是程序员思维
那么,什么是程序员思维呢?我曾读到过一些文章,试图给它下一个明确的定义,比如,具备抽象和逻辑思维的能力,拥有面向对象编程和设计的能力等等。
我对这些所谓定义有些不以为然,因为,我所体会的程序员思维更像是一种感觉,它是由常人的思维+编程思维,长期相互作用下产生的一种思维模式,它能够帮助程序员快速找到以程序方式解决现实问题的最优解。
那么,程序员们又是如何获得这种思维的呢?我想说,从你学习编程并写下你的第一个HelloWorld程序的时候,程序员思维就已经不知不觉地建立起来了,而随着你不断深入地学习与实践,它也变得越来越完整和成熟。
为什么要突破程序员思维
既然程序员思维对程序员来说如此重要,我们又为什么要突破它呢?在我看来,主要有以下一些原因:
随着技术的进步和专业领域的融合,程序员的职能正在不断扩展,你一定也听到过DevOps,全栈工程师,增长黑客这些词吧,新一代的程序员不仅需要具备很强的编程能力,同时还需要具备从设计、运营、测试等各种不同角度去进行分析和判断的能力。
从程序员的发展角度来说,当你从一名程序员转变为高级程序员、架构师、系统分析师、项目经理、产品经理的时候,需要你突破程序员思维,而从更人性化的角度去识别和解决问题。
突破程序员思维对你的生活也会有所帮助,有很多太过于技术的程序员,随着编程时间的增加,他们会越来越不善与人沟通,甚至排斥与人交流。他们也往往无法扮演好自己在生活中的角色。
程序员思维对程序员来说是一把双刃剑,它既能帮助程序员写出优秀的代码,去解决一个又一个复杂的问题,但有时候它也会阻碍程序员们的发展,成为进阶路上过不去的一道坎。
如何突破程序员思维?
透过技术发现问题的本质
我时常会组织开发团队做一些技术问题的讨论,但当一个问题被抛出时,比如:用户时常会在哪段时间内重复地点击某一个功能,导致系统压力的上升。团队的大部分程序员都会很快给出他们的解决方案,比如增加流量阀的控制或在用户会话中加入某些Token来防止用户的频繁重复提交等等。
但几乎很少有程序员会问,用户为什么会在短时间内频繁点击这个功能呢?是啊,解决问题的关键,往往不是如何通过技术手段禁止用户这样做,而是理解用户这样操作的原因,从而得出解决的办法。
像专家一样给出意见
我发现在很多场合下,比如与用户沟通需求、与产品经理沟通方案时,程序员总是处于比较弱势的一方。他们只是被动地去接受这些需求和方案,然后回去将它们转换为代码的实现。
杂学并从中获得不同的视角
要做到看清问题的本质和像专家一样给出意见,其实并不简单,这不仅需要你具备极强的技术功底,更需要你对问题所涉及的相关领域有足够的认识。你必须通过大量地学习编程之外的各种知识来完善自己的知识体系,并从中获得不同的视角。
找回创造力
虽然编程是一项脑力活动,但程序员们可能都知道,在大多数情况下这并不需要我们发挥创造力。也就是说,我们在按部就班地完成那些开发工作的同时,我们正在失去我们的创造力。
创造性地解决问题是优秀程序员所需要具备的能力,但我恰恰发现很多具有多年编程经验的程序员,他们的思维却好像受到了限制似的,只能凭着那些已经有些过时的经验去给出他们的方案,而很难创造性地去解决问题。
下面是我整理的2022年最全的软件测试工程师学习知识架构体系图 |
向着目标奔跑,何必在意折翼的翅膀,只要信心不死,就看得见方向。顺风适合行走,逆风更适合飞翔,人生路上什么都不怕,就怕自己投降。
勤学苦练为理想,百折不挠争未来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。