|
知乎有人问:作为一名程序员,你觉得最重要的能力是什么?是技术吗?是写代码的能力吗?
什么最重要这个是哲学问题,谁也不能肯定的说什么是最重要的,对于笔者来说的话,比较重要的有两点。
第一解决问题的能力
程序员至少60%的精力都在解决问题上,而解决问题80%的时间都是在解决逻辑和Bug当中。所以我认为一个好的程序员 解决问题 的能力绝对很强;
几乎所有雇主都把 解决问题 的能力放在首位。如果你是创业者,顾客就是你的雇主,你提供的产品是解决方案,你能帮客户解决的麻烦越大,你的产品也越有价值,但是在提供方案前,先想你要解决的问题。
程序员的解决问题能力不是天生的,要靠自己 经验的积累 ;
比如需要去跟踪调试产品所产生的bug,又比如说使用第三方组件所遇到的一些问题,再比如说使用一些插件或者IDE所产生的一些编译问题;
发现问题的时候,不要第一时间就去问别人,你要先自己看看能不能解决这个问题;
首先你得确定这是一个什么样的问题,看它是自己编码上的问题,还是一些编译上的问题;
确定问题之后,你可以根据运行时产生的崩溃信息或者编译时出现的编译错误,找到错误的根源。如果是代码上的问题其实是很好定位的,我们只需要根据错误的堆栈找到出错的地方,然后你再去看这部分代码的处理逻辑,只要不是特别复杂的业务处理,基本上能很快解决。
如果是编译时出的问题怎么办?你先看具体的编译错误是什么,看自己以前是否有遇到过,是否能够确定是什么环节导致的编译错误,比如是开发环境版本问题,或者是插件的版本问题,又或者是代码导致的编译问题,这类问题只要逐个排除相信也能够轻松解决。
关于各类问题的解决,解决办法总是能找到,就看你是否足够耐心去寻求解决方案。
总之不要一上来想都没想就问别人,成就了别人解决问题能力,而自己没有一点进步,当然,实在不知道,那就要问别人了;
不过问别人的时候,你肯定要把问题清晰、准确的表达出来。其实有时候,你给别人讲述问题的时候,也能促进你理解问题。有时候,你理解了问题,自己就知道该如何解决了。
第二学习的能力
计算机技术更新很快,新技术新知识层出不穷,如果你没有足够强的学习能力,就无法跟上变化,只能吃老本,被淘汰就是迟早的事。
而且公司不是慈善机构,如果你是新人的话,公司会安排一位老员工给你做一段时间的导师。但导师只有为你解惑的义务,却没有教你技术的责任。
因为导师自己手里还有做不完的工作,带新人又没什么利益可图,能有耐心听完你的问题,指点一下方向,就已经很不错了。
如果你是老员工,你一直没有学习新技术,停留在旧技术的舒适区,和后来者站在同一起跑线上。那公司又为什么还要留着你。
学习是自己的事,没有人能替你去做。
学习力强的程序员敢大胆地体验尝试新技术,他们的技术栈始终在保持不断地更新。他们能快速把握事物的本质,并判断出它能用来做什么,不能用来做什么。他们拥抱技术升级和革命,因为他们学习并掌握新技术的速度比其他人更快,所以他们不用担心失业。
当然,其他能力也是很重要的,比如
动手能力,都是看书看资料,当别人还在纠结看什么书,还在纠结书里的字句是什么意思的时候,有些人的几百上千行代码都已经能运行了。
还有不要以为程序员只要负责写代码,不错的沟通、表达、总结和写作能力,一定的 组织管理能力 ,不管你以后是走技术路线,还是管理路线,这些都对你有很大用处。
当然,这些都是我个人的看法,大家肯定都有自己不同的看法。
不过不管什么时候,大家都不要忘记学习。
如果你想成为一名程序员却依然在编程的世界里迷茫,不知道自己的未来规划,亦或你想更好的提升你的编程能力,好好学习C/C++编程知识的话!那么你很幸运~
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦! |
|