恒,厚,勤,学,俭做一个厚道的普通人。
恒,厚,勤,学,俭
怕什么真理无穷,进一寸有进一寸的欢喜!
一、自己的小总结——教育、工作(流水账):
1)教育:
2)工作:
紧接着找了个培训学校学习.NET。(原因是本身自己对计算机感兴趣,从小喜欢研究些乱七八糟的东西,初三的时候开始“玩”灰鸽子啊(真的是玩,只是用工具)、上兴啊、加花加壳啊,过免杀啊这些,没有什么实在的技术但对计算机整体认识提升了不少。)
学费4700,四个月,全日制加周六,早九晚八,那阵子学习的很刻苦,也算是从一群大专学生中“脱颖而出”?这个时候是第一次有一种感觉,学历不是最重要的,因为我看到太多人交了学费在玩着上学,然后毕业找不到工作回老家去的,我其实这时候感觉自己底子不算差。
四个月后,去了三家公司面试,都收到了offer,选了一家规模大、工资相对高的(11年,多300块钱?税前2800?)。印象最深的是其他家都是面试官问问题,唯独我选的这家公司面试有卷子,让写快速排序和冒泡排序,现在回想起来就想笑,我写出来了,而且连大括号、类名、引用、注释都用笔写上了。现在自己也面试了不少别人,也出过类似的问题,相比之下,当年我写的答卷的仔细程度可能就是这家公司收留我一个中专文凭的弱鸡的原因吧??
入职以后懵逼状态,团队12人,平均年龄30岁,很不适应,加上维护一个零几年的老系统,有一次年终奖只发了167块?最后离职了。
慢慢在这个公司一直待到现在,管理着一个30多人的团队,也为公司培养了需求中流砥柱,职位上也从项目经理向总监方向提升,公司规模也从起初的6人发展到现在130多人。
二、为何写博客?
三、未来的规划?
1)不继续做.NET?
.NET做了5年,经历了由盛到衰,现在自己的能力大概就是像ABP这些框架拿过来能看明白其中的原理,识别出其中的组件这样,知识面并不是很广,但对技术的理解和计算机思维培养的不错,新的技术通过学习上手也不难。
接下来的规划考虑了很久,首先是要不要继续在高级编程语言上发展?
我觉得先不要,原因是:
第一、高级编程语言总是会建立在某个或开原或闭源或免费或收费的服务商之上,所谓“高级”就是提供商对底层知识的封装和集成,我从这个角度理解高级语言总是会被热捧或被冷漠,因为其有一套封装好的底层支持库。不管这个库是采用什么模式、什么语言风格、什么技术,终归有他的长处和他的短处,总是会有所限制。知识面广可能会对垃圾回收或者缓存处理机制有深刻的理解,可这些理解却又是建立在这套基础库之上,有一天这个语言不在时兴,我又会受到挤压,所以我断定这条路不是长远的道路。
第二、高级编程语言迭代太快,不说各种语言,就说一个.NET每一个大版本的升级又有多少API和数据结构变更的血和泪,又有多少兼容性和环境冲突的血和泪。如果加上多个语言,我的天,那真身无尽的浩劫。
第三、只掌握高级编程语言在国内应用场景相对固化,这个引入一个问题,设计出高级程序语言目的是什么?我的理解是抽象和封装底层,让开发更加方便和快捷。为什么要让开发更加方便快捷?因为我们要来造轮子、造工具、造产值,我们需要的是效率。一个巨型系统需要写核心技术实现的可能只占团队人数的10%?占整个项目工作量的20%?更多的还是需要搬砖的人,什么搬砖?就是按固有的模式去把功能实现过程写出来。内存管理?底层有了,都实现了。数据结构?虚拟类、抽象类、接口……够用了。硬件对接,ExcuseMe
四、新的方向:底层+电路+硬件+网络+高级编程语言
1)为自己新方向的考虑做如下的定义和思考:
前瞻思考:
目前最火的技术领域:AI、3D打印、IoT、区块链、大数据、自动驾驶
目前这些技术领域都在从两大入手:算法、硬件
为什么?——我的思考:
1、从零几年开始,国内开始企业信息化的大潮,就此诞生出无数的弄潮儿金蝶、用友……数不胜数,然而时至今日,大海早已变红,随着信息化市场的成熟发展变得越来越慢,效益也变得越来越难,市场上的竞争对手也越来越多,技术也变得越来越成熟。在需求的催化下、大型技术企业的布局需求、设备成本越来越低、新技术突破、资本涌入信息技术的催化之下原来不可能的事变得可能,原来不敢想的事儿现在敢想。
3、整个市场大环境的变化,更加开放,更加进步,更容易接受新生事物,这些事情也在不断的让更多更新、更好的想法在市场上得到认证。
4、资本在驱动让市场更加活跃,更加敢于试错,重金之下必有勇夫,在资本的驱动下国内电商/信息化市场异常的活跃。(当然也有不少泡沫,总体上来说比房地产小多了吧。)
5、上述的发展让更多的资源投入到这个行业中,就好像烧开的热水,下面的升上来,上面的往两边去。
现在这些名词总是单独被提起,但很快他们将串联在一起形成一波新的基础设施的升级和迭代,这将会成为新的一波技术红利。而在他们基础之上将会百花齐放,诞生出更多的新商业应用和技术应用,不断的迭代和升级。
我觉得这样真的很好,我相信,未来很快就会一种新的力量打破现在的格局,就是真的是为了改变世界而做事的人不断的涌现上来、受到每个人的支持和青睐,提供给大家像苹果4一样跨时代的产品,将大家的生活进行一次又一次的革命。十年后可能将会是与普通大众关系最密切的技术更新最频发的时代,技术会快速的改变你的生活,你的习惯和你一切的一切。
从个人角度考虑,我试想若是以后对电路基础、硬件、网络、高级编程语言都有深刻认识的人才是真正的高级人才,对通体掌握和熟悉的人在技术管理上才有前瞻性,才有更高的统御能力;作为普通技术人员来说,未来的市场发展一家独大的可能性低之又低,因为产品的技术栈会变得很大,更加依赖于整个供应链的支持和管理,供应链会被细分的更细。加工制造型的不太了解,但在技术研发领域需要更多想小微团队深钻某个技术领域或某个技术应用,也就是未来的高竞争力企业的人数反而不一定会很多,但技术资产一定是最丰富的。在我假想的这个前提下,我希望我有条件有能力加入到一个这样的团队中或在一个企业的技术研发团队中有一席之地,有一言之地。
高级编程语言——》高级软件设计
所以,未来在高级语言上的规划从涉猎“新技术”(新轮子)转向高级软件设计方向,更好的理解和领悟如何设计出一个更加完美的软件工程,如何将业务思想与编码更好的结合,如何设计出可以更加适应变化的软件产品。
底层、电路、硬件、网络通信
与第一条相同,这或将成为未来知识体系中的基础知识。
1)涉及到科研、计算、推导领域的知识内容了解即可
数学公式、推导过程、计算公式这些了解即可,重要的公式背过。因为整个技术发展有一个重要的底层基础就是基础工作的自动化和智能化,现在有许多的软件可以让你快速的进行电路设计,模拟电路参数,可以让你不用电流表就将电路每个环节的参数模拟清楚,所以这些内容了解如何应用即可。
2)涉及到计算机底层知识必须熟练掌握
包括:二进制、汇编、编译链接、信号控制、ECF、虚拟内存、网络编程等内容必须熟练掌握,所谓熟练掌握即书本上的知识要了解,也能结合实际案例自己动手做出样例,能反编译看懂代码,对不同操作系统的特性和文件结构进行掌握。
3)涉及到的知识点必须可以动手实践并阶段性输出汇总性的成果
成果包括:博客、产品、硬件模型、代码等内容
4)数学和英语知识必须提升
上学的时候没有好好学,但底子没有太差,对于离散数学、微积分方面还要深造,英语持续背单词,目的是能看懂国外的文献作品不断汲取知识。
5)后续想到什么再补充
目前的行动:
已购买图书十册,其中已粗度两册,精细阅读两册,理论结合实际1册,正在精度1.5册。
此贴立FLAG,这些书一年之内学完,部分章节粗度后续备查,部分章节细读理论结合实际掌握清楚。
这将作为我未来五年的人生导向,与工作尽量协作避免冲突。