在大学的时候,计算机系的同学们肯定会学习很多计算机方面的专业课,如计算机操作系统、计算机网络、计算机组成与结构等等啦,个人认为这些课程会为你快速建立计算机技术的基本概念,但这些课程大学讲的比较粗浅,而且每一门课程在计算机发展方向上都有很深的领域。所以,个人认为这些课程在大学属于尽可能的了解。
大学计算机还会学习高等数学和英语,这是我认为大学学习的核心。
英语的重要性不言而喻,因为很多重要的参考资料都是英文的,虽然国内已经有很多汉译本,但是读起来还有些蹩脚。
大学除了高等数学,还会学习线性代数和概率论与数理统计等,这些都会为帮助你理解计算机数据结构和算法打定了基础,如果你说你懂Java,那除了if-else和封装、继承、多态,你至少还要懂得Java编程思想、数据结构与算法的Java描述,如果以上的知识你都具备了,那恭喜你,你已经是一个初级的Java码农啦。
作为一个码农,前有无数码农的辛苦努力,为了应对一些通用的场景达到最大编码的复用,所以搞出了设计模式,什么是设计模式,模式就是为了复用。但随着系统越来越大,系统越来越复杂,面对越来越混乱的代码,码农们又搞出了系统技术框架,如Spring、Hibernate等等,这时如果你懂得设计模式的Java描述,Spring应用,Spring技术内幕、精通Hibernate等等,那恭喜你,已经是一个中级的Java码农啦。
但随着项目越来越大,系统分工越来越明确,码农们慢慢有了变化,有些码农做了项目管理,有些码农做系统分析或系统架构设计,还有些码农做了测试或运维等等,而原来开发的码农,也细分为了开发工程师、DBA、Basis等等,其中DBA重要负责数据库的管理,如Oracle、MSSQL等;而Basis在负责操作系统的管理,如Linux、Windows等等;如果你是开发工程师,那你可能是在拿着明确需求和确定设计的情况下,在做代码编程工作。
此时,如何蜕变成一个高级的码农?
在此之前,我先说一些个人理解的系统框架和系统架构的区别,首先这两个不是一个概念,系统框架更偏向从技术角度解决系统的框架结构,如系统层次结构、功能项拆分、运行部署设计等等;而系统架构是什么?系统架构师是什么?首先系统架构不单指从技术角度上解决系统架构设计问题,你有100多套框架、用Spring集成,你说的不是系统架构问题。系统架构是一种抽象模型、是一种系统模型解决方案,系统架构可以为一些现实中通用性问题建立抽象模型、提供解决方案,如数据管理系统架构模型、数据监控系统架构模型、数据查询与展示架构模型,面对这些问题,系统需要系统架构师提供合理的系统架构解决方案,而不是告诉我一个SSH框架就可以解决的问题。
回到主题,此时需求有系统分析师,架构有系统架构师,那么实施就剩下码农了。
IT项目或产品的开发会越来越像工厂流水线,每个人就像流水线中的零件,公司需要的是这个模子的人才,而不是你。
这时,看看我们已经学到了什么?数据结果和算法、设计模式、系统框架和Java编程思想,这是这个模子最基本的要求,所以高级的码农就是在努力适合这个模子,可以灵活适配多条流水线的模子。
但随着新技术的不断更新,我们还没有为没有成为高级码农,就已经变成老码农了,在这个越年轻越值钱的计算机行业,如何保障自己在渡过黄金期后,依然能够有一定的竞争力,学会如何思考,如何改变自己不被这个潮流所淹没,这时,才成为真正Java工程师。
欢迎工作一到五年的Java工程师朋友们加入Java架构师:697558955
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
原文地址:https://blog.51cto.com/14233733/2373014