做一个什么都不会的程序员有多痛苦,怎么克服?

2019-8-18

从入门到成为高手的过程中,程序员往往要经过几次顿悟。记得有一次,我领悟到了一个很简单的结论:“原来高级编程语言中的类库是封装了WindowsAPI来实现的。”后来碰到一些自带类库无法实现的功能时,我就会想到,其实可以通过调用WindowsAPI来实现。利用这个思路,我解决了一些看起来很难的问题,得到老板的赏识,从而很快获得提升。

顿悟非常可贵,然而它不是随便发生的,而是经过一次次苦苦思索之后、灵光闪现的结果。思考的过程,其实就是将外在知识内化为自己的知识的过程。而顿悟,则批量实现这种内化,将无数个知识点连接在一起,达到融会贯通的境界。

爱学习的人都会有这样的经历:学习持续了一段时间之后,往往会有一个瓶颈期,长时间似乎都没有什么进步,于是内心非常着急。

这种情况,实际上是由人的学习规律决定的一种“高原现象”。据研究,学习者在刚开始进步快,随后有一个明显的或长或短的进步停顿期,后期进步慢,中间的停顿期叫高原期

高原期,实质是一个消化期。由于前期的学习积累了太多的知识点,这些知识点在大脑中乱作一团,还没有形成一个知识体系。这时需要一定的时间来消化它,让它融会贯通,经常思考总结可以快速帮你跨过高原期。

处于高原期时,还可以换一个相关的方向来学习。例如,编程语言学不下去了,可以学习一下设计模式,设计模式也学不下去了,再换成数据库。通过学习这些相关的知识,不但补齐了知识体系中的短板,而且各个知识点之间可以互相启发,帮助你实现顿悟,跨过高原期。

要有好心态

学习要静心

急于求成是学习过程中普遍存在的一种心态,这可以理解。毕竟作为一名程序员,要学的东西实在太多,而社会又是那样的浮躁,让人觉得一切都是那样的不安全、不确定,似乎只有学得快一点,才能跟上社会的脚步。

可是“欲速则不达”,想快快地学,往往会形成东一榔头、西一棒槌的学习方式,每一个点都没有吃透。心沉不下去,知识也会沉不下去。要想成为真正的高手,只能静下心,一步一个脚印慢慢来。

学习是持续一生的过程

人生,就是一个自我完善过程。

子曰:“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。”可见孔子也不是天生的圣人,也在不停地学习、进步,从“志于学”到“从心所欲,不逾矩”,孔子一共花了55年的时间。

作为一名程序员,更需要不断丰富自己的知识库。我们所知道的东西,就像一个白色的圆圈,圈外则是黑暗的未知的世界。当圆圈越大,所接触到的黑暗部分就越多。我们只有不停地学习,才能打破更多的黑暗,找到更多光明。

保持饥饿,保持愚蠢

我非常喜欢乔布斯的一句话:“求知若饥,虚心若愚”(StayHungry,StayFoolish)。其实我更喜欢它更原生态的翻译“保持饥饿,保持愚蠢”。我们只有认识到自己还很饥饿和愚蠢,才会像没吃饱一样,由衷地需要学习、爱上学习。


首先,做一份工作能长久的很大原因在于你不讨厌它,若你觉得痛苦,你在刚开始选择成为程序员时又是因为什么呢?高薪?还是写代码的快感?

再者,既然觉得自己什么都不会,那又是如何成为程序员的呢?(我相信在这个层面,是题主谦虚了吧,和身边的同事比起来显得自己什么都不会。)

既然想克服这个问题,那么还是对程序员这条路抱有希望的,不想轻易换行,那么我就分享一下该怎么提高自己的能力,如果有问题可以在评论区和我探讨。

走出现今的舒适圈

你想改变,就一定是与现今的习惯相违背的,要做好心理准备。

1.闲余时间多学习

程序员技术提高是一个积累的过程,在工作之余看看算法书,当然,如果题主基础相对薄弱,那么看官方文档是我认为打基础最好的方法,在编程时,某些知识点不清楚,那么官方文档一定会给你最详细的解释。虽然这个看起来很枯燥,又是全英文的,看起来非常耗精力,但是不管怎么,就是要看,看一段时间后各方面都会得到提升,这是最基础的东西。

再说为什么要看官网文档,一句话,一切都以官方为准,就是为了权威,准确。比起在网上搜到水平不一,晦涩难懂的文章,官方文章的优势高下立判。在基础打的差不多之后再进行网上知识的汲取,此时你已经有了足够的基础知识,脑海里有一个较为系统的框架。此处推荐几个技术学习网站,不管是最新的框架还是开源项目的分享,都可以有一些了解:

博客园:一个面向开发者的知识分享社区。在博客园里,有新手,也有专家,他们会分享各种的编程技术。

w3cschool:包含大量的编程教程,如后端开发:PHP开发、java开发、前端开发:web前端开发、html5等。

Stackoverflow:如果说w3cschool网站是适合程序员入门、进阶的网站,那么Stackoverflow就是新手程序员答疑解惑的网站。基本上,你遇到的大部分编程问题在这个网站上都可以获得解答。

github:一个大宝库,想要的任何东西几乎都可以在github上找到。编程遇到的一些难题也可以在Github上查询。

2.多请教身边大牛

身边的同事和你都是一个类型的工作,获得的知识那简直是刚需,吃饭的时候,喝咖啡的时候,抽烟的时候,随便聊两句就能知道的东西,而且这是一条拓宽编程思路的好方向,程序员的编程“大同”,但是思路“小异”。

当然,这个“小异”的意思是思路,你可不能在编码规范上“小异”,否则看你代码的人会杀了你。

3.多总结

学习、请教后最重要的就是总结了,别人的东西终究是别人的。比如早上在博客园看了一个项目案例,自己回来就可以先将代码复现一下,考虑考虑每一行代码的作用,能不能改?(优化方向,不是替代)中午和同事吃饭的时候聊了一下它用的算法,我能不能用?为什么不能用?如果我能用,那么优化一下跑的更快行不行?多问自己几个为什么,这样的提升就会非常快!

程序员的技术更迭真的太快了,很可能你研究了一个月的东西,在下一次更新中全部删除了,所以多学习多总结是一定要走的一条路。我身边很多程序员朋友基本每个人都有一本算法相关的书籍,周末会花几个小时啃啃书。

想要不痛苦就要不停学习

之前有一句鸡汤,当你感到无助痛苦,这就证明你能力不够。技术型岗位都是一步一步去克服,一步一步去挑战的,想要不痛苦,就得不停地往前走,无论你是不是程序员。


这是一个活到老学到老的时代,思想更新太快,观念更新太快,技术更新更快,所以不管从事哪一行都要不断去学习,现在的社会也没有什么所谓的铁饭碗了,如果不学习就意味着被这个社会所淘汰。

做程序员尤其是这样,这个行业需要的是更强的学习能力,处于时代最前沿的互联网行业,里面不管哪个工种都是更新非常之快,而程序(技术)作为互联网行业里面的基础中的基础更新是最快的,不学习就意味着失业,如果你什么都不会,也不想学习,建议还是不要从事这一行了,不然以后只会越来越痛苦!程序员是这个世界上最优秀的一群人,他们追求极致追求完美,如果让程序员出来去做其他行业,去做其他工作,估计其他行业人都会没饭吃的,比如雷军就是典型的程序员抢其他行业人的饭碗,所以你们应该庆幸程序员还在埋头敲代码

最后如果你想要做一个程序员,想要吃这一碗饭,那么什么都不会肯定是行不通的,好好去学习吧,抓紧时间不断去提高自己,让自己在任何时候都有实力利于不败之地,这才是你应该做的


大家好!我是汪随安,一枚来自程序员界的美食爱好者

多谢邀请,小编虽然认证为美食领域创作者,其实嘛,程序员一枚,美食兴趣爱好嘛

小编软件工程专业,明年该毕业喽!

说实话,在校每次做课程设计的,不会敲代码的,头疼,真头疼会敲的,分分钟分思路出来,基本一天就完成了

对于什么都不会的哪种感觉,我也亲身体会过!

好了,话不多说直接上干货

从小编现阶段(大三),以及毕业的学长的经历来看,程序员的自我修养,主要有这几个方向:

在校属于大神级别的,就自动忽略我有个学长就特牛掰,大一期间,把所有的专业基础课自学完毕

大二时一直跟着老师参加竞赛,最高荣誉为:省ACM竞赛一等奖,全国ACM竞赛二等奖

大三时,就跟着另外一个老师做项目了,去年服装学院刚上线的官网,就那学长做的,

大三结束后,老师推荐去朋友公司上班,坐标北京,实习工资:9000

属于半吊子级别的,可有两种选择1)那JavaEE来说把,如果你Java基础,数据库基础都没问题,

JavaWeb也不错,至少能理解

三大框架系列,都有接触

如果你水平处于这中阶段,可以选择给自己留出最多半年时间,

给自己的知识体系结构来个完善,

至于怎么完善?推荐选择去找培训机构的资源

,有些培训机构官网给的有资源,比如传智,3A等;

也可以去某宝买人家培训的资源,几元钱左右把,小编去年花了4.99买的,嘿嘿嘿.

然后拿到资源之后,就给自己安排好合理的时间,好好的学习完善,

同时,最重要的一点,在学习时一定要多关注就业形式,职业前景

如果不知道怎么去查看,

小编告诉你:其实很简单,去找工作的软件上搜就完了,像Boss直聘或者智联都行,反正回头找工作还待用,下载好后,根据工作地点和职业搜搜招聘信息就知道了

而不同的地方,工资差别很大,中级程序员,同等能力郑州5-7k,杭州7-8k,北上广8k

2)当然,如果你感觉有能力,但找工作不好找,没信心,同时能力属于一般的那种,可以选择去培训机构培训一下,就是学费贵1万8到2万,时间5个月左右把

小编就属于这种,啥都会,就是不精,学长推荐去培训下,于是乎几个同学一起来黑马培训了,时间刚过去一个月,正在学习数据库,哪位行友有这方面的问题的话,可以问我,小编一一解答

如果你是属于985,211院校,选择又不一样毕竟学历是个敲门砖,你可以去各大公司实习,实习期间所学的,是培训机构不能比拟的如果学历不好,就请看下一条

如果你属于啥都不会,如果学的是计算机相应专业,并且从事本专业的,小编推荐去培训把,找个好一点的培训机构,别被坑了,至于啥机构好,小编就不说了,不想打广告

如果你属于没接触过计算机行业,感觉工资高之类的,转行过来的,建议:

先找些学习资源看看(小编有0.0,大学期间总结的以及买的),看看自己是否适合

如果适合,建议去培训,学习比较系统,面向就业,效率高

如果不适合,千万别强求自己360行,行行出状元!

以上就是小编根据自身经历所答,有其他问题的,或者哪里没说到说错的,可以私信或者关注,谢谢喽--来自@程序员的@美食爱好者汪随安


1,努力学习,越到问题多请教,多研究,多总结

2,平时多学习,努力提高自己


看来题主确实什么都不会,因为这个问题有个逻辑bug。

首先,什么都不会,怎么成的程序员呢?如果对一个没有接触过计算机的人,我们能称他为程序员吗?其次,既然一个人什么都不会,对一样不了解事物,应该不会有痛苦。

给你看看百科上对于程序员的定义。

程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。

首先,你要通过学习基础知识,成为一名初级的程序员,可以做一定的程序开发工作,这样才能算是程序员了,对于题主,有个关键问题,那就是逻辑问题,做程序开发,一定要逻辑严谨,要不然你代码中的bug就会满天飞了。

其次,对于在工作中很多知识没学过,很多框架不会用造成的痛苦,一点一点去克服,一点一点去学习,一点一点去解决,没有人一开始什么都会,都是一步一步成长起来的。

最后,想要不痛苦,唯有努力学习,努力进步,不管是不是程序员都一样。


原始地址:/changshi/3252.html