2017年的那些事儿

综合编程 2017-12-31

2017年就要过去了,明天就是2018年的元旦。今天在公司加班保障生产,抽空来码字写一篇贴子,记录下2017年的重要事件。

今年是比较重要的一年,我已经25岁,这个年龄是人类智力达到最巅峰时期的一年。按照之前的计划,在这一年我要读懂最难读的书,看来这个计划要延期了。幸运的是一切不再迷茫,高等的数学已经能够构建起基本的学习框架和最重要的逻辑抽象,虽然依旧困难,但至少看起来不再那么不明所以。

今年跳槽换了家公司,临走的时候领导象征性挽留了一下,我提出要继续留下要涨2000薪水,领导不答应,我就走了。现在看来,辛亏领导没答应,跳完槽工资涨了整整一倍。最重要的是目前这家公司大家技术水平普遍很高,项目的技术架构比较先进,业务非常复杂,这种地方才可以锻炼能力。

跳槽前就摸到了java高级工程师的门槛---对系统集成的理解,对多线程和锁的掌握,对JVM和GC的理解,对网络协议,数据库系统的理解以及对算法的一些粗浅认知。作为一个从其他专业转行做计算机的人来说,这些概念的理解需要补充非常多的科班知识,而这些知识市面上的培训班是不会教授的,原因很简单,很难教会,而且不是初中级程序员最迫切需要的知识。

今年的技术栈取得了长足的进步,彻底巩固了java高级工程师应该掌握的知识,并且入门了大数据技术,了解了机器学习的主要架构和算法。

因为项目处理的数据量非常大,单表千亿条的数据,而且需要实时查询,数据是采取的hbase存储。理解hbase的基础是对LSM树这种数据结构和HDFS这种分布式存储的特性有全面的理解。rowkey的设计和hash摘要,预分区,phoenix中间件查询,集群故障排查等等。

对mapreduce的理解,主要是在写hive的udaf函数的过程中建立的理解,纠正了之前直觉上认为reduce处理全部数据的错误认知,实际上reduce只处理一部分key的,精妙的hash算法应用!

机器学习分为数据挖掘,特征工程,学习模型建立,参数调优和可视化展示等几个部分,其中最难以理解的部分就是特征工程和参数调优。这确实是一个惊人的领域,几乎所有ACM中的精妙思想都可以被应用到,几乎所有高深的数据部门都可以被涉及到,这是一个挑战,同时也是从未出现过的机遇!

深度学习,推荐大家看下这个网址https://www.zybuluo.com/hanbingtao/note/433855。这七章就像七卷带了封泥的预言书,可以带人进入深度学习领域,当然前提是数学要好才能看懂。

今年也面试了不少新的员工,我作为面试官的原则就是:(操作系统+数据库系统+JVM+多线程+集合框架)乘以对算法的理解,这种面试套路选取的程序员水平一般都很好。

独立从架构设计,方案选型涉及,项目计划编写,项目进度跟踪等多个方面实际管理了一个比较复杂的项目,获益良多。认识到管理的重要性和挑战性。

今年我的姐姐结婚了,祝福她生活美满幸福。我也有了自己心仪的人,计划着彼此的未来。当然,在北京仍然买不起房。

2017要过去了,明年再接再厉。明年计划先夯实高数基础,对高等数学的代数,几何,分析三个领域取得更深刻的理解。未来的世界属于人工智能,而追随这个趋势最有效的行动就是理解数学。

最后用自己的亲身经历告诉所有非计算机相关专业的朋友们,计算机专业可以做的,我们也可以,但是我们先要学习他们所学过的,并要学的更多。切不可因为自己不是本专业的就总对自己降低要求,那么当有一天你的工作对专业素养要求极高时,也就没有理由让别人不再看低你了。

您可能感兴趣的

后台程序员转算法的参考秘籍:大规模机器学习框架的四重境界... 如何利用相对廉价的机器搭建分布式超大规模机器学习集群是一件非常复杂的事情,对工程和算法都有极高的要求,从Spark到李沐的通用参数服务器,业界对此都进行过哪些尝试?本文尝试梳理一下这方面的历史和当前最佳实践。 1. 背景 自从 google 发表著名的 GFS、MapReduce、BigTa...
JVM学习记录-类加载的过程 类的整个生命周期的7个阶段是:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)。 类加载的全过程主要包括:加载、验证、准备、解析、初...
如何使机器学习产品化同时保持敏捷性?... 如何将机器学习融入到你的开发周期之中? JAX London大会上的演讲者罗伯·希德具体解释了如何使你的进程适应机器学习,同时仍然保持着敏捷和精益的原则。 JAX London会议期间介绍了在敏捷开发环境中的机器学习研究。这是一些有关主题的高级概述。同时也做了一些很酷的机器学习演示...
AI 自学跑酷,不下围棋之后 DeepMind 做出了一堆「奇行种」... AlphaGo 酷不酷?Google 收购的人工智能公司 DeepMind 使用业界领先的深度学习技术在围棋这种智商要求略高的游戏上碾压了人类,那下一步呢? 下面这个视频你看了可能会觉得可笑,一个连蠢萌都算不上的愚蠢动画形象在 3D 模型上进行着各种各样的——额,如果你非要把它称为「跑...
猿辅导分布式机器学习库ytk-learn、分布式通信库ytk-mp4j... 近期,猿辅导公司开源了两个机器学习项目—ytk-learn, ytk-mp4j,其中 ytk-mp4j 是一个高效的分布式通信库,基于该通信库我们实现了 ytk-learn 分布式机器学习库,该机器学习库目前在猿辅导很多应用场景中使用,比如,自适应学习、学生高考分预测、数据挖掘、课程推荐等。...