数据库+算法+职业操守

关于数据库的重要性:

数据库是非常重要的,大部分常见的应用,网站,社群,背后都是数据库在支撑,但那时候也都是最基本的使用而已,对背后的原理和机制一无所知,也因此犯了相当多的错误。直到后来,对性能,负载的要求越来越高,处理越来越复杂的数据问题的时候,才开始恶补这方面的知识和内容,不怕你们笑话,都一把年纪了才把数据索引效率的问题搞清楚,还不敢说精通。而数据索引效率的理解,btree这样的结构,说来也是算法。到后来用到redis的有序数组,就已经有意识主动的去看数据结构的逻辑和背后的算法,并基于此去评估其开销和应用场景。

数据结构的思想在研发相关工作中,实在是太重要了。而数据库所适用的工作场景,也实在太多了。你所知道的每个互联网巨头,每个成熟的互联网产品,背后可能都藏着一个或多个数据库系统。而传统软件,无论是电信,银行,还是企业办公,erp,数据库自然也是其中最核心的部分。

MySQL由于免费,而且性能强劲,是目前使用最广泛的数据库产品,同时也是入门门槛最低的数据库产品之一,更重要的是,以MySQL为学习原型,以后去适应和掌握其他数据库产品,思想和原理都是互通的,也不会有太大障碍。

那么,是不是只有DBA和程序员才需要学习?很多人说自己想从事数据分析相关,问应该学什么,当然,你较真的说,数据分析并不是数据库的分析,这俩差距可大了,但我想说,至少你应该具有一定的数据库知识基础吧。还有,很多互联网公司的商业分析师,产品经理,都自学数据库的,知道为什么么,你工作中经常要查数据,分析用户行为记录,程序员使唤不动,没时间配合怎么办,人家扔给你个线下从库,让你自己折腾去。当年百度的商业产品部门就是这样的,自己动手,丰衣足食。

算法是什么?

算法背后其实是一种技术实现效率的认知,我们可能可以通过很多方式去实现一个解决方案,去处理一个需求问题,但我们在处理和解决的时候,是怎么判断这个方案的开销和可行性的。所以学习任何一个具体算法之前,要首先有时间复杂度,空间复杂度的概念,要知道在有限的计算资源条件下,在对系统开销有明确约束的前提下,如何有效的解决所需面对的计算问题。

中国的程序员数量庞大,已经成为一个社会存在感极为明显的职业,但其中水平层次差距之大,也是相当惊人的,郝培强老师在他最近的文章(好吧,是同一篇主题的软文)里提到说,光一个二分法(入门级的算法吧)就能筛掉很高比例的面试者,讲真,我深有同感,因为我前几年招聘,也喜欢用这个来做面试题目。但话说回来,我刚工作那些年,其实也属于被筛掉的那个阵营。即便是今天,偶尔遇到一些名校计算机系的学霸小鲜肉们在某些群里谈论各种算法的时候,我也是插不上话的,默默的后悔自己当年为啥浑浑噩噩的混学分,不说努力学习一下。

我工作最初几年,也总觉得,算法其实不实用,理解业务就够了,理解业务并实现,似乎也不是多难的事情,但那时候确实年少无知,后来才意识到性能,效率,资源紧缺是非常要命的事情,而且会极大制约一个创业企业的发展,有时候一个人黑暗中摸索,终于绞尽脑汁想出一个可行策略,觉得自己真是天纵英才,然而这种自以为是的状态过不了多久,某个机缘巧合的机会才发现,原来有个什么什么算法,跟我想到的思路类似,但是比我自己瞎琢磨的其实更简洁,更有效率,通用性更好。 举个真实的例子,当初遇到需要高效屏蔽词过滤问题的时候,我苦思冥想,自以为找到了合适的方法,后来发现有个AC自动机算法,明显比我想到的方法更高效简洁。这样的例子其实还有一些。

一些国内和国际互联网巨头都喜欢考算法,刷算法题是硅谷华人程序员最常见的求职通路,有时候你会觉得他们是不是吹毛求疵,至于么一个基层程序员也要学那么多算法,有时候我也会这么觉得,但反过来说,就算达不到那些巨头的要求,但能对时间复杂度,空间复杂度有明确的认知和概念,写出一段代码来,能立即评估其效率和性能瓶颈,这种思想意识,我认为,是每个程序员都需要具备的,而达到这一点,其实并不需要多么高深和复杂的知识。

学习算法是手段,职场提升是目标。记住一点,你每站的高一阶,你的竞争者就会少一大批,职场上最紧缺的,永远是最优秀的那一小撮。

技术理解力决定了你能达到的技术的高度,决定了你在技术团队中不可或缺的位置。

而技术理解力里面,很关键的就是时间复杂度,空间复杂度的认知,和在现实研发过程中的体现。这里,其实就涉及了大量的算法基础。

我反思自己当年读书的时候,浑浑噩噩的学算法,其实并没有从时间复杂度,空间复杂度去思考,只是因为老师讲了,书上写了,代码实现了,就以为自己懂了,后来自然也就忘了。在职场为了补回这些课,花了数不清的时间,而由此,可能也错过了数不清的机会。

其实,技术理解力在其他领域也是互通的,你有这样的一些认知,你对处理业务诉求,运营诉求的时候,也可以使用到这样的思想,如何降低复杂度,提升效率。

特别是研发领域,top 1%的薪酬,可能比top 5%的高一倍不止,top 5%的比top 20%的高一倍不止,top 20%的比top50%的高一倍不止。而很多企业老板经常提及的,要求不高,就想招个能用的程序员,这个所谓能用的标准,据我观察,基本上要求是 top 20%的水准,那么,你想站在哪里?

原则+底线:

人在职场,我们有时候自嘲一句,卖身,那么,什么是可以卖的,什么是不能卖的。

很多政治正确的说法是,底线和良知不能卖,但作为政治正确而言,这其实缺乏必要的标准,也就是不同人可以有不同的解读,现实中其实有很多无法明确界定的领域。

必然要出卖的,你的时间,你的技能,你的经验。
可能要出卖的,你的资源,你的社交关系,你的身体健康。
请尽量保持自己的判断力,价值观,和社会责任感

关于信用:
其实我们不要把自己想的多么高尚,多么有节操,就从纯粹的经济利益角度,我们的职场,我们的事业,其实要从长远看,资源和人脉的长远价值如何衡量,为了一些眼前利益去牺牲长远的资源,是否值得。

贱卖人脉,资源,口碑,信用,都是对个人长期价值的极大损害。

更可怕的是,很多人会觉得,这样那样做是为了有面子,你看,我能替谁谁谁背书,我能把谁谁谁介绍给谁谁谁,但不知道的是,你挣到的是劣质资源眼中的面子,丢掉的是优质资源眼中的口碑,久而久之,失去了口碑,你再想挣面子都难了。

身体健康是个非常大的话题,为了事业牺牲健康值得不值得,政治正确的话是健康无价,但这不现实,其实健康很多是个概率问题,就算你不上班也可能生病,所以我们能容忍怎样的健康风险,以及这样的风险与预期回报是否匹配。

关于健康:
因为很现实的问题,预期回报如果足够高,可以在生活中享受更好的健康食品,医疗条件以及其他健身和健康服务,实际上不少终身忙碌的顶尖商人往往是长寿的,不管是巴菲特还是李超人,所以花钱买健康也不是说一句空话,也不是说身体健康就真的比什么都重要,它确实很重要,但你最好能兼顾到事业和发展前程,这样到你确实需要花钱买健康的时候(也包括买家人健康),不至于捉襟见肘,茫然无措。

所以这又是一个需要量化的话题,如果预期回报非常有限,而对身体健康的影响却很大,那么我个人认为,是需要重新考虑职业规划了,年轻人往往觉得这都不是事,我现在看到某些三十多岁的小伙子,拿个保温杯,点菜这个忌讳那个忌讳,某些职场小鲜肉们经常生病,病起来没完,我,我就觉得自己有点庆幸。。

其实到我这个岁数,明显感觉到身体机能开始下坡,这个哪里磕一下,碰一下,恢复起来要比年轻时候慢的多,每年看完体检报告,到也没啥大毛病,但是,遵医嘱的话,很多东西是不敢吃了。

而且很多时候,并不是工作让年轻人变得身体糟糕,而是自己的无节制生活,很多时候,工作忙只是借口,不规律的作息(游戏,视频或刷手机),无节制的饮食,缺乏运动是年轻人身体状况变糟糕的三大主要原因,我猜你肯定至少中一样。我现在作息依然不是很好,但节制饮食做的还可以,此外总算维持了一定的运动量。

关于底线与价值追求
那么现在有些企业流行洗脑,希望员工价值观和企业保持一致,特别是一些知名企业开始搞****(发文时意外发现有屏蔽词无法通过,经二分法反复查找确认为此处,看上下文,我真不是故意要搞事的。),企业领袖的语录成为革命红宝书,公司内部各种歌功颂德,从一个胜利走向另一个胜利,这时候,作为员工,我不是说你非要愤愤离职,但保持独立清醒的判断力和价值观是必要的。你甚至可以为了生计逢迎某种行为,比如为虚伪的仪式和领导发言拼命鼓掌,但请勿真的把自己陷落进去,失去自我。

这里说个有意思的事情,前段时间我发现我的公众号有个留言,是个多年没联系的老百度,十来年前对方还是个新入职百度的总监,级别比我高,但不是一个部门,因为涉及一些欺诈广告审核不严的事情,我发信怼过他,还抄送过多个公司高管,他解释审核困难还跟我电话争执了好久,当时弄得他有点难堪,(想想确实也有点难为人家,当时刚入职不久好像,对行业还不够了解,他们只是按审核流程做事,欺诈广告通过流程说来也可以说不是他们责任,突然遇到一个不相关部门的情商巨低级别还不高的老员工死命怼,换谁可能都觉得郁闷吧)。

可能还觉得我有点多事,但在最近公众号留言里,他表示理解了当时这种平等的氛围和追求价值观的行为,并已经是我公众号的深度读者,同时对我公众号的文章表示感谢,我觉得意外也开心,其实虽然工作上有争执,但实际上如果你追求的是正确的,那么你的行为也是一个筛子,对方如果是好人自然会最终理解你,并开始信任你。如果对方不是好人,筛掉也挺好的。

千言万语,最终其实只有一段话,人生路漫漫,职场是长跑,要多看看未来,不要为眼前的蝇头小利失去自我,失去节操,失去口碑,失去信用。有些东西,不损失你的长远未来,你是可以尽力去出卖的,为了下一份工作,或者下一份合同。有些东西,可能会损失你一定的未来,你要权衡,不要把未来卖的太贱,太不值,要知道口碑,信用,健康都是具有长远持续价值的,要懂得珍惜。有些东西,其实你不需要去出卖,真的,比如你的价值观,你的判断力,不要为了一份工作,糊里糊涂把这些卖掉。你可以通过工作阅历,增强或改变你的判断力,通过工作收获,不断优化你的价值观,这是有可能的,也常常发生,但记住,这是你自己的,不是工作赋予你的。

发布了8 篇原创文章 · 获赞 1 · 访问量 3362

猜你喜欢

转载自blog.csdn.net/hello250sunshine/article/details/104086576