哲学家常思考的问题:我是谁?\我从哪里来?\要到哪里去?不只是哲学家,我想每个人都有自己对这三个问题的认知。
如果我们要成为架构师,我们自己要面临的三大问题:
找准自己定位:我是谁?在哪里?
怎样做好架构师:我要做什么?
如何搭建架构师知识体系:我该怎么做?
这里面就是做事方法论:目标(我要做什么),方法(计划)(我该怎么做),执行/行动
1、架构师定义
什么是架构师,这个聊架构话题时永恒的问题。每个公司对架构师的定位也有所不同,因为不同公司所处的阶段,业务模式,应用场景也都不一样。对架构的要求也不一样。
在初创公司的野蛮生长阶段:业务场景和需求边界很难把握,有时候根本不需要架构师,产品需要快速迭代和变现,需求频繁更新,这个时候需要的是快速实现。当然如果公司成长以后,这个阶段就是欠下很多技术债,埋下很多坑,如果人员流动很频繁,后期系统维护成本是非常巨大的。
在公司成长稳定阶段:业务模式和应用场景边界都已经比较清晰,这个时候最需要架构师需要架构师能对线上业务进行模块划分,系统拆分重构,并做好相关高可用的措施,以保证系统的稳定,安全、高效地运行。
不同的行业,对架构师的要求也不同,比如电商业务和AI领域,从架构到业务场景,完全是两个物种。
在百度百科里面这么定义:系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导任务。具体来说是一个确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此架构师应该是特定的开发平台、语言、工具的大师,对常见应用场景能马上给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。架构师实际上就是软件的总体设计师。打个通俗的比方比如某个工程总设计师,类似三峡工程的总设计师。
架构师的形成一定是在实践中积累起来的,而并非上了几次培训班,读了几本书就可以成功的,架构师是在工程实践中培养出来的!
2、架构师作用/职责
架构师在整个软件系统开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化。
1)、按软件开发过程维度来说:
需求阶段:软件架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查和客户及市场人员所提出的需求,确认开发团队所提出的设计;
架构设计阶段:架构师负责对整个系统架构设计,制定开发规范、开发计划,指导整个开发团队完成这个计划。
开发阶段:架构师则成为详细设计者和代码编写者的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;
测试和交付阶段:协调做好相关测试和部署。
维护阶段:软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。
2)、按职能维度:
总之,架构师是一个综合素质的体现,打铁还需自身硬,能解决问题,或者能带动周边的人解决问题,才是关键,至于职位、位置,这只是一种职业称谓,你牛逼了,还在乎别人称你架构师,还是其他的吗,技术是硬实力,情商是软实力,君子性非异也,善假于物也。自个体会。需要什么学历才能去学习编程代码啊?IT行业的这种选人标准一定程度上也是源于其本身属于新兴的朝阳产业,对于人才的学历高低并无偏见。
现在每个企业在招聘的时候都会设定非常高的应聘标准,也就是说求职者必须经过项目经理的面试才能进入企业。
而且在试用期内定期的评估,会对新员工的实际工作业绩进行评价,从而确定每个进入企业的求职者都是技术精英,我想如果你的技术不行的话,就连笔试这关都过不了,也就谈不上什么复试。
现在企业招人过来是希望你能直接就来是干活的,而不是拿你学历放那看的,而且学历是具有局域性的,尤其是那种普通的大专院校学历证书,你拿着一所不知名的大专学校学历证书,去了其他省市找工作,由于企业根本就没听说过你这学校,也不知道你这学校到底怎么样,因此企业也就无法通过你的这张文凭来判断你的学习能力。
在IT行业里,企业注重的是技术和经验,如果你的动手能力强,通过面试和笔试就很容易,所以一个人的价值不可能单凭学历去界定,学IT还是注重技术!
我还认为一个人的主观能动性是决定于你未来发展成败的主要因素,如果你对计算机很感兴趣,动手能力强,而且能动脑筋,有创造性,我想你把IT专业技术学好是没问题的,我这里所说的学IT技术,主要指的是IT中的软件开发技术,因为这个专业在IT行业中薪水是比较靠前的。
有几句话我一直深刻于心:没有条件,创造条件也要上;世上本没有路,走的人多了变成了路。
我觉得你不要去在意IT对学历要求高不高,而是先理清自己是否有兴趣和耐力去学IT,所谓兴趣,因为编程是一种枯燥的事情,刚开始学的时候,我们并不能体会到代码程序的快乐,因为我们会发现,很多代码都要不断的调试才能运行成功,当你有一定的编程经验后,你会发现编程真的很快乐。
所谓耐力,因为编程我们要遇到很多看不懂的代码,很多看不懂的符号和规则,这时你需要耐心的查资料,和问高手,当你掌握了一定技巧后,你觉得编程还是一个痛苦的过程,因为在编译前,我们并不知道程序运行的结果,需要不断的尝试和修改源程序。
具有良好的软件编程、软件工程基础的人,同时,具备良好的沟通技巧的人,考软件架构师有可能。
没有软件工程、编程基础的,就不用考虑了。
能够成为真正软件架构师的人,都是编程高手,而且是能够透视软件和软件开发本质的高手。
以上就是关于软件开发的技术人员有什么要求呢全部的内容,包括:软件开发的技术人员有什么要求呢、如何成为一名系统架构师、互联网架构师必须具备的技能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)