在博客里分享的是我在知识星球发的一篇文章,继续在这里分享下,也是昨天在猪猪群里对一位网友的回答吧。程序员
两个问题,一个是学历重要吗?一个是怎么判断本身适合不适合作个程序员?编程
首先,学历重不重要?
固然重要。是门槛,是门面,是学习能力的体现。缓存
我是个大专生,在这方面吃了不少亏,尤为在先找工做的时候。我相信若是有看到这篇文章而且学历不高的兄弟,在找工做的时候应该有跟我相同的感觉。
若是给我再读一次书的机会,我相信本身不会比别人差。
由于我在工做中的不断自学,在每一个小团队中的超越,变成核心人物,都经常让我颇有优越感。
因此学历重要吗?其实也没那么重要,在我带过的项目里,硕士生大专生本科生,2:5:3这样子,许多大专生的能力不见得比硕士生差。多线程
那么,什么最重要?
自学,不是在学校的考试学习,是主动解决问题的自学能力。
兴趣,只有兴趣才能让你超越别人,产生成就感,有动力自学。
专一,解决一个事情一个bug就是要跟它干,不死不休。
坚持,对以上。编程语言
有时候,有没有解决问题时,愈来愈兴奋?
恭喜你,我们踏入了学会编程语言到程序员的门槛了。学习
第二个问题,怎么判断本身适合不适合作个程序员?
在解决问题的时候,有没有其余人都放弃了,你仍是搞到不想睡觉就想解决它。
有没有作梦的时候都在想解决方案?
好,上面都有。
那么,解决问题时有没有很好的思路而不是无头苍蝇?
能不能get重点去百度谷歌?
会不会试错?
会不会点到源码里看?
有没有仿造过轮子并学以至用?线程
以上的能力都很重要,可是,我以为最重要就是两点,
有没有思路?会不会试错?
有没有思路?会不会试错?
有没有思路?会不会试错?设计
思路靠什么?
靠日志分析,靠灵光一闪,靠猜。
猜?什么鬼?
我我的理解,猜是对这个代码为何这么写,为何这样设计的一种解读?而后咱们再去看看它的内部实现,是否是这个思路?是否是更优美?
为何能猜对?
用一个成语来讲,叫见多识广。
这又涉及到广度与深度的问题了,再也不展开。调试
而后,会不会试错?怎么试错?
我以为有两个点,一个是调试,跟踪源码,会watch变量值,合理打印过程日志,到达报错点更换写法,暴露对象内部值。
另外一个是傻瓜式办法,也是我在出现各类诡异问题的时候(环境、缓存、多线程……),最常使用的方法,试着倒退或跳跃删除代码,直到正确的为止。这个方法反过来,在产品上来讲,又叫MVP(Minimum Viable Product,即“最小化可行产品”。固然,咱们这里讨论的不是产品和运营,而是代码。日志
就这么多吧。
下面是个人星球,欢迎你的加入。