研发人员需要什么知识和能力

YS目前还在达内的AI培训班培训,昨天微信问我:“做一个研发人员,需要具备的知识和能力我也很想知道”。

这个问题还真有答案就在嘴边,可是又很难简单说清楚的感觉。为什么呢?研发人员包括了算法,开发,测试,项目管理,架构,运维等等角色,需要的知识和能力有重合,但又各不相同,加上不同行业有不同属性,因此一言难尽。那我缩小一点,说下程序员应准备的知识和技能。

从技术栈图谱开始

我刚入道的时候还没有这个,但是我建议现在的新人们在构建自己的知识体系的时候,先找一个技术栈图谱看下。当然看图谱的主要目的是让自己在学习的海洋中有方向感,而并不是把自己给吓趴下了,其中大部分的条目都可以在工作中慢慢学习。从实际中来讲,大学毕业,或者类似达内的培训之后就可以开始程序员生涯了。

关于技术栈,推荐unruledboy出品的爆栈网http://overflowstack.github.io,内容和风格我都很喜欢的一个网站,缺憾是缺少Java方向的技术栈。

准备三年编码计划

这里更多的是心里的计划,也就是说要准备好至少三年踏踏实实的码农生活,重点的指标就是代码行数。在这个期间建议是积极,主动地承担更多的编码工作,找尽可能多的机会来锻炼自己。

在代码行数达到一定数量的时候,很多东西就很自然地出来了,例如对设计模式的理解,对代码规范的理解,对架构的理解,在写过很多代码以后再看大牛的代码,再看哪些抽象一点的书籍,就特别有体会,而且我坚信,代码量是将来能达到高度的很重要的基础。

能力是一点一点的历练出来的

刚入道就开始考虑知识和能力的问题,这比我最开始工作的时候已经好很多了,这算是规划能力吗?回首这么多年的研发,我感触深刻的能力有:

学习能力:IT领域的知识的迭代更新的速度和幅度恐怕是所有行业里最高的了,善于学习,愿意学习,从而从基础走到前沿,从而不断地刷新自己是是的自己在职场保持竞争力的关键。

现在已经有很多的公司开始招“全栈工程师”,这个很酷的名字背后,则是上一条提到的庞大的技术栈。

交流能力:程序员和全天和代码打交道,思维方式越来越偏理性,可是实际生活的一半是感性的世界,在这个世界里,道理行不通,甚至“无理”的“傻”才是行为准则。提高交流能力的第一步也就是要认知到,感性世界的存在和特点。

交流能力也是一个基础能力,对程序员的职业规划来讲,是是否能突破岗位的基础能力。

时间管理能力:工作,学习,生活都需要时间,时间对于程序员来讲真的就是奢侈品。市场对软件开发的要求已经提高到以天为单位了,只有程序员自己,应该对自己一天以内的时间负责,稍有懈怠,等待你的就是地铁末班车,学习方面,IT领域的知识不但多,而且更迭的快。心心念念想着要学习的新的知识,很容易就被突发的一两次饭局无限延期。

所以良好的时间管理加自控,方能使得你在纷杂的生活中,让你盯住航行的方向,不至于淹没在红尘中。

后记

在解答完YS的疑问后,自己的压力也倍增,弄潮儿早已是年轻一代,甚至更年轻一代,对于老程序员,路又在何方呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五角大寨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值