离职

今天组内有位同事离职了,准确说是跳槽吧,无所谓了,反正是和每个人悄悄打了个招呼就突然离开了。离职的是个小哥哥,在职时间不是很长,也就 1 年多点。

对于我来说,这只是一件小事而已,不过,我看到有同事依依不舍的抹眼泪了。说实话,这对我的触动很大。同事基本都是刚毕业的年轻人,可能没经历过太多的这种场面。而且基本上都是刚从学校出来的第一份工作。那种学生时代的情谊还在他们身上体现着,对同伴的不舍也可以理解。

在我看来,IT行业,人员流动是很正常的现象,我遇到的离职,入职,包括我自己的跳槽,加起来都不知道有多少了。甚至我的第一份工作仅仅持续了 1 年的时间,就遇到了部门解散,同事各奔东西的情况。或许面对了这么多,我也有些麻木了,有些淡然了,有些不近人情了。总感觉自己和同事相处表现的有点内向,有点自闭。一方面担心某天分别时的不舍和尴尬,另一方面也没有精力去联系曾经的同事。那干脆就不要混的太熟了,不然离个职还要像情侣分手般不舍。

但这又往往是领导所担心的吧。对于管理层来说,团队的产出是基于团队成员的协作,关键就在于凝聚力,团队精神和归属感。这也是为什么很多销售的培训和公司的拓展训练都是培养这些东西。对于我们团队来说,平时一起吃午饭,打乒乓球就是增进团队氛围的一种方式,另外小组领导还会出钱找个时间让大家一起去玩玩。其实,在我看来,领导最费心的不是技术问题,而是带好整个团队。

不过,我看到的他的离职,内心却是十分高兴的。真的是发自内心的高兴,而且是替他高兴。因为我相信他是的目标很明确,敢于离开自己的舒适区。
我相信一点:真正做技术的人,应该是自由的 。热爱着自由,追寻着自由。从一行行飘逸的代码,到灵活的架构。从项目的开源协作,到成果和技术的分享。从生活到生命,无时无刻体现一种自由的态度和对自由的追寻。

我刚刚入职不久,他是我入职带我的人,而且是我试用期评分人,我马上试用期就要结束了,HR 肯定要找我谈话,很定避免不了这个问题。我打算就把上面这些话讲给 HR 听了。哈哈哈哈。

一个简单的同事离职,我却想了这么多,想到了同事,想到了自己,想到了管理层,想到了离职的他。回顾这一切,最后还是欣慰和高兴。毕竟我也是离职过的,站在离职同事的角度比较多。
可惜那位同事离开的有点快。真想给那位同事一个大大的笑脸,然后祝那位同事前程似锦,加油!

对于阿里的月饼事件一点感想


前段时间阿里有几个程序猿写脚本抢月饼被开了.
IT界引起了一些争论.总的来说就是大部分程序猿认为阿里做错了.
我并不关注谁对谁错,也不想客观的评论这件事.
我只想说一些主观的话,这件事对我的影响,以及我的想法.

1.程序猿是如此的低微和脆弱
其实程序猿和工地上搬砖的工人没有太大区别.只是我们自己把自己看的太厉害了.确实,我们用无懈可击的逻辑写着严谨的逻辑代码,沉迷于代码世界里,创造着自己所认为的艺术品.仿佛在IT领域的风口浪尖,仿佛推动着全人类的发展.
但这种自豪感和搬砖工对摩天大楼的自豪感又有什么差别呢.
没有人会记得盖起一栋大楼的千万工人.外行人也不会知道究竟是谁设计谁建造的这栋楼.他们只知道,淘宝是马云的,腾讯是马化腾的.
而搬砖工的饭碗又如此的脆弱.我也曾经认为自己的工作不可替代,如果让人顶替我,也至少需要一段时间交接工作.但现在发现真的不是这样.总有人能顶替你,甚至不需要交接工作.所以,只需要上头一句话,你的饭碗立刻没有.

2.程序猿脱离了社会
写代码写多了,思维方式总会受到影响,
正所谓有人的地方就是江湖,江湖自然有江湖的规矩,不懂的和人打交道注定要吃亏.
多提高点情商比什么都强.虽然我们并没有完全脱离社会,没有很偏执.
我的自我评价是高智商逻辑型生物,情商为0.虽是自嘲,但也差不多是这样.

数据库索引

当大家还是一个新人,在面试的时候都被问过什么是数据库索引,为什么要用数据库索引,索引是如何实现的等等一系列问题。
随便上网查一下就能得到上面一系列问题的答案。但是却总感觉对索引这个概念朦朦胧胧的,不是十分清晰和深刻,似乎没有抓住其中的实质。
就像我们虽然懂得很多道理,依旧过不好这一生一样,因为我们只是懂,并没有体会。

直到我看了一篇有关数据库的小文章之后,对索引大彻大悟。
现在让我们抛开所掌握的的数据库知识,如果让我们自己来实现一个数据库,应该怎样做呢。
首先我们知道数据需要保存在文件里。然后考虑为了方便读取,最好固定每条数据的长度,比如每条数据长800字节,那么第5条数据开始位置就在3200字节处。
现在我们要考虑查询的问题。我们根据主键查询数据,如果一条一条比对数据主键的话,查询的时间复杂度就是O(n),太慢太慢。
所以我们为了提高效率,如何来储存数据呢?树!我相信大家略懂数据结构和算法的话,对二叉树和B树都不陌生。B树每一层所存储的数据更多,所以可以减少硬盘读取次数,更加适合储存数据。
我这里就不细讲树的结构和特点了。
最后就要考虑这个问题了,我们刚刚根据主键建立的树,如果根据其他字段查找,又要遍历了。所以这时候我们可以用某个字段当做关键字建立一个树,储存其所在的物理位置。这便是索引了。
当然,数据库还应该有很多功能和特性,比如事务,表的连接,sql语言等等。我们这里就不继续讨论了。
我相信通过我引导的一步步走来,大家理解了索引的起源和初衷。就像看到一个小孩子一步步成长一样,一切都那么自然。不想突然去熟悉一个陌生人那般尴尬。至于索引的具体实现以及原理等等,大家可以查看其它文章,相信不再没有头绪。
知其然知其所以然。