转自:http://www.iteye.com/topic/1113903
经常在一些技术论坛里看到,有人抱怨说做开发好多年了,技术没有多大长进,薪水也没有提升;
经常会碰到一些做技术外包的同学,说我天天coding,coding,今天换这个东家、明天换那个东家,代码也写了几十万行,但几年下来,个人竞争力却没多大提升;
也时常听到一些在大公司里工作的开发人员抱怨,虽然拿着不错的薪水,在公司里成天就像一个螺丝钉一样,被安排在一个细小的领域里,几年下来,抠来抠去,就那点东西,实在微不足道,同行面前拿不出手,没有成就感;
不一一列举,相信做IT技术的人,多少都会碰到上面所说的情况,因此,对于做IT技术的人,如何提升自身的竞争力,或者说的再俗一点,如何能保持、提升自身的身价,做一棵职场的常青藤,需要认真思考一下。
抽空搜集了一下互联网各大公司的招聘广告、也观察了一下公司里的一些技术高手的一些成长特点、结合自己的既往的一些工作经历,有了一个初步的思考,虽然说不上是找到了一条捷径,但相对来说这是技术成长的一条通路,大家可以一起来探讨一下:
关于开发工程师成长的问题最近有一些思考,做个分享,先抛两个观点:
1、 夯实技术基础应以企业(市场)本质需求为导向,技术人员的身价或者核心竞争力的体现最终是由企业(市场)的本质需求决定的,这个本质需求是能用最快的速度提供可靠的综合解决方案,而不是看谁的技术玩得更酷或者更新潮;
2、 技术人员对技术的把控程度,很大程度决定了一个技术人员的“身价”和“话语权”,在当前千军万马的互联网技术大军里:
(1)懂得某种技术的 “HowTo”的一抓一大把,在程序员从业大军中属于廉价劳动力,处于金字塔的底层;
(2)能再往前进一步,深入理解这门技术“Why”的,相对来说就要少一点了,属于金字塔的第二层;
(3)能对一门技术理解了以后,能对既有技术进行优化和改进的,就更少了,属于金字塔的第三层;
(4)那金字塔的第四层是什么类型的人呢?我给出的定义是那些对多种技术有深入的理解,在提供综合解决方案时,面对多种技术知道如何取舍和搭配的人、能对已形成的搭配方案进行优化和改进的人,这种人是企业里的“香饽饽”,具体形象说明如下:
所以,要提高自身的核心竞争力、提高身价,第一个首先要想清楚发力点在哪里、成长路径是什么,对于上图描述,大家比照一下企业里的那些大牛,是不是基本是这种状况?
第二个要谈的,是作为一名互联网开发工程师,要掌握哪些必备的关键技术;搜集了一下最近各个互联网公司对开发成员的一些招聘要求、观察公司一些技术高手所具备的知识,包括自己之前做开发工程师的一些体会,总结了一下做互联网开发,一些通用的、开发工作中经常接触的的技术列表出来,这些必备技术要尽量确保每一项技术掌握到上图中金字塔的二、三层发展,不能老处在第一层,这样没有竞争力,“了解”、“熟悉”、“精通”这几个概念差距还是蛮大的,要谈到“精通”你不把某项技术的源码精读个几遍,对关键技术细节一清二楚、活学活用,还真不好说精通:
WebServer:
1、 Apache(nginx)
2、 Tomcat
3、 Jboss
前端技术:
1、 html/css/js
2、 ajax
3、 前端框架:protype、dwr、Jquery、JfreeChart、ExtJs
Java技术:
1、 Java语言;
2、 JVM 虚拟机
3、 J2EE技术
数据库相关技术:
1、 关系型数据库:Mysql、Oracle
2、 NoSql:Cassandra、MonGoDB
工具:
1、 IDE:Eclipse
2、 编译打包:Maven(Ant)
3、 单元测试:Junit
4、 代码管理:SVN(Cvs)
5、 前端调试:Httpwatch、Firebug
6、 压力测试:ab
开发框架:
1、 MVC框架: Struts2、Webwork、Webx、Spring
2、 ORMapping框架: Ibatis、Hibernate
集群及缓存技术:
1、 DNS
2、 LVS+Keepalived
3、 Squid、MemCached
系统及网络基础:
1、 Linux系统;
2、 监控;
3、 TCP/IP协议、HTTP协议;
“板凳做得十年冷”,做技术需要耐得住寂寞,量变到质变,融会贯通,需要有一个过程,技术基础也是一步步夯实起来的,这是个客观规律,但是即使要坐“十年板凳”的时候,还是要规划一下该学什么、怎么学、一步步去完善,否则会发现十年下来,板凳坐冷了,心也冷了,那就很悲剧。
没事在iteye闲逛,职场话题看多了有感而发,一家之言,欢迎拍砖。
分享到:
相关推荐
作为一名JAVA程序员,提升核心竞争力是保持职业生命力的关键。在快速变化的互联网行业中,技术的更新迭代速度极快,因此,持续学习和适应新技术是至关重要的。以下是一些建议,帮助JAVA程序员强化自身技能和思维能力...
[程序员小飞]别只做一个程序员_中国程序员的出路_程序员的副业
黑马程序员,C++核心编程
本文从【第三阶段程序员C++核心编程.pdf】文件内容中提炼出的C++编程知识点包括内存管理、面向对象编程、new和delete操作符以及引用的使用等多个方面。 首先,C++程序在运行时的内存分配主要分为四个区域:代码区、...
这种坚持不懈的精神是程序员不可或缺的品质。 再者,程序员必须严谨细心。编程语言有着严格的语法规则,任何细微的错误都可能导致程序出错,甚至引发严重后果。因此,程序员在编写代码时必须保持高度警惕,对每一个...
整体来看,文档为程序员如何在不断变化的IT行业中保持竞争力提供了一个全面的视角,涵盖了个人学习成长、技术深度追求、市场价值评估等各个方面。其中的每一个观点都值得程序员深思,并结合自身实际进行规划和实施。
描述中的“从这本书中,你可以看到作为一个程序员,你未来的方向”意指文章不仅讲述了一个程序员的成长故事,还试图为读者提供一个参考,帮助他们了解程序员的职业生涯可能面临的各种情况,以及如何更好地为未来职业...
600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员常用的单词和词汇600个程序员...
成为优秀的程序员不仅在于编写高...通过培养这些习惯,程序员不仅能提升个人技能,还能增强团队协作,使自己在不断变化的IT世界中保持竞争力。记住,优秀程序员的标志不只是编写代码,更是如何高效、灵活和合作地工作。
其次,解决问题的能力是程序员的核心竞争力。这不仅涉及编写代码,还包括调试、优化和解决实际问题。在学习过程中,不应止步于程序能运行,而是要思考如何写出更高效、可维护的代码,并对遇到的问题进行深入探究。 ...
本书名为《高效程序员的45个习惯 敏捷开发修炼之道》,由Venkat Subramaniam和Andy Hunt两位作者...书中的每一个习惯都值得程序员细细品味,并将其融入到日常的工作与学习之中,真正地实践成为一名真正的高效程序员。
程序员手中的利器(1)--工欲善其事必先利其器[文].pdf
面对复杂多变的技术挑战时,拥有强大的问题解决能力是一名优秀程序员不可或缺的素质之一。这不仅涉及到如何快速定位问题所在,还包括如何有效地分析问题原因以及提出合理的解决方案。良好的逻辑思维能力和创新能力是...
熟练掌握这些单词,不仅可以增强程序员的专业技能,还有助于他们在全球化的开发环境中更好地适应和交流,提升职业竞争力。同时,通过“Notes.app”这样的学习工具记录学习过程,可以方便回顾和巩固,使学习效果更佳...
《程序员面试宝典》是一本专门针对程序员面试的书籍,旨在帮助求职者充分准备,提升在面试中的竞争力。这本书涵盖了编程基础、数据结构、算法、操作系统、计算机网络、数据库等多个核心领域,为读者构建了一个全面的...
标题中的“程序员测试”指的是对潜在程序员的一种评估方式,通过特定的题目来判断个人是否具备从事编程工作的能力和潜力。描述中的“看看里面的题目”暗示这是一道编程挑战,旨在检验解决问题的逻辑思维和算法能力。...
如何做一个合适自己的简历,java程序员
【标题】中的“一个老程序员的心里话”和【描述】中的“一位从业十多年的老程序员通过他的亲身经历为大家总结出来的一些经验”表明这篇文章是关于一个经验丰富的程序员分享他在IT行业长期工作所积累的见解和建议。...
游戏程序员的学习之路是一个...总的来说,成为一个游戏程序员需要广泛而深入的学习,涵盖算法、数据结构、编程语言、图形学、人工智能等多个方面,并且需要不断地实践和提升,才能在这个快速发展的行业中保持竞争力。