现如今大多数人都在互联网公司工作,对身边的技术人员也是耳濡目染,不得不说,程序员是个彻头彻尾的脑力工作者,怠于思考者绝对不能成为好的程序员。作为程序员,不一定非要达到逻辑或数学领域的专业水准,而是必须具有逻辑和数学的基本素养。逻辑用来推理,数学用来培养逻辑。写几行程序当然算不得什么,但要修炼成有一定思想境界的一流程序员,却殊非易事。那么,未来什么样的程序员最抢手呢?
一、具备计算思维能力****
计算思维是按照计算机科学的基本概念和方法,用来理解需求、设计系统、实现编程、解决问题的思维方法。简而言之,计算思维就是程序员或计算机科学家是如何思考的。当然,计算机科学的理论知识如数理逻辑、离散数学、数据结构、算法以及面向对象是计算思维的必要条件。
二、具备逻辑推理能力****
逻辑推理对于程序员的重要性不言而喻。与其说逻辑推理用于程序新功能的开发,毋宁说更多的应用在程序调试修改 BUG 的过程中。先必须掌握程序实际的执行过程的细节。然后从问题出发,分别朝着产生的原因和导致的后果前后两个方向推理。逐渐定位问题的范围,最终找到问题的根源和解决的方案。
三、具备分解能力****
每个程序员都应该把一个大问题分解为几个小问题,或者把一个复杂的过程分解为几个子过程,当然有助于问题的解决。这也是程序员常用的手段,如算法策咯中的分而治之(Divide-and-Conquer)和合并排序就是这方面的例子。
四、具备多领域特有的专业知识****
这里说的领域,更多是指“横跨”的领域,而不是“纵深”的领域。
什么意思呢?金融、游戏、自动驾驶,这些都可以看成是纵深的领域。都很重要,但是并不是每个公司都需要这样的人才。从大处来说,世界上少不了他们,但是大部分公司招人,并不一定需要。
而一些如支付、安全、风控等领域,却是很多公司到了一定规模后一定需要的。当然,这样的领域也会变化。特是当下的市场经济,需要的人多的时候,学的人也多,可以招到的人也就越来越多,所以你要做的精,做得好,才能脱颖而出。
五、具备执行能力和判断力****
在一个团队里,除了极个别的技术领导者,大部分人其实能力和经验差不多都是一个起点。然而,有些人手快,做事认真卖力,很靠谱,出了问题自己也是第一时间修正。这种人,到哪里都会很快脱颖而出。
而做事麻利,一来经验和能力很重要,二来,愿意吃苦,把公司的事当成自己的事这样的态度也很难得。不论是招人的创业公司,还是大公司里的负责人,在需要的时候,都会尽力去招去留这样的人。
六、具备完美主义能力****
个人对完美主义的真实意义并不是很清楚,也不太拿准他是褒义词还是贬义词,不过个人用这个词是为了强调程序员要坚持追求工作的完美。写代码时是要有洁癖,不允许有任何瑕疵,这样的代码才可能正确、易读、高效、简单、优雅。对一项任务,不仅仅是做完就算了,还应该仔细想想是否是否可以做的再好一点。对遇到的问题,即使看似解决了,也要从头至尾完全弄明白,不能似是而非,不求甚解。
七、具备团队执行能力****
现实中,没几个能做到这一点,大多数从道理上讲是对的,但从产品和项目上来看不能权衡利弊,只会死死坚持技术上的“正确性”,会让身边有倍感压抑,虽然你一时对了,但有如何呢?你不能从全局思考,不能为你的产品或项目担风险,不能和别的同事愉快合作,要学会在不是那么重要的问题上不认死理。
以上仅是我从事 IT 行业多年的个人总结,如果你有其他的疑问或看法,欢迎来 “IT 学习联盟”,让我们在这个公众号里一起讨论吧!也许,在这里会找到你想要的答案,也会提高你的技术能力,当然,你也会发现,开心比什么都重要。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于