五年以上。
它们往往要求工作年限在5年以上,需要求职者有过3年以上的系统设计经验,精通各种架构模式和系统框架,反观自己却一个条件都不满足。
软件架构师就是这么一个让人向往,但又让人望洋兴叹的一个职位。就像建筑设计师总有成为总设计师的梦想,航天工作者总有成为总工程师的壮志,相信每一个软件工程师都有过成为软件架构师的想法。
引用维基百科里的定义,软件架构师的职责就是在软件系统研发中,负责依据需求来确定主要的技术选择、设计系统的主体框架结构,并负责搭建实施。
普通程序员可以利用搜索引擎(百度)寻找答案,经常性找不到好的解决办法,然后更换技术方案,顶级程序员也利用搜索引擎(Google)寻找答案,一般bug都顺利解决(其实跟前期框架选择等关系非常大)。
算法是程序员的重中之重,掌握算法能力才能处理复杂环境,才能对系统做出性能调优,遇到性能瓶颈之后才不会束手无策。
表达能力决定了你所做的技术的影响范围,决定了你的影响力,决定你的威信,决定了你的报酬。普通程序员和顶尖程序员的表达能力差别非常大,这主要还是取决于他们格局的不同。良好的沟通能力让你理解产品经理的设计思路,让你更好的展现自己的特长。