• 你凭什么做好一个程序员?


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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    【转】比较全面的讲解 APS.NET MVC
    WebCast中的WCF视频教程
    【转】Linq Lambda学习
    RSA算法和习题分析。
    图片处理渐变
    Sql Server 和 Access 操作数据库结构Sql语句
    MSDN目录结构摘要
    C#开发一个如上的工业仪表盘控件
    NET Reflector 是反编译.NET 源码
    asp.net实现Bar图
  • 原文地址:https://www.cnblogs.com/yaomaomao/p/10954133.html
Copyright © 2020-2023  润新知