我综合了一下身边的人给出的“程序员”的定义:
十年以上开发经验
有1年使用非常热门的框架经验,并且框架发布时间要超过一年
一本技术书籍的坐着;
可以默写上算法;
写过开源库并且已经有人在用了。
其实可以看到作为程序员给出的定义还是非常高的,基本上我们身边都很少见这样的程序员。那么,企业招聘中需要的程序员的定义是什么呢?
大家看JD可能觉得,诶?这要求也不高啊,一些公司的高管其实对的定义基本上有一个共通点就是:这个人能给别人提供多少指导?
责任
很多人在纠结程序员要掌握什么样的技术,其实身为一个管理者可能更看重的是这个程序员可以为客户提供清晰专业的技术和项目指导吗?在公司内部是不是可以辅导别人,甚至在编程社区有没有一些贡献。
对于技术水平很高,但是在团队中没有领导力,在沟通方面非常缺乏经验。这类的程序员,在职场中并不是很吃香。
但还有一种就是钻研技术,不屑成为管理者。是有一定的架构能力,并且可以快速定位问题。甚至他的领导技术也没有他好,但是完全不影响这类程序员一心研究技术。
提升
我见过很多人劝别人就是离开舒适区,提高个人代码能力去。但是我想说,不离开舒适区也可以提高个人代码能力。不要觉得安于现状是不好的事情,现在各行各业动荡极大,扎根一家公司也可以学习技术。
复杂的问题简单处理,不管是多复杂的项目,学会自己拆解,哪怕有多个棘手的BUG都能逐一解决。
提升学历能力和解决问题的能力,青铜喝者的核心区别就在于思考方式和解决问题的能力不同。大家要好好从思考问题解决或者优化方案去思考。
所谓的技术能力就是解决问题的能力和学习能力,所谓的管理能力是团队当中的协调沟通,以及赋能。不管是从哪个维度成为程序员,我们一起努力吧。