作为一名程序员,我认为诸如debug这种技术性的能力不是重要的,毕竟技术性能力数不胜数。我认为,对于一名程序员来说,下面几点能力的培养可以给题主在将来的工作上带来很大的帮助。
1.表达能力。
一个人无法清晰地表达自己的观点,对于团队合作是十分不利的。工作中需要表达能力的地方无处不在。对一个程序员而言,学会清楚地表达自己的设计,才能更好地进行协同开发,包括各类流程图及架构图,这些都是表达自己想法的重要方式。
2.数据分析汇总能力。
在开始写代码前对数据进行全面分析汇总,可以把代码设计、时序图、UML图做得更好,为后续代码编写更好地铺路。在项目结束后做好也能对每一个步骤、每一个模块进行分析汇总,这样才能让你通过这个项目有更多的收获。
3.社交能力。
假设同样在工作中遇到了无法自己解决的难题,人缘好的人会向同事求助,问题往往会迎刃而解,而“埋头苦干”又不喜欢打交道的人只能自己死磕,大大推迟了工作进度。这里给你一个比较好的方法,你先准备好一个连续的话题,比如“吃饭了吗?”、“在哪吃的?”、“吃了什么?好吃吗?”,当你遇到常见的同事时先主动打招呼,然后开始聊这些话题。相信我,不出一个月,你习惯了与人交流,在社交方面也就不存在什么问题了。
4.时间管理的能力。
一天工作8小时,你决定先摸摸鱼再开始写代码。但当你刚摸完鱼,准备开始写代码时,又突然被叫去开会了。于是你便赶不上工作进度,不得不加班工作。此时正在加班的你就会想:“大意了,没想到突然要开会,早知道先把时间安排好了。”都说计划赶不上变化,所以在规划时间的同时也要给自己预留时间。也就是说,如果你的上班时间是8小时,那你的计划时间尽量不要超过6小时,把多出来的时间预留出来,用于处理一些可能发生的突发事项。当然,时间管理不仅是一种能力,也是一种习惯,学会坚持是很重要的。
5.自主学习能力
程序开发领域的技术迭代速度还是比较快的,所以程序员十分需要自主学习的能力。同样是一起面试进来的同事,他下班后在学习,你下班后在打游戏,你们之间的差距就会越来越大。所以说,有自学能力的人才有自我增值的空间。首先你要学会自律,把碎片时间利用起来学习工作之外的东西。其次,学以致用非常重要,以解决问题为导向,从工作的实际需要出发。一个人越能学以致用,就越容易自主自发地学习,因为他真真切切地体会到了学习带来的好处。
6.学会了解行业新风向的能力。
程序员的职业生涯相对较短,并且程序员数量过剩。因此,作为一个程序员,我们要学会如何在众多竞争者中脱颖而出。除了提高自己的技术水平以外,了解行业新风向也是十分重要的。只有紧跟技术的潮流,才不会被淘汰。