- 我目前并不算是一个成功的人士。此篇文章也不是说教。有感而发,欢迎有同感的朋友扫一眼本文,也欢迎不同意见留言评论。
- 20年前大学毕业,有幸选择了计算机这一个行业。当时算作是万金油,哪个行业都需要。信息爆炸嘛。当然,目前看,也是一样,各个行业都需要。并且,现在是成为了必需品。
- 很多人说,你可以没有学位,但你可以学好编程。我喜欢数学,从概率的角度上来讲,一个没有学位的人,学好编程的可能性,比一个有学位的人学好的可能性要更低一些。不是说不可能,而是说事实上,编程水平很高的人群中,高学位的人所占的比例,比低学位的人要高一些。并且,水平越高,区分度越明显。
- 我认为编程是需要强大的逻辑思维和想象力。通常如果你感觉自己的逻辑推理能力还不错,想象力还算是丰富的话,你学起编程来,应该会比别人快一些,成就也会高一些。
- 编程是一门综合学科,不要讲那么多专才怎样怎样,事实上,如果掌握的知识层面不够宽,你的思维是会受到限制的。我们讲,编程是做什么,教给计算机解决人类解决不了、懒得动手解决的问题。当然,首先来说,你得确保你自己首先能够解决这个问题,然后才能教授给计算机。事实上,解决问题的能力,就是编程的能力。更何况,计算机要应用到各行各业中去,这就要求你每天都会遇到新的行业,新的模式,新的方法,这是能够解决问题的先决条件:你先了解它。
- 基础知识:数学、英语、想象力+逻辑思维。这是你能够在计算机编程领域里边走多远的先决条件。比如你只会加减乘除,sqrt函数你就肯定不理解,有时间就好好学一下数学吧,英语是有限的,学到一定程度就不能再提高了。但是数学不是,永无止境,永无尽头。当然,这不是门槛,会一点数学,就可以学一点编程,也可以反过来,学了编程,需要哪部分数学知识,再去补数学。逻辑思维可以让你更好的推断、了解、理解一个新的事物,比如计算机的cpu是怎样工作的,比如多线程是怎样在一个cpu的前提下进行的。当然cpu的工作情况你即便用显微镜也是看不到的,所以,必须有想象力。
- 编程需要基础知识,除了以上所说的以外,比如编程语言的语法,计算机工作原理,编译器的编译原理,甚至内存操作等计算机操作系统原理,都需要有所了解,可以不用专精,因为这不是你的专业,你只需要知道就可以了。在工作和学习中不一定必须用到,但是它可以为你的逻辑思维提供推导基础和原理示范。此外,对于前人的经验也是需要照单全收,比如算法、设计模式,这都是前人精华的总结,你可以不需要那么长时间就学会它--站在他们的肩膀上。
- 编程序并不是一个高大尚的工作,也不是聪明人的专利,你可以不用特别聪明,智商跟编程的好坏无关。细心、耐心、决心,这是每个人都可以努力做到的。
- 哦,忘了讲一个大前提,即便你有很好的编程学习基础条件:数学、英语、想象力、逻辑思维、细心、耐心、决心、基础知识...也不代表就一定可以学好,有一个大前提,就是你需要喜欢这个行业,虽然可以慢慢干着干着就喜欢上了,所谓日久生情,但是最好的情况,就是你一接触到编程,就感觉非常喜欢。掌控力,成就感,优越感、神秘感...好处多的不计其数,只要你喜欢。如果不喜欢的话,嘿,这个行业会比较苦。
- 另外,自学能力也是程序员必备的。这就是为什么要求你有较强的逻辑思维能力,因为你可以从一种语言推断出另一种语言的使用方法,大同小异,所谓殊途同归,条条大路通罗马,道道江河入海洋,千举万变,其道一也;换一换汤,而药不换;诸君演奏各自曲,千军万马一道工;哎,算了,我也想不起来啥了,总之,等你牛逼了,三天学会一门新语言不是梦。核心原理都是一样一样的。
- 樊登老师讲过一本书叫做《心流》,喜欢的可以去听一听。这是一种状态,不需要别人催促,没有人给你压力的条件下,干着喜欢的事儿,就是那种不知不觉时间流逝的美好状态。优秀的程序员,经常会猛地一抬头,时间已经来到了凌晨。这不是说因为压力,要怎样怎样,而是说干着活儿,会上瘾,会觉得停下来是很难受的那种感觉。这个时间段里边,你的成长速度,是你不可预见的,远远超出你的预期。有时候,碰到一个问题,如果不解决掉它,真的是会睡不着觉的。因为原则上来说,从设计流程来说,不应该会出现这种异常,而它作为一个事实,发生了,那么背后的原因和逻辑,会让你感到好奇和兴奋。
- 编程也是一种语言,就像是中文、英文一样一样的。你会说中文,我会说中文,但是鲁迅说的话可以印成书,让别人花钱去买。莫言说的话,可以变成一册又一册的经典,站到世界的舞台上留下印记。优秀的程序员,就如同一个优秀的作家一样,让人叹为观止,不信的话,可以去搜一下“64KB作品”,你也会为之惊叹,读别人的代码,就如同看一本一本的书,有时候也有网络YY小说毫无营养,有时候也有让你爱不释手的美篇。读书百遍其义自见,熟读唐诗三百首部,不会作诗也会吟,优秀的代码看多了,你的水平自然也能上去。虽然说我们知道看书不是学习最好的途径一样,但它是绝对有效的一种方式。看看Linux源代码,看看spring源代码,有机会,找一找经典病毒之如CIH、灰鸽子之类的源码,他们,毫无疑问,都是绝美的诗篇。
- 如何知道自己在进步?举个例子来说,你怎么知道你在成长,或者你在长大?如果有录像、照片的话,翻看一下5年前的你,虽然不知不觉,但是一眼你就可以看出来,那时候的你,跟现在有明显的区别。所以翻看一下5年前你自己写的代码,如果感觉跟五年前一样,那说明你的编程水平毫无进境。有人说,我看5年前我自己写的代码都看不懂,唔,不敢说你退步了,起码是可以说,你的思维方式有了一定的转变。
- 程序员最怕什么?有人说最怕改需求,有人说最怕推翻重新做。我有点不同意见,程序员最怕的是打断。就像是晚上你在愉快的嘿咻,突然间老板的电话打进来,不敢不接,又极不想接。如果遇到《心流》状态,就像是佛家说的顿悟一样,如果你正处在其中,别人过来打断你,就像是生死之仇,你会暴怒,你会心痛,你会后悔,咋就认识这么个杂碎呢?偏偏他看起来还是很无辜的样子:小李啊,明天国庆节了,祝你节日快乐!给你发1000块钱红包,赶紧收起来吧!--我收你大爷!!!你心里这么想,嘴上还得咬着牙说:谢谢老板,也祝你节日愉快,祝你们全家节日都愉快!!!所以,很多作死的产品经理,千万不要在一个程序员看起来很专注的时候去找他,即便是需求砍掉不做了这样的好消息,在他听来,也像是要扣他一年奖金一样蓝瘦!香菇!
- 程序员是一种熟练工种。非常吃经验,并且经验越多,你发现编程速度就会越慢。很多老板都会说,tmd,藏奸耍滑之流,就会摸鱼。嗯,就像你现在看我文章一样,咋不写点靠谱的干货!嗯,这就是干货。各位老板,程序员需要经验,是因为吃一堑长一智,之前犯过的错误,人人都不想再犯第二次。时间久了,考虑的事情就会越来越多,你会发现,越老的程序员,写的代码问题越少,但是下手的时间也越来越晚,写的速度越来越慢。质量越来越高。诚然,速度是一种金钱来源,同样,质量才是根本。问题是什么呢?老板一般都是包工头,你做一个20年不倒的房子就可以卖钱了,当你非要做一个200年屹立不倒的房子的时候,老板也会暴怒:总也不倒,我TM以后要失业了!
- 转型对于程序员来说,永远不是一件难事。首先因为技术是万金油,必须能够了解各行业的业务逻辑 ,所以程序员可以任意在其从事过的任何行业中找到自己的位置和价值。实在不行,还可以转型为产品经理,项目经理,带带人,带带团队。再不济,弄个培训班教孩子编程还是可以的。这两天我TM突然发现,京东招快递员,起薪8000!!!有手有脚就能干啊,2021年,难道你没有发现程序员越来越少吗?很多大学刚毕业的学生,根本就达不到这个数!所以,不要慌,你干两年试试,如果不行,去做快递员也是可以的。
- 那么,老程序员还有没有价值?当年,20年前,刚毕业的时候,有幸去过日本出差接受惨无人道的摧残:9:30到办公室,凌晨2点到宿舍。路上一个小时的电车,连续三个月,累的老子咳嗽了两个月零30天,肺差点咳出来。也观察到路上的程序员,办公室的程序员,那时候都有50多岁的老家伙们。在办公室里边一座一天,细致看过,甚至一天下来写不了几行代码,但是毫无疑问,他们都没有失业。我们再怎么着,50岁之后还做程序员,也不至于连个工作都找不到吧。担心么?不担心。贪心么?--就怕到时候你不满足于2万块钱一个月的工资,非要觉得家里需要10万一个月,你就必须赚到10万一样。
- 现在,怎么开始呢?一门语言==》语法关键字==》逻辑控制===》模块化===》面向对象===》设计模式===》算法===》底层逻辑===》多门语言===》部署和运维===》技术战略。这是我认为的成长必经之路,也是学习编程的一条捷径,ofcourse,最开始的时候,问一下自己,是不是真的喜欢这个行业。如果还没有开始,那么,你是不是喜欢动手做东西,比如纸飞机,比如弹弓,比如喷气枪等等小东西。或者说,你家里换灯泡是自己换,还是找别人,收音机(手机)坏了是立即找人修,还是自己动手鼓捣一下。了解不了解安卓,知不知道苹果是什么系统演变过来的,如果答案是肯定的,欢迎你,程序员!
- 最后,加个好友吧,推荐工作,职业指导,薪资咨询,行业八卦,都可以找我聊聊。因为我知道没有几个人能看到这篇文章,如果人多了,我也不保证肯定通过你的好友请求,但是试一试,又不会怀孕,怕啥。
版权归属:
火星人
本文链接:
http://localhost:8090/archives/cheng-xu-yuan-ying-gai-zen-yang-xuan-ze-zi-ji-de-ren-sheng-dao-lu
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区