写点什么

开发者有话说|一名高中生的编程之路

作者:Loken
  • 2022 年 9 月 26 日
    广东
  • 本文字数:3051 字

    阅读完需:约 10 分钟

开发者有话说|一名高中生的编程之路

大家好,我叫罗上文,2013 年 18 岁高中毕业就出来工作了,先来讲一下我为什么会进入软件开发这个行业。我读书时期,并不是一个特别聪明的人,最高的时候在班级里面排名第 5,全校排名前 60。比我聪明的人有不少,但是后面我发现,我是同学们中混得比较好的,因为那些比我聪明的人,没有选择计算机行业。

我 16 岁读高一的时候,就开始琢磨怎么赚钱,因为家里并不富裕。我平时上学的时候经常思考周边的小商小贩,各个门店,是怎么赚钱的。最吸引我的就是那些手机维修点,跟电脑维修店。周六周日放假的时候,我就到处逛,找各种手机店跟电脑店。在这个过程中,我发现了县城的手机店,电脑店的供应链在哪里,有一家手机店是总代,其他店没有的配件他都有。手机店之间经常会调货。还有一家电脑店的特点是技术高超,别的店修不好的就交给他,这家店会修主板。

除此之外,我还喜欢到本地论坛搜索信息,在论坛里我找到了两份兼职,一份是婚礼跟拍摄影师学徒,一份是电脑维修学徒。

这两份工作都不是骗人的,不需要交钱。婚礼跟拍摄影师学徒 前 3 次是跟着师傅出门拍摄,没有工资的,3 次后如果你能搞懂摄像机基本使用,能独立出去跟拍,每次能拿 200~400 报酬,这个收入在 2011 年是比较高的了。所以那是我接了这份兼职,跟着公司摄影团队到处跑,那时候我 16 岁,摄影师傅当时比较用心教我,

虽然做学徒没有工资,但是婚礼是一个比较喜庆的节日,新郎新娘会给你红包,而且可以蹭吃酒席,有一次一个老板结婚,直接每个工作人员发了 100 元红包。


但是婚礼不是每天都有,所以节日淡季,我就去找了另一份兼职,就是电脑维修学徒,我在那家店干了一个寒假,没有工资,但是老板会教怎么组装电脑,怎么检测各个组件,内存,硬盘坏没坏。后来出师了,暑假的时候有工资了,一天 40 块,同时参与了一个网吧的工程,就是组装机器,接线。

我真正了解到编程,同时也来自我高中老师的启蒙,那时候学校每周是有一节电脑课,老师主要教电脑基本使用跟 PS。因为那时候我是个学生,没有什么钱买书,我经常跑到商城的书店看书,那里有一整排计算机系列的书籍,那里的服务员非常好,不会赶你走。那时候我捧着一本《HTML 从入门到精通》看,周六日去电脑店兼职有空就敲代码。

但是书店里面计算机书籍是比较落后的,我看了几个月隐约感觉到了这个问题,所以我网上不断地搜索资料,最后我找到了一个培训机构的资料,那是 2012 年,他们的光盘只买 10 块钱,而且包邮,涵盖了 PHP+Thinkphp,mysql,linux 运维 等知识。这里我有必要说一下这个培训机构的名字,兄弟连,因为正是这 10 块钱的光盘带我进入了编程的世界。

拿到这个光盘之后,我就一有时间就看视频学习,我一个高中生,为什么会有时间?因为我不做作业,上课我也是偷偷看编程书,有时候会翘课请假。

高考之后,我在家里自学了 5 个月,把 php ,thinkphpjquerymysqllinux 都学了一遍,自己写了个商城系统,那时候我甚至学了 sphinx 的用法跟 lvs,我用 vmware 模拟集群 测试 lvs。

5 个月后,我问父母要了 2 千块钱,来到深圳谋生。2013 年那时候市场还是非常火热的,那时候我投简历,有 5 家软件公司邀请我面试,我一个 18 岁的高中毕业生,居然能收到面试通知,真是太幸运了。有 4 家没有过,不过后来有一家公司老板愿意要我,那时候我月薪 3k,不过足够我在深圳活下去了。

自此,我就进入了软件开发这个行业,我是一个野生程序员,实战派,开始的时候,我并没有像大学一样,学过计算机组成原理,编译原理,操作系统等等系统课程。我一开始是学高级语言 PHP,JavaScript,学 jquery 框架,学 linux 运维, shell 编程,mysql 语法之类的比较上层的东西,但是那时候我并不知道什么是 B 树。

我在那家公司干了 2 年多,薪酬从 3k 涨到了 10k,那时候我 20 岁,已经逐渐成为核心,领导也把服务器交给我去管理运维。到我 21 岁跳槽到南山的一家公司,薪水已经涨到了 15k。

在 18~22 岁这个时间,没有人给我讲一个计算机学习的正统路线,这个正统路线是我自己后面摸索出来了,这是坏事也是好事。如果有人给我讲了,会少走一些弯路,可以节省一些时间,但是计算机领域也是有很多方向分支的,不可能每时每刻都有名师指导你往哪个方向走。所有的弯路都是必经之路吧。

在 18~22 岁这个时间,主要学的是各种工具,框架的使用,例如 memcache,mycat,squid 反向代理,cacti,keepalive,zabbix 监控,yaf 框架,java jsp ,angular,ionic ,less,sass 等等,我并没有去了解 memcache 的内部实现跟原理,只是用这个东西,因为我不会 C/C++ 。在几年折腾各种工具使用的过程中,我学到了两个比较重要的技能。

1,我有时候见到一些人 编译一个软件,报错,半天找不到方法就放弃了。那时候我解决一个编译安装问题,我有时候会花 2~3 天网上搜索答案,大多数开源软件的 编译,安装,使用,都有文档,90%都能解决。还有 10%我解决不了的,我就知道是我自己的某些基础知识不牢固,需要慢慢补一些基础知识。

2,不断地折腾软件工具跟编程框架,让我的学习能力有了很大地改进,例如我能在一周内学会一个 PHP 编程框架的用法,一个月学会 postgresql 用法,各种查询优化策略,跟数据库集群。

我从来不会把自己局限在某一个技术领域,例如 PHP 或者 linux,虽然这两种技术在工作中用得最多,但是我也会去学习 C/C++,go, java jsp,angular 等框架。


我的计算机基础知识,是我折腾了 3 年左右的软件工程,工具框架使用,再陆陆续续回头看的。后来我 23 岁的时候,开始补计算机基础的知识,那时候我把《TCP/IP》3 册书都看了,《unix 环境高级编程》,《wireshark 实战》也看了。看完这些书之后,我才知道了网络协议原理,才知道我 18 岁用的 lvs 负载均衡 是怎么实现的,wireshark 也用得很熟悉,可以快速解决问题。

所以,我是一开始就做工程实战,5 年之后才开始补基础知识。

到我 24 岁的时候,跳槽到了一家比之前大不少的公司,工作环境也不错,那时候我的薪资是 25k,那时候我才能开始设计一些普通的架构,数据库读写分离,PHP 应用负载均衡,数据库查询优化。微信逆向,破解反爬策略。

我能搞这些都是因为我之前补了不少的基础知识,知道一些原理性的东西。在我职业生涯,遇见部分程序员,一开始就搞读写分离,mycat,lvs 跟 keepalive,缺乏基础就搞架构,会导致一些问题,例如不知道读写分离,会导致查询不同步,例如从主库写了,程序立马从读库查,查到的是旧数据。查到的数据不是写进去的。不清楚原理,只是用,会导致很多的问题。不知道 mycat 原理,也会导致一些问题无法解决

在网上见过一个笑话,程序员 A 说mysql 是垃圾,我们应该换 redis,你看 redis 多快,然后另一个工程师说,你是不是忘了给 mysql 加索引。


所以我是一个野生程序员,我是做了 5 年左右的工程实践,再回头看计算机理论基础知识的,不过很幸运,我是 18 岁出来工作,5 年的时间过去还是比较年轻。

到底是 先学基础再做工程,还是先做工程再学基础。我个人有一些看法。

1,如果先学基础,会比较枯燥,一开始学 C/C++, 那些黑呼呼的窗口,算法跟数据结构,都不知道这些玩意有什么用,虽然书上说算法数据结构应用广泛,确实是,但是不太容易感受得到。先学基础需要有比较坚定的意志力,能熬过 1~3 年的基础期,再学框架工具,就会进步飞快。但是有些人坚持不了,在这个过程中会被磨灭掉兴趣,然后转行

2,如果先学工程会比较有趣,我一开始是学 PS,做一些前端开发,学几天就能写一个酷炫的小动画,很有成就感。有成就感就可以继续往深了学。


博主目前是自由职业,在学习 音视频流媒体,编译系统,操作系统,创作过多个技术专栏《FFmpeg原理》,《SRS源码分析》,《X86汇编入门》。

发布于: 2022 年 09 月 26 日阅读数: 3153
用户头像

Loken

关注

音视频工程师 2022.04.21 加入

音视频工程师,个人博客 www.xianwaizhiyin.net

评论 (57 条评论)

发布
用户头像
很励志,写得很好,向你学习。
2022 年 10 月 04 日 07:08 · 广东
回复
互相学习
2022 年 10 月 04 日 07:13 · 广东
回复
用户头像
音视频领域需要更多像老哥这样的前浪
2022 年 10 月 04 日 07:04 · 广东
回复
这个领域有很多比我优秀的人,我只是做了一点微小的工作
2022 年 10 月 04 日 07:09 · 广东
回复
用户头像
大佬是 FFmpeg 的开发者吗?写的真好
2022 年 10 月 04 日 06:58 · 广东
回复
不算是,没有提交过代码给FFmpeg社区。
2022 年 10 月 04 日 07:09 · 广东
回复
用户头像
跟着罗哥的《FFmpeg原理》,把编译基础查缺补漏了一遍,写得非常到位
2022 年 10 月 04 日 06:53 · 广东
回复
感谢支持,编译链接的知识推荐看一遍俞甲子写的《程序员的自我修养》
2022 年 10 月 04 日 07:10 · 广东
回复
用户头像
文哥,给您的《FFmpeg原理》赞赏了100块,一点心意,感谢文哥为音视频领域做出的贡献
2022 年 10 月 04 日 06:47 · 广东
回复
感谢,感谢
2022 年 10 月 04 日 06:49 · 广东
回复
罗哥是雷神接班人
2022 年 10 月 04 日 06:53 · 广东
回复
土豪。
2022 年 10 月 04 日 06:59 · 广东
回复
用户头像
向大佬学习
2022 年 10 月 04 日 06:44 · 广东
回复
互相学习
2022 年 10 月 04 日 07:10 · 广东
回复
用户头像
看了文哥写的《FFmpeg原理》,很有启发,特此感谢。
2022 年 10 月 04 日 06:36 · 广东
回复
感谢您的支持
2022 年 10 月 04 日 06:41 · 广东
回复
用户头像
大佬您好,想咨询个问题,我今天30了,还可以转行做程序员吗?
2022 年 10 月 04 日 01:23 · 广东
回复
可以,因为相信,所以看见。
2022 年 10 月 04 日 06:33 · 广东
回复
身边有几个朋友是28左右才转行做程序员的,是可以的。
2022 年 10 月 04 日 06:38 · 广东
回复
不要给自己设限,去相信相信的力量
2022 年 10 月 04 日 06:55 · 广东
回复
用户头像
看了博主的博客弦外之音,写得很好,支持手艺人。
2022 年 10 月 04 日 01:18 · 广东
回复
请问博主的博客地址是什么?
2022 年 10 月 04 日 01:22 · 广东
回复
2022 年 10 月 04 日 02:02 · 广东
回复
用户头像
进入社会,考察的不是你的学历,而是你的学习力。博主的经历充分验证了这句话的正确性。
2022 年 10 月 04 日 01:15 · 广东
回复
很有道理
2022 年 10 月 04 日 01:22 · 广东
回复
用户头像
感觉大佬的自学能力特别强,有什么经验可以分享吗?
2022 年 10 月 04 日 01:09 · 广东
回复
用户头像
大佬您好,我是一个萌新小白,请问怎么学习音视频开发?
2022 年 10 月 04 日 01:05 · 广东
回复
可以先看一下《FFmpeg Basic》,再看 《FFmpeg原理》。
2022 年 10 月 04 日 06:32 · 广东
回复
用户头像
熬过黑暗, 便是黎明~
2022 年 09 月 30 日 20:25 · 四川
回复
至理名言
2022 年 10 月 02 日 10:19 · 广东
回复
用户头像
熬过黑暗便是黎明~
2022 年 09 月 30 日 20:25 · 四川
回复
用户头像
厉害了,罗哥
2022 年 09 月 30 日 08:43 · 广东
回复
用户头像
上文,请问你有提升学历的打算吗?可以加我V,mei2034
2022 年 09 月 29 日 12:23 · 广东
回复
用户头像
写得真好。
2022 年 09 月 29 日 12:21 · 广东
回复
用户头像
你比我厉害多了。
2022 年 09 月 29 日 12:13 · 美国
回复
用户头像
博主,我跟您年龄相仿,很佩服,可以加个微信吗?
2022 年 09 月 29 日 12:11 · 美国
回复
当然可以,你搜Loken1
2022 年 09 月 29 日 12:24 · 广东
回复
博主,我也要加您,我微信是Lance2020,麻烦通过一下
2022 年 10 月 04 日 01:15 · 广东
回复
用户头像
听过罗老师的演讲,真人很帅。
2022 年 09 月 29 日 12:06 · 加拿大
回复
谢谢
2022 年 10 月 02 日 10:19 · 广东
回复
请问罗老师的演讲在哪里可以看到?
2022 年 10 月 04 日 06:39 · 广东
回复
加载更多
开发者有话说|一名高中生的编程之路_个人成长_Loken_InfoQ写作社区