阅读 592

练习时长两年半的大专程序员,复盘与规划 | 掘金年度征文

前言

工作两年半了,从2018年开始,每年年底都会对自己进行一个今年学习和生活的复盘,以及明年的规划,这是我第一次将自己的复盘与规划发布在掘金。之所以发布,一是为了满足自己的表达欲,二是为了告诉大家有这样一个平平无奇普普通通的程序员,他走了一些弯路又或者做了一些决定,如果这些经验可以给人带来一些帮助就挺好的,或者你就是想看看别的程序员的生活与职业规划也可以。

我是1998年出生的,2018年下半年就开始实习了,然后一直工作到现在,已经有两年多了。作为一个大专程序员,在找工作的时候肯定是不吃香的,我觉得这没有什么问题,大公司不要那就去小公司嘛,只要技术水平过硬,工作一段时间证明自己,大家还是会信任你的。我之所以读大专,没别的原因,就是因为小时候不好好学习,我开窍的比较晚,到大一才意识到自己再不学习就真的晚了,所以就开始做自己的复盘与规划。

我之所以开窍,需要感谢一个app和一个哲学家。

app是知乎,当时的我没见识过一个app上可以聚集这么多优质的精英,看着这些大佬们的回答,再看看浑浑噩噩的自己,难免会升起想要改变的欲望,而且又刚好有那么多答案告诉你该怎么做。

哲学家是叔本华,从小到大我就不知道自己想要做什么,也不知道什么是我该做的,什么是重要的,也不喜欢上课,觉得无聊,所以也没付出过任何努力与行动,大一时有幸看到了叔本华的著作《人生的智慧》,后来一发不可收拾,看了《叔本华思想随笔》、《大问题》、《苏菲的世界》、《哲学导论》、《谈美》,这些都是哲学入门的著作。是叔本华让我找到了我真正应该去关注的事情,以及我想要去做的事情,我想要创造出我自己的作品,让这个作品可以给世界带来一些影响。因为叔本华的影响我开始学习哲学,我觉得就像毛姆在《阅读是一座随身携带的避难所》中写的那样:“哲学作品不会让你失望。在这类作品中,你永远都望不到边界,它就像人类的灵魂一样多样。”。又或者是《哲学导论》中写的:“哲学不同于其他一切学科,确切地说,它是探讨一切主题的批判方法,所有其他学科都处于它的广阔视野之中。哲学是一种生活方式,一种思想生活或理性生活,是苏格拉底那样的人终其一生过着的生活,是我们多数人只在每周的几个小时中过着的生活。它思考一切,无所不包。但主要来说,它是思想地生活着。”

我的书单和笔记:www.yuque.com/reliable/lt…

2019年计划完成情况

学习

专业上的目标:

  1. 积累项目实践经验
  2. 学会使用 flutter
  3. 深入学习 vue
  4. 深入学习 golang
  5. 学会使用 node.js
  6. 了解并学习一些非关系型数据库
  7. 满足主流招聘网站上(boss 直聘,拉勾网等)web 程序员工作经验在1~3年的 golang 岗位要求

兴趣上的目标:

  1. 学会 unity,尝试制作小游戏
  2. 制作自己的博客
  3. 使用 flutter 制作个人计划管理app

其他目标:

  1. 学习英语
  2. 学习理财,存钱3万以上

web 前后端

vue 学习:

  • 用 JavaScript 模仿 vue 的语法自制一个支持双向绑定的 mvvm 框架
  • 使用 vue 搭建个人博客的前端

flutter 学习:

  • 看完技术胖博客发布的 flutter 教程
  • dart 官网文档浏览一遍,简单过一遍 dart 语法
  • 为了实践学习 flutter,将之前制作的一个app在业余时间用 flutter 复刻一遍
  • 使用 flutter 制作个人计划管理app的前端,并在 GitHub 公开前端 flutter 的代码

golang 学习:

  • 书《Go程序设计语言》重读一遍,记笔记
  • 书《Go Web编程》看完,记笔记
  • 书《Effctive Go》看完,对比上面两本 go 技术书中的知识查漏补缺,记笔记
  • 使用 go 实现个人计划管理app的后端,由于之前都是使用 beego 框架做项目的,为了更充分的学习 go,这次决定不使用框架,用原生 go 来实现
  • 在项目中尝试 beego 和 gin 框架

node.js 学习:

  • 看完廖雪峰博客的 node.js 教程
  • 使用 node.js 实现个人博客的后端,边用边学

mongoDB 学习:

  • 为了学习 nosql 数据库,分别看完菜鸟教程的 mongoDB 教程,实验楼的 mongoDB 教程,廖雪峰博客的 sql 教程
  • 使用 mongoDB 代替 mysql 作为个人博客的数据库,一边用一边踩坑

c# 学习:

  • 通过菜鸟教程的 c# 教程过一遍语法,不需要很熟悉,主要还是为了之后学习 unity 做准备

算法

  • 书《普灵斯顿微积分读本》看完,不懂的地方结合浙江大学的苏德矿公开课视频理解
  • 书《算法图解》看完,记笔记
  • 书《算法导论》看完,记笔记(不求甚解的过了一遍,实在看不懂的地方就先跳过,因为之后还会重读2到3遍的)

计算机专业基础(操作系统,计算机网络,代码修养等)

  • 购买一个 Linux 云服务器(阿里云),配置,使用
  • 熟悉 Shell 命令
  • 书《现代操作系统》看完,记笔记
  • 书《图解HTTP》看完,记笔记

2019年开发实践经验

  • 某金属交易类app,负责前端,用 h5 + ApiClound 实现
  • 某金属交易类app,为了学习 flutter,在私下时间用 flutter 复刻了一遍
  • 某公司生产计划管理系统,负责后端,技术栈用到了 go + mysql + nginx
  • 个人博客,用 vue + node.js + mongoDB + nginx 实现
  • 个人计划管理app,用 flutter + go + mysql 实现
  • 商城项目,负责后端及后台页面,技术栈用到了 go + mysql + nginx + vue
  • 物联业务流程管理系统 pc 端,独立开发,负责前后端,技术栈用到了 vue + go + mysql + nginx

unity

  • 看完赖老师的 unity 入门课程
  • 逐步使用 unity 制作以下小游戏:
    • roll a ball
    • roguelike 2d 拾荒者
    • 太空射击游戏

英语

  • 书《小王子》英文版看完
  • 购买"英语流利说APP"一年课程学习

理财

  • 书《管理经济学》看完
  • 工作1年,存钱3万以上,为明年去一线城市工作准备一下
  • 书《经济学通识课(耶鲁大学)》看完,记笔记

生活

阅读

  • 阅读超过20本书,记笔记

写作

  • 在个人博客发布至少10篇文章
  • 在语雀公开至少10篇笔记
  • 挑选出各类高质量的书籍,制作一个“我的终生书单”

哲学

  • 看完《纯粹理性批判·句读》第一卷
  • 看完《叔本华思想随笔》,记笔记
  • 看完《马克思主义基本原理概论》,记笔记
  • 《人生的智慧》重读

健身

  • 晚上俯卧撑+卷腹至少30分钟,每周至少坚持3天,也可以用夜跑代替

游戏

steam:

  • 文明6
  • 神界原罪2
  • 生化危机2重制版
  • 群星

ns:

  • 塞尔达传说 旷野之息
  • 舞力全开2019
  • ARMS
  • 健身拳击
  • 火焰纹章 风花雪月
  • 塞尔达传说 织梦岛
  • 任天堂明星大乱斗
  • 健身环大冒险
  • 精灵宝可梦 剑盾
  • 马里奥制造2

我的2019年书单

哲学:

  • 《纯粹理性批判·句读》卷一
  • 《叔本华思想随笔》
  • 《人生的智慧》重读
  • 《马克思主义基本原理概论》

科普:

  • 《自私的基因》
  • 《人工智能的未来》
  • 《规模》
  • 《学习之道》

心理学:

  • 《幸福课》
  • 《对“伪心理学”说不》

经济:

  • 《经济学通识课(耶鲁大学)》
  • 《管理经济学》

文学:

  • 《1984》
  • 《查令十字街84号》
  • 《神们自己》
  • 《爱德华·巴纳德的堕落》
  • 《黑暗精灵(三部曲)》
  • 《追风筝的人》

历史&传记:

  • 《资治通鉴(中华书局版)》卷一
  • 《左传(中华书局版)》上册

计算机:

  • 《代码大全》重读
  • 《黑客与画家》
  • 《普灵斯顿微积分读本》
  • 《算法导论》
  • 《Go程序设计语言》重读
  • 《Go Web编程》
  • 《Effective Go》
  • 《现代操作系统》
  • 《图解HTTP》
  • 《图解TCP/IP》
  • 《Web性能权威指南》
  • 《算法图解》
  • 《数据结构(邓俊辉)》

主流招聘网站golang岗位要求整理

  • 熟悉Linux命令
  • 熟悉常用数据结构算法
  • 熟悉HTTP协议
  • 熟悉MySQL、mongodb、sqlite等常用数据库一种以上
  • 除Go语言之外 ,至少熟悉一门主流编程语言,并有相关开发作品的,优先考虑
  • 具备良好的编码习惯,结构清晰,命名规范
  • 熟悉HTML/CSS/JavaScript/Ajax/jQuery/Websocket等前端相关技术的,优先考虑
  • 熟悉docker, k8s微服务的架构
  • 至少1年以上Golang开发经验,能熟练应用beego/gin/iris等web框架
  • 有良好的自学能力,对新技术能持续学习、保持好奇心,不断挖掘自身潜力
  • 乐于分享,热衷于参与开源社区,曾参与过开源项目的开发

总结&复盘

2020年1月1日。

此时的我工作经验1年多,年龄21周岁。于2019年上半年大专毕业。

从2018年下半年开始我就在台州的一个外包公司实习,2018年年末转正,一直到2019年年末才提出离职。每月固定薪资是4300,因为2019年拿到2万多的提成,平均下来每个月工资是6k多7k不到。

在台州这家外包公司工作有2个好处:1是住在老板家里房租很便宜,2是积累了大量的项目实践经验。在老板家二楼的一个小卧室住,每个月房租只要200+水电费,每个月吃2000元以内,平常再买点东西,每月一般能存下3000左右。这1年在公司做了5个项目,作为前端参与的有1个,作为后端参与的有3个,前后端全干的有1个,其中有2个项目价格到了15万以上,总共拿到2万多的提成。

在这家公司也有不好的地方,一个是公司使用的技术栈比较落后,大部分员工技术水平较弱,而且缺少专业的项目流程和开发规范。也因为是外包公司,工作起来非常的忙,甲方屁事非常多,有时候也很不顺心。再加上台州的工资还是太低了,所以我还是更倾向于去一线城市工作,就算生活开销会变大,但只要工资也涨的够多就不亏,一线城市的公司技术水平应该也会更强。

自我定位:现在后端接口和前端页面都能写,工作中主要是做后端,如果和另一个前端搭配的话可以开发完成15万左右的外包项目。在开发能力上有了一点广度和速度,但是整体的深度还是不足的,现在也仅仅只是可以满足业务上的需求,原理性的知识还是理解不到位,没有作为一个核心开发的能力。

综上所述,我下一步学习的目标是专注于代码的可维护性,提高写代码的修养,了解专业的项目流程和开发规范,然后尝试一个人设计一个相对优雅的项目代码结构。

今年最开心的事情是靠自己赚的钱买了我一直想要的ns游戏机,配了一台可以玩现在所有主流大作的电脑。以前那台从我小学就在用的老电脑终于可以淘汰了,以前用老电脑最多能带的动2008年之前出的大作游戏。今年最难过伤心的事情来自我的父母,到现在还在平衡自己的情绪。

明年打算去杭州工作,期望月薪可以达到10k以上。

2020年计划完成情况

学习

专业上的目标:

  1. 夯实计算机基础
  2. 提高写代码的修养
  3. 更深入的学习,特别是原理性的知识

兴趣上的目标:

  1. 制作我的原创游戏

其他目标:

  1. 提高英语水平
  2. 坚持健身
  3. 提升学历

web前后端

  • 书《Web性能权威指南》看完,记笔记
  • 使用 go 的 Irrs 框架做一个项目
  • 书《你不知道的JavaScript》上卷、中卷、下卷看完,记笔记
  • 学习 TCP 和 WebSocket 相关的知识,制作一个即时通讯服务器框架,目标是通过这个框架可以让我在2周内快速完成一个支持前端 WebSocket 接入、支持其他服务通过 GRPC 调用、支持单聊+群聊+朋友圈功能、可扩展的社交模块后端,并在 GitHub 公开代码让同事也一起用

运维

  • 学会使用 docker:看萧井陌的 docker 教学视频学习,并在工作中实践使用
  • 书《深入浅出Docker》看完,记笔记
  • 看完 free-coder(b站up主) 的云原生系列视频

算法

  • 书《普灵斯顿微积分读本》重读
  • 书《算法导论》重读
  • 书《我的第一本算法书》看完,记笔记
  • 极客时间《数据结构与算法之美》看完

计算机专业基础(操作系统,计算机网络,代码修养等)

  • 极客时间《左耳听风》专栏看完,记笔记
  • 书《现代操作系统》看完,记笔记
  • 书《图解HTTP》看完,记笔记
  • 书《重构》看完,记笔记
  • 书《SRE:Google运维解密》看完,记笔记
  • 书《程序员的职业素养》看完,记笔记
  • 书《Google 软件测试之道》看完,记笔记
  • 书《代码大全》重读
  • 书《鸟哥的linux私房菜》看完,记笔记
  • 书《领域驱动设计》看完,记笔记
  • 极客时间《趣谈网络协议》专栏看完,记笔记

2020年开发实践经验

  • 使用 hexo 搭建个人博客
  • 某经济城税务改进系统:负责后期bug修改和新功能开发,技术栈用到了 node.js + mongodb + vue
  • 某区块链+社交app:作为开发组长负责项目进度管理、核心功能社交模块的开发、帮忙解决bug、部署以太坊钱包,技术栈用到了 go + mysql + redis + nginx + docker + vue + k8s + grpc + protobuf
  • 使用 go 完成了一个即时通讯服务器框架,在 GitHub 开源,技术栈用到了 go + mysql + redis + grpc + protobuf
  • 某区块链矿机系统C端(包括移动端、pc端、后台管理、官网):在 0.0.1 版本时有一个后端跟我一起做,之后的迭代前后端都由我一人实现,技术总监偶尔会帮忙,运维部分完全由其他同事负责我不需要管,技术栈用到了 go + mysql + redis + vue
  • 用于公司地推的微信小游戏:负责后端接口和后台管理系统,技术栈用到了 go + mysql + redis + vue
  • 用于公司地推的公众号h5页面:负责后端接口和前端h5,技术栈用到了 go + mysql + h5(用到Canvas)

数据库

  • 极客时间《MYSQL实战45讲》专栏看完,记笔记
  • 学会使用 redis

区块链

  • 看完慕课网的《私有区块链,我们一起GO》课程
  • 部署以太坊钱包节点
  • 书《IPFS原理与实践》看完,记笔记;搭建了一个 IPFS 多节点私有网,尝试了上传与下载文件

游戏开发

  • 书《Unity 游戏开发》看完,记笔记
  • 看完 Godot 官方的渐进式教程,做完教程中的游戏
  • 极客时间《从0开始学游戏开发》专栏看完,记笔记
  • 我的原创游戏项目构思与计划(2021年开始制作)

英语

  • 开言英语达到B1

理财

  • 看完中国大学mooc的微观经济学,记笔记
  • 在杭州工资超过10k
  • 存款5万

提升学历

  • 开始了华东理工大学网络教育学院计算机科学与技术在职本科的学习,如果每门课期末平均分到70分,并且通过学位英语考试,就可以拿到华东理工大学的学士学位毕业证了(预计需要2年半)

生活

阅读

  • 阅读超过20本书,并记笔记

写作

  • 在个人博客发布至少10篇文章
  • 在语雀公开至少10篇笔记

历史

  • 看完《左传(中华书局版)》上册
  • 看完《汴京之围》

哲学

  • 看完《纯粹理性批判·句读》第一卷
  • 看完《禅与摩托车维修艺术》

健康

  • 坚持每天健身,能看到腹肌线

游戏

steam:

  • 赛博朋克2077
  • 骑马与砍杀2
  • 隐形守护者
  • 太吾绘卷
  • 环世界
  • 缺氧
  • 了不起的修仙模拟器
  • 全面战争:三国
  • 十字军之王3

ns:

  • 健身环大冒险
  • 动物之森

旅行

  • 西湖
  • 杭州乐园

我的2020年书单

哲学:

  • 《纯粹理性批判·句读》卷一
  • 《禅与摩托车维修艺术》

科普:

  • 《人工智能的未来》
  • 《基因传》

心理学:

  • 《谈话的力量》

文学:

  • 《神们自己》
  • 《呐喊》
  • 《活着》
  • 《爱德华·巴纳德的堕落》
  • 《旅行的艺术》
  • 《娱乐至死》
  • 《德米安》
  • 《看海的人》
  • 《流亡与独立王国》
  • 《面纱》
  • 《东方快车谋杀案》
  • 《阅读是一座随身携带的避难所》

历史&传记:

  • 《左传(中华书局版)》上册
  • 《汴京之围》

计算机专业:

  • 《普灵斯顿微积分读本》重读
  • 《算法导论》重读
  • 《现代操作系统》
  • 《图解HTTP》
  • 《Web性能权威指南》
  • 《深入浅出Docker》
  • 《我的第一本算法书》
  • 《计算机程序的构造和解释》
  • 《重构》
  • 《程序员的职业素养》
  • 《Google 软件测试之道》
  • 《鸟哥的linux私房菜》
  • 《领域驱动设计》
  • 《IPFS原理与实践》
  • 《两周自制脚本语言》
  • 《Unity 游戏开发》
  • 《Go语言高级编程》
  • 《代码大全》重读
  • 《你不知道的JavaScript(上卷)》
  • 《你不知道的JavaScript(中卷)》
  • 《你不知道的JavaScript(下卷)》
  • 《代码整洁之道》
  • 《人月神话》

总结&复盘

2020年12月27日。

此时的我工作经验2年多,年龄22周岁。

2020年初,我妈和我在台州一起买了个房,用作投资,每个月我需要还3000元左右的房贷。我在2019年末就提出了离职,没想到在2020年初撞上了新冠疫情的大爆发,真是倒霉。年初疫情期间找工作非常困难,本来我计划是去杭州工作的,但是疫情期间杭州的公司招人实在太少了,我就决定再加上去上海的工作。在boss直聘上投了大约100多份简历,回复我的人很少,大部分的回复都是直接拒绝,最终只有5个和我进行了线上面试。开始的3家没有通过。之后的2家面试都通过了,都是上海的公司,我就在他们之间做选择。

其中一家公司在上海徐汇,是做线上商城平台的,有成熟的技术团队,说在试用期给我8k的工资,单休;另一家公司在上海嘉定,说是做区块链相关的,技术团队一个月前才组建好,说是给我11k的工资,单休。于是我选择加入后者。疫情期间很难找工作,我就不想再拖下去了。

在上海嘉定这家公司工作一个月后才开始签实习合同,老板娘(她在公司的职位是人事总监)告诉我工资10k是公司总共要付出的钱,但不是我实际拿的钱(本来谈好的11k莫名其妙变成了10k,这里我忍了),试用期要先扣2000,剩下的再只给80%(这简直莫名其妙了),而且试用期不交五险一金,转正才交。所以第一个月我莫名其妙的只拿到了6400(还没有去年在台州赚得多),而且试用期还没有交五险一金。这家公司的管理层很混乱,而且很抠门(虽然老板娘一直说她们很大方)。因为管理层的职场PUA能力很强,我又是个害羞且内向的人,当时也没有多少社会经验,在上海也没有认识的人,他们就一直用各种理由画大饼吊着我,还一副理直气壮的虚伪样子。我早就想辞职了,但是因为我人在上海,存的钱花完了,我父母也没多少钱,我还要每个月还3000元房贷,又是疫情期间很难找到工作,我的同事也都拿很少的工资,开始的几个月他们也都忍了,我只能选择跟他们一样先忍着,等待疫情过去。还有,这家公司加班非常非常严重,连五一劳动节当天都在加班(当然不给加班费),我连续几个月没有业余时间学习技术了。今年一开始就倒霉透了!

我从今年3月末开始入职这家上海区块链公司,9月离职。在这个公司工作的这段时间里,有许多坏处,就不再赘述了。

但“祸兮福所倚,福兮祸所伏”,“塞翁失马,焉知非福”,在上海待的这6个月对我来说也不全是坏处。在今年6月的时候,因为没有按时完成老板定下的项目工期,我们技术部的leader被辞掉了。因为在这个项目中,我被公认承担了最多和最核心的开发任务,于是老板决定让我做为开发组长,带一个4人的开发组继续完成这个项目。这是我第一次承担项目管理的角色,这一工作经历为我的简历加分不少,也锻炼了我对一个项目整体的视野和把控能力,而且极大的提升了我的技术自信心。在做开发组长的这几个月里,我也和我的组员成了朋友,我们共同完成并迭代更新了项目。另一方面,这一次在上海的经验教训也让我铭记于心,之后找工作就不会像以前那样傻白甜,轻易信任别人了。当然也不会在裸辞了。

9月到了,在中国疫情已经暂时过去,又正逢金九银十,于是9月5日我就通过线上面试谈好了一个杭州的工作。工资16k,双休,试用期不压工资,试用期交五险一金。唯一有个缺陷,就是我和hr谈工资时是以上一份工资11k为基础要的,要少了,入职后发现我大胆一点其实可以要到18k的。

在2019的年终总结里,我写下希望明年去杭州工作达到10k以上的薪资。所幸这兜兜转转的,最终还是达成了目标。

自我定位:为了提高写代码的修养,今年通过阅读《代码大全》、《算法导论》、《领域驱动设计》等书,加上大量的敲代码实践,算是对代码可维护性、重用性、松散耦合、算法复杂度分析等概念有了一些理解。因为工作原因,对于项目管理也有了一些经验。现在我可以做到一个人高效率地完成一个常见的web项目中所有的前后端业务需求,并且有从0到1设计一个相对优雅的项目代码结构和数据库表结构的经验。我下一步的规划是,不在业务上花太多时间,转而将更多的时间花在夯实计算机专业基础和原理性知识的学习上,并且不断提高写代码的修养。

今年最开心的是遇到了使我醍醐灌顶的《左耳听风》专栏。

明年期望月薪可以达到20k以上,夯实计算机专业知识,学好英语,完成我自制的游戏,找到女朋友。

掘金年度征文 | 2020 与我的技术之路 征文活动正在进行中......

文章分类
阅读
文章标签