恒,厚,勤,学,俭
怕什么真理无穷,进一寸有进一寸的欢喜!
这篇文章写给自己!这篇文章写给自己!这篇文章写给自己!这篇文章写给自己!
以前总是在写的时候越写越纠结,考虑怎么让看得人理解,怎么让看的人明白,怎么让自己装一波逼。这篇文章写给自己,从现在开始,开始自己的博客之旅。
一、自己的小总结——教育、工作(流水账):
1)教育:
2010年高中毕业就开始工作,至今有8年了,从刚毕业到现在心理变化很大,知识确实是十分重要的,不是美丽人生的敲门砖,也不是进步的阶梯,没有这些高大上的说法;我真心的认为,知识改变你对这个世界的认知,知识让你可以追求你想要的,理解你想知道的。工作时间越久越是能感到这条陌生人看来不明显的残腿对我人生征途的限制。限制不在于找工作与物质,在于对我人格发展、知识追求的限制。开篇写这些希望未来感觉不想学习、不想接触新东西的自己能重新找回一个谦虚爱学的自己。
另外,也提一个疯狂的想法,为什么一定就要是数理化史地生语文英语,数学、语文、英语、体育必修没有问题,可是物理、化学、历史、生物、政治这些,是否必须要像古诗一样背诵,一定要像数学一样背公式,是否应该追求的是意识层面上的理解而不是求某一个方程的解?背过元素周期表是否真的有意义。我不聪明也不笨,若是有人能告诉我为什么而学习\如何去真正的学习让我找到背书、背题、刷题的意义,若是家庭关系没有那么多的事情,或许我也会考个还算不错的大学,找到一份还算不错的工作吧。中考是相对公平的,是突破阶级屏障的一个非常明晰和正确的路线;但,这个公平若只是说“最后大家都是通过分数检测是否合格”这就最不合理的,出身不只影响一个人的生活基础、物质基础,还影响一个人的性格、情绪,有了这些作为底层基础,才有后续的发展、性格、培养这些上层建筑。都说寒门出贵子,这个“贵”也是“寒”比出来的罢,起始豪门的贵子多了去了,如果统计出来比例肯定也更高。说一千道一万,现在我也是个父亲了,拼命工作,为我的孩子找一个人数尽量少的班级,让老师可以把更多的精力放在因材施教上;让我的孩子尽早接触那些更高级、更新颖的东西,哪怕很贵很难,哪怕他现在并不会,只要他感兴趣我就想培养他,孩子越小的时候对这个世界的认知越重要,这些认知潜移默化的影响他以后的人生道路,我更不想让他以后跟他爸一样,上学买个橡皮泥都会很头痛。
2)工作:
工作8年,前一年在一家日企中国合作公司实习,做数据筛查和梳理,做了时间不长。一是那时候很年轻,对工作没有概念;二是也受不了日企的工作氛围(上班不能说中文,早晨7.30到,早晨早会,晚上晚会,每天报日清到每15分钟);后来离职了。
紧接着找了个培训学校学习.NET。(原因是本身自己对计算机感兴趣,从小喜欢研究些乱七八糟的东西,初三的时候开始“玩”灰鸽子啊(真的是玩,只是用工具)、上兴啊、加花加壳啊,过免杀啊这些,没有什么实在的技术但对计算机整体认识提升了不少。)
学费4700,四个月,全日制加周六,早九晚八,那阵子学习的很刻苦,也算是从一群大专学生中“脱颖而出”?这个时候是第一次有一种感觉,学历不是最重要的,因为我看到太多人交了学费在玩着上学,然后毕业找不到工作回老家去的,我其实这时候感觉自己底子不算差。
四个月后,去了三家公司面试,都收到了offer,选了一家规模大、工资相对高的(11年,多300块钱?税前2800?)。印象最深的是其他家都是面试官问问题,唯独我选的这家公司面试有卷子,让写快速排序和冒泡排序,现在回想起来就想笑,我写出来了,而且连大括号、类名、引用、注释都用笔写上了。现在自己也面试了不少别人,也出过类似的问题,相比之下,当年我写的答卷的仔细程度可能就是这家公司收留我一个中专文凭的弱鸡的原因吧??
入职以后懵逼状态,团队12人,平均年龄30岁,很不适应,加上维护一个零几年的老系统,有一次年终奖只发了167块?最后离职了。
紧接着,12年到了我现在这家公司,刚来的时候只有6个人,开始实际上还是没有进入状态,而且对当时直线很看不惯(总是觉得这不好那不好的,都不好为啥不撤退在这赖着干啥),现在回想太年轻了。后来公司开展新业务,急需快速的搭建功能,对于善于“搬砖”的我意识到,机会来了。在那个技术氛围还相对不浓厚的时候,较快的开发速度加上彻夜加班的忙碌,奋斗了3年,业务上带领一个10个人的小团队为公司运营着一个年收300万左右的信息化系统,个人上也成熟了许多。这里说一点题外话,国内目前大型非科技企业对于技术的认知和要求会弱很多,相较于技术他们更在意成本和时间,这也是我现在感觉到最大的瓶颈。(中间还有一个关于团队的小插曲,对我影响很大,若有人感兴趣的话再聊。)
慢慢在这个公司一直待到现在,管理着一个30多人的团队,也为公司培养了需求中流砥柱,职位上也从项目经理向总监方向提升,公司规模也从起初的6人发展到现在130多人。
二、为何写博客?
写博客是为了记录自己学习的点滴,另外也希望在自己积累的过程中有一个平台将自己呈现出来,说不定有1/1000000000的几率可以将自己在这个市场中被人所关注,也可以让自己以后的路越走越宽。
三、未来的规划?
1)不继续做.NET?
.NET做了5年,经历了由盛到衰,现在自己的能力大概就是像ABP这些框架拿过来能看明白其中的原理,识别出其中的组件这样,知识面并不是很广,但对技术的理解和计算机思维培养的不错,新的技术通过学习上手也不难。
接下来的规划考虑了很久,首先是要不要继续在高级编程语言上发展?
我觉得先不要,原因是:
第一、高级编程语言总是会建立在某个或开原或闭源或免费或收费的服务商之上,所谓“高级”就是提供商对底层知识的封装和集成,我从这个角度理解高级语言总是会被热捧或被冷漠,因为其有一套封装好的底层支持库。不管这个库是采用什么模式、什么语言风格、什么技术,终归有他的长处和他的短处,总是会有所限制。知识面广可能会对垃圾回收或者缓存处理机制有深刻的理解,可这些理解却又是建立在这套基础库之上,有一天这个语言不在时兴,我又会受到挤压,所以我断定这条路不是长远的道路。
第二、高级编程语言迭代太快,不说各种语言,就说一个.NET每一个大版本的升级又有多少API和数据结构变更的血和泪,又有多少兼容性和环境冲突的血和泪。如果加上多个语言,我的天,那真身无尽的浩劫。
第三、只掌握高级编程语言在国内应用场景相对固化,这个引入一个问题,设计出高级程序语言目的是什么? 我的理解是抽象和封装底层,让开发更加方便和快捷。 为什么要让开发更加方便快捷?因为我们要来造轮子、造工具、造产值,我们需要的是效率。一个巨型系统需要写核心技术实现的可能只占团队人数的10%?占整个项目工作量的20%?更多的还是需要搬砖的人,什么搬砖?就是按固有的模式去把功能实现过程写出来。内存管理?底层有了,都实现了。数据结构?虚拟类、抽象类、接口……够用了。硬件对接,Excuse Me?
综合上述思考,在某一个特定语言领域取得成绩需要投入大量的时间精力,然而得到的成果却有十分大的局限性和不稳定性,受影响的因素太多,很可能会变成现在的VB程序员。
四、新的方向:底层+电路+硬件+网络+高级编程语言
1)为自己新方向的考虑做如下的定义和思考:
前瞻思考:
目前最火的技术领域:AI、3D打印、IoT、区块链、大数据、自动驾驶
目前这些技术领域都在从两大入手:算法、硬件
为什么?——我的思考:
1、从零几年开始,国内开始企业信息化的大潮,就此诞生出无数的弄潮儿金蝶、用友……数不胜数,然而时至今日,大海早已变红,随着信息化市场的成熟发展变得越来越慢,效益也变得越来越难,市场上的竞争对手也越来越多,技术也变得越来越成熟。在需求的催化下、大型技术企业的布局需求、设备成本越来越低、新技术突破、资本涌入信息技术的催化之下原来不可能的事变得可能,原来不敢想的事儿现在敢想。
2、本身整个发展也遵循着:基础设施层面——基础应用层面——高级应用层面 轨道发展,网络通信相关的建设、基础设备技术的突破、最小企事业个人单位的信息化普及率的提升、集成化信息产品的普及的盛行也都酝酿着这些高级技术应用的诞生。
3、整个市场大环境的变化,更加开放,更加进步,更容易接受新生事物,这些事情也在不断的让更多更新、更好的想法在市场上得到认证。
4、资本在驱动让市场更加活跃,更加敢于试错,重金之下必有勇夫,在资本的驱动下国内电商/信息化市场异常的活跃。(当然也有不少泡沫,总体上来说比房地产小多了吧。)
5、上述的发展让更多的资源投入到这个行业中,就好像烧开的热水,下面的升上来,上面的往两边去。
现在这些名词总是单独被提起,但很快他们将串联在一起形成一波新的基础设施的升级和迭代,这将会成为新的一波技术红利。而在他们基础之上将会百花齐放,诞生出更多的新商业应用和技术应用,不断的迭代和升级。
我觉得这样真的很好,我相信,未来很快就会一种新的力量打破现在的格局,就是真的是为了改变世界而做事的人不断的涌现上来、受到每个人的支持和青睐,提供给大家像苹果4一样跨时代的产品,将大家的生活进行一次又一次的革命。十年后可能将会是与普通大众关系最密切的技术更新最频发的时代,技术会快速的改变你的生活,你的习惯和你一切的一切。
从个人角度考虑,我试想若是以后对电路基础、硬件、网络、高级编程语言都有深刻认识的人才是真正的高级人才,对通体掌握和熟悉的人在技术管理上才有前瞻性,才有更高的统御能力;作为普通技术人员来说,未来的市场发展一家独大的可能性低之又低,因为产品的技术栈会变得很大,更加依赖于整个供应链的支持和管理,供应链会被细分的更细。加工制造型的不太了解,但在技术研发领域需要更多想小微团队深钻某个技术领域或某个技术应用,也就是未来的高竞争力企业的人数反而不一定会很多,但技术资产一定是最丰富的。在我假想的这个前提下,我希望我有条件有能力加入到一个这样的团队中或在一个企业的技术研发团队中有一席之地,有一言之地。
高级编程语言——》高级软件设计
高级编程语言除了效率上的提升带来更大的好处是“面向对象”,从更高维度对编码工作进行了抽象,更好的将程序思维和业务思维进行结合。同时,衍生出不同的设计模式、不同的架构,从技术层面解决对象关系/认知上与技术上的冲突,最终得到一个功能完备、设计合理、维护简单的软件产品或者是代码包。我认为这才是高级编程语言所带来的最大的好处。 至于什么语法糖、声明方式、自动实现什么的都是锦上添花的东西、提升效率的工具,真正编程思想的提升和与现实的融会贯通才是最大的优势。
所以,未来在高级语言上的规划从涉猎“新技术”(新轮子)转向高级软件设计方向,更好的理解和领悟如何设计出一个更加完美的软件工程,如何将业务思想与编码更好的结合,如何设计出可以更加适应变化的软件产品。
底层、电路、硬件、网络通信
与第一条相同,这或将成为未来知识体系中的基础知识。
总的来说涉及知识面很多、很广;学海无涯苦作舟,若想做条舟将这片大海都翱翔一遍估计此生时间不够用,所以对于技术学习做以下定义:
1)涉及到科研、计算、推导领域的知识内容了解即可
数学公式、推导过程、计算公式这些了解即可,重要的公式背过。因为整个技术发展有一个重要的底层基础就是基础工作的自动化和智能化,现在有许多的软件可以让你快速的进行电路设计,模拟电路参数,可以让你不用电流表就将电路每个环节的参数模拟清楚,所以这些内容了解如何应用即可。
2)涉及到计算机底层知识必须熟练掌握
包括:二进制、汇编、编译链接、信号控制、ECF、虚拟内存、网络编程等内容必须熟练掌握,所谓熟练掌握即书本上的知识要了解,也能结合实际案例自己动手做出样例,能反编译看懂代码,对不同操作系统的特性和文件结构进行掌握。
3)涉及到的知识点必须可以动手实践并阶段性输出汇总性的成果
成果包括:博客、产品、硬件模型、代码等内容
4)数学和英语知识必须提升
上学的时候没有好好学,但底子没有太差,对于离散数学、微积分方面还要深造,英语持续背单词,目的是能看懂国外的文献作品不断汲取知识。
5)后续想到什么再补充
五、时间上的规划
今年26岁,再给自己2-3年的时间,将上述内容完全掌握并选择合适的证书考出来。
目前的行动:
已购买图书十册,其中已粗度两册,精细阅读两册,理论结合实际1册,正在精度1.5册。
此贴立FLAG,这些书一年之内学完,部分章节粗度后续备查,部分章节细读理论结合实际掌握清楚。
这将作为我未来五年的人生导向,与工作尽量协作避免冲突。
原文地址:https://www.cnblogs.com/xiayongming/p/9434054.html