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

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?