10 types of programmers you’ll encounter in the field


10 types of programmers you’ll encounter in the field
by Justin James

Programmers enjoy a reputation for being peculiar people. In fact, even within the development community, there are certain programmer archetypes that other programmers find strange. Here are 10 types of programmers you are likely to run across.

#1: Gandalf
This programmer type looks like a short-list candidate to play Gandalf in The Lord of the Rings. He (or even she!) has a beard halfway to his knees, a goofy looking hat, and may wear a cape or a cloak in the winter. Luckily for the team, this person is just as adept at working magic as Gandalf. Unluckily for the team, they will need to endure hours of stories from Gandalf about how he or she to walk uphill both ways in the snow to drop off the punch cards at the computer room. The Gandalf type is your heaviest hitter, but you try to leave them in the rear and call them up only in times of desperation.

#2: The Martyr
In any other profession, The Martyr is simply a “workaholic.” But in the development field, The Martyr goes beyond that and into another dimension. Workaholics at least go home to shower and sleep. The Martyr takes pride in sleeping at the desk amidst empty pizza boxes. The problem is, no one ever asked The Martyr to work like this. And he or she tries to guilt-trip the rest of the team with phrases like, “Yeah, go home and enjoy dinner. I’ll finish up the next three week’s worth of code tonight.”

#3: Fanboy
Watch out for Fanboy. If he or she corners you, you’re in for a three-hour lecture about the superiority of Dragonball Z compared to Gundam Wing, or why the Playstation 3 is better than the XB 360. Fanboy’s workspace is filled with posters, action figures, and other knick-knacks related to some obsession, most likely imported from Japan. Not only are Fanboys obnoxious to deal with, they often put so much time into the obsession (both in and out of the office) that they have no clue when it comes to doing what they were hired to do.

#4: Vince Neil
This 40-something is a throwback to 1984 in all of the wrong ways. Sporting big hair, ripped stonewashed jeans, and a bandana here or there, Vince sits in the office humming Bon Jovi and Def Leppard tunes throughout the workday. This would not be so bad if “Pour Some Sugar on Me” was not so darned infectious.

Vince is generally a fun person to work with, and actually has a ton of experience, but just never grew up. But Vince becomes a hassle when he or she tries living the rock ‘n roll lifestyle to go with the hair and hi-tops. It’s fairly hard to work with someone who carries a hangover to work every day.

#5: The Ninja
The Ninja is your team’s MVP, and no one knows it. Like the legendary assassins, you do not know that The Ninja is even in the building or working, but you discover the evidence in the morning. You fire up the source control system and see that at 4 AM, The Ninja checked in code that addresses the problem you planned to spend all week working on, and you did not even know that The Ninja was aware of the project! See, while you were in Yet Another Meeting, The Ninja was working.

Ninjas are so stealthy, you might not even know their name, but you know that every project they’re on seems to go much more smoothly. Tread carefully, though. The Ninja is a lone warrior; don’t try to force him or her to work with rank and file.

#6: The Theoretician
The Theoretician knows everything there is to know about programming. He or she can spend four hours lecturing about the history of an obscure programming language or providing a proof of how the code you wrote is less than perfectly optimal and may take an extra three nanoseconds to run. The problem is, The Theoretician does not know a thing about software development. When The Theoretician writes code, it is so “elegant” that mere mortals cannot make sense of it. His or her favorite technique is recursion, and every block of code is tweaked to the max, at the expense of timelines and readability.

The Theoretician is also easily distracted. A simple task that should take an hour takes Theoreticians three months, since they decide that the existing tools are not sufficient and they must build new tools to build new libraries to build a whole new system that meets their high standards. The Theoretician can be turned into one of your best players, if you can get him or her to play within the boundaries of the project itself and stop spending time working on The Ultimate Sorting Algorithm.

#7: The Code Cowboy
The Code Cowboy is a force of nature that cannot be stopped. He or she is almost always a great programmer and can do work two or three times faster than anyone else. The problem is, at least half of that speed comes by cutting corners. The Code Cowboy feels that checking code into source control takes too long, storing configuration data outside of the code itself takes too long, communicating with anyone else takes too long… you get the idea.

The Code Cowboy’s code is a spaghetti code mess, because he or she was working so quickly that the needed refactoring never happened. Chances are, seven pages’ worth of core functionality looks like the “don’t do this” example of a programming textbook, but it magically works. The Code Cowboy definitely does not play well with others. And if you put two Code Cowboys on the same project, it is guaranteed to fail, as they trample on each other’s changes and shoot each other in the foot.

Put a Code Cowboy on a project where hitting the deadline is more important than doing it right, and the code will be done just before deadline every time. The Code Cowboy is really just a loud, boisterous version of The Ninja. While The Ninja executes with surgical precision, The Code Cowboy is a raging bull and will gore anything that gets in the way.

#8: The Paratrooper
You know those movies where a sole commando is air-dropped deep behind enemy lines and comes out with the secret battle plans? That person in a software development shop is The Paratrooper. The Paratrooper is the last resort programmer you send in to save a dying project. Paratroopers lack the patience to work on a long-term assignment, but their best asset is an uncanny ability to learn an unfamiliar codebase and work within it. Other programmers might take weeks or months to learn enough about a project to effectively work on it; The Paratrooper takes hours or days. Paratroopers might not learn enough to work on the core of the code, but the lack of ramp-up time means that they can succeed where an entire team might fail.

#9: Mediocre Man
“Good enough” is the best you will ever get from Mediocre Man. Don’t let the name fool you; there are female varieties of Mediocre Man too. And he or she always takes longer to produce worse code than anyone else on the team. “Slow and steady barely finishes the race” could describe Mediocre Man’s projects. But Mediocre Man is always just “good enough” to remain employed.

When you interview this type, they can tell you a lot about the projects they’ve been involved with but not much about their actual involvement. Filtering out the Mediocre Man type is fairly easy: Ask for actual details of the work they’ve done, and they suddenly get a case of amnesia. Let them into your organization, though, and it might take years to get rid of them.

#10: The Evangelist
No matter what kind of environment you have, The Evangelist insists that it can be improved by throwing away all of your tools and processes and replacing them with something else. The Evangelist is actually the opposite of The Theoretician. The Evangelist is outspoken, knows an awful lot about software development, but performs very little actual programming.

原文地址:
http://www.techrepublic.com

10种你会遇到的程序员


10种你会遇到的程序员
作者: Justin James
译者: 来自网络,抱歉没查到准确出处

程序员素来就被认为是一个奇特的人群。实际上,就算在程序开发者社群本身之中,也有一些特别的人群能让其他程序员觉得很奇怪。在这我列出10种你可能遇到过的程序员,你能想出更多么?

#1:甘道夫
这种程序员看起来,就像是在《指环王》里扮演甘道夫的最佳候选人。他(甚至是她)有着快要到膝盖的胡子,一顶看起来傻傻的帽子,在冬天可能还会穿一件披风或者是斗篷。对于团队来说幸运的是,此人对自己工作的熟练程度就像甘道夫一样。但不幸的是,他们要经常忍受甘道夫长达数个小时的故事的折磨,而内容主要是关于他或者是她是如何不得不在雪地中上山下山,以把打好孔的纸带送到计算机房。甘道夫类型的程序员是你的究极武器,但是你会总是希望能把他们排到后面,只在快要绝望的时候才向他们寻求帮助。

#2:烈士
对于任何其它职业来说,烈士其实就是一个工作狂而已。但是在开发者的领域,烈士完全进入了另外一个范畴。工作狂至少会回家洗澡睡觉,而烈士们却会以睡在桌子底下的空皮萨盒子堆之中为荣。而问题是,根本就没人要求烈士们像这样工作。而且他或者她总是想用这样的措辞来使团队中的其他人感到内疚,“好的,你们回家吃完饭吧。我会在今晚会完成相当于3个星期的工作量的。”

#3:玩家
小心玩家。如果他或者是她注意到了你,你很有可能就要接受3至4个小时关于龙珠z与高达谁更强、或者是playstation 3 与xbox 360哪个更好的演讲。玩家的桌子上总是堆满了明信片、动作人偶、以及其他各种各样相关的装饰品,大部分可能都是从日本进口的。玩家们不光是很难相处,他们有的时候实在是太多时间在这些东西上(无论是在办公室内外),以至于他们根本就不明白他们什么时候该干老板雇他们做的工作。

#4:文斯 内尔(一个比较有名的摇滚歌手)
这个40岁的家伙就像是颠三倒四的回到了1984.运动型爆炸头,发皱泛白的牛仔裤,还有一条大围巾。文斯还会在工作时间坐在办公室哼着Bon Jovi 和 Def Leppard的歌,这本来也不是很糟,如果《Pour Some Sugar on Me》不是如此的有感染力的话。

总体来说,和文斯一起工作是很有趣的,实际上他有丰富的经验,只是永远长不大而已。但是如果文斯决定用他或者是她的摇滚风格来处理自己的头发和生活的时候,情况就会变得很棘手。因为和一个每天都带着宿醉未醒的人一起工作,相当困难。

#5:忍者
忍者是你们团队当中的重要人物,但是却没人能意识到这点。就好象传奇刺客一样,你不知道忍者是什么时候工作的,但是你总是在第二天早晨发现他们的成果。于是你急忙打开源代码控制系统,然后发现在临晨4点,忍者提交了一份代码,解决了一个你已经研究了一个星期的问题,而你之前甚至都不知道忍者大人知道你所作的项目的存在。明白了吧,当你还在一次次的开会的时候,忍者一直在工作。

忍者是如此的隐蔽,你甚至都不知道他们的名字,但是你知道每一个他们参与的项目都进行的更顺利。不过,注意点,忍者是孤胆战士,不要试图强迫他们在一个严格的等级和文档制度下工作。

#6:理论家
理论家知道一切编程需要知道的东西。他或者是她可以花4个小时去探讨一个很冷僻的语言,或者去证明你写的代码是如何的不完美并且有可能会在运行的时候多花3纳秒。问题在于,理论家根本就不知道什么叫软件开发。当理论家写代码的时候,他的代码是如此的“优美”,以至于我们这些凡人根本就看不懂。他或者她最喜爱的技术就是递归,每一个代码块都被使用到了极致,而代价就是工程进度和可读性。

理论家还很容易分心。一个花一个小时就能完成的工作,理论家们往往需要三个月。因为他们认为当前的开发工具不够好,所以他们必须开发一些新的工具来构建新的库从而构建一个全新的系统来迎合他们的高标准。理论家可以成为你最好的团队成员,前提是你能让他专注于你们所做的工程本身,而不是把时间都花在究极排序算法上。

#7:代码牛仔
代码牛仔是一种无法阻止的天性。他或者她几乎总是一个厉害的编程者,并且总是能以别人2至3倍的速度完成工作。问题是,这些代码至少有一半都靠偷工减料得来的。代码牛仔认为把代码提交到源码控制系统太麻烦,把配置信息存贮在代码之外太麻烦,和其它人交流太麻烦……你懂我的意思吧。

代码牛仔的代码就好像意大利面条一样搅在一起,因为他或者她工作的事如此之快,以至于必要的重构都没有做到。很有可能的是,七页长的核心功能代码也许看起来就像是教科书上关于“不要这么做”的示例,而这些代码居然还神奇的可以运行。代码牛仔绝对没办法和别人一起工作。而且,如果你让两个代码牛仔进入同一个工程,那这个工程一定会失败,因为一个总是被另一个人对代码做的修改而干扰,他们总是拼命的在开枪射击自己搭档的脚。

当按时完成一个工程比把这个工程做好更重要的时候,把一个代码牛仔加入进去吧,这个工程会在截至日期之前完成的。代码牛仔其实就是一个吵闹版的忍者。只是忍者像做外科手术一样精准的编码,而代码牛仔像一只难以控制的公牛,会把所以挡在它面的东西顶翻。

#8:伞兵
你知道那些电影吧,就是指挥官带着机密作战计划被空降到敌人战线之后。在软件开发中,这样的人叫伞兵。伞兵是你对一个将要失败的工程的最后援助。伞兵们缺乏在一个长期任务上工作的耐心。他们最大的价值是拥有快速学习一堆完全陌生的代码并且使用它们工作的惊人能力。其他程序员也许要花几个星期或者其几个月来熟悉一个工程,以便可以有效的参与其中;伞兵们只需要几个小时或者几天。伞兵快速学会的东西也许不能让他们编写核心代码,但是,没有足够的时间形成一个固定的见解可能会帮助他在整个团队失败的地方取得成功。

#9:庸才
“足够好了”,这就是你从一个庸才那能听到的最好的话。他或者是她总是花更多的时间写出比团队中其他任何人都更差的代码。“缓慢,刚刚符合要求”就是对庸才所作的项目的描述。但庸才们总是能做的“足够好”,以至于刚好不会被解雇。

当你面试这种人的时候,他可以告诉你很多他到参与过的项目,但却很少提到他们到底在这些项目里做了什么。筛出这些庸才的方法很简单:问一下他所做工作的细节,他们会突然得了健忘症。但是,一旦让这种人进入你的组织,你可能要花好几年才能再摆脱他们。

#10:传教士
无论你在用哪种编程环境,传教士总会坚持认为如果你把现有的工具和工序抛弃掉并换成其它的一些东西,会对你有很大的帮助。传教士实际上就是理论家的反面。传教士总是直来直去,对软件开发很了解,但却很少真正的去编码。

传教士有一颗项目经理或者部门经理的心,但却缺乏足够的知识或者经验来完成这个跳跃。所以在传教士最终成为一个纯管理者角色之前,其他人不得不一直忍受传教士们对于彻底革新工作环境的尝试。

浅析SOA框架演化

说到SOA的兴起,已经是几年前的事情咯。

按我的理解,SOA框架的演化,主要按四条路来进行的:

第一条路,就是从CORBA衍生,可以作为CORBA的替代品。
这一条路上,典型代表为ICE、Thrift,Avro,ProtocolBuffer+GRPC
其典型行为是,定义idl,对每种语言提供编译器及运行库,然后提供RPC调用功能

第二条路,就是语言框架需要
这一条路上,主要代表为DCOM,EJB,DUBBO,最初目的都是为了给语言框架提供更好的分布式功能。
其典型行为是,语言或框架本身不具备改功能,对其进行了扩展。自身对原语言框架依赖比较严重。

第三条路,就是HTTP中新规范的出现
这一条路上,主要代表为SOAP,REST。
其典型行为是,每种语言都有多种实现,定义schema,每种语言会有多种库支持,最后通过HTTP通讯进行调用

第四条路,就是功能整合
这一条路上,主要代表为WCF,各类ESB产品
其典型特征为:提供多种SOA解决方案

具体使用的时候,其实大家可以看到,这些框架都是万变不离其宗。
那就是,都需要接口描述语言(无论是IDL、WSDL还是什么),都提供良好的支持功能开发较为简单,都是SOA框架解决通讯问题,对于开发人员透明。
大家具体使用是,根据实际情况选取即可。

如何向外行解释产品经理频繁更改需求为什么会令程序员烦恼?


如何向外行解释产品经理频繁更改需求为什么会令程序员烦恼?
作者:猫爱吃鱼不吃耗子(转自知乎)

你去饭店,坐下来。
“服务员,给我来份宫保鸡丁!”
“好嘞!”
——————这叫原始需求

大厨做到一半。
“服务员,菜里不要放肉。”
“不放肉怎么做啊?”
“不放肉就行了,其它按正常程序做,不就行了,难吗?”
“好的您稍等”
——————中途需求变更

厨房:
大厨:“你大爷,我肉都回锅了”
服务员:“顾客非要要求的嘛,你把肉挑出来不就行了吗”
大厨:“行你大爷”
然而还是一点点挑出来了
——————改动太大,部分重构

餐厅:
“服务员,菜里能给我加点腐竹吗?”
“行,这个应该简单。”
——————低估改动成本

厨房:
大厨:“你TMD,不知道腐竹得提前泡水?炒到一半才说?跟他说,想吃腐竹就多等半天”
服务员:“啊你怎么不早说?”
大厨:“早说你MLGB我怎么知道他要往宫保鸡丁里放腐竹”
然而还是去泡腐竹了
——————新需求引入了新研发成本

餐厅:
“服务员,还是把肉加回去吧”
“您不是刚说不要肉吗”
“现在又想要了”
“…好的您稍等”
——————某一功能点摇摆不定

厨房:
大厨:“日你啊,菜都炒过火了你让我放肉?还好肉我没扔”
服务员:“客户提的要求你日我干嘛?”
大厨:“你就不能拒绝他啊?啊?”
服务员:“人家是客户嘛。”
——————甲方是大爷

餐厅:
“服务员!服务员!”
“来了来了,你好?”
“怎么这么半天啊?”
“稍等我给您催催啊”
——————改动开始导致工期延误

厨房:
大厨:“催你M催,腐竹没泡好,我还得重新放油,他要想吃老的也行,没法保质保量”
——————开发者请求重新排期

餐厅:
服务员:“抱歉,加腐竹的话得多等半天,您别着急哈”
“我靠要等那么久?我现在就要吃,你们能快点吗?”
“行…您稍等”
——————甲方催活

厨房:
大厨:“我日他仙人板板,中途改需求又想按期交付,逗我玩呢?”
服务员:“那我问问,要不让他们换个菜?”
大厨:“再换我就死了”
——————开发者开始和中间人pk

餐厅:
“服务员,这样吧,腐竹不要了,换成蒜毫能快点吗?对了,顺便加点番茄酱”
——————因工期过长再次改动需求

厨房:
大厨:“我日了狗啊,你TM不知道蒜毫也得焯水啊?还有你让我怎么往热菜里放番茄酱啊??”
服务员:“焯水也比等腐竹强吧,番茄酱往里一倒不就行了吗?很难吗?”
大厨:“草。腐竹我还得接着泡,万一这孙子一会又想要了呢。”
——————频繁改动开始导致大量冗余

餐厅:“服务员,菜里加茄丁了没有?我去其它饭店吃可都是有茄丁的”
“好好好您稍等您稍等”
——————奇葩需求

厨房:
大厨:“我去他二大爷他吃的是斯里兰卡三流技校炒的宫保鸡丁吗?宫保鸡丁里放茄丁??”
服务员:“茄丁抄好了扔里边不就行了吗?”
大厨:“那TM还能叫菜吗?哪个系的?”
服务员:“客户要,你就给炒了吧。”
大厨:“MB你顺道问问他腐竹还要不要,我这盆腐竹还占着地方呢不要我就扔了”
——————奇葩你也得做

餐厅:
“服务员,还要多久能好啊”
“很快,很快…”
“再给我来杯西瓜汁。”
“…好”
“我再等10分钟,还不好我就走了,反正还没给钱。”
“很快,很快…”
——————黑暗前的最后黎明10分钟后

“咦,我上次吃的不是这个味啊?”
从厨房杀出来的大厨:“我TM就日了你的狗…”
——————最终决战

——————
你=客户
服务员=客户经理+产品经理
大厨=码农
请自行转换…
——————
注:以上场景已极度夸张,实际生产生活中码农和PM是和睦友好的相亲相爱的一家人
——————
注:对于做2C产品的公司,你=公司大boss

转自知乎,原文链接

浅析海量小文件的存储

海量小文件(LOSF,lots of small files)的存储是很多公司都遇到的难题,不管是互联网公司(如社交网站)还是传统的IT企业(如医疗IT的PACS厂商),都会遇到这个难题。

问题的根源在与,无论是文件系统还是网络传输,小文件都需要很多额外操作,如
1、数据布局没有优化,寻址次数大大增加,寻道时间及旋转延迟大大增加,从而每秒的输入输出量 (IOPS,Input/Output Per Second) 、数据吞吐量(Throughput)都明显下降
其实很简单,大家考虑下,拷贝一个1G的文件,和拷贝一个都是零散文件的1G文件夹,其速度差距如何,就清楚了
2、网络通信开销增加,网络延迟变大
其实很简单,大家考虑下,网络传一个1G的文件,和传一个都是零散文件的1G文件夹,其速度差距如何,就清楚了
3、分布式存储,网络交互次数增加,数据存储位置频繁变化,网络通信增加,速度变慢
其实也不难,比如,从一个服务器上拉取10000个文件,与从10个服务器上拉取10000个文件(每次都要问下,下一个文件存储在那个服务器上),谁快谁慢,就清楚了

大家应对这个问题时,采用的方法无非是4种:
1、砸硬件,用硬件性能提升,让传输效率提供
2、用缓存,通过缓存,减少磁盘访问次数,减少交互环节,提高传输效率
3、改变存储策略
4、减少询问次数,比如一次通信,找到1000个文件的地址,400个在服务器A,600个在服务器B,不按文件顺序,而是先从A取400个,再从B取600个,通信就会减少很多,速度就会有所提升(但业务场景要合适才行)

这里主要说一下第3点。
传输一个都是零散文件的1G文件夹时,我们可以这样做,先压缩一下,然后再传递,再解压,发现很多时候居然会节约时间。
也就是说:
压缩+传输压缩文件+解压用的时间 < 直接读取并传送零散文件的时间

但如果直接存储压缩文件,那压缩我们只需要上传时做一次,平时读取时,其实为:
传输+解压用的时间 < 压缩+传输传输压缩文件+解压用的时间 < 直接传送零散文件的时间

那如果压缩和解压的时候,我们只做归档,不做压缩岂不是更节约时间?
传输+归档读取用的时间 < 传输+解压用的时间 < 直接传送零散文件的时间

恩,对了,其实大家的解决方案就是,将大量小文件,写到一个大文件里,这样读取效率就飞一样上来了。
无论是Facebook的Haystack还是淘宝的TFS,用的都是类似的方案。(实际上要复杂的多,请参考论文”Finding a needle in Haystack:Facebook’s photo storage”)

那HDFS呢?当然也支持咯,但要写代码处理一下,大家可以自行找一下Hadoop Archive, Sequence file, CombineFileInputFormat等。

互联网后面10年的重点

当今互联网,已经基本解决了吃、穿、用、住、行、娱乐的问题。

下馆子吃,已经被大众点评、美团、饿了么等刮分完毕。
不下馆子吃、穿、用,各大商城都在做,被淘宝、京东、亚马逊、一号店等刮分完毕。
住、行被携程、艺龙、滴滴快的、神州等刮分完毕。

旅游类的娱乐项目,很大一部分开支为吃、住、行。除去这一部分,组团、自由行等也已经慢慢向成熟市场变化,包括马蜂窝等很多都在做。
非旅游类的娱乐项目,在大众点评、同城等也有了立足之地,更何况这铺天盖地的购票软件咯。

上述市场,一些已经局势明朗很难有大的变化,一些仍是杀得难解难开,一些还待开发。

依据互联网的长尾效应,后面大家要做的是差异化竞争,现在国内互联网巨头中,还没有特别好的、在红海中的差异化竞争案例。大家刚刚从实体店的红海杀到了互联网的蓝海,并正在把互联网蓝海杀红。我相信这方面还是有很多可以做的事情的。

另外,当一个人吃、穿、用、住、行、娱乐的问题解决了,就会有更高的追求。按以往的历史规律,医疗、健康、教育、艺术、科技、政治的需求会逐渐增强。而且,当下各大公司正在努力向医疗领域进军,互联网这10年,应该是医疗健康的十年。

远程预诊存在的问题

现在不少公司在推远程预诊,或者视频问诊,但没有一家真正解决了下面的问题:
1、没有足够的专业医疗队伍资源,在我的另一篇博文中已经说明原因,并指出医学院学生及退休医生是可以考虑的资源
2、没有专业设备,可以获取患者的第一手资料。必须有设备的技术变革,例如大白去掉AI功能。(高清视频音频、心率、血压、脉搏、血糖、呼吸等等等等)
3、没有好的盈利模式,单纯靠吸引患者就诊不太可取,单纯靠卖保健品。。。
4、没有解决患者实际问题,预诊后要做什么呢(请到XX医院做进一步治疗?),患者仅仅多排了一次队浪费时间而已
5、患者不信任,不愿意承担风险,需要一个漫长的过程

那现在能做的是什么呢?
1、慢性病的跟踪治疗,比如高血压、糖尿病等
2、私人诊所的个人咨询
3、私人护理的定期巡诊

与上面最大的区别是什么呢?
1、医患之间有过接触,有了信任
2、医生了解患者的病情
3、患者病情不是很紧急
4、医院可以持续盈利

要预防什么呢?
1、高大上的产品变成了产品推销平台
2、打擦边球,因此医疗事故,触犯法律
3、乱烧钱,最后不了了之

下一次技术进步是什么呢

恩,我说的是技术进步,不是技术革命哦。

个人认为,比较近的一次技术进步有可能为能源的进步,或者说是电池的进步。
电池现在其实是遇到了很大的瓶颈。
随便打开一个智能手机后盖,至少三分之一是电池,而且瞬间会耗光。

另一个进步,就是屏幕的进步,
或者说,可能不再需要特定的屏幕了,
桌面,皮肤,衣服,都可以作为屏幕,甚至这些都不需要。

然后,就是可穿戴设备的进步,
前两个进步完成后,可穿戴设备才会真的牛起来。
现在的可穿戴设备,还没有真正能超越智能手机的。

另外,AI还没有跟上来哦,需要真正天才的指引,这个需要的是技术革命哦。

其他的吗,就要看物理的发展啦。

移动医疗不应该按打车模式推进

现在一些移动医疗的厂商,在做产品的时候,完全采用了打车模式进行推进。

甚至开始照抄出租、专车模式,出来了现有医院、新建医院模式。

但他们忽略了一个问题。

那就是医疗,并不像打车,有如此多的线下资源可以调用。

有几个明显的现象要注意:
1、中国的医疗资源十分匮乏
2、中国的医疗资源过于集中
3、越好的医生越忙,越难以到线上
4、好的医院,不缺患者;
5、看病和打车不一样,不是是个医院你就敢去,是个人你就让他给你治疗
不信?那我问下,如果是你关心的人生病了,你会随便找家医院看看,还是各种打听哪里靠谱?

那问题就来了,即使能有医生到线上,人数有限不说,水平也不会很高。
新建医院,需要有医院的实体,这样成本就高了,而且医生整体数量,不会呈爆炸性增加。
所以,不会像打车软件这样,一呼百应,这个并非不能为的事情,而是一个要持之以恒的工作。

那有哪些是讨巧,现在又能推进的呢:
1、把学医的学生拉到线上,他们不一定有行医资格,但有医疗知识,可以做咨询、网上导诊,这是个不错的开始,比如丁香园就在做
2、用好退休医生队伍,他们经验丰富,有一定闲散时间,但对互联网及移动设备使用不熟练,需要更易用的软件及设备
3、推动国内的社区医院,我们现在的社区医院形同虚设,社区医院的价值根本没有体现出来,其实小问题就应该在社区医院搞定。这个出现的原因,上面已经说到了。解决的方式应该是与政府合作,才会长久。
4、私人诊所,比如牙医、私人医生,这样的服务,这个有美国模式可以借鉴。但要等待政策。
5、远程预诊,缺少专业易用廉价的设备
6、大集团化医院,这个建议几个巨头联合起来,在一二线城市,进行推动。打响品牌战。
7、快速做好远程会诊、诊断、手术等

其实,大家烧钱的地方太集中,另外有几个市场被低估了:
1、运动健身。没有特别专业厂商在做,其实已经可以开展起来了。
2、健康咨询。营养咨询、健身指导、心理咨询、幼儿护理、产前培训。
3、幼老年护理。你懂的。
4、真正的可穿戴设备,现在都是Baby Product,呵呵。
5、需要一个很强势的协会,制定标准,造福人类。

哪些医疗数据可以用HDFS

其实,几年前就有人和我建议,希望在医院用Hadoop,用云计算,来处理医院的日常业务。
但他们苦于找不到接入点。

在建设平台的过程中,更有口号说,不管数据格式如何,先收集上来再说。
但这样做的结果,往往是,数据收上来了,但获取数据的时候,却无法提供。

更有很多供应商,买了第三方的ESB、MQ等商业软件,直接卖给医院,告诉医院,这就是平台。
结果,医院根本就不会用这些产品,整个一悲剧。

但到今天,放眼望去,在医院中,建立私有云的,还是少之又少,主要原因如下:
1、缺少专业人才。医院的运维人员有限,主要以Windows系统的维护为主,日常工作十分的繁杂。没有精力及经验来维护以Linux为基础的云。
2、医疗行业相对保守,出了问题责任重大。很多医院不是不愿意,而是不敢使用新技术,不敢做第一个吃螃蟹的人。
3、现在没有好的厂商,提供优质的私有云建设服务。而医院用Windows、SQL Servr、Oracle远远多于Linux+MySQL+开源非关系数据库的原因,就是商业产品出了问题,还有人帮忙解决,而开源产品出了问题,可是举目无亲。
4、医疗资源的保密性,让医院不敢将资料放到公有云上
5、多数医疗资源,变更频繁,不适合与云存储(云存储适合量大、变更少、变更时尽量不要更新而要追加)
6、很多医院的各个科室,互联互通都没有做好,还在补课阶段

其实,从文件特性上看,还是有不少内容可以放到云上的:
1、影像数据。其实医院的影像文件,采集后,一般经过无损压缩,会N年不再修改。所以放射、核医学、超声、内镜、病理的影像数据,完全可以放到HDFS上。取回速度,会快很多。
2、归档后的病历数据。归档后的病历资料,也是很少变化的,数量也比较巨大,种类也很多,很适合HDFS存储。
3、医院的OA及资产等历史资料,也可以进行HDFS存储

待续。。。