var slideIndex = 1; showSlides(slideIndex); function plusSlides(n) { showSlides(slideIndex += n); } function currentSlide(n) { showSlides(slideIndex = n); } function showSlides(n) { var i; var slides = document.getElementsByClassName("mySlides"); var dots = document.getElementsByClassName("dot"); if (n > slides.length) {slideIndex = 1} if (n < 1) {slideIndex = slides.length} for (i = 0; i < slides.length; i++) { slides[i].style.display = "none"; } for (i = 0; i < dots.length; i++) { dots[i].className = dots[i].className.replace(" active", ""); } slides[slideIndex-1].style.display = "block"; dots[slideIndex-1].className += " active"; }

不止代码——初读

软件架构不仅仅只是选用什么框架、选用什么技术组件这么简单。它贯穿了对人的组织、对技术的组织、对业务的组织,并将这三种组织以解决业务问题这一目
标有机的结合在了一起。

软件系统的价值是以解决业务问题的能力、支撑业务增长的能力为衡量标准

程序员想要工作出业绩,必须认清楚系统背后的业务价值,按价值去梳理工作优先级,而不是过度纠结细节,追求技术理想化。

程序员的迷茫因为长期埋没于软件世界的浩大的分工体系中,无法看清从业务到软件架构的价值链条,无法清楚定位自己在分工体系的位置,处理不好自身与技术、业务的关系所致,所以在这里我想谈谈分工。

架构师为了使软件系统更好的服务业务,必然将软件系统生命周期进行拆分,比如分出开发生命周期、测试生命周期、用户访问生命周期、软件运维生命周期,并根据不同的生命周期划分出不同的职责与角色。


从价值出发-找寻学习与工作的新思路

迷茫能引发思考,架构则塑造了视野,而价值则是我们之所以存活,之所以工作的逻辑起点。基于这样一种价值思维,对我们的学习和工作又可以有哪些改启示呢?

明确自身的业务相关主体:

找出你工作的协作关系网内的业务方和客户方,这样你就可以从客户方中找到离你最近的业务价值点,从你的业务方中挖掘更多的资源。甚至你可以按这个思路顺着网络向上或向下挖掘价值链条,整合更多的上下游资源以实现更大的价值。

向前一步,为更大的价值负责:

不要因为自己是开发人员就不去关注软件运维,不要因为只是测试就不关注软件开发,因为你关注的越多你越能看清全局的价值目标。如果只关注一亩三分地,那么注定这辈子只能困守在这一亩三分地里,成为一名流水线上焦虑至死的码农。试着转变思维,从架构师的角度思考价值问题,看看能否将技术贯穿到业务、到用户、到最终的价值去。之前我的朋友说过要把产品经理踢到运营位置去,把程序员踢到产品经理位置去,这样才是正确做事方式。这句话也是类似的意思,向前一步才能懂得怎么做的更好。

像架构师一样思考,用价值找寻重心:

人的迷茫是因为找不到重心,而价值的意义在于引导我们思考做哪些事情才能实现价值,先做哪些事情会比后做哪些事情更能创造收益。像架构师那样全局性思考,把遇到问题进行拆分,把学习到的事物串联起来,努力构成完整的价值链条。

学会连接,构建体系:

前几天看到一篇文章对今日头条的产品形态极尽批判之词,指责它的智能算法将人类封死在自己的喜好之中,将人类社会进一步碎片化。这似乎很有道理,有趣的是互联网将我们连接至广袤的世界,却也把我们封闭在独属于自己的小世界里。依旧是我的那位朋友,他说他的最大价值在于连接,将不同的人连接在一起,有趣的事情可能就会即将发生。

或许算法的天性就是顺从与迎合,但人最终想理解这个世界还是需要依靠自身的行动与不同人之间建立联系,这也是一种摆脱流水线限制的有效方式。另外,我们自身也是某种事物连接的产物,比如架构师,他是业务、技术、管理连接在一起的一种产物。所以我们应当树立自身的知识体系以吸收融合新知识,将孤立的概念连接起来,形成自身的价值链条。


end

posted @ 2018-07-25 16:48  Solomon_xm  阅读(472)  评论(0编辑  收藏  举报