引言
想了好久,决定将自己的近十年经验以及想法记录在这里,本文并不特指某种技术,而是从宏观的角度来描述更好的成为一名程序员,用来引导新鲜血液与各位专家沟通。
何为程序员
程序员的数量与市场的需求都在稳定增长,但是在我的视野里面,大多数初级程序员并不了解自己角色的定义。何为程序员,其实我更喜欢将程序员称之为研究员或者称之为一块砖头(哪里需要哪里搬),在我个人的了解中程序员不应该局限于某种语言某种框架的局限,应该接受各种的挑战,在能力所及的前提下根据要求进行不同的研究,
工作思路
在工作中,我经常遇到钻牛角尖的人,比如遇到一个问题,自己闷头处理,有研究精神固然很好,但是要看项目背景是否允许。
学会抛出问题
首先我提供一个流程图
比如你的经理发布了一个任务,但是任务相对你而言很难
我们用对比的方式来说明这种解决思路
左边:我不断地去寻找解决方案,去尝试解决问题。
右边:我尝试自己去解决问题,但是发现自己能力暂时达不到,当我自己尝试了N(这个N根据项目时间来定)次,还是解决不了,最终寻求经理或者经验丰富的同事帮我。
个人来说,右边的思路更好一点,前提是自己尝试解决过,原因如下:
- 在短、快、急的项目背景下不容许卡住一个问题太长时间,如果发现卡住了,要会会抛出问题,如果不抛出问题,可能对项目的危害更大。
- 要学会沟通问题,虚心求教问题并不是一个丢脸的事情。
此处补充一下,在复杂业务流程中,用图的方式比文本的方式更直接、更明了。
换个解决思路解决问题
场景:
在项目过程中,我经常遇到甲方提出一个需求,张三来主要负责这个需求,但是他通过A方法一直无法做到甲方所需要的结果.最终来找我寻求帮助,我给他指了另一个不同的解决方案,但是能完美的完成甲方的需求。
其实这个解决方法基于程序员有一定的经验,经验包含有自主解决问题的能力与业务领域相对丰富的经验。
左:当我发现问题解决不了大于N次我直接去寻求协助。
右:当我发现问题解决不了,我先换个其他方式去完成,如果还是解决不了寻求协助一起讨论。
工作态度
学会思考后再说话
场景:
甲方将某个需求分给了张三经理,张三经理将业务功能实现任务的可行性研究交给了李四,李四看到需求,不加思考的直接回绝了张三说了这个需求做不到。
建议:
这边建议不要直接回绝你的经理,通过查资料等考证、截图告诉你的经理,没办法实现.然后再想后续的解决方案,我觉得这样会比较好.有的时候这个并不是技术高低的问题,而是态度问题。
作为一个项目经理应该都不太喜欢,我提出要求之后,不经过思考与考证,就直接否定的程序员吧。
自我规划
学会自学
场景:
某个程序员只接受工作的需求,所有的技术只来自于需求,当你环境下的技术落后,如果你当前业务线被砍掉,如果你不上进或者等到业务线被砍掉才知道自学,那你将面临的是你的工作职位也被砍掉。
建议:
- 扩展广度,扩展深度
- 多了解行内知识,行内新闻
- 学习要学与实践并存 如果只学不用 不去实践 等于白学 没有亲身经历是没有记忆点的
- 适当的去面试,了解自己在市场的价值与定位(这里并不是让你频繁的跳槽,而是让你清楚自己的能力 在市场中的定位)
- 补充有用的证书
自学只是补充自己并且让我身心得到满足,并且不让自己恐慌的方式。