「程序员」想成为一名优秀程序员吗?你得具备这几点!


「程序员」想成为一名优秀程序员吗?你得具备这几点!
文章图片
「程序员」想成为一名优秀程序员吗?你得具备这几点!
文章图片
以前我们的老师总是会说:“不想当将军的士兵 , 不是一个好士兵 。 ”所以很多人都认为程序员应该是一群主动学习 , 非常善于学习的人群了 。 但现实是我们只是走上了一条不得不学习的道路 , 现在无论大厂或者小公司 , 谁刚刚入职能独善其身呢?除了必备Coding能力 , 有的时候你还的会排查问题 , 找BUG , 测试 , 线上运维 , 项目管理 , 就连平时不善于表达的你 , 还得去协调沟通 。 当然这些都成为一名优秀程序员应该具备的 。
程序员也应该全面发展 , 遍地开花
“天将降大任于斯人也 , 必先苦其心志 , 劳其筋骨 , 饿其体肤 , 空乏其身 。 ”或许说得有点儿夸张了 , 但是你真的想成为一名优秀程序员 , 这些是必须要经历 , 比如5.1加班 , 那也是家常便饭了 。 今天加班 , 我顺便和大家分享下成为优秀程序员 , 应该具备的条件吧!
第一:开发技能(比如:JAVA程序员哈 , 其他岗位各位小伙伴欢迎分享)
开发技能可以从两个方面来看:a.技术点b.经验
a.技术点:1.JAVA语言掌握 , 包括了面向对象的开发思想 , JVM结构以及JAVA web体系结构等内容 。 细说的话比较多 , 比如:JAVA的性能优化 , JAVA并发开发 , java操作数据库 , JAVAweb开发标准 , JAVA网络开发等内容;2.JAVA分布式开发 , 因为JAVA的一个非常重要运用场景是大型网络平台的后端开发 , 基础就是去构建一个分布式架构 , 这个是非常考验一个程序员解决问题的能力 , 这块主要要掌握RMISOAP以及目前运用比较多的dubbo , zookeeper以及spring boot和spring cloud 。
b.经验:那就是在各种场景开发过的项目经验了 , 这个必须自己亲手coding过之后才能体会的 , 所有程序员的经验也是随着年龄上涨不断提升的 , 如果你到了35岁还只是停留在写代码的水平 , 那只能说你的经验这块没有积累够了 。
只能JAVA这块
第二:除了开发能力 , 我们还需要开发相关的类开发能力
a.很多人开发的硬件系统是windows , 都是图形化可视的界面 , 但是经验告诉我们 , 你的很多甲方 , 是要求你去和服务器上面搭建和安装开发环境的 , Linux常用的命令以及环境的项目部署和调试等都是必备技能 。
b.测试能力:如果一个小公司 , 就你一个程序员 , 或者没有专门的测试人员 , 基本的单元测试能力 , 也是你排除问题的很好办法了 。
c.版本管理:具体来说 , 我们需要掌握GIT或者SVN , 版本管理到底什么时候提交版本 , 提交的时候commit message应该如何写 , 如何解决代码之间的冲突 , 这个都是你去琢磨的
d.构建工具:现在企业也不再是进行JAR导入或者导出了 , 都借助maven或者gradle等工具了 , 这个也是程序员必备的技能
e.找bug , 调试代码:有谁敢说程序员是在写bug , 拖出去咔嚓了 。 但是越大的项目 , bug越多 , 我们应该学会运用IDE工具 , 跟着自己的程序一步一步看效果 , 只要祈祷不要出现BUG就好了 , 要不然就得去求助“雍正”了 。
找bug
f.问题排查与解决:当然这个很多时候是一个团队应该做的事儿 , 这个工作量是很大的 , 但是如果是一个小公司 , 你应该具备1.会查看日志2.分析JAVA的堆栈信息3.集群的监控指标你要会查看就好了 。
第三:除了开发和类开发 , 那就是自我的综合能力
a.高效学习能力 , 看到了有如此多的技术咱们需要掌握 , 如果你不随时更新自己的知识库存的话 , 详细想走上人生巅峰是万万不可能的 , 你不光是要学 , 还得高效 , 比如你的学习方式:要善于通过各种工具来学习 , 比如出现问题了google , 维基百科 , 知乎等 , 当然培训也是一种方式 。