热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

根基决定一个程序员会不会被淘汰

丰厚的薪水,高端的职位和有成就感的事业是人人都想要的,而这些都取决于你每天的认真工作,努力学习和灵活做人上。日子就像一块块砖,你就像是一个泥瓦匠每天在堆砌着你的人生,最终砌出一个宏伟的大厦或是一幢低矮的小屋甚至是堆成一堆瓦砾全取决于你自己。

丰厚的薪水,高端的职位和有成就感的事业是人人都想要的,而这些都取决于你每天的认真工作,努力学习和灵活做人上。日子就像一块块砖,你就像是一个泥瓦匠每天在堆砌着你的人生,最终砌出一个宏伟的大厦或是一幢低矮的小屋甚至是堆成一堆瓦砾全取决于你自己。

程序员是一碗青春饭吗?

程序界和软硬件一样都要遵守摩尔定律,也就是说当前的技术知识很快会被替代,你需要不断学习新的东西,否则就会面临着被淘汰的危险。然而,一个人的学习动力和欲望都是有限的,记忆力还会随着年龄的增长而衰退,从这个道理上来说,年龄大的迟早会被年龄小的超过,成为鸡肋并最终将被无良的公司抛弃。难道程序员这个职业做不过三十五岁,永远是一碗青春饭吗?

根基是决定一个人会不会被淘汰的关键

我刚进入IT业就听说过这种说法,不过当时的年龄限度是30岁,当工作一段时间后,这个限度上调了五岁,而且还有陆续上调的趋势,而在各个公司中,超过35的程序员并不罕见,在外国做了一辈子软件的人也屡见不鲜。难道“程序员是吃青春饭的”是一个谬论吗?那么为什么很多人持有并宣扬此论调呢?

其实这个结论既正确也不正确,它的结果取决于要评判的人。一个人如果根基扎实,他就更容易学习新的事物新的知识,年轻和精力相对于扎实牢靠的根基是微不足道的,对于别人是一座山的障碍,对于他也许就是一张纸的隔阂,这样的人是不会面临着被超越被淘汰的危机的,青春饭的论调对他完全不适用;而一个人如果根基不牢,只是靠精力和年龄勉强立足,每次新事物新知识出现都在和年轻人拼体力拼精力,那么他迟早将被淘汰,优胜劣汰的社会就是这样残酷无情,但很公平 。

什么是程序员的根基

面向对象的思想。MVC,分层架构,按接口编程,依赖注入,OR Mapping,面向方面,SOA等都是OO的发展,不从根本上领会它,程序员就难以把握程序发展进化的趋势,永远停留在老窠臼中无法自拔,自我提高升华进化当然更是一句空话。

数据结构。程序的核心目的是收集,整理和展示数据,而数据的核心就是数据结构,它的重要性不言而喻。线性表、栈/队列、串、多维数组、广义表、树、图这些数据结构你都需要认真掌握,掌握的程度越深,日后学习的阻力就越小,相对于他人将更有优势。

算法。如果缺乏好的算法,程序架构得再完美数据再贴切都无济于事,犹如一台法拉利却用牛来拉一样。迭代法、穷举搜索法、递推法、贪婪法、回溯法、分治法、动态规划法都是你需要掌握的,不要以为这很难,读透一本算法导论就足够了。

基础API。只有思想,数据结构和算法只是一条腿,要健步如飞还得两条腿走路。程序员的另一条腿就是基础API,你需要认真掌握TCP/IP协议详解,Socket通信,线程,文件读写等每种语言和技术都需要的基础知识,一个新事务即使再绚烂夺目也是利用这些基石搭建而成的,如果你彻底了解了它们将永处不败的境地,甚至觉得新技术也不过如此。

如何打好根基

多学。从项目中学,从书本中学,从别人哪里学,从失败中学习,掌握基础API就是需要多学习,如果有已有的知识总结可以起到事半功倍的效果。

多想。学习OO和算法都需要理解,光是死记硬背毫无用处,子曰“学而不思则罔”,OO和算法的学习都需要一个理解消化的过程,只有彻底理解了,你才真正掌握了它们。

多练。经过代码的历练,程序员才能百炼成钢,成功的项目能告诉你什么是正确的,失败的项目会暗示它为什么会失败,下次你就能更进退有据。更重要的一点是,不做项目,不做多个项目,不做大项目,程序员对“度”的把握总是缺乏经验,不是过就是不及。真正亲手手写过10-20万行代码的是成为一个成熟程序员的必要条件(但不是充分条件)。

多见。眼光狭窄,目光短浅,固步自封只能造就一只井底之蛙,你的眼光必须超越自己所在的环境才能取得真正的进步,现在有许多开源社区和软件都是你应该涉足的地方,和什么样的人在一起你自然也会成为什么样的人。“蓬生麻中,不扶而直,白沙在涅,与之俱黑“说的就是这个道理。

程序员的身价是由什么决定的?

如果一个程序员有良好的根基,充满智慧的头脑,积极主动的精神和锲而不舍的毅力,他就一定能有丰厚的薪水吗?答案是否定的。原因在于薪水不光取决于自身的水平,还取决于周围的环境。

程序员的身价首先决定于他能给雇主带来多大的利益,如果带不来利益,程序员再有本事也是白搭,这就要求程序员一定要根据自己的特点寻找合适自己发展的公司,在你的职业生涯之初就要研究自己和世界,逐步选择一个合适自己的方向发展,永远记住,方向比努力更重要。

其次,程序员的身价也取决于他的不可替代性,即使一个人能带来很多的利益但身后有大批的后备军资源,干不好立即就有人顶替你,这样的人薪水也不会高,反正你不干有的是人干,资本家就是这样无情。这告诉我们要使自己不可替代,就要努力向高处走,一定和众人拉开差距才能彰显自己的价值。

程序员生涯能给我们带来什么

IT是一个朝阳产业,正处于蓬勃发展中,选择这一行比其它行业拥有更多的发展机会。

相对于其它职业,程序员对自己命运的把握程度更大。”荣辱自取,不求于人“,这是一种非常好的感觉,在别的职业中是难以找到的。

只要人们还在使用计算机,程序员这个职业就永远不会消亡,因为计算机运行永远需要软件。

在信息时代,程序是一个非常有效的收集或发布信息的工具,如果利用得当,它能直接带来巨大的收益。

程序员事业发展的方向

架构师,CIO。对于热衷于技术的程序员来说这是一个不错的方向,架构师这个职位的必要条件是有优秀的技术功底和丰富的设计经验,此外还需要有某个领域的深入知识。对于CIO要求更高,他需要对未来五年内的技术走势把握得比较清楚。

项目经理,部门经理。人际关系处理良好,语言能力出众的程序员适合走这条路。这也是大连大多数程序员的理想选择。

做自己的网站,当一个给自己发薪水的人。网站做好了收入颇丰,低端如hao123,高端如google的例子都摆在眼前。其实做网站初期投入并不巨大,但需要持之以恒的毅力尤其是敏锐的市场嗅觉,它决定了你是否能从网站中盈利。此外,拥有自己的网站对于自我宣传,建立个人品牌有很大的好处。这条路适合于热衷于网络技术的程序员。

开公司创业。制作软件并不难,难得是是否能接到活,能否接到长期的活,如果能做到的话,你就可以选择创业。拿工资致富是不可能的,而一次项目的利润可能就等于你前期的工资总和。

后语

相对于永恒的宇宙,我们确实非常渺小,应该有谦卑之心;但是跟别的任何生命相比,我们的尊严,我们的价值,我们的可能性,是一样的;就算人家确实是牡丹玫瑰,自己只是小小的,角落里的一朵苔花,也应该灿烂地绽放,把自己涨圆,并且自豪地仰望苍天,说:“我也能!”

本文地址:http://www.nowamagic.net/librarys/veda/detail/1830,欢迎访问原出处。


推荐阅读
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • 配置PHPStudy环境并使用DVWA进行Web安全测试
    本文详细介绍了如何在PHPStudy环境下配置DVWA( Damn Vulnerable Web Application ),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 本文详细记录了一位具有五年半开发经验的候选人,在华为Android高级开发职位面试过程中的经历。从早晨9点到下午5点半,经过了群体面试、技术面试、综合面试及英语面试等多个环节,最终成功通过考核。文章不仅分享了面试心得,还提供了宝贵的面试题资源。 ... [详细]
author-avatar
勇士8853
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有