无论架构师如何对自己进行分析定位,通常都脱离不了服务人群对架构师的共同期望“解决疑难问题”。看似具有共通点,实则亦有不同处。架构师服务人群通常形形色色,自然所面对的疑难问题就多式多样。例如前线负责功能实现的软件工程师、负责软件质量的测试工程师、负责系统稳定的运维工程师,高高在上的主管领导,遥不可及的业务精英,难得可贵的客户宝宝,亦或有未曾谋面的小白等等。服务对象的多样化,无形中对架构师能力提出了各种各样的要求。然而归根揭底有一个共性点就是所有的疑难问题都是以技术为核心。既然是技术问题,我认为需要技能知识与方法同时具备。
解决技术问题一方面需要掌握足够丰富的技术知识。小到代码的提交、程序的编译构建、应用的debug调试甚至环境的搭建、操作系统的安装等,都得具备足够丰富的知识来支撑解决对应的问题。大到技术架构的设计、部署架构的设计、网络架构的设计,甚至业务增收降本解决方案的设计。缺乏足够的阅历经验,想必都难以给出恰到好处的解答。可谓之,需要会他人之所会,懂他人之所不会。
解决问题另一方面则需要提炼解决问题的方法。虽说实事求是,知之为知之不知为不知是难能可贵的优良传统精神,但当拥有一番解决问题的套路后则会显得更加受欢迎。这些年工作以来,甚是厌烦周边那些经常面对问题一句“我不会”、“这我不懂”之类的人群。试想当面试工作的时候有几人会因为面试官提出的问题自己不擅长而直言弃之。而实际工作过程中正需要把面试工作时的那股子迎难而上的勇气加之发扬。就比如语言在想通的前提下,作为架构师不应该因为自己擅长java语言的服务端开发就要否定前端web方面或者移动端等客户端问题的处理方法,不可因自己研发出身为借口缺失解决运维部署方面问题的方法。更不可因技术出身远离业务效率提升方案的沟通。说到这里,有时候解决问题的方法不一定是需要亲自上手的才算,也许日积月累一些可用的合适资源,当面临想通问题时打个桥就好了。
总之,要作为架构师解决疑难问题是需要长时间积累总结提炼方法以应对之。