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

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

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

  程序界和软硬搜索件一样都要遵守摩尔定律,也就是说当前的技术知识很快会被替代,你需要不断学习新的东西,否则就会面临着被淘汰的危险。然而,一个人的学习动力和欲望都是有限的,记忆力还会随着年龄的增长而衰退,从这个道理上来说,年龄大的迟早会被年龄小的超过,成为鸡肋并最终将被无良的公司抛弃。难道程序员这个职业做不过三十五岁,永远是一碗青春饭吗?根基是决定一个人会不会被淘汰的关键其实这个结论既正确也不正确,它的结果取决于要评判的人。一个人如果根基扎实,他就更容易学习新的事物新的知识,年轻和精力相对于扎实牢靠的根基是微不足道的,对于别人是一座山的障碍,对于他也许就是一张纸的隔阂,这样的人是不会面临着被超越被淘汰的危机的,青春饭的论调对他完全不适用;而一个人如果根基不牢,只是靠精力和年龄勉强立足,每次新事物新知识出现都在和年轻人拼体力拼精力,那么他迟早将被淘汰,优胜劣汰的社会就是这样残酷无情,但很公平 。

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

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

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

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

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

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

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

  如果一个程序员有良好的根基,充满智慧的头脑,积极主动的精神和锲而不舍的毅力,他就一定能有丰厚的薪水吗?答案是否定的。原因在于薪水不光取决于自身的水平,还取决于周围的环境。程序员的身价首先决定于他能给雇主带来多大的利益,如果带不来利益,程序员再有本事也是白搭,这就要求程序员一定要根据自己的特点寻找合适自己发展的公司,

  在你的职业生涯之初就要研究自己和世界,逐步选择一个合适自己的方向发展,永远记住,方向比努力更重要。

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

  IT是一个朝阳产业,正处于蓬勃发展中,选择这一行比其它行业拥有更多的发展机会。相对于其它职业,程序员对自己命运的把握程度更大。”荣辱自取,不求于人“,这是一种非常好的感觉,在别的职业中是难以找到的。只要人们还在使用计算机,程序员这个职业就永远不会消亡,因为计算机运行永远需要软件。在信息时代,程序是一个非常有效的收集或发布信息的工具,如果利用得当,它能直接带来巨大的收益。

    程序员事业发展的方向

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

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

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

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

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

     编程思想就是用计算机解决实际问题

  编程就是把想法如数理模型,游戏,商业等转化为代码的活动,从而使计算机可以执行它同时其他人可以读懂它。伟大的程序员都擅长于解决某个领域上的问题,技术精湛和领域认知深入的程序员才有机会会创造出一流的产品。

  去做去行动,大道理很多人都懂,为何脱颖而出的就那么几个人,因为他们不只懂而且也去做了。

时间: 2024-10-14 13:23:59

根基决定一个程序员会不会被淘汰 --转载的相关文章

从前有一个程序员,成天写代码,后来,他屎了。。。

从前有一个程序员,成天写代码,后来,他屎了 1.一门可以靠手艺混饭的专业 你好,非常荣幸能够步入改变世界的软件开发行业,接下来我们聊点正经的.回首近7-8年来的时光,发现自己可能将要走向程序员这条道路的时候最早可以追溯到2008年高考完填写志愿,那时候分数所迫,二本学校的好专业都上不了,我就想有什么专业是可以不靠学校名声而靠自己努力成就一番霸业的?思来想去选择了–计算机,作为第二志愿...显然那时候会计这个专业更火一些. 入学一年以后我有了自己第一台笔记本电脑,然而第一个装上的应用程序居然就是魔

一座熟悉而陌生的城市--一个程序员的成长史(7)

回到重庆,已经是两天以后了.代是雄的老家在农村,但他并没有急着回去,而是先到一个亲戚家住下,借此机会来重新看看重庆这张"熟悉而陌生"的面孔. 代是雄是土生土长的重庆人,但老家在农村,在上高中之前的大部分时光都是在他们那个小镇上度过的,自己的足迹也几乎仅限于以他家老房子为中心的方圆10公里以内.在他的印象中,在初中三年时间里,他到过两次县城,那是去参加所谓的初中数学竞赛.他当时只是觉得县城与小镇比起来,要漂亮很多.他印象最深的就是在县城里面吃了一碗凉粉,那个味道真的是好极了,似乎自己之前

一个程序员如何快速赚到一百万?(转)

一个程序员如何快速赚到一百万,说的详细点儿就是: 一个固定工作者怎么跳出固有的模式,靠其他途径(投资.理财.生意.创意.外包等)赚得相对殷实的钞票? 80% 人都会问这种赚钱问题,但这种问题却太难回答,因为太难有个可标准化的模式去效仿或借鉴. 这个时代,赚钱不难,赚 100 万也不难,难的是要具备且能勤奋的执行的能够持续创造财富的思想方法:观察事物 - 分析分解事物 - 得出解决方案,且把每一个步骤一步一步"写"下来并踏踏实实实施,这个方法最笨,但是她是最踏实的,有了这个,钱是迟早的事

CSDN日报20170318——《一个程序员的五年工作总结》

[程序人生]一个程序员的五年工作总结 作者:Programmer_Zhou 三月的重庆到处弥漫着浓浓的春味,在这个春暖花开的季节里,人们在闲暇的时间都忙着踏青和春游."一年之计在于春",春天是赏花旅游的季节,春天更是为未来作打算.定计划的时候.在2017年的春天,我做出了人生中的一个重要决定:离开工作近五年的ZTE(中兴通讯),去开启新的人生征程.最近我在罗辑思维的得到APP上订阅了薛兆丰老师的"北大经济学课"专栏,我认为他说的一句话特别有道理,这句话的大意是:&q

如何区分一个程序员是保守派还是自由派?

最近,我在阅读 Steve Yegg 的文集<程序员的呐喊>. 这是一本非常有趣的书,里面甚至包含了一个小测试(原文),区分一个程序员到底是保守派还是自由派. 下面一共有十个问题,每个问题都有 A 和 B 两个选项,请选择你的答案. 问题一:Bug 还没修复,软件能不能上线? (A)软件发布前,应该编写完整测试,充分调试,尽量修复所有bug. (B)不管多努力,bug 总是无法避免的,如果性质不是很严重,可以先上线,根据反馈再调试和修补. 问题二:容易出错的特性,是否应该用在程序中? (A)很

转载:每一个程序员要遵守的一些优秀编程风格

无论你是业余的还是专业的程序员,正确的编程风格,不但有助于提升软件产品的功能,还可以明显减少软件灾难的产生.今天,我们就来探讨一下有助于我们获取更佳编程风格的一些最好的规则. 每一个程序员要遵守的一些优秀编程风格 代码的可读性至上 代码要能可阅读和可理解,就需要格式化成一致的方式.对函数和变量的命名应有意义,注释的表达应该简洁而准确.并且,准确地记录代码中所有棘手的部分是十分重要的.你必须清楚软件程序为什么能工作以及为什么能在所有可能的情况下顺利工作的原因. 遵循正确的命名约定是必须的 当需要给

阅读《构建之法》第13~17章及读《一个程序员的生命周期》感想

第十三章: 对于这章的测试,我们只是简单提了一下单元测试,其他测试都没有,这章相对来说,几乎为零,看了也不知道怎么做. 问题就更别说了,等周末有时间在回头看看,再更新补上问题. 第十四章: <一个程序员的生命周期>感想 一口气从第一篇的:从大山里走出的程序猿看到最后一篇:7年工作感悟,  很感谢他给我们分享他的经历,在一些方面看法也和作者有共鸣. 然而每个时代都并不容易,80后悲催,90后,00后都悲催,每个时代都有不同的困难,不只是单单只有一代人困难,有的人会自暴自弃,有 的人会迎刃而上,有

漫画《我》(一个程序员亲手画的)

来源:漫画<我>(一个程序员亲手画的) 漫画<我>(一个程序员亲手画的),布布扣,bubuko.com

每一个程序员都应当了解的11句话

每一个程序员都应当了解的11句话,你最同意哪一句? 1. 技术只是解决问题的选择,而不是解决问题的根本 我们可以因为掌握了最新的 JavaScript 框架 ahem.Angular 的 IoC 容器技术或者某些编程语言甚至操作系统而欢欣雀跃,但是这些东西并不是作为程序员的我们用来解决问题的根本——它们只是用于帮助我们解决问题的简单工具. 我们必须非常谨慎,不要对某项正好喜欢或者正好很火的特定技术走火入魔.否则,我们将进入这样的思维怪圈:把掌握的那项技术比做是锤子,在思考问题时,会自然的把所有的