三十岁学Python其实并不是很晚,但要结合个人的实际情况来决定,而且在我们身边也有不少三十多岁0基础转行学Python的人。
1. 关于30岁是个坎这事,现在其实并不是太成立了。国内IT业从无到有,开始做的是当然都是技术含量不高的工作,俗称体力活。这些事1、2年经验的程序员跟10、20年经验的程序员都能做。拼的不是技术而是速度。过了30岁精力下降,当然拼不过天天加班还能活蹦乱跳的年轻人了。所以大都选择往管理职业上转。但现在国内的状况已经有很大改观了。不过总的来说,这事儿跟题主关系不大,就此打住,不多说了。反正题主学编程是自用,也不是要在IT业混饭吃嘛。
2. 首先并不同意30岁以后学习能力下降的说法。只要你的经验是实在的经验,而不是单纯熬出来的“资历”,它们就是很大的优势——阅历,眼光,全局观,洞察力,触类旁通……
感觉编程确实是适合那些不会做生意不油嘴滑舌的人的工种。那些说年轻人脑子活有拼劲,其实不然,年轻人其实相对浮躁沉不下心,而且好多东西一知半解,很多就是young and naive,他们之所以别人更愿意要,只不过因为发展空间比较大而已。年纪大的学应该会思考得更深入。你看大妈跳广场舞,学的快跳的好,比小孩学的好的多,这就是一个人岁月积淀后的心智,学什么,理解更快更到位,只要这个大人更愿意去学。而小孩之所以比大人看起来更容易接受新事物,只不过是环境的持续性熏陶,而大人所处的环境社交群都是比较老的。
中国有句古话,不怕慢就怕站.
想做一件事,不是看晚不晚,而是看你努力不努力.
以杀毒行业的牛 B 人士王江民为例,三岁因小儿麻痹症而落下终身残疾,
没有进过正规大学的校门, 三十八岁之前还不知道电脑为世间何物,自学电脑写出"江民杀毒
软件",你说你晚不晚??
所谓"晚",那都是犹豫时给自己找的种种借口之一,比如"年龄大了",比如"没有基础",比如"没
有学历"等等,
都是人潜意识里畏惧困难,并为自己开脱罢了.
最后,我问你两个问题,你回答一下,答案马上就出来!
问: 如果你觉得晚,那好,咱们不学编程了,放弃. 那么一年后,你是不是已经变成 28 岁了?
回答之后,再看下一题:
问:如果你今天就开始学,苦学一年,一年后,你是不是还是 28 岁?
不管你努力不努力,时间都在流失,既如此
中国程序员不能超过35岁,似乎已经是不争的事实,国外却不一样,40、50岁仍然作开发工作的大有人在,为何会有如此差异呢?
在中国,程序员不能超过35岁,似乎已经是不争的事实,软件开发工作就是青春饭,顶多靠毕业这十年的时间,超过这个年龄,要不成功跃身成为管理者,要不转行进入其他领域,好像再没有更好的选择,即使偶有继续坚持作开发的,也被看成另类一族。老外却不是这样,40,50岁仍然作开发工作的大有人在,甚至很多牛人,包括获得康柏最佳软件奖的Robber,仍在埋头作着他所喜欢的编码工作,为何如此差异。我仔细想了一下,特别是这一年参加了太多的技术培训,基本有了一些结论。
首先,国内软件开发工作的性质决定这一切。我们所作的产品开发,真正技术含量并不高,高等院校毕业的学生经过几年的培训和实践,基本都能掌握这些技能。而我们现有产品开发设计水平有限,对于软件开发的理解还仅限于编码,完成功能这些基本的需求,产品进度是第一驱动力,特别是一些小公司,把快速开发出产品作为最高目标,软件设计质量差,很少考虑可维护性、可扩展性这些重要的软件质量属性,仅仅追求功能和进度,产品以最快的速度完成设计、编码,少有测试甚至没有测试,就直接交付给客户。当在客户那里暴露出各种各样的问题来时,开发人员就开始不断的为客户解决这样那样的问题。软件做到最后,很多人都会陷入自己不断挖掘出来的“陷阱”里走不出来,步入在复杂的系统中查找BUG、解决BUG、增加功能、引入新的BUG、再解决BUG这样永无休止的恶性循环中,从事的都是一些低级开发工作,对于软件开发的理解无法上升到更高的层次,每天都疲于救火和拼命打补丁,软件维护成本居高不下;即使最终摆脱了这样的厄运——项目结束,下一次软件开发又是同样过程的重复。
这些无休止的低级开发和维护工作,会耗光一个人所有的激情和精力,随着年龄的增大,热情和体力都在衰减,而这些工作,只要毕业生经过培训,同样可以胜任。有着廉价的、并且充满热情的毕业生作竞争,身心疲惫的老程序员必然面对更大的竞争压力,做到最后,连他们自己都会失去对软件开发的兴趣,甚至会产生厌倦的情绪。对于这样的快速开发模式,十年开发经验和五年开发经验有很大区别吗?干吗不使用更经济便宜的开发人员?
另一个原因,是我们中国人一向的官本位思想。开发人员始终处于一种很尴尬的境界,听起来从事的是高级技术工作,说起来也是“以人为本”,但是,有多少企业管理者真正重视和认可开发人员的,哪怕是硕士,博士,这些开发人员在“大官,小官”面前,都只是普通劳动者而已。程序员是一个没有未来的行业,哪怕资历再深,能力在强,也还是一个劳动者而已,只有当上领导,走上管理才是最终的出路,否则,薪水上不去,地位上不去,只能面对被淘汰的命运。
实际,之所以出现这种问题,是由于国内对软件开发一直抱有一种错误理解。如果软件开发仅仅是代码编写,查找BUG,可以说,那确实是在做一些低级的软件行为。做了十年的开发人员,确实不见得比作了3年的人更强多少,反正是简单重复的工作,工作3年的一样可以作,而且有更大的热情和精力。
软件业要发展,就应该跳出这个怪圈,走向更高的领域,对软件开发重新进行认识。我们要明白,软件开发要融入工程化的思想,要有高度的设计能力,关注更多的软件运行属性和设计质量属性。同样的系统,不同的软件人员会做出完全不同的软件,正规,高效的开发团队要比游击队开发团队不只高出几十倍的效率。
软件开发,不仅仅需要关注功能、性能,更应该去研究可维护性、可扩展性等质量属性;不仅仅只关注代码,而更要上升为设计,复用等。软件开发不能只是写出C语言的代码,单元测试、同行评审、培训与学习,这些都是开发人员基本的素质,也是提高软件质量的最基本手段;举例来说,单元测试做好了,就可以让开发效率大大提高,也能让软件的维护成本降下来,把开发人员解放出来;同行评审可以让开发人员之间更多的交流和沟通,在设计,编码阶段严格控制软件质量;培训则是提高自身技术水平,从理论上提升自己的最好方法。现在基本上所有这些主要的质量行为都被忽略了,而这恰恰是走出低级开发的最好途径。同时,还有更高层次的设计开发、软件重构、模块化、系统构架、搭建统一软件平台、度量软件质量等等。有了重构,就会写出可读性好,可维护性好的软件,甚至因此提高自己的软件设计能力,减少出错的几率;模块化,让软件最大程度的实现复用,提高软件开发效率和开发质量;软件构架设计,从技术层次上最早决定了软件的命运,而这里又有太多的技术,设计模式,软件规划等,让软件开发从编码上升到设计的层次,搭建统一软件平台,是大产品,系列化开发的必然之路,对于软件质量的度量,会让我们的软件开发变得更加透明,清晰,让我们更清楚地把握到软件的开发过程,从各个环节去控制软件质量,而不是仅仅凭着感性的认识到了最后才去补救。
以上这些知识,一个人,哪怕勤奋学习一辈子,也不可能完全具备所有的技能。35岁算什么,做到70岁都不晚。当然,你需要真正的热爱它,并且不断得学习和进修。所以说,软件开发人员,要作的事情太多了,软件实在是一项浩大的脑力工程,甚至会让人觉得这是一个投入/产出比最低的行业,因为要学习的知识实在太多了,每时每刻都要处于不断的学习和更新当中。既然选择了,既然喜欢了,就应该投入进去,享乐于此了。最重要的是,我们自己能并且愿意去认识到这一点,跳出低级开发的怪圈,走向更高的层次。
同时,要意识到,一个资深开发人员的作用绝不亚于一个管理人员,高明的企业应该给予相同的待遇,要把培养和储备高级技术人才作为高科技企业的重点发展方向,这样才能让企业在人才领域得到不断积累,资深开发人员才会带出高效的开发团队,从而开发出高质量,高效率的软件,让企业在不断激烈的竞争中取胜。要明白,不是每个人都适合或者乐于转向管理的,很多人就是适合做开发工作,他们可以走得更深入,成为专家,应该充分发挥出他们的能力,让整个团队高效运作起来。
所以说,开发人员,决不只是35岁,只要你愿意,可以作一生的开发,从中获得更多的快乐
如果和从小学就开始学编程的小学生比,30岁学IT确实晚;
如果和IT相关专业毕业的大学生相比,30岁也就刚毕业4-8年,经过社会的毒打,刚想清楚自己的未来,这一点都不算晚;
但是,你真的做好准备了吗?
转行这件事情对大部分职场人来说是非常痛苦的,这意味着你即将抛弃过去的专业知识从头学起,不知道你下了多大的决心和想好用多大的努力去转行。
考虑清楚转行的动机
是自身所处的行业不好吗?如果你觉得目前所处的行业趋向衰落、产品销售不景气,那么只需要跳槽到具有强大生命力的朝阳行业即可。
是觉得现在的工作太乏味?如果仅仅认为是工作太乏味,那么就打消转行这个念头吧,不管什么工作(包括IT行业)只要做够个5、6年一定会失去新鲜感。
清点自己的财产,评估自己的抗挫能力
最现实的问题摆在面前,你要做好接下来几个月期间的资金储备,算一下每个月的生活费是多少,还有学习之后预留1~2个月的时间找工作。
最后,对这个行业了解多少
能否跟上IT行业的快节奏?做开发加班是在所难免的,你的身体和你的精神是否跟得上;
愿意为了提高技术钻研再钻研吗?IT技术更新换代非常快,如果不想被这个行业淘汰,每天下班后至少花一个小时写技术博客、看技术论坛并更新自己的技能。
转行无非两个两个:成功or失败。
成功意味着你顺利进入喜欢的行业从事自己喜欢的工作,或者从事一份发展前景更好,薪资更高的工作;失败了也没什么大不了,最差也就是返回原点,再去做以前的工作。
可以的,30还年轻,要吗培训,要么自学。自学的话,现在网上资源很丰富,建议你前往网易云课堂,搜索:脚本之家,里面有很多更相关教程,希望我的回答对您有帮助。
当你下定决心想要学习编程的时候,无论你今年几岁,学习编程就是靠谱的。
别人都说,搞IT的程序员30岁是一个坎,现实中的确有很多30岁的程序员选择离职跳槽或者投入其他行业,但是真正优秀的人,不会把30岁当成一个坎来看待。
30岁是一个人的黄金年龄,可以说,也是事业的黄金时段,学习能力虽然在一定程度上与年龄、衰老有关,但是绝大部分还是取决于你的学习方法,古人说的“活到老,学到老”不是没有道理的,年纪再大,只要你愿意学,总能学到东西。
既然说到了学习方法,我想给你几点建议:
1.看书。建议看一些简单易懂、介绍基础知识的入门级的书,比如你可以看《C程序设计语言》,这是一本C语言方面很经典的参考书;如果你有兴趣成为一名程序员,你也可以看《剑指offer》,Lintcode上有《剑指offer》所有的算法面试题Online Judge。
2.刷题。在有了一定基础知识的前提下,我一般会推荐刷题,我常用的是Lintcode。一开始建议刷easy的题目,渐渐掌握要诀之后可以向medium和hard的题目进阶。比起看书,刷题的效率更高,通过实践对编程会有更加深入的理解。另外推荐去九章算法查答案 ,里面有用Java、Python和C++等不同语言解答的最优答案,使用起来方便快捷。
3.实战。看书和刷题得到的能力终究是局限于一个既定环境的,你需要自己去找项目来做,尝试着靠自己的能力去解决一些实际问题,你可以自己构建一个网站,你会发现你能遇到很多问题,比如如何排除安全漏洞、如何提高网站浏览速度、如何优化搜索引擎等。当你自己做过一遍,你才能知道如何应用所学的知识,如何解决实际问题。
4.心态。老其实是心态老了,如果你的心态一直保持积极向上、保持青春活力,你永远是20几岁的小伙子。所以,不要在意自己的年龄,拿出决心,全身心地投入进去,有付出就会有回报。
题主,我今年也32了,但是我觉得我的编程人生才刚开始,望与你共勉!