2020年了,写给自己的八年代码生涯

一直想写一些东西记录自己的成长,以前就是想了想,始终都没有开始,决定立刻行动起来。
全国人民都盼望着武汉疫情的拐点,可能每个人都没有想到疫情会传播如此的迅速。如果用大数据统计一下医务人员、捐赠物运输车辆、医用防护物质的去向,那么武汉是不是就像发光的星星一样,是很振奋人心的画面。向所有奋战在一线的医务人员致敬!
以前觉得码农很辛苦,此时此刻我觉得,对比伟大的医生,码农真的算是相对幸福的职业了。
原创博客仅仅代表个人观点,主要是写给自己,如果要是能帮上刚入行的程序员,那真的是巧合但也是欣慰的!

1.书籍可以看,但是更多的是实战

我们从上学的时候,得到的教育就是多看书、多读书。刚入行两三年的软件工程师最容易被带到读计算机书籍的队伍里面,从而忽略了实战。最后导致的结果就是,这部分程序员,说的时候感觉懂的很多,但是动手能力差一些、写代码不熟练。
没有人反对读书,但是对于程序员来讲,实践才能真正提高编程能力:
1)读开源代码并贡献代码。自行了解一下Gitbub,希望读完这篇文章,没用过github的同学先去学习一下吧。我是做呼叫相关的,所以freeswitch/WebRTC是值得好好研究的。另外,这两天有个项目wuhan2020,考虑拿一下任务为抗击肺炎做贡献吧?
2)如果项目练手机会少,可以去leetcode做题。做完一个题目之后,可以看看Discussion里面,有没有更好的方法。这些题平时做业务代码肯定用不上,但是可以帮助你锻炼编程思维。
3)编程的时候,遇到忘记的知识点,查询相关网页资源效率会更高,不需要抱过来厚厚的书。比如写C++代码,我个人一般直接去cplusplus, 里面有各种例子,很快就能知道一个知识点如何使用。
4)优化产品代码。想一下,现有产品代码里面log打印是否合理?互斥锁是不是需要优化?线程优先级是否合理?进程间消息处理是否并行?有没有common的地方可以提取出来封装成函数?哪些设计模式可以应用?
5)如果真的想学习一门计算机技术课程,也不需要依赖于书本,哔哩哔哩APP上有很多免费的视频资源。

2. 代码之美?完美设计?

很多编程书籍里面都提到,设计需要做的完美、代码需要写的漂亮。
1)产品的设计关键,但是不可以过于思考,过犹不及也。
从事程序员几年之后,总是会有资深的员工告诉你,“做好设计,要不然后期问题多”或者“产品在一开始就要设计完美,否则没法重构也没人去重构”。在产品确定好需求之后,我们会花很大精力在产品设计上,甚至于花的精力过多从而导致后面测试时间不足。
我个人觉得,应该是团队确定一个相对合理的设计,然后尽早写代码,可以在实现功能后,进行重构和完善。设计模式也不是一开始设计产品就用上,也是后期重构应用上的。
2)代码不需要过于追求漂亮,先写出可以工作的软件,质量最重要。
现在团队里面依然有部分成员倾向于代码需要漂亮、命名完美、布局合理。是的,如果愿意花一部分精力在这些方面追求极致更好,但是我们想一下,产品质量不行或者在客户现场不好用,你的代码再完美,客户会看吗?我们总不能让客户看看我们的代码写的有多好,对吧?
所以,先写出可以工作的软件并且持续迭代持续交付,在实现了客户的需求的基础上,可以将代码优化的漂亮。
这并不是说只要完成功能就随意写代码,可读性、可扩展性、易理解性都是要有的。

3. 多一些知识总结

无论是学习产品业务还是学习其他的计算机知识,有人确实吸收的慢一些,有人也确实理解力总结能力很强,这不要紧。如果觉得自己没有理解或者某个知识点用的不熟,那么你就需要多花些时间去理解、去总结归纳,最后也一样能成为专家。
现在这个时代,尤其是程序员,不需要用笔去做笔记,梳理好知识点放在博客里或者github上,这样做的好处是,一来知识点理解更深刻,二来方便后期自己快速查询。

4. 拥抱问题,提高解决问题的能力

对于普通的程序员,日常工作中很大一部分工作是解bug. 对于这些问题,我想我们应该拥抱它们。
如果没有bug,那么一部分程序员和测试都会失业,正是因为有问题,所以才有任务去做。
软件defect是可以锻炼一个人解决问题的能力,提升对于某个知识点的认识。问题越是有难度,越是可以提升能力,程序员最关键的能力之一就是解决实际问题的能力,所以我们在调试解决问题的过程中要始终保持好的心理状态。

5. 工作和生活

程序员经常聊的就是加班、996,关于是否应该加班,其实没有太多需要讨论的。
如果目标就是要成为技术牛人,那么我觉得996坚持几年是很有必要的,对于大多数普通人来说,时间必须先保证了,才有一点一滴的积累。
如果追求工作和生活的平衡,可以多考虑外企,工作的时候提高效率,工作之外就是要做自己想做的事情,谁规定的人生就需要时刻奋斗?开心很关键。

6. 35岁真的会失业?

答案是肯定不会,放心的学习安心的工作,我相信你身边一定有35岁以上的程序员,也一定有过了35岁也进了BAT的,网络上总是有一些人贩卖自己的焦虑的,焦虑只会让人思维慢下来,所以,不用在意年龄,工作时间长你的经验一定是丰富的,可以架构整个产品。退一步想,如果真的失业,还可以跑专车嘛,哈哈。

最后,真心祝愿所有的程序员们在这条不归路上开心的走下去。

春天来了,武汉加油!

猿简介,老牌欧洲通信厂商,八年软件开发工程师,擅长Linux环境编程,不追求极致技术也不是顶尖高手,追求技术可以让自己站稳脚、让自己生活更好。
PS:技术博客准备中

你可能感兴趣的:(职业杂想)