自学简单编程可行吗?

如果可以,具体去哪里自学好呢?就是把电脑的一些知识都了解一下。
关注者
8,477
被浏览
1,955,949
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

首先亮出观点:当然可行!因为我就是从 0 开始自学,并成功转行到 IT !所以,我最有发言权!

自我介绍一下。我是良许,本科及硕士所学专业都是机械,毕业后从零开始自学转行 IT,1 年后被世界 500 强外企所录用,目前是 Linux 工程师。


我把我的自学经历写了下来,没想到这篇文章成了爆款,全网有大几万的阅读量。同时我的故事也影响了很多人,他们纷纷以我为榜样,给自己坚持下去的信心!

当然,限于篇幅,还有很多细节那篇没有讲明白。本文将进一步描写当年的状态及一些心路历程,看看能不能与读者引起一些共鸣,能不能有一些启迪。

1. 心路历程

前面已经提到,我本科及硕士所学专业均为机械。毕业后,阴差阳错进入到一家生成液晶屏幕的公司做电子工程师。也正是那时候,我开始接触到了编程,并产生了深厚的兴趣。

我所在的公司虽然对外号称是国企,但外界人都认为是私企,而我们内部人员又普遍视它为台企。在这样多重性质的背景下,它继承了这几种类型公司的所有缺点:官僚,小气,加班重!

所以,我在里面的状态是,拿着不高的工资,做着无尽的琐事,看着他们官僚争斗。

工资低,加班多,我心里积累了一肚子的怨气。而且我们这个岗位行业性太强,如果跳出来的话,只能继续跳到面板行业,其它行业很难。而面板行业国内并不多,我所在的公司在业界还算是比较好的了。

所以,我开始迷茫了,因为想跳槽,但很难跳到其它行业,就业面太窄了。如果重新回到机械行业,离开两年的我竞争力太弱了,而且我也不想回到机械行业。

于是,我每天都在思考着这个问题,前途真的是一片迷茫,看不到未来,也看不清现在。每天晚上我都会倚着阳台的栏杆,看着楼下行色匆匆的人们,在迷茫中彷徨……

在这样的情况下,我不得不转行,否则我在当前的环境下只会慢慢失去竞争力,可能不到35岁就已经被淘汰了。那段时间,焦虑、迷茫一直笼罩着我,我也在一直思索着转行方向。

由于我在公司里做了大量的编程工作,而且写了一个功能很强大的测试工具(至今电子部门及其它兄弟部门都在用),还有带领团队开发了一个自动参数调优工具(耗时减少,精度提高,获得公司级奖项)。于是,我在想,我要不要转行做 IT 呢?

2. 转行过程

还在第一家公司的时候,我后面又接触到了嵌入式,对其产生了深厚的兴趣,于是我决定转行到嵌入式方向。

明确了目标之后,我开始下载资料,准备材料,开始进入转行进程。那时候真的是非常疯狂,晚上加班到 8、9 点回来,回来也不休息,直接开始自学,一直学到凌晨 1 点再睡觉,几乎每天如此。

当我有了一定基础之后,在同学的推荐下,我进入到了第二家公司,成了一名真正的嵌入式工程师。当然入职只是第一步,为了节约路上通勤时间,我搬到公司附近住,走路 5 分钟就能到公司。每天我依然 12 点睡,6 点起,学习 2 个小时后再去公司。周末也不休息,依然去公司自学。所以,对于我的转行过程,我经常说的一句话是:没有晚上,没有周末,没有节假日,没有一切娱乐,也没有应酬,只有学习!

每天上班,我都在写 bug (真的是 bug ,写了很多现在看起来很不可思议的 bug),下班就回来狂看书看视频,而且周末也不休息,几乎一整年都是。有时看书看累了,趴在桌上休息一会儿,醒来继续看。

入职半年多的时候,领导见我进步很快,就把一个刚毕业的小姑娘安排给我做徒弟。你能想象,一个 0 基础的机械工程师,通过7、8 个月的自学,居然能够做师傅带徒弟?!输出是最好的输入,靠着我给小徒弟讲解,我自己也巩固了不少知识点。

同时,我也非常感谢一个 QQ 裙,我有问题的时候,群友都很积极为我解答。在组织里,我从他们身上学到很多知识,同时也与很多人成了好朋友,至今保持联系!

就这样,在我没日没夜的学习下,我学会了 C语言,51单片机,STM32,Git,FreeRTOS,Marvell芯片,RealTech芯片,软件设计,等等内容,并且有了实战经验。这些内容,在正常情况下,学校需要上 2~3 年的课程,而我在一年多的时间里就自学完成了。此时的我已经是一名合格的嵌入式软件工程师,正式转行成功!

但是后来,决定跟老婆一起去广州,离开了第二家公司。那时我觉得单纯做单片机发展前景受限,一定要结合 Linux 才更有前途。于是在面试第三家公司的时候,我一定要选择做 Linux 的岗位。凭借我之前优秀的背景,我也顺利被广州的一家世界 500 强外企所录用。

单片机与 Linux 相比,就像手枪与大炮的差别。所以在第三家公司,我依然开启疯狂模式,继续没日没夜学习。现在我依然在这家公司,独立负责公司项目的几个模块,也是一名合格的嵌入式 Linux 应用开发工程师!

3. 如何自学编程

很多读者看到我的文章,辗转联系上我之后,只为跟我说一句谢谢!我觉得非常欣慰,至少我给转行的人做了一些贡献,哈哈!

现在回到主题,如何自学编程。

3.1 一定要有激情!!!

我觉得这个最重要,所以把它放在第一点。你一定要对你要转的那个方向有兴趣,否则怎么继续下去?而且你一定要有激情,否则你能像我做到每天 12 点睡 6 点起?能做到没日没夜学习?能做到没有晚上,没有周末,没有节假日,没有一切娱乐,没有应酬?

如果你没那个兴趣的话,我劝你尽早放弃吧。如果你有兴趣但没激情,那么你可能就要花更多时间去学习了。这里放一张我当时自学到深夜的照片,也激励一下大家。

你要有激情,你才能坚持,这是前提条件。你们应该能感受到,我是一个特别能坚持的人。关于我特别能坚持,以及非常自律这件事,我也分享了两篇文章,欢迎围观。

3.2 一定要找到组织

学习是一件很枯燥的事,如果没有一些志同道合的朋友,很容易就坚持不下来。但是现实中,有时候我们可能找不到有共同目标的人,那我们可以去网络上找啊,现在网络这么发达,找个人还不容易。

当时我加入了一个 QQ 裙,有疑问的时候就把问题丢到群里,很快群友就帮我解答。同时,有时候学习累了,就在裙里跟大家聊聊天,吹吹水,顿时心情愉快了不少。

圈子对于我们来讲实在是太重要了,特别是我转行时以及做公众号时,真的是深有体会!在圈子里,即使你不说话,就看群友聊天,你也能知道一些行业动态,以及大家所关心的话题。有时候裙友丢出的问题可能正是你所想知道的,互相讨论能激发出很多灵感。

正因为深知圈子的重要性,我建立了很多技术交流裙,欢迎在我的公众号「良许Linux」后台找到入口。

3.3 一定要有合适的资料

自学编程,资料的重要性不言而喻。但是,资料有的是文本,有的是视频,那要看文本还是视频?这个话题其实有一定的争议性,但是我更倾向于看视频。为什么呢?因为一个优秀的视频凝结了讲师大量的心血,他已经帮你将重点知识归纳总结了,你只需跟着他的进度走就行。

而书籍其实一般大而全,方方面面都讲到了。但是有很多知识点其实并不高频,工作中用到的概率不大。而对于新手而言,经验比较缺乏,不能有效筛选,容易钻牛角尖。时间宝贵,一定要花在刀刃上。

但是,如果你想成为大牛的话,那最终一定一定要回归到书籍。经典书籍承载了前人智慧的结晶,仔细品读一定能挖掘出更多你所不知道的技术。


3.4 一定要有输出!!!

输出也非常重要的,但很多人却忽略了输出这件事!等你去做输出的时候,你就会发现,学会是一件事,说出来是另一件事,而写出来又是一件事!

输出会让你把学到的知识重新整理一遍然后再表达出来,而在整理的过程中,你就会对知识有更深入的了解,或者对知识形成一个体系,可以使知识建立关联,更有逻辑性。

我之所以建立公众号,一是想把我的转行经历分享给更多人,激励大家坚持下来;另一个就是整理自己的学习笔记,分享给更多人,同时也以输出倒逼输入,让自己的技能不断提高。


Linux环境搭建 | 手把手教你安装Linux虚拟机
Linux环境搭建 | VMware下共享文件夹的实现
Linux常用工具 | 使用notepad++远程编辑虚拟机文档
Linux常用工具 | 全能终端神器——MobaXterm
Linux常用命令 | 10个非常有趣的Linux命令
Linux常用命令 | Linux下find与exec的联手干大事
Linux性能优化 | Linux性能检测常用的10个基本命令
Linux命令高级用法 | Linux下 ls 命令的高级用法8例
Linux命令高级用法 | 5分钟 more 命令从入门到精通
Linux命令行工具 | 程序员轻松绘图神器
Linux命令行工具 | Linux里隐藏的计算器,你知道它的奥秘吗?
Linux常用技巧 | 让你提高效率的Linux技巧
Linux常用技巧 | Linux下日志文件过大解决方案

同时我也在知乎开辟了专栏,将我的原创干货也收录到专栏里,欢迎关注!

最近的一篇暴款回答:

4. 小结

花了 3 个多小时,把自己转行过程及转行方法分享给大家,希望对大家有帮助。非常感谢看到这边,还望帮我点个赞,让更多人看到,希望能够帮助到更多多人,先谢过了!