从毕业到35岁,C语言程序员生存指南

Posted 异步图书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从毕业到35岁,C语言程序员生存指南相关的知识,希望对你有一定的参考价值。


关注我们丨文末赠书


“听了很多道理,却依然过不好这一生。”就像学了很多C语言基础,却依然写不出好程序。


很多人告诉你,学C语言,要注重语法、要搭建知识框架、要勤练代码......这些都没错,但他们忘了重要的一点——每个人都不一样。


你是学生、他是转行者,你有大把时间自学、他只能工作之余挤出时间,你年轻思维活跃、他35岁面临身体和家庭的重压......


C语言欢迎任何一个热爱编程的人,但我们每个人都应该找到适合自己的学习方法。也正是这些不同身份、不同年龄的C语言爱好者,让C语言世界精彩纷呈。


1

寂静的大学机房


从小,小程就对电脑软件无比痴迷,高考结束后,他所有志愿都填报了计算机相关专业。这是他长大后第一次为自己人生做的决定,就这样,小程一个人,左手行李箱,右手脸盆,驾着凉席,后面背着电脑,迈入了大学的门槛。

进入大一,坐在C语言课堂里的小程如愿学起了计算机相关的课程,然而他此时的内心并没有预想的喜悦,反而因为听不懂课程感到焦急与煎熬。在老师们照着PPT念经以及大学里的一系列诱惑下,小程经历了人生第一次打击——C语言挂科。

在当时,C语言的挂科率一直是全校最高。栽了跟头后,小程病急乱投医,抱着C语言书就开始啃,“面向对象、数据类型、算法调用……”,好像都看得懂,但始终感觉学的不深,不扎实;那些课后实践作业,前几个他还兴致勃勃自己动手,但坚持几个后,他就开始网上搜代码、向别人求代码;他开始眼高手低,硬盘里保存着渗透测试、WEB安全、逆向破解等,各种名字牛哄哄的教程,恨不得马上跳过C语言...

那段时间,小程总是很沉默,经常一个人呆在机房里,而且一呆就是一天;一个人穿梭在拥挤的校园里,试图找到答案。他陷入了困境,浪费了不少时间和精力。

从毕业到35岁,C语言程序员生存指南 

经历了黑暗时刻,小程开始思考自己的问题所在,他从心态、方法和行动三个方面作了总结:

心态:C语言挂科,让他一直以考试为学习目标,这难免让人浮躁。要知道,C语言的学习是一个漫长而枯燥的过程,如果真的对它感兴趣,就应该把目光放长远一些,静下心来把基础打牢固。

方法:搞懂了学C语言的目的,才会有源源不断的动力。以前,他看书、做习题、写代码,看似是个勤奋的学生,但他忘了最关键的东西——学了之后用来干嘛?为了形成良性循环,他开始试着写小作品,看着自己开发的小游戏、小程序,那种成就感让他对C语言产生了更浓厚的兴趣。

行动:自学C语言就是一个坚持看、敲、写的过程。刚上手编程的时候,每写一行代码都是煎熬。以前,他觉得教程讲的都听得懂,干嘛还要敲一遍代码?然后到自己写作业的时候,就是各种出错:输入法错了啊,关键字打错了啊,少一个括号啊!令他崩溃不已。

在这个问题上,唯有坚持,才能从量变到质变。当他敲完一百多行的代码并顺利编译运行,系统没有提示错误!随着时间流逝,他明显的感觉自己的错误变少,思路也更清晰。现在想想,如果自己一直偷懒不动手,是不可能达到的。编程是一个不断试错的过程,是不断纠正自己的错误的过程。

经历了这些,小程也算是修成了“正果”,在大四毕业时收到了理想的offer。现在,他放宽了心态,以谦逊的姿态,走在C语言进修之路上。

2

不安的“修电脑的”


旭哥已经工作5年,正经历职业生涯的一道坎,最近他有些焦虑。他的岗位是网络运维,主要工作就是修电脑,掐电话线网线头,设置邮箱,安装office,设置受信站点之类,除此之外还有库房管理等。

刚开始他还怀着调侃的心态在同期入职员工群里取昵称“修电脑的”,但渐渐的开始对自己的这个角色心存不愿,同期的同事有时开玩笑说修电脑的,他会很介意。

他把运维的工作比作空气,不出问题,没有人会感觉到,就说明他做得好。但这样的工作技术含量很低,没有价值,他逐渐萌生想要改变这一切的想法。他看到开发部门的同事,每天满怀激情、接触未知的事物,用技术解决难题,不断探索、进步。旭哥不再犹豫,他确定这是他想要状态,也是这个契机,他开始自学C语言。

于是,每天在完成本职维护工作后,除了吃饭睡觉,旭哥把其余所有时间都投入到C语言学习中。他有很明确的目标——快速入门编程、获得项目经验、面试成功转型。

学习的过程是快乐的,可以暂时忘却对工作、对未来的焦虑。坚持了几个月后,旭哥开始急躁起来,C语言内容太多了,而且看了后面忘了前面,不知道什么时候才能完成自己的目标。随着时间一天天流逝,信心也慢慢消减,尤其是学到比较难的地方又找不到解决的办法时,更是心烦意乱,无心学习甚至怀疑自己。

  从毕业到35岁,C语言程序员生存指南  

后来,旭哥把目光投向了培训机构,这其中有收获,也有一些坑。培训机构有前人总结的学习计划和方法,给了他明确的方向;在学习中碰到障碍,也有人指导,很快能得到解决,避免了学习过程中的挫败感;并且还结识了一堆朋友,相互交流,这种学习环境会让人感到很快乐;最后还有就业指导,给他找工作带来不小的帮助。

不过,旭哥也知道,培训机构的本质是盈利,而他的目的是先找到工作完成转型。所以,在培训机构以实战为主的课程学习中,他比其他人更加注重基础的修炼,例如数据结构,算法,OOP原理等等。这一点,让他不至于在后期项目开发时来恶补基础,当然,也给了他面试的底气。

终于,一家公司愿以应届生待遇聘请他,他自嘲说自己即将开启第二人生,毕业正好五年了,身价比当初毕业的时候掉了1000块。下周入职,有点担心、惆怅。不过最艰难的转型之路都走过来了,旭哥相信越努力越幸运,入门还只是开始呢。

3

被逼上绝路的35岁


23-27 岁:技术积累阶段;27-30 岁:形成思维方法论和知识体系;30-33 岁:耕耘自己擅长的领域;35岁:失业。这貌似是程序员无法逃避的命题:35岁,职业生涯就走到了尽头。

老袁是个老牌程序员,今年正好35岁。在这个年轻化、高淘汰率的行业里,他一直表现平庸,技术也一般,甚至有时还需要让20多岁的人指导。在就业市场不占优势,他沦为了失业大军中一员。

他面临着两大难题:一是调整心态,准备接受 35+ 之后被边缘化、被淘汰的命运;二是降低对收入和职位的期望,找到某个愿意为你的存量技能买单的组织不咸不淡地干下去。

但这都不是老袁所希望的。于是,时隔十多年,他再次拿起了那本被翻烂的《C Primer Plus》,那是大学时候他的C语言启蒙书。重拾C语言,感觉对它既熟悉又陌生,熟悉的是语法,陌生的是:故人依在,青春已逝。

  从毕业到35岁,C语言程序员生存指南 
  
感慨之后,老袁还是就着书里的章节规划了重学路线,他把C语言从入门到应用的知识作了一道梳理。大致分为三个部分:

基础语法:
初识C语言:了解C语言的发展史,搭建C开发环境
认识一个简单的C程序:一般都从“Helloworld"这个简单的C程序开始
算法入门:算法基本概念,简单程序结构,流程图等
基本数据类型:整型,浮点型,字符型
运算符与表达式:各种运算符以及优先级,表达式和语句等
简单输入输出函:目前主要是scanf和printf,getchar和putchar
选择、循环、分支结构:if while/do while switch
数组:一维和二维数组定义初始化,元素遍历访问,数组相关运算,数组使用
函数编程基础:模块编程,函数声明、定义、调用
指针解析:指针初识和理解,指针和数组关系,指针简单运算和使用

基本知识框架:
指针的深刻理解和使用:对指针本质的认识,指针的各种使用场合
位运算:各种位运算符号应用,进制转换
存储管理:作用域和存储类型等
预处理:主要是#define和#include
字符串的处理:各种字符串处理函数
文件的读写操作:各种文件处理函数的使用,大量I/O函数使用
函数熟练使用:模块化编程思想和能力
常用数据结构:现阶段主要是表、栈和队列
图形图像的简单处理:能够利用C处理简单图像

应用开发:
软件工程基本知识:主要是软件开发流程
数据库知识:具备对常用数据库的增改删查等基本能力
数据结构知识:树、图,各种算法优化等
程序运维能力:代码调试和优化
工程化思维:再次深化模块化编程的能力

老袁把这套知识体系以及自己每天的学习进度更新在论坛,同时帮助一些初学者入门C语言,收获了很多支持,这成了他另一个动力来源。

35岁,对程序员来说是道坎,但并不是放弃学习的理由。在重拾C语言后,如今的老袁开始接一些私活、做外包,等到时机成熟,他打算用自己十几年的项目经验出来创业。他已经做好准备,去开辟自己的35岁之后的程序员生涯!

4

聚在一起,书写故事


C语言诞生48年以来,就以其独特的底层逻辑,吸引着无数编程爱好者学习。学习的过程异常艰辛,以上的故事只是冰山一角,还有很多正在发生或者你从未听闻的故事。

作为数百万C语言程序员的启蒙书,《C Primer Plus》陪我们走过了38年,翻开它,扑面而来的不仅是知识,还有曾经在学习C语言这条路上前仆后继的人们,你能看到他们的坚持、成就和感恩。

京东购书,5折优惠