当前位置:网站首页>如何突破测试/开发程序员思维?一种不一样的感觉......
如何突破测试/开发程序员思维?一种不一样的感觉......
2022-08-02 23:05:00 【网易测试开发猿】
目录:导读
前言
如何突破测试/开发程序员思维?
小张:
过去我曾一直认为程序员是依靠他们的技术在编程,也是因为技术使得程序员的水平有高低之分,但随着我写代码的时间越来越长,也接触到更多的程序员,我渐渐发现程序员们其实是依靠他们所特有的程序员思维在进行编程的,而他们中的佼佼者正是那些有着更高思维成熟度的优秀程序员们。
什么是程序员思维
那么,什么是程序员思维呢?我曾读到过一些文章,试图给它下一个明确的定义,比如,具备抽象和逻辑思维的能力,拥有面向对象编程和设计的能力等等。
我对这些所谓定义有些不以为然,因为,我所体会的程序员思维更像是一种感觉,它是由常人的思维+编程思维,长期相互作用下产生的一种思维模式,它能够帮助程序员快速找到以程序方式解决现实问题的最优解。
那么,程序员们又是如何获得这种思维的呢?我想说,从你学习编程并写下你的第一个HelloWorld程序的时候,程序员思维就已经不知不觉地建立起来了,而随着你不断深入地学习与实践,它也变得越来越完整和成熟。
为什么要突破程序员思维
既然程序员思维对程序员来说如此重要,我们又为什么要突破它呢?在我看来,主要有以下一些原因:
随着技术的进步和专业领域的融合,程序员的职能正在不断扩展,你一定也听到过DevOps,全栈工程师,增长黑客这些词吧,新一代的程序员不仅需要具备很强的编程能力,同时还需要具备从设计、运营、测试等各种不同角度去进行分析和判断的能力。
从程序员的发展角度来说,当你从一名程序员转变为高级程序员、架构师、系统分析师、项目经理、产品经理的时候,需要你突破程序员思维,而从更人性化的角度去识别和解决问题。
突破程序员思维对你的生活也会有所帮助,有很多太过于技术的程序员,随着编程时间的增加,他们会越来越不善与人沟通,甚至排斥与人交流。他们也往往无法扮演好自己在生活中的角色。
程序员思维对程序员来说是一把双刃剑,它既能帮助程序员写出优秀的代码,去解决一个又一个复杂的问题,但有时候它也会阻碍程序员们的发展,成为进阶路上过不去的一道坎。
如何突破程序员思维?
透过技术发现问题的本质
我时常会组织开发团队做一些技术问题的讨论,但当一个问题被抛出时,比如:用户时常会在哪段时间内重复地点击某一个功能,导致系统压力的上升。团队的大部分程序员都会很快给出他们的解决方案,比如增加流量阀的控制或在用户会话中加入某些Token来防止用户的频繁重复提交等等。
但几乎很少有程序员会问,用户为什么会在短时间内频繁点击这个功能呢?是啊,解决问题的关键,往往不是如何通过技术手段禁止用户这样做,而是理解用户这样操作的原因,从而得出解决的办法。
像专家一样给出意见
我发现在很多场合下,比如与用户沟通需求、与产品经理沟通方案时,程序员总是处于比较弱势的一方。他们只是被动地去接受这些需求和方案,然后回去将它们转换为代码的实现。
杂学并从中获得不同的视角
要做到看清问题的本质和像专家一样给出意见,其实并不简单,这不仅需要你具备极强的技术功底,更需要你对问题所涉及的相关领域有足够的认识。你必须通过大量地学习编程之外的各种知识来完善自己的知识体系,并从中获得不同的视角。
找回创造力
虽然编程是一项脑力活动,但程序员们可能都知道,在大多数情况下这并不需要我们发挥创造力。也就是说,我们在按部就班地完成那些开发工作的同时,我们正在失去我们的创造力。
创造性地解决问题是优秀程序员所需要具备的能力,但我恰恰发现很多具有多年编程经验的程序员,他们的思维却好像受到了限制似的,只能凭着那些已经有些过时的经验去给出他们的方案,而很难创造性地去解决问题。
下面是我整理的2022年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结
向着目标奔跑,何必在意折翼的翅膀,只要信心不死,就看得见方向。顺风适合行走,逆风更适合飞翔,人生路上什么都不怕,就怕自己投降。
勤学苦练为理想,百折不挠争未来。
边栏推荐
- Mysql查看慢查询日志
- 解决错误:Optional int parameter ‘pageSize‘ is present but cannot be translated into a null value due to
- 最近公共祖先(LCA)学习笔记 | P3379 【模板】最近公共祖先(LCA)题解
- 合并两个excel表格工具
- CAS:1445723-73-8,DSPE-PEG-NHS,磷脂-聚乙二醇-活性酯两亲性脂质PEG共轭物
- 3、Xendesktop更改发布桌面的显示名称(MCS静态桌面)
- Canonical correlation analysis of CCA calculation process
- R语言自学 1 - 向量
- 买母婴产品先来京东“券民空间站”抢券!大牌好物低至5折
- centos7安装mysql5.7步骤(图解版)
猜你喜欢
合并两个excel表格工具
js基础知识整理之 —— Math
B站回应HR称用户是Loser:涉事面试官去年底已被劝退
Speech Synthesis Model Cheat Sheet (1)
雷克萨斯lm的安全性如何?
Mysql查看慢查询日志
Test | ali internship 90 days in life: from the perspective of interns, talk about personal growth
js基础知识整理之 —— 变量和数据类型
程序员常说的“左手锟斤拷,右手烫烫烫”是怎么回事?
Cholesterol-PEG-Acid,胆固醇-聚乙二醇-羧基保持在干燥、低温环境下
随机推荐
测试人生 | 阿里实习 90 天:从实习生的视角谈谈个人成长
js基础知识整理之 —— 判断语句和三元运算符
在软件测试行业近20年的我,再来和大家谈谈今日的软件测试
mPEG-Cholesterol,mPEG-CLS,甲氧基-聚乙二醇-胆固醇可用于脂质体制备
微信小程序(一)
机器学习-特征映射方法
VMware workstation 程序启动慢
Cholesterol-PEG-Amine,CLS-PEG-NH2,胆固醇-聚乙二醇-氨基脂两亲性脂质衍生物
数据库审计 - 网络安全的重要组成部分
TCP三次握手与四次挥手
图像识别从零写出dnf脚本关键要点
数据库主键一定要自增吗?有哪些场景不建议自增?
IDO预售代币合约系统开发技术说明及源码分析
Mysql查看慢查询日志
典型相关分析CCA计算过程
Connect the Snowflake of CKAN tutorial CKAN to release to open data portal
Merge two excel spreadsheet tools
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping的区别
一文读懂 Web 3.0 应用架构
Find My技术|智能防丢还得看苹果Find My技术