记有转行想法的第一周
今天是周五,这一周过的格外的快,这周也是我开始学习编程的第一周,一直想找个平台记录点什么,一个是记录自己的成长,再一个是为了督促、监督自己。并且可以记录一些学习的痕迹,方便自己查找。
2020已经过去半年了,这场人类的灾难对每个行业来说都是巨大的冲击,门口的小店一家接一家的关门,学生不用开学了,电影院不用放电影了,我上班也没有什么具体工作了。工作确实还算稳定,天天闲着甚至可以打一整天的游戏,打游戏还有钱赚这不是梦寐以求的生活嘛。但是同样的低付出,换来的肯定是低回报。我也知道没有一家公司一个部门会平白无故的给你发着钱养老,突然有一天我脑海中浮现出一个念头。
要不要转行呢!
其实从开始到现在这个单位一直都在思考这个问题,但是由于目前家庭状况再加上各方面原因,需要一份稳定的收入。并且本着干一行爱一行的原则,一直都没有想着做出改变。并且因为自由时间确实很多,也浪费了很多时间。现在距离我26岁还有不到4个月的时间,我做出了这个决定,自学编程!
1.自己真的要转行学编程嘛?到最后会不会既浪费时间又没有成果。自己非计算机行业、非211、985知名大学毕业对于计算机科班出身或者名牌大学、高学历转专业学习编程的同学竞争力在哪。
自己非科班出身,没有计算机行业相关工作经验,甚至是工作几年除了人际交往没什么实际能力的增长(有兴趣可以看看我回忆我的工作经历的一篇文章《回忆我的工作经历》),所以要明确有很多的内容和经验是需要学习和追赶的,程序员这个行业也决定了终身学习和知识量庞大这个特性。转行本就一定会遇到很大的阻力,其中包括个人原因和家庭的原因。如果没有这种觉悟,是没法赶超其他人,甚至是连一份程序员的工作都是找不到的。我也考虑过其他道路,如考研、工程类、我现在从事的行业、国考等等,但我觉得程序员是我最后确定的答案。有些坑别人告诉你是避不开的,只有自己踩过坑摔过跤才能长记性。首先要给自己打气,不能还没开始干就泄气带着不可能成功的想法去做事。我所在省份本科率只有3~4成,算上没有参加高考的人,能上一个本科其实已经超过了社会上大部分的人,也证明自己的能力并不比其他人差。本科的教育储备也是自己自学的基础和条件。虽然不可否认名牌大学和研究生的知识储备肯定比我更强。但是上过大学的都知道,我也是从那一步走过来的,我国大学生的学习氛围并不是十分理想,这也诠释了为什么大多数大学生都是迷茫的。其次应试教育所培养的东西与实际的应用中存在着巨大的差异。并且在社会上摸爬滚打过跟跟能够激发自己的斗志,所以自己学习编程还是有机会的,只要持之以恒,有超高的觉悟,相信自己一定可以。并且最主要的便利条件是现在的工作可以给我充足的学习时间,就像全职学习一样。暂时也没有家庭原因可以顾虑,综合这些巨大的便利机会。所以我问过自己很多次,你准备好做一个程序员了嘛。I am ready。
2.程序员的中年危机,程序员过了30岁以后就会走下坡路,被年轻人和层出不穷的新技术所替代。我现在才开始学编程还有发展前途吗?
这个问题对我来说确实很现实,我在B站看视频,了解编程或者说程序员这一行业的基本认识时。这个问题也是出现在我眼前频率最高的的一个问题,我想我现在有了答案。在众多视频当中很感谢,程序羊、落拓和小熊猫这几位up主的视频对我的启发和帮助很大。程序员是一个终身学习并且学习量很大的职业,高薪必然对应着要更多的付出或者本身拥有更强的逻辑思考能力。首先心里要有这样的觉悟,并且对于这点我对自己是有信心。其次小熊猫的分析也给我不少信心,对与我们说的技术岗位计和术的不同的,我们要利用技而钻研掌握术,技代表了新颖的结构和框架会不断的有新的产出,但只有掌握了术的原理也就不会被年龄和新的工具打败的这种观点。我自己也是这种想得太多做的太少的人,这次我直接动手做不再去做无用的空想,当我有转行做程序员的想法后,我听到最多的一句话就是种一棵树最好的时间是十年前,其次就是现在!
3.怎么自己学习编程?
自学的方式无非就是看网课视频和自己看书,通常的人也都会把这两种方式结合起来使用,我也不例外。
首先学习编程要重视基础概念和基础路线,选择一门语言从基础详细学习。我个人选择的C语言,一方面C语言是所有语言的基础和祖先,掌握C语言有助于学习其他的语言。其次每月的TIOBE编程语言排行,五月份C语言超过了JAVA重回了第一名。其实知道语言不分高低,只是不同的应用场景和用途。但是就像买东西每个人都希望自己买到的是最好的,这也会给我学习第一门语言增添一些信心。再有一点就是学习要多交流,多分享的这种概念,这也是我写记录自己学习文章的初衷。我也会在深入学习C语言一段时间后加入一个交流群,多与大家交流。
下面记录一下视频中学习到的知识点和推荐书籍:
学习路线一:
学习C学习书籍:推荐书籍:《C primer plus》《C和指针》、《C专家编程》
学习路线二:
编程基础四大件:1.数据结构和算法。2.计算机网络。3.操作系统。4设计模式。
四大件书籍:1.《大话数据结构》、《算法》2.《TCP/IP详解》3.《深入理解操作系统》4.《大话设计模式》
学习路线三:
应用于实践编程:1.LINUX操作系统、shell编程
《Linux私房菜》、《Linux就该这么学》
2.编译和调试工具:GCC makefile文件编写,GDB调试工具
《debugging with gdb》中文版、《跟我一起写makefile》
3.linux环境编程:linuxAPI使用,多线程编程,网络编程。
多的也不说了,说得再多不如脚踏实地地开始做,不说了我去刷视频课了。
下面就是梦开始的地方:
#include <stdio.h>
int main(void)
{
printf("Hello World!\n");
return 0;
}