1.基础理论
就是大家常说的《操作系统原理》、《计算机系统结构》、《编译原理》、《数据结构和算法》、《数据库原理》、《计算机网络原理》等等,很多做应用开发的程序员认为这些几乎没用(这些对做底层系统开发的程序员来说几乎是必不可少的),讲究速成的培训班也不会开这些课程,中国正规计算机专业的学生也有很多对这些乏味的课程毫无兴趣,真正好好学习这些课程的,起码我认识的程序员中不多)。我对这个的看法是,没有这些也可以做普通的应用开发,但择业的范围受限,另外很多时候对技术的理解会有问题。呵呵,如果想当大牛的话,还是要好好钻研一番。
2.基本知识
一般来说就是熟练掌握各种开发语言的知识点、语法、类包和API。这个大家没有异议,这是一个程序员吃饭的基本家伙,没了这些就没法干活了。
3.框架
例如现在流行的Spring、Hibernate、Struts、JBPM、ExtJs等。很多用人单位会在招聘启事上说要求掌握某某框架,对很多刚入门的程序员来说,会“使用”这些框架是求职的必备工具。但也有很多牛人对这些不是很感冒,更崇尚“无招胜有招”。我自己的看法首先要知道这些框架的使用场景,以及使用它会给我们带来什么价值和风险。我经常问来面试的人,为什么要学习使用Spring,呵呵,很多人的回答是“觉得企业需要、看到很多人在学就学了、学校让学的”等等,而且这些人所谓的精通也仅仅限于跑个简单的例子,写个配置文件,了解一点粗浅的概念。这种人我称之为没有“魂”的程序员。什么时候开始有意识的认真思考分析,开始“why”了,不再人云亦云,不再盲从,就有“魂”了!
4.编码素养
我就不说需求分析和设计了,就编码来说,好的编码风格和习惯,对错误和异常的处理,记录日志的技巧和习惯,对待测试的态度和写单元测试的习惯等。对这些,很多想走捷径的人不重视甚至认为没啥用处,但我认为这是一个高水平程序员的必备素质,没有这些,充其量就是代码搬运工,想通过快速掌握一两门语言,学会“使用”几种框架就想狮子大开口,向用人单位索要高薪的人,呵呵,受打击估计是难免的。
5.综合素质
包括逻辑推理能力,语言表达能力,学习能力,沟通协调能力等。这个就被很多刚入行的或者准备入行的忽视了。我招聘过很多程序员,许多人的逻辑推理能力非常差,出个逻辑推理题,别说推出正确答案了,连个基本的推理思路都没有。还有一些,根本无法正确有效的用语言表达自己的观点。对这些人,我个人一直比较矛盾,从感情上我不想打击这些人学习编程的兴趣,但从职业的角度讲,这些人根本不适合从事编程开发这个行业。
前面四项我觉得靠经验积累和努力学习就能提高,而综合素质中有些东西靠努力学习是很难改变的,所以往往要根据自己的综合素质和兴趣来确定未来的职业发展方向。
现在我看到的现象,很多刚入行的程序员,只重视基本知识和框架,觉得这些是用人单位的刚性需求,其他的要求好像都可以通过种种手段蒙骗,以达到一两年内迅速提高待遇的目的。呵呵,我是想劝告一下这些人,如果招人单位能被一个一两年经验的人蒙骗,这个单位不去也罢。如果一个负责招聘的技术经理,不重视编码素养和综合素质,估计他自己的水平也高不到那里去,去这样一个团队,能有利于自己的发展吗?
谁都想事半功倍,但事情往往是欲速则不达,做程序开发,更多时候还是需要静下心来,分析一下自己的优缺点,做一下职业发展规划(自己没能力做,可以请有经验的人指点一下),有目的、有计划的提高自己各方面的能力,水平到了的时候,钱就是自然而然的东西了。
呵呵,用积极开心的心态看待这个世界,就会发现世界没有我们想象的那么糟糕,路自然也会越走越宽了。
分享到:
相关推荐
保持专业态度,即使面对不擅长的任务也要尽力完成,这样才能积累经验,提升技能。 5. 乐于分享,团队协作:积极参与团队沟通,分享知识,帮助他人解决问题。团队合作精神是职业发展的基石,它不仅能增强团队凝聚力...
微软开发手册是编程界的一份重要参考资料,它涵盖了微软在软件开发过程中的最佳实践、规范和指导原则...对于任何想要提高自身技能或希望在微软平台上开发软件的程序员来说,深入理解和应用这些知识点都是非常有价值的。
在准备程序员考试的过程中,考生应当重视这些试题的分析和解答,尤其要关注历年常考的知识点,如面向对象编程的基本概念,常用数据结构(如数组、链表、树、图)的操作,基本算法(排序、搜索)的实现,以及软件设计...
3. 养生意识的培养:作者提倡要重视养生,即在日常生活中要有意识地预防疾病。这包括意识到自己的工作和生活方式可能带来的健康风险,并主动采取措施来预防这些风险。 4. 科学养生的重要性:作者强调养生要科学,即...
总的来说,选择一款适合自己的程序员专用字体,不仅可以减轻长时间编程带来的视觉压力,还能提高编程效率,是每个程序员都应该重视的问题。不断探索和尝试新的字体,找到最适合自己的那一款,将对编程工作大有裨益。
敏捷开发要求开发者们不仅关注产品本身,还要重视开发过程中的沟通和协作,确保团队能够快速响应外部需求的变化,从而提高项目成功率。 在高效态度方面,文章强调了专注、耐心、公正和持续学习的重要性。高级程序员...
综上所述,对于程序员而言,要想在激烈的竞争环境中脱颖而出,就必须采取主动策略,不断优化自己的职业路径。这不仅包括选择合适的技术方向进行深入研究,还需要注重个人品牌的塑造和社会资源的积累。只有全方位地...
《历年全国软考程序员试题详解》 ...在准备过程中,考生不仅要熟读大纲,做透历年试题,还要注重实际操作能力和问题解决能力的培养,做到理论与实践相结合,这样才能在考试中展现出全面的程序员技能。
【好的程序员如何写代码】 优秀的程序员在编写代码时展现出的专业素养和艺术感是评判其技能水平的重要标准。...对于招聘和培养程序员来说,重视这些方面可以帮助构建更高效、更高质量的开发团队。
此外,经验丰富的程序员在面试时可能会遇到基础题目,这时,他们往往会显露出对基础重视不足的劣势。这反映出在实际工作中,他们可能过于依赖现有的技术框架,而忽视了基础知识的学习和更新。在软件开发领域,技术和...
总而言之,程序员节是一个特殊的日子,它提醒我们重视程序员群体的存在和贡献。无论是在家庭中给予他们更多的关怀,还是在社会层面提供支持和尊重,都是我们共同参与这一节日的方式。让我们在这一天,向所有的程序员...
程序员应重视定期休息和锻炼,以保持良好的身体状况,这对于高效工作至关重要。 了解并解决这些缺点和问题,不仅有助于改善程序员的工作环境,还能提升整个团队的生产力和满意度。通过有效的沟通、培训和管理,可以...
1. 养生意识的重要性:作者强调“养心”,即重视健康意识的培养,避免产生疾病后再寻求治疗。 2. 科学养生:作者提倡科学养生,这意味着任何养生方法都应该是可证明、可重复的,并且可以为读者所理解。 3. 程序员...
在某些阶段,企业可能更加重视项目管理和客户关系,因此会愿意投入更多的资源在这些职位上。同时,随着IT行业的不断发展,项目经理的角色也在不断演变,例如向敏捷和DevOps转型,这些变化可能进一步增加了项目经理的...
因此,程序员在建立credit时不仅要考虑到同事之间的相互看法,也要重视管理层对自身工作的评价。 此外,张辉还强调了特立独行的重要性。在众多程序员中脱颖而出的关键是拥有独特的个人特点,这些特点能够让人记住你...
作者提出,养生应该从心理层面上开始重视,意识到健康的重要性,并且采用科学的方法来进行养生。科学养生意味着所采取的措施应是可证明和可重复的。此外,作者还强调,养生不应该与工作相冲突,而是应该寻求二者之间...
然而,正如标题所示,“程序员的灯下黑”揭示了一个普遍存在的问题:很多程序员过于重视知识的积累,而忽视了技术的实际应用和深化。这导致了他们在技能树上出现了一种不平衡的现象,即“重知识轻技术”。 首先,...
《程序员的数据逻辑基础》是专为程序员设计的一本数学教材,它将数学基础知识与编程实践紧密结合,旨在帮助初级程序员巩固和提升逻辑思维能力。在编程领域,数学的重要性不言而喻,良好的数学功底能够使程序员更好地...