学编程的 3 个正经建议,学弟学妹们记得收藏呀,这波赚大发了!

简介: 学编程的 3 个正经建议,学弟学妹们记得收藏呀,这波赚大发了!

CSDN 的学弟学妹们,大家好,我是二哥呀!


今天不聊别的,给大家聊一下我认为学编程当中最重要的三点,尤其是针对新人来说。


热爱

努力

解决问题的能力

先说热爱。


有的同学是一开始就热爱,所以选专业的时候就选择了计算机专业;有的同学是误打误撞,比如说我就是,大学其实选的是机械自动化,后来被调剂到了计算机网络专业,属于典型的后知后觉型。


一开始,和大多数新人一样,我认为编程好难学,班里面的好多同学也认为好难学,能转专业的就转,只有不能转的才留了下来。


十几年前的计算机专业远没有现在这么热闹,很多学校都是作为边缘专业来录的。和我同届的高中同学,我认识的当中,没有主动选择计算机专业的。


所以,我对计算机的热爱,纯粹是经过后天刻意练习的。


很多同学可能会不解,热爱也能练习?


当然。


当我发现这个专业找到工作,能养活自己,能不再伸手向父母要钱的时候,热爱就一点点的来了。随着年纪的增长,我越来越喜欢这个专业了,不是因为它充满魅力,而是它让我的生活变得越来越好。


对,我是个俗人。


一开始,这很难,因为经过两次高考的打击,我的厌学情绪特别强烈,以至于我大学的时候好几门专业课都挂科了,同学们可能很难想象:二哥,好多人心目中的榜样,大学还会挂科。




真实情况就是这样,所以很多新人给我抱怨说,“二哥,编程好难啊,总是学着忘着,我该怎么办?”我知道原因在哪?你对编程还不够热爱!


当我拿到第一笔实习工资的时候,1200 元,我记得清清楚楚,当时心里乐开了花,知道吗?人生第一次一次性地挣到这么多钱!拿到工资就赶紧给父母打了一通电话,对,现在回想起当时的场景还是有点热泪盈眶的。


虽然电话里没有喊出那句:“爸妈,你们的儿子终于挣钱了,终于不用再伸手找你们要钱了!”但其实,心里面早已经喊了几千遍!


同学们可能很难想象,1200 元的实习工资,能有那么激动!能,对于当时的我来说。


有了热爱,你自然就会去努力!这是水到渠成的一件事情。


但往往很多时候,我们会迷茫,不知道该往哪里去努力,不知道自己的劲往哪里使!


我也有过。当我拿着 1200 元的实习工资高兴的屁颠屁颠的时候,身边的一些同事,尤其是一些苏州的本地人,来实习根本就不是为了挣钱,而是给自己一些历练的机会而已。


印象很深刻。我问过一个同事,“你拿到工资后干嘛呀?”


“加油啊!这点钱还能做什么!”这个回答对我的冲击感特别强烈,有那么一刻,我觉得努力毫无意义。


但后来我想明白了。


原来,人与人之间的差距是与生俱来的!你只有努力地追赶,才有可能把这些差距缩小;而一旦你停止努力,差距就会被越拉越大!


想明白了之后,我就去一个叫编程入门网的网站上抄 Demo,每天一有时间我就去抄。对于那时候的我来说,看书提升得太慢,只有通过实战,我才能快速地提升。


后来,从前辈们那里又了解到,公司接下来会非常依赖一个前端框架,我就硬着头皮去研究源码,并利用空闲时间做了一个局域网性质的聊天工具。


learn by doing,就是我的经验心得,它让我急速地成长,很快就在技术上领先了同一批进公司的新人。


让你的代码量从 100 行到 1000 行,再到 10000 行,再到 10 万行,你就不会再有那种“学的时候能学会,做的时候不会做”的感觉了。


当然了,在敲代码的过程中,你要学会思考,为什么人家要这样实现,为什么不能换一种方法?举个很简单的例子,人家用的 ArrayList,你能不能用 LinkedList?人家用的插入排序,你能不能用冒泡排序?


在那段野蛮成长的过程中,我确实很少看书。但最近两年,我读了很多经典的书,比如说《代码整洁之道》、《人月神话》、《编程珠玑》、《重构》等等等等,另外我还整理了一个计算机必读的经典书单,你点开收藏下。


读书可以让你知道为什么要这样做,背后的原理是什么。


再加上大量的输出,就让我对编程的思考更加深刻了。


大家想一想,程序员最核心的竞争力是什么?


解决问题的能力,是我认为最核心的竞争力。


当一个问题摆在你面前,你不能束手无策呀!你热爱,你努力,最终是要解决问题的,你做不到的话,就只能被扣上“纸上谈兵”的帽子了。


解决问题的过程可以分为三步:


透彻理解问题是什么?

导致问题出现的根本原因是什么?

找到最佳的解决方案。

一开始,由于缺乏编程经验,我们很可能连问题到底是什么都搞不清楚。而解决一个 bug 的首要条件是要能够重现问题,然而编程和其他很多事情都不大一样,有些 bug 是很难重现的。


所以对于新人来说,一开始遇到问题的时候,只能面向搜索引擎,去看看别人有没有遇到类似的问题,有没有解决方案,然后套用一下,看能不能把问题给解决了。


问题解决不了的时候,想问领导,想问大佬,能不能手把手教一教啊!


有一说一,我一开始也是这样的。但渐渐地,我就会去思考,为什么会出现这个问题,这个问题的底层逻辑是什么,除了这种解决方案,还有没有其他更好的呢?要不自己再花点时间去研究一下?


当你有了敢一个人去解决问题的胆量后,其实已经证明你进步了,因为只有支撑你的基础扎实了,你才会有这样的胆量。


最后,总结一下我认为非常重要的东西吧。


热爱、努力,解决问题的能力,除此之外,你还应该重视基本功:


编程能力:大量地练习、会 debug,追求高质量的代码;

基础知识:操作系统、计算机网络、数据结构与算法;

抽象思维:现实是物理的,而程序是虚拟的,这个转化的过程,需要极强的抽象思维能力。

尤其是数据结构与算法这块,一定要趁早开始筹谋,如果计划去大厂的话,要趁早把 LeetCode 这块刷起来,对算法薄弱的同学会很有帮助。


好了,今天就聊到这吧。


多说一句,今年的计算机专业真的特别卷,就连我的二舅家的一个妹妹都要主动报计算机专业,刚刚我二舅给我打电话的时候我都有点小惊呆了!


难道是我因为我这个“榜样”,潜移默化了弟弟妹妹们?


(不过,我打算把她劝退到医护专业,她的成绩不太理想,大家怎么看?)


相关文章
ifdown ifup 命令丢失处理
分享一个ifdown ifup 命令丢失处理的案例
ifdown ifup 命令丢失处理
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
382 5
|
11月前
|
JavaScript
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案
774 13
node环境之Error: Cannot find module ‘chalk’ 报错无法解决的问题—-网上说让你npm install chalk 基本是没有用的-优雅草央千澈解决方案
|
10月前
node环境之当我们遇到需要付费的依赖库@fortawesome/fontawesome-pro导致npm install无法进行怎么办-fontawesome-pro依赖库
node环境之当我们遇到需要付费的依赖库@fortawesome/fontawesome-pro导致npm install无法进行怎么办-fontawesome-pro依赖库
277 3
node环境之当我们遇到需要付费的依赖库@fortawesome/fontawesome-pro导致npm install无法进行怎么办-fontawesome-pro依赖库
|
11月前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
1123 5
|
UED 开发者
鸿蒙next版开发:ArkTS组件通用属性(边框设置)
在HarmonyOS 5.0中,ArkTS提供了丰富的边框设置属性,允许开发者自定义组件的边框样式,提升应用的视觉效果和用户体验。本文详细解读了border属性的使用方法,并提供了示例代码,展示了如何设置不同边的边框宽度、颜色、圆角和样式。边框设置在UI开发中具有重要作用,如区分组件、强调重要元素和美化界面。
1165 6
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
师资研修|AI技术赋能教材建设和课程开发——乌鲁木齐某教育部门
近日,TsingtaoAI派出AI专家为乌鲁木齐中职院校的教师团队,举办“AI技术赋能教材建设与课程开发”的师资研修。此次培训由TsingtaoAI的AI专家高寒和教育专家刘建老师亲自授课,面对的是来自乌鲁木齐的教育工作者,特别是中职院校的教学骨干。整个活动不仅涉及人工智能技术本身的深度解析,还深入探讨了如何将这些前沿技术高效应用于教材和课程体系的创新。
345 0
|
Java 机器人 Windows
【IntelliJ IDEA】UTF-8编码下\u7528\u6237转换为中文汉字,\u9489\u9489\u81EA\u5B9A\u4E49\(Unicode字符与中文的相互转化)
【IntelliJ IDEA】UTF-8编码下\u7528\u6237转换为中文汉字,\u9489\u9489\u81EA\u5B9A\u4E49\(Unicode字符与中文的相互转化)
1554 0
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
Dart JavaScript Java
flutter 架构、渲染原理、家族
flutter 架构、渲染原理、家族
411 3