一个合格的程序员要掌握哪些知识
我认为,在学习技术时,不应该把面铺行太广,不要试图把OS,语言,数据库,设计等都掌握了,一个人的精力是有限的,不可能也没有必要去学习那么多的技术.'这方面想的多了,那方面必竟就想得少了'.另外,技术在某方面是相通的,比如Java和C.所以,我认为,在学习技术时,可以根据自己的情况结合公司以及技术本身(最好选主流技术,而不要先已经过时的.比如,就是公司需要,也最好不要再学VFP)的情况,选取一种或者两种主流技术当作自己学习的核心技术.然后深入进去,在学习的过程中,最好做一些小项目或者向一个技术高手学习.这样是很有必要且很有效的.想必大家都深有体会.这样,用不了三年,你就会成为一种技术领域内的专家.
2选取什么样的技术
技术可以分为两种:一种是一些高深的技术,直到现在也在研究和探索中,或者存在争议.虽然绝对华丽且时髦,却不一定实用.比如:UML.WebService等,到底有多少公司和人能够理解它并完全用于项目中?不得而知.到底哪一种分析设计更适合我们?RUP?我觉得这些都需要时间去验证.而且它本身是否完善也许仍是一个问题.所以,我认为这种技术适合那些对技术有狂热的兴趣,本身又有很高的悟性,且有条件(公司需要学,或者有一些培训机会),则可以去学习这种技术,如果掌握以后,肯定会站在技术的前沿.而个人待遇也会有很大的前进,掌握这种技术对个人能力要求比较高.所以,在选取这样的技术时,要结合自身条件.也就是你能不能学会.
第二种是成熟的技术,大家都在应用,且能够解决公司或者个人所面临的一系列问题.比如:delphi,java,pb,sql server等等,这种技术发展到今天,已经非常成熟和完善,而且学习的资料全面,易于掌握.所以,如果你注重应用的话,可以选取这种技术.就像上面的文章中提到的:"单纯的技术,无论如何先进,如果不能给企业带来好处,都没有任何意义;同样是技术,无论多么原始和落后,如果对企业来说足够用,能带来好处,就应当采用".所以.选择这样的技术在以后的几年里,仍然有很多用武之地.如果能够精通的话,待遇方面也不会低多少.
3从技术转入管理
现在看到很多人在谈论技术人员在超过35以后能不能编程,担心自己过了35就会失业.其实这完全是没有必要的,据我了解,国外超过35的程序员是非常多的.而国内之所以出现程序员很少有超过35的是因为,在国内,程序员这个职业起始于上世纪90年代初,而当时做这个行业的和今天情况一样:大多是刚毕业的学生,他们当时不过20多点,那也是国内第一代程序员,他们到今天为至,也很少有超过35的,而且很多选择了自己做公司,不再亲自写程序.所以,现在国内的程序员很少有超过35的.说了这么多,只是为了说明程序员超过35仍可以写程序,纵然是这样,程序员这工作仍然是脑力劳动中工作量很大的一个职业,所以,大家可以根据情况,从技术转入管理,这样的话,以后的生活会轻松许多.如果选择以后做管理的话,那么现在学习什么就应该重新选择了.
2022-04-04 · 每时每课,给你新机会!
1. 一名合格的程序员需要掌握的技能其实蛮多的。Java毋庸置疑是肯定要熟悉精通掌握的。Java应该广泛,就业市场对Java程序员的要求也很大,要求也很高,需要掌握大量的核心技术,那么成为一名优秀的java程序员需要掌握哪些技能呢?
2.需要掌握的技能
(一)熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。
(二)熟悉基于JSP和Servlet的JavaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发的经验。
(三)对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
(四)熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
(五)熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。
3.成为一名合格的程序员不能骄傲,需要继续努力学习,在原有的技能基础上继续提升,学习的道路是永无止境的,只有通过不断的学习才能更好的提升自己,力争从一名合格的程序员上升到一名优秀的程序员。如果想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,建议实地考察对比一下。祝你学有所成,望采纳。