As someone who has the IT industry, there are a few words to say to you

7186cb94-8e81-47bb-8e02-0cc50e2241d1



Not technology-driven companies in the world, regardless of google, facebook, or Tencent, Ali, are not technology-driven companies. Because the technology is not the source of the demand is. Therefore, all technical problems, should submit to product delivery and market feedback. Therefore, any company, it is impossible to drive the technology itself. People can drive their own progress with technology, but the company can not. A company can cut a technology market, but if it wants to survive, it must not be technology-oriented, adhere to the technology-oriented company's vitality is zero, the fate of two: bankruptcy or be acquired before the bankruptcy . If you are really obsessed with studying technology, please graduate school to pursue a Ph.D. degree or last into the National Academy of let you keep using taxpayer money.

The enrichment of local capital, people had to work overtime, overtime essence, people follow the machine running, people follow the money to run; more essential to say that the enrichment of local capital, people as labor force, but also a capital. That is, the capital rather than the man himself. Operating capital can not stop, pause because of the loss of too much money. Chinese, foreign, are the same. Developed countries not know why the industrial workers overtime? Because manufacturing is not the creation of these countries, mainly in the areas of wealth. Developed countries where the financial industry is capital-rich, so the financial dogs in Western countries as overtime. Labor Law? Overtime? It does not exist. Labor laws and overtime only after leaving the capital market can give you that. The company's general policy is: pay your salary higher than other industries, in exchange for your "voluntary" overtime. Students do not want to work overtime, or you can go to the civil service exam to go to Europe to do IT, I promise you do not work, not only do not work overtime, you may even free the sick.

IT is engineering, not science, industry and IT industry is the highest similarity to cover the building. Really, the similarity is quite amazing.

The most important is the IT field experience rather than how smart you are, no wise man or, more precisely not suitable for people in this industry, after graduating from university diverted. Remember: you are well prepared, does not depend on whether you're smart, and depends on whether you are willing to continue reading to learn and continue to accumulate. So, if you intend to enter the industry while you were in school, please pay close attention all the time to read more books.

The company is where you create wealth, the company is not school. You can learn on the job, but you can not put down the work and then to study unless your work is done.

Large-scale commercial energy technology, do not need intelligence, otherwise this technology can not scale. Some programmers, please stop your honey confidence.

技术栈,一旦确立了,就很难改了。一个技术人员是如此,一家公司也是如此。根本原因是:每一个栈的size都太深了…就像是ulimit -s unlimited过一样。

一个程序员,应该花80%的时间做代码设计、画UML图、画时序图,20%的时间写code和debug;菜鸟程序员的这个比例恰好是反的。一句话,不论这个需求有多紧急,你都一定要“想好再动手”;“想好”的标志就是设计文档写好了;文档一旦写好,写代码就是纯粹的无脑工作。

写文档的目的是让你在code的时候,不需要停下来思考更不需要推倒重来。如果没有文档也可以做到这一点,你当然可以不写文档同时思考下自己水平这么高是不是可以要求升职加薪了……或者,你是不是在做无聊的if else编码工作?

英语,很重要。能否使用英语查阅资料,是区分技术人员水平的重要指示之一。寄希望于“有人迟早会翻译成中文”的人是愚蠢的、是会被淘汰的。

要有分享精神,不要担心你知道的东西告诉了别人你就没价值了。你最大的价值在于你知道那些东西的过程,而不是那些东西本身。你愿意和别人分享别人自然也会愿意和你分享,最终达到1+1大于2的效果。不分享,就像一个失去了互联网的程序员,试问他还能创造多少价值?恐怕他连日常工作都无法展开了。持有“我把别人知道的都学会、我把自己知道的都藏起来别让别人学去”想法的人,其实是默认全世界只有你聪明别人都是傻瓜,这样的人,在信息传输成本高的时代,可以活下去,但是在今天这个时代,他们的路会越走越窄最后会自己走入死胡同。当然,如果你真的知道了了不得的黑科技,那就请你保护好自己的知识产权然后自己开公司玩吧。

工作要有热情。

智商决定你的起点情商决定你能走多远爬多高;混职场,靠的是情商。情商高就是:别人愿意和你一起工作、你有问题的时候别人愿意帮你。智商有时候可以稍微弥补一下情商但不起决定性的作用。

现代管理学的精髓,就是让每个人(包括老板本人)都变得可替代。如果你觉得自己不可替代,要么是你的错觉,要么是你在一家管理非常原始的、摇摇欲坠马上要完蛋的公司。

怎样让程序员变得可替代?三个字:写文档。不愿意写文档的程序员,应该立刻马上毫不犹豫地开掉。程序员工作创造的价值,至少一半是通过文档体现出来才对。“一个项目换一个人就要让项目大地震一下、解决bug换一个人就不行因为只有老人知道要改哪一行的哪个关键字”,这不说明这个项目所涉及的技术有多复杂、不说明这个老人是什么技术大牛,而只说明这个项目的项目经理是蠢货因为这个项目已经失控了。

文档不是事无巨细的流水账,写文档以及组织文档是需要智商的、是需要架构师去设计的。美国的航天飞机那么复杂,但是在pilot手里的手册也就那么多,而这个手册可以在航天飞机出问题的时候协助pilot快速定位绝大多数问题。

不可替代的打工者只有一种:以中高层领导的身份跟完了一个项目而且这个项目正处于大红大紫的阶段,公司为了防止你跳槽到竞争对手那里,愿意付给你薪水养着你天天在办公室喝茶。只要项目一直红着,公司就愿意一直养着你。


读完这个答案后如果你觉得我是一个轻视技术的人,那么恭喜你,你和我一样,是一名钢精。钢精读别人的回答,永远不会去正面理解,而只会想尽一切办法找这个答案的漏洞。



======== 下面展开一点谈文档和技术驱动 ========


“开发人员的文档的作用”:

给正在code的自己看、给几个月后已经忘记这个模块当初是怎么开发的自己看、给要接手自己工作的新人看、给周边有关联开发任务的同事看、给领导等有关人员看、产品出bug的时候用来和别人怼的武器。如果没有文档,这些工作量都会成倍增长。

代码再精简再直观,也不可能有人类语言直观,谁觉得自己厉害到读代码和读人类语言写的文档速度一样快读地步,我给你个我上大学时候写的小程序,麻烦你读一下代码,看看你多长时间可以看明白:https://github.com/YvesZHI/FallingCode

这段代码本身并不复杂,应该说非常简单,但是没有文档……读读看吧。

简而言之,文档,就像盖楼房的设计图,没有图纸,你是不能开始搬砖的。

领导有没有给你看需求分析文档?有没有拿着需求分析文档给你宣讲你要做什么?没有?不干活;

测试的同事有没有给你看测试用例文档?有没有给你宣讲?没有?不干活;

你自己明白领导的意图了吗?明白测试同事的意图了吗?想明白后,开始想自己要开发的模块里的各个功能模块之间的关系,可以画时序图;时序图画完了,看看是否有(可能)频繁变化的模块/需求,如果有,请务必使用一些设计模式,如果要用设计模式,请务必画UML类图,如果没有频繁变化的模块/需求,请一定不要用设计模式;最后,看看在一个功能模块中,有没有逻辑比较复杂的地方,如果有,请画流程图;模块和模块之间有没有需要明确的协议?如果有,请把协议写出来。

上面这一段话,就是你要写的文档,这个文档的读者主要是你,在你的模块出问题之前,别人通常不会读这个文档(不排除你的领导会要求看你这个文档)。如果你既不需要时序图又不需要类图又没什么协议需要明确,那么,你就可以不写这个文档。另外,如果这个文档写得好,你的代码是不需要任何注释的。


“技术驱动”:

一些朋友认为我对“技术驱动”有误解,对此我不想辩论了。题目是:作为IT行业的过来人,我有什么想对后辈说的。上面那段话就是我想对后辈说的。什么意思呢?就是告诉后辈,如果一家公司打着“我们是技术驱动型公司”的名号在招人,那么如果你决定要去这家公司,我劝你一定要想好考察好。为什么呢?因为我知道他的那句“技术驱动”很吸引你你想学东西,但是对小公司来说,它最大的任务是活下去,然后才是其他,我不是说小公司学不到东西,我只是说小公司很难很难做到真正的技术驱动;评论区有人坚持认为微软这种公司是技术驱动,这个问题我后面会专门补充,目前我只能说:我是没见过微软大张旗鼓地说自己是什么“技术驱动”公司然后忽悠新人。


“技术驱动2”:

看来有不少朋友愿意和我纠结这个“技术驱动”的问题,那我就和你们杠一杠。

我以华为为例来说说。

华为成功的内在原因,早就敲锣打鼓地告诉全世界了:

以客户为中心,以奋斗者为本,长期艰苦奋斗,坚持自我批判。

这四句话,没一句是直接和技术相关的。这里我先特别声明一下,我不是说,技术人员在华为就不会搞技术、不会提升自己的技术水平、华为的技术水平差。我绝不是这个意思。华为的技术,不需要我多说,全世界的人都是有目共睹的,华为公司的技术专利数就摆在那里,那是谁也抹杀不了的;华为公司里的技术大牛,多了去了;但在这里,我要说的还是第一段的意思:一个人可以以技术驱动,但一家公司不行。华为公司的核心理念,本质就是“成就客户”,你把客户成就了,你就也把自己成就了,华为不是先成就自己再去成就客户的公司。你去华为工作,你可以以技术驱动自己,但华为不能这样做。这一点和微软与IBM的合作极其相似:IBM说,你们微软现在搞的东西我愿意用,但是我需要你们给我搞个操作系统,这样我们才能继续合作。然后微软怎么做的呢?它马上购买了另外一家公司搞的DOS操作系统,然后直接授权给IBM使用。这里面有四个问题需要各位精钢们思考:1)为什么那家开发DOS的公司没能直接和IBM合作?2)微软购买DOS系统的钱哪里来的?3)微软为什么不自己开发操作系统?4)技术在前三个问题中的角色和作用是什么?

至于评论区有朋友说Intel是技术驱动公司,我建议他去了解一下Intel为什么放弃了手机市场:重点关注Intel决定放弃手机市场的原因,然后你就会发现,这个原因的本质,就是一种技术情节的产物。Intel放弃手机市场与华为决定进军手机市场是截然不同的。华为本来是做基站、路由器和交换机的,这是它的主营业务。那么华为为什么决定进入手机市场?是什么原因驱使华为在没有任何技术积累的前提下进入手机市场、以至于最初华为的手机被华为员工戏称为“暖手宝”倒贴钱都没人愿意用但现在华为手机如此成功?

所以,我还是那个观点:世界上没有技术驱动型公司。我本人就是程序员,我一直都以技术在驱动自己我一直都在努力提升自己的技术水平但是我还是要说:世界上没有技术驱动型公司。

“技术驱动3”:继续怼

一个新的team要开发一款软件。它首先要解决的问题,是在产品1.0开发出来并且赚到钱之前这个team的经费;其次,它要提前找好产品的客户群和可能存在的销售渠道并且做完相应的工作;再次,它要做产品规划,如什么时候出1.0版本的产品、哪个模块开发大概要多久、什么类型的问题可以暂时搁置什么类型的问题不能搁置要组织攻关组公关等(全是项目管理相关内容,和技术没有直接关系)。最后,进入产品开发阶段。

一旦进入产品开发,就像工厂的流水线一样,是不可能出现什么导致产品开发进行不下去的技术难点的(否则技术leader就是白痴这种产品应该在头脑风暴阶段就被拍死才对),所以,“期望出现什么决定产品生死的技术难点然后自己nb闪闪地搞定”这种事情,是不可能发生的;同时,在开发过程中,难免出现各种意料之外的bug,比如,你负责的模块出现了三个bug,其中一个是必现问题且直接影响功能实现,那这个一定要搞定的,如果你搞不定,team会找其他老手和你一起攻关,攻关结果有两种,一种是bug解决了但是不知道为什么,另一种是bug解决了也知道了是为什么。对于第一种情况,team是不会让你“潜心研究几个月最后找到了原因”的,为什么?因为你还有后续工作要完成而这个bug已经解决了不影响用户使用了,什么时候才有可能让你继续跟进这个问题呢?1.0版本的产品市场反馈符合预期且公司决定要继续投入搞2.0版本 ———只有这个条件满足,你才有可能继续跟进这个问题,为什么是有可能呢?因为这个bug已经不影响客户使用了,没必要投入人力去搞了,你如果花几个月的时间去找这个bug的原因,那么请问:2.0版本的工作谁做?在很多项目中,类似这种“问题解决了但是不知道原因的bug”现象,是比较常见的,很多时候,直到这个产品生命周期结束,这些bug的原因都没有找到。因此,“期望碰到神秘bug然后自己潜心研究几个月终于把原因找到”这种事情,很多时候是不存在的。

Then the above "three bug" continues: another two bug, the probability of occurrence and probability of occurrence is very low. If you compare this time period in time, the company will find ways to circumvent both bug, such as scheduled restart the server, regularly clean up cache, etc. (These methods can usually bypass the low probability bug), will not give you "then three months of painstaking research the opportunity to resolve a bug, "the. When will it be possible to let you continue to study these two bug it? And as a bug only in the follow-up continue to develop, it is possible to let you continue to follow up.

Now, please re-taste of "technology-driven" is the word. In the end what is technology driven? In fact, the word really means is this: we can support a good company benefits nb technical team so that products can continue to develop iterative evolution, with the constant iteration of products, technical staff likely to encounter problems not encountered a number of other companies. So, if a newly established small companies say they are technology-driven ...... even the 1.0 version of the product do not call myself a technology-driven? Do you believe it? Believe it or not, anyway, I do not believe.

In short, the "technology-driven" is synonymous with "Our company a lot of money" + "Our company is not the real estate stocks, but do products company." As for why not just say so? This is because this argument is not likely to be studying hard years of painstaking research technology students are accepted ...... "technology-driven" confuse the students, in fact, reading, reading stupid, what is "reading, reading stupid"? It is equivalent to the school community and the same thing ......

"A lot of money to do IT products company," the world is there of course, but such a company, they will not be fooled by the new "technology-driven" this word.


Guess you like

Origin blog.51cto.com/14551588/2456782
Recommended