zoukankan      html  css  js  c++  java
  • 你凭什么做好一个程序员?

    在博客里分享的是我在知识星球发的一篇文章,继续在这里分享下,也是昨天在猪猪群里对一位网友的回答吧。

    两个问题,一个是学历重要吗?一个是怎么判断自己适合不适合做个程序员?

    首先,学历重不重要?
    当然重要。是门槛,是门面,是学习能力的体现。

    我是个大专生,在这方面吃了很多亏,尤其在先找工作的时候。我相信如果有看到这篇文章并且学历不高的兄弟,在找工作的时候应该有跟我相同的感受。
    如果给我再读一次书的机会,我相信自己不会比别人差。
    因为我在工作中的不断自学,在每个小团队中的超越,变成核心人物,都常常让我很有优越感。
    所以学历重要吗?其实也没那么重要,在我带过的项目里,硕士生大专生本科生,2:5:3这样子,许多大专生的能力不见得比硕士生差。

    那么,什么最重要?
    自学,不是在学校的考试学习,是主动解决问题的自学能力。
    兴趣,只有兴趣才能让你超越别人,产生成就感,有动力自学。
    专注,解决一个事情一个bug就是要跟它干,不死不休。
    坚持,对以上。

    有时候,有没有解决问题时,越来越兴奋?
    恭喜你,咱们踏入了学会编程语言到程序员的门槛了。

    第二个问题,怎么判断自己适合不适合做个程序员?
    在解决问题的时候,有没有其他人都放弃了,你还是搞到不想睡觉就想解决它。
    有没有做梦的时候都在想解决方案?
    好,上面都有。
    那么,解决问题时有没有很好的思路而不是无头苍蝇?
    能不能get重点去百度谷歌?
    会不会试错?
    会不会点到源码里看?
    有没有仿造过轮子并学以致用?

    以上的能力都很重要,但是,我觉得最重要就是两点,
    有没有思路?会不会试错?
    有没有思路?会不会试错?
    有没有思路?会不会试错?

    思路靠什么?
    靠日志分析,靠灵光一闪,靠猜。
    猜?什么鬼?
    我个人理解,猜是对这个代码为什么这么写,为什么这样设计的一种解读?然后我们再去看看它的内部实现,是不是这个思路?是不是更优美?
    为什么能猜对?
    用一个成语来说,叫见多识广。
    这又涉及到广度与深度的问题了,不再展开。

    然后,会不会试错?怎么试错?
    我觉得有两个点,一个是调试,跟踪源码,会watch变量值,合理打印过程日志,到达报错点更换写法,暴露对象内部值。
    另一个是傻瓜式办法,也是我在出现各种诡异问题的时候(环境、缓存、多线程……),最常使用的方法,试着倒退或跳跃删除代码,直到正确的为止。这个方法反过来,在产品上来说,又叫MVP(Minimum Viable Product,即“最小化可行产品”。当然,我们这里讨论的不是产品和运营,而是代码。

    就这么多吧。
    下面是我的星球,欢迎你的加入。

  • 相关阅读:
    两数相加[链表加法] LeetCode.2
    无重复字符的最长子串[双指针+哈希表] LeetCode.3
    Rikka with Game[技巧]----2019 杭电多校第九场:1005
    度度熊与排列[搜索+剪枝]----2019 年百度之星·程序设计大赛
    度度熊与数字[公因数]----2019 年百度之星·程序设计大赛
    最大层内元素和----leetcode周赛150_1002
    拼写单词[哈希表]----leetcode周赛150_1001
    Seq[找规律]----2019 年百度之星·程序设计大赛
    实验三
    实验二
  • 原文地址:https://www.cnblogs.com/yaomaomao/p/10954133.html
Copyright © 2011-2022 走看看