(Java) programmers should break out of the cage and look to a higher world

Looking back on the past, I think that every programmer is locked in a transparent cage, limiting their thinking, blinding their vision, wasting years without knowing it, and if they don’t try to go out, they will never be able to perceive the existence of the cage for a lifetime. That cage is the technology itself.

Some programmers will say that we rely on technology to make a living, and we consider various programming skills every day. How can technology become a cage that binds us? That's because many people only see the appearance of software technology without seeing the essence .

Sun Tzu's Art of War said: Those who do not know the harm of the army cannot make the best use of it. To put it simply, those who do not know the harm of technology cannot make full use of the benefits of technology. Technology also has a harmful side. It is a tool for programmers to make a living, and it is also a prison for programmers. Why is it a cage? This involves the two essences of technology: the essence of society and the essence of value.

  Today's information society is divided, with ordinary natural people on one side and computers, or machines, on the other. There is a huge barrier between ordinary humans and machines; humans are good at thinking, innovation, emotion; machines are good at memory and precise calculations. Humans cannot understand machines, and machines cannot understand humans. And our programmers help to communicate between humans and machines, and various software are the pipes dug out between humans and machines. Therefore, in human society, the social essence of technology is to dig pipes. It's just that some pipes are wide and straight, while others are narrow and meandering like mouse holes.

 So how to dig a wide and straight pipe? This involves the value nature of technology.

In Marx's economics, value determines price . The value of programmers is determined by the value of the software they write, and the value of software is determined by the value of customers. Therefore, the value of technology is ultimately determined by the value of customers. Technology is worthless and programmers fail if it doesn't bring value to customers. So how to bring value to customers, that is to solve the pain points of customers, how to get pain points, then dig from customer needs, how to get customer needs, then you need to communicate with customers enough and efficiently. Therefore, the value of technology and customer communication are necessary but not sufficient conditions. Good communication may not bring value, but no communication will certainly not bring value.

In addition to meeting customer needs, the value of technology, there is another factor is the scope of application. It is also the more effective customers and the more information processed, the greater the value. Moreover, satisfying customer needs does not mean that there are many effective customers, and the hard promotion of marketing and sales personnel is required here.

  Furthermore, in addition to technology, the data itself is more valuable the more it is used. For example, in web search engines, the number of citations of web pages is used as a very important value reference. It can be said that software is only valuable if it is used by people, and it is a pile of garbage if no one uses it.

  Recognize the essence of technology, and then look back to see how technology has become a prison for programmers.

  Human intelligence is limited, and can only be good at some parts and weak in other parts. The ability of other people is increased when they are used, and they are useless when they are not used. We programmers have been engaged in technical work for a long time, consciously or unintentionally thinking about problems in the way of machines, and are good at communicating with machines, and gradually abandoned the ability to communicate with people. Many programmers are introverted, and technical work does need to be more introverted, because most introverts can sit still and focus on various technical problems for a long time. But it leads to a very serious problem. In addition to discussing technical issues, programmers are not very interested in other things and live in the world of machines. The ability to communicate with people is significantly reduced. Hackers are also described in many movies in this way.

So there are two bad series of reactions: poor communication skills - unable to obtain customer needs - unable to make correct software - unable to bring use value to customers; poor communication skills - unable to fully demonstrate software functions to customers - - Small number of customers - can not bring value to customers at scale.

Most programmers have this problem, so in order to survive, companies use a large number of marketing and sales personnel to help make up for the defects of programmers. Marketing and sales personnel have two functions: mining customer needs; promoting the scope of software use, that is, increasing the number of customers.

Therefore, for a sustainable software company, technology and sales are equally important, and no one can lack it. Therefore, it is very naive to think that some programmers think that their technology is very good and that they will succeed in starting a business. At the same time, software companies that rely on personal connections without sufficient technical strength will not last long.

  因此从公司整体团队来看,消瘦(销售)猿其实是程序猿的搭档。不过文人大多有点酸,程序猿也相似。程序猿之间相轻,同时程序猿也很瞧不起市场销售人员,觉得那帮消瘦猿成天吃喝玩乐,还尽给程序猿添麻烦。

 程序猿鄙视消瘦猿的程度大多大于消瘦猿鄙视程序猿的程度。因为程序猿有牢笼,而消瘦猿是没有牢笼的。不过不能说消瘦猿对程序猿是有多大优势的。因为在当下自由市场竞争的环境下,消瘦猿也是很苦逼的,也是分为层次的。程序猿的世界中有着大量的码畜在熬夜加班,而消瘦猿的世界中也有着很多低端人士在苦苦挣扎。程序猿的寿命不比消瘦猿的短。笔者见过一个做弱电的老板,痛风而导致手背上长着鸡蛋大的结块,但还是要天天喝酒应酬。

  不过消瘦猿确实比程序猿多点牢笼方面的优势,具体表现为各类公司的老板大多是市场销售出身的。特别是在有中国特色的社会主义市场经济环境中,由于行政频繁干预市场,强化了这种现象。

我们现在可以理解到,实现技术的价值最大化是一个很复杂的系统工程。“需求调研-系统设计-编码-测试-部署和运维”这个流程只是这个系统工程中的一部分。跳出这个范围,仍然有着更高层次的世界。

  那么我们程序猿如何打破牢笼、展望更高层次的世界呢?

那就是做到2个重构:代码的重构和人性的重构。

代码的重构只是一个代表,完整的意思就是不断提高自身的技术水平,在千万个屌丝程序猿中异军突起。人无我有,人有我优。掌握有不可替代的核心技能。编程的基本功和高级技巧都要信手拈来。而这就要日积月累的学习进步和一些天赋。

人性的重构就是不断的重构自己的思想。中国这30多年的崛起就起源于“解放思想,改革开放”。而当下的互联网思想就是一种更为激进的“解放思想”,于是能造就一批企业的急速崛起。

程序猿在重构自己的思想就是压制思想中的机器属性,弥补人的属性。重视起和同事、和客户的的交流和沟通。需要揣测出人的各种表面反应后隐藏的真实意图。就是要“妄猜圣意”。

程序猿通过和客户的沟通,了解客户需求,就能逐渐掌握行业应用业务知识,只有技术和业务知识结合起来才能发挥最大的价值。笔者一直不看好软件外包的程序猿,就是因为软件外包行业无论从技术的积累还是行业业务知识的积累都是很差的。

 人性的重构还有一个重点就是项目管理能力的提升。这也是以和同事的沟通为基础的。技术高手的一个通病就是追求完美,当看到手下的小弟做出的软件粗制滥造,心中不爽,于是凡事都自己做。这样不能起到一个示范作用,不能复制自己的能力;也是一种用战术的勤劳来掩盖战略的懒惰。不能让自己的价值最大化。

当一个程序猿经过上述的改进,掌握了扎实的技术,理解行业需求,能带领团队。那么CTO的职位指日可待。那就恭喜这位程序猿初步打破了牢笼,探出半个身子,就能够窥见更高层次的世界了。

那么如何更完全的打破牢笼而跳出来呢?

简单粗暴的说法就是要把软件卖出去、卖上价。技术加销售,割据一方;技术加销售加市场,争霸天下。这需要人的眼界、运气、天赋,需要天时地利人和。这种完全打破牢笼的程序猿实在是高手中的高手,精英中的精英了,已经不是程序猿这三个字所能描述的。

这是笔者正在探求的境界,经验不多,谈论不了很多。而且完全具备这些能力的人基本上不存在的,现实当中只能是多个合作伙伴搭配着一起闯。不过程序猿没有强大的市场销售能力也必须要有基本的市场销售的意识。

工作一到五年的程序员朋友面对目前的技术无从下手,感到很迷茫可以加群744677563,里面有阿里Java高级大牛直播讲解知识点,分享知识,课程内容都是各位老师多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

最后祝那些积极向上的程序猿们好好学习、天天向上,早日打破牢笼,展望更高层次的世界。


Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325732112&siteId=291194637
Recommended