JAVA开发了好几年,不知道自己是不是一个合格的程序员,姑且说下!

怎样才算是一个合格的程序员?

业务方面:

1,业务代码要很nb:有些所谓"大牛"认为,业务代码总是那些方式方法,不能促使一个人持续成长,我个人认为这是谬论,技术本就是为业务做实现的,而业务也是灵活多变的,如果不能根据业务变化,提升代码的可扩展性,兼容性,那么代码就不是好代码!

2,要熟悉全流程:我一开始在公司做的时候,只是把主管交代的任务做完就没事了,然后对整个业务线没有基本认识,导致写出了一些不符合业务逻辑的代码,主管很是不满,所以你要掌握的比别人交代你的更多,熟悉整条业务线!

如果你只掌握分配给你的业务,你可能成为你系统的负责人,但是你永远成不了总负责人!

态度方面:

1,孜孜不倦:一入开发深似海,程序员一职,伴随着互联网技术的不停迭代更新,技术层出不穷,只有不断的学习才能不被淘汰并成长!

2,学以致用:一般学习一门技能可以通过官网,社区等渠道,但是要想掌握,只能是靠自己,把你学习的技能用无数个demo的形式,掌握它!然后在实际开发中使用!

3,三省己身:把自己的所用所学不断的总结归纳,形成一个系统的完善的知识体系,才能不断的开枝散叶!

怎样才算是一个合格的程序员?

实际技能方面:

程序员不是固定的职业,有大数据的,web服务的,应用开发的,根据自己的技术范畴选定自己最应该掌握的!以web开发为例,起码需要包括:

前端:

CSS样式表,HTML布局,页面渲染方式,浏览器兼容性,原生js,前端框架诸如react,vue等,前后端分离技术之node.js!

后端:

接口开发,接口文档书写,文件处理(bio.nio),算法和数据结构(排序,查找,各种树结构,堆,队列等),缓存(redis,memcache,ehcache等),中间件(消息中间件:xxmq,kafka等,数据库中间件:mycat,cobar,sharding-jdbc等),nosql(mongodb,redis等),微服务架构(dubbo,springcloud等)!

前后端都需要:

通信:熟悉通信方面的知识,了解并掌握TCP/IP,HTTP等通信协议,了解"握手挥手"方式和连接原理!

数据库操作,包括增删改查和相应的数据传输!

数据加密传输,解密使用!

解决字符编码乱码问题!

防止重复提交,防止数据格式,数据类型等错误!

防止恶意攻击!