怎么成为一个软件架构师

从零上手SKILL脚本:在Virtuoso中实现版图绘制自动化 本文详细介绍了如何使用SKILL脚本在Virtuoso中实现版图绘制自动化,从基础操作到高级技巧全面覆盖。通过抓取操作日志、转换交互式函数为程序式函数,以及核心函数深度解析,帮助读者快速掌握SKILL脚本编程,大幅提升版图设计效率。文章还提供了实际工程应用案例和调试优化技巧,适合从零开始的初学者。 阅读详情

怎么成为一个软件架构师

 

的确没想到随手写的东西有那么多的回复,不管怎样还是挺高兴的。在这里谢谢大家的关注了。其实做了这么多年的技术脑子里总会跳出很多的想法,但很少有时间静下来仔细地思考思考,写写博客也算是一种自我归纳和总结吧。

       “软件架构师”这个名词也不知是什么时候进入我的脑中的,不过一直就很疑惑,总觉得和软件的Team Leader之间有些纠缠不清。不过以我的观点来看,软件架构师除了没有行政上的职责以外,与Team Leader也并无二致了,也就是一个软件团队的核心设计者和决策人。作为一个软件团队的领头人,架构师应该具备哪些能力、素质和经验呢?

我可以把一个软件研发工作者的从业经历大致划分为3个阶段

第一阶段是新手期

这个阶段的典型特征是容易被新技术的华丽外表所迷惑。当在网上看到一种新技术的介绍或者心得,立即产生了大量肾上腺素的分泌,干什么都想用一用,如果这时有人跟他说你的这项工作用这个不合适的话,要是性子急的人估计就直接开始骂娘了,性子缓些的也会想尽理由说服你使用这个新东西,实在没办法的话,吃不下东西睡不着觉也想另找个地方用一下。

新手时期的程序员对需求和应用环境的掌控能力还不强,但却往往信心爆棚地认为自己写的代码有多么优雅高效。当问题出现时,大多数人的反应就是:“怎么可能!在我的机器上运行的好好的!”。不管看了多少书,学习了多么高效的算法,实际的工作中需求和环境始终是变化万端的。其实我也很不明白为什么那么多的技术类书籍往往都带有或多或少的炒作成份,往往夸大某方面的优势,而对缺点却往往一带而过,同时,相对思想算法讲解、技术介绍类的书籍,针对具体项目研发实例进行技术选型讲解的书真的少之又少,或许这也从侧面反应了写书人很多,真正做研究的却很少吧。

新手期程序员的不成熟还体现在团队表现上,当一个问题提交给新手,当跟踪别人的代码段时,经常会丢手不管,还理直气壮地说“我这块没问题”,殊不知问题都没有查清楚,你又怎知不是你的问题呢?在团队研发中,我一向坚持入口点解决问题的原则,只要问题的入口点在你这里,就必须全程跟踪查到底,问题查出来了,再通知相关人员进行程序修正。团队的程序员虽然分工不同,但每个人必须对他人的程序和算法有清楚的认识和了解,因为大家是在同一个环境下工作,虽然代码有分工,可是操纵的却是相同的设备和资源。独善其身在团队开发中是最要不得的想法。

第二阶段是中级程序员阶段

这个阶段的程序员对技术、和工具的选择已经审慎了很多,可以根据具体的需求来选择需要采用的技术,可以写出详细的需求调研报告并提出设计方案,优点、缺点分析得清晰明了。在应用层面也有较强的全局理解力,在团队中也具有相当的协作能力,因此具备较强的解决问题的能力。

中期的程序员虽然在应用层面上已经相当严谨,但在系统层面的掌控力却并不强。应用系统也并非独善其身,她和网络环境、使用方法、硬件环境、操作系统、地点、时间等等诸多因素有着千丝万缕的联系。在少量用户的中底端研发中,如越来越多的呈几何级数增长的信息管理系统中,系统掌控力并非必须的能力。但在一个高端高并发量,被大量应用于不同环境的软件产品,系统掌控力就是不可或缺的能力。这种能力我认为大部分取决于知识面,工作越多,经验越丰富,就越能对不同的应用环境有着敏锐地感觉和判断。

大多数中阶段程序员限于行业,对语言的依赖还是很强,比如搞信息系统的和搞单片机的、搞网络、路由器交换机的,由于系统层面不同,专精和对语言的理解都不甚相同。

第三阶段是高级程序员/分析师/架构师阶段

进入这个阶段的前提是多年的工作经验,广阔的知识面和对系统底层到高层的全面认识,已经使其进入了无语言无工具的层次。也就是能任何清楚地感知每种编程语言的优劣、使用范围、编码禁忌,对一个大型工程能有最全面的了解,在选择语言和确定技术方案的时候不会被自己对语言或技术工具的偏好(或者根本已经无所偏好)所影响,真正明白了其实别管是神马语言、神马技术,归根到底咱们的对象还不是CPU、内存、硬盘和网络,该做的事情一件都不能少,所谓的技术框架是对初级程序员用的,真正高级了不研究个清楚透彻都不敢让你进来。即使对同一种语言,在不同的操作系统中,如Visual C++和Unix C、AIX  XLC、GNU G++等等的区别,以及不同版本之间的区别也了如指掌。这个阶段很难达到是由于对操作系统层面的清晰了解,相信一个初级程序员一路走来,大部分工作都是在Team Leader的规范和引导下完成的,每人都必须做好自己的工作,虽然在应用层面必须顾全大局,但系统层面的问题相对就难以接触了。如果不是对技术有着强烈的渴求和一定的综合能力,系统层面的工作经验将很难与你有缘。这就好比一个当外科医生的,其实做手术并不像很多人想象中那样难,一般看个几次,基本上也就差不多了,如果得到机会实际操作一下,不单是可以积累大量的经验,自信心方面的收获也是无法估量的。但是,动手术责任重大,机会不是人人都有的。技术工作者其实还是很幸福的,毕竟工作经验的取得相对于当医生还是容易的多。

高级阶段一定需要有团队的开发和管理经验,一个软件团队好比一个乐队,每个人对曲目的理解都不同,虽然司职不同的乐器,没有指挥家也会弄得一团糟。软件团队的每个人对语言、业务、能力的理解都不一样,交流方式也有别,同时他们操作着相同的系统和资源,如果Team Leader不做好规划,后果肯定可想而知。丰富的经验和敏锐的触觉神经足以判断出团队成员的编码风格和技术选择偏好,能以足够的经验和理由说服其抛弃自己的感情偏好,从而很好地完成自己的工作。这种能力有点类似于行政的管理,但实际上却是有明显的不同的,这种管理基于的是实际的丰富经验和充足的理由,绝对不可以将行政管理中的排队观念带入,如果2个人意见相左,就必须争论,争不下去了回家想清楚理由再争,甚至直到时间来证明一切,不能说这次你听我的,下次我听你的,技术工作是绝对的,最好的、最适合需求的方案永远只有一个,如果你觉得“都可以”,只能说对行业和需求还没有吃透。

高级程序员是经常会对需求说“No”的人,对行业的深入认识和对系统及应用全局的把握能力使他具有真正指导用户的能力,规范用户的工作、思想并用计算机这个工具真正对行业产生引领作用。高级架构师能深入认识管理和技术的关系,管理上出现的问题一定要在管理上解决,工作经验不多的用户或者程序员往往会把管理上产生的问题抛给软件系统,导致系统越来越复杂,维护成本迅速增长,而管理上的问题却依然存在。但有一个现状是,往往用户提需求都直接提给负责程序的程序员,小公司估计直接就和程序员联系了,大点的也由一个其实并不怎么懂技术的所谓“客户经理”协调转发,而并非经过设计师和架构师的同意,因为他们可能现在已经在研发别的项目了。那么用户的需求是否合理,是否符合当初设计的初衷,往往初级的程序员并不知晓或有不同理解和偏好。虽然这也是实际情况所限,很难做的更好,但这也造成了很多系统的持续发展力很低,而许多用户也处于信息不对等的弱势地位,也只好将就算了。

最后,技术和社会是紧密联系在一起的。社会的进步发展决定了需求和技术的发展,一个对技术发展有着敏锐感觉的架构师必须对社会有着深刻的认识。一个良好的团队必须有新老交替才能不断进步,老人要舍得带新人。“要让一部分人先富起来,然后先富的带动后富的,最终达到共同富裕。”这是我们上学时学到的话吧,不过要是先富的尽想着向前看,根本没把后富的放在眼里,那这个团队也好、社会也好,也就没多大的持续发展力了。其实我倒是认为现在真正的大富豪还是有不少知民间疾苦的,顶层的和基层的都还能了解屁民们的生活,不了解的是中间层,他们整天生活在富庶小康的温床,经常会提及一些好高骛远、不切实际的想法,而对那些为底层人民谋福利的事情嗤之以鼻,甚至讽刺为“用先进的技术做愚蠢的事情”,目的仅仅是为了哗众取宠和彰显自己的远见卓识。

先写到这里了,其实我自己也在为成为一个真正的架构师而奋斗,一家之言,难免有所偏差,不过还是那句话,“我们一直在努力”。


转自:http://blog.youkuaiyun.com/chui88/article/details/6360850

Codex 100个真实案例 - 用AI自动生成API测试用例(接口测试全覆盖) API 测试是保障后端质量的关键环节,但手写测试用例既枯燥又容易遗漏。本案例将展示如何用 Codex 从 Swagger/OpenAPI 规范文档自动生成 pytest 测试用例——包括正常流程测试、边界值测试、异常参数测试、性能压力测试,还能自动生成 Mock 数据和精美的 HTML 测试报告。全程自然语言驱动,让 API 测试覆盖率从 0 飙到 90%+! 阅读详情

相关推荐

请叫我鱼拆,2024扫地机器人的第一次拆机

从背面可以看出,这个机器人是两轮差速模型,两个驱动轮,一个万向轮,驱动轮位于机器人中心位置,这样原地旋转的圆心就是机器人的中心。可以看到设备已经连接,但是没有办法进shell,厂家应该有做了安全保护之类的,有知道从这个口可以登录系统办法的小伙伴可以后台留言。但这台机器人一直报警说,机器人轮子离地,小鱼 估计是防跌落模块有问题,误触发了,所以打算先拆机看看。接着小鱼试了下,机器可以开机,然后给他重新配置wifi,连上 米家。Allwinner,全志的片子,不知道哪个型号的,看产品id,应该支持adb。

生活不止眼前的苟且 3931

从程序员到架构师,这十本书能帮到你

阅读本文大概需要 8分钟。来自:https://blog.youkuaiyun.com/qq_32682301/article/details/134421059推荐一个程序员编程资料站:http://cxyroad.com2024年IDEA最新激活方法后台回复:激活码优快云免登录复制代码插件下载:优快云复制插件以下是正文。在IT行业,职业发展通常是多方向、多层次的。对于许多程序员来说,成为架构师是一个...

良月柒 485

VSCode 降低适用版本并且关闭自动更新

官方表示,提高了远程服务器构建工具链的最低要求,更新了对 glibc 的要求,需要最低2.28版本。最快的方法是把vs code的版本降到1.85(为什么是这个版本呢?打开VS Code的官方网站(https://code.visualstudio.com/)通过查看可以知道,具体的版本没有直接显示分类,他是根据发布日期来分类的同时和版本匹配。在网站的顶部导航栏中找到”Updates”按钮,点击进入下载页面。找了半天一直没发现,原来就在紧挨着的下面。远程主机不满足运行vs code服务器的先决条件。

Sunflower的博客 9582

软件架构师的主要工作职责及能力要求

软件架构师的主要工作职责及能力要求,认证

胡杰的专栏 2万+

通过PXE的方式实现Ubuntu 24.04 自动安装

之前都是通过PXE来自动化安装Redhat系列的,例如:Rocky9、Rocky10、CentOS7、银河麒麟 Kylin-V10、Kylin-V11、OpenEuler 24.03等。现在安装Ubuntu系列的跟红帽的不太一样,所以在这里介绍下。

邢宇宇的博客 1493

AI测试实战:用文心一言5分钟生成登录功能测试用例(附Excel模板)

本文详细介绍了如何利用AI工具(如文心一言)在5分钟内高效生成登录功能测试用例,并提供了可直接应用的Excel模板。通过对比传统手工编写与AI生成的效率差异,展示了AI在软件测试领域的巨大优势,包括减少重复劳动、避免边界条件遗漏和提升格式标准化。文章还包含实战技巧、高级应用方案和行业最佳实践,助力测试人员快速提升工作效率。

weixin_30379531的博客 410

软件架构师

软件企业中有一个角色叫做软件架构师,不同公司或者不同的环境下,对该职位的定位可能不尽相同。微软首席架构师Ray Ozzie 对自己职位的一些看法,倒是给人很多启发:1. 不管是设计一座桥梁还是一幢大厦,你是在特定的情况下应用各种设计模式2. 在做程序员的时候你要花时间让自己理解各种不同的模式,并能够认知那些设计良好的系统的特性,来提高自己对更高层次抽象的能力。3. 从不同系统中学到的越多,你就越能

个人沉淀 2918

SBM与超效率SBM模型实战:从原始面板数据到MATLAB高效实现

本文详细介绍了SBM模型与超效率SBM模型的核心原理,并提供了从原始面板数据预处理到MATLAB高效实现的完整实战指南。通过具体代码解析,帮助研究者掌握如何利用MATLAB进行数据标准化、模型构建、效率求解及结果可视化,从而精准评估决策单元的相对效率,尤其适用于在高效单元中进一步精细排名的场景。

weixin_29100399的博客 480

如何从普通程序员晋升为架构师

引言   计算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到。但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c、ctrl-v用得更加纯熟了。在中国,编程人员最终的归途无外乎

VaJoy童鞋的专栏 1747

告别VLC!用Python+OpenCV实时拉取RTSP监控流,并实现抽帧降低延迟(附完整代码)

本文介绍了一种基于Python和OpenCV的低延迟RTSP监控流处理方案,通过抽帧技术显著降低延迟并保持视频分析准确性。文章详细讲解了RTSP流处理的基础挑战、抽帧技术原理与实现,以及完整的低延迟处理方案,包括硬件加速配置和动态抽帧算法,帮助开发者优化监控视频流处理性能。

weixin_30333885的博客 275

【毕设实战】飞行器目标识别系统:基于YOLOv5的智能检测全流程教程,助你毕设脱颖而出

亲爱的同学,毕设是不是让你既期待创新又担心技术门槛?如果你的毕设方向是计算机视觉、智能检测,那这个绝对能成为你的“毕设王牌”。从数据准备到界面开发,我会把整个项目拆成“傻瓜式”步骤,让你能一步步做出属于自己的毕设成果。

know_F0727的博客 104

怎么才能成为一个软件架构师?

这是很多小伙伴问我的一个问题,最近看到Kai Niklas讲架构师的一篇文章,其中的真知灼见引起了我的强烈共鸣,尤其是后面的非技术部分。翻译过来(略有删减),分享给大家。我事先给一位同学看了一下,他说:当个架构师太难了吧,又要精通技术,还得会沟通,平衡,营销..... 我还是争取做个技术专家吧!扪心自问,我这个架构师在很多方面也做得远远不够,继续学习吧!如果你的未来职业目标是架构师,强烈建议仔细阅...

关注微信公众号【开源Linux】,后台回复『10T』,领取10T学习资源大放送,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频 474

扩展卡尔曼滤波 (EKF, Extended Kalman Filter) 算法详解及案例分析

扩展卡尔曼滤波是一种用于估计非线性动态系统状态的递归算法。其目标是通过结合非线性系统模型和观测数据,估计系统的最优状态。

闲人编程的博客 2386

[架构师]怎么成为一个软件架构师

转载:http://developer.51cto.com/art/201104/258361.htm  的确没想到随手写的东西有那么多的回复,不管怎样还是挺高兴的。在这里谢谢大家的关注了。其实做了这么多年的技术脑子里总会跳出很多的想法,但很少有时间静下来仔细地思考思考,写写博客也算是一种自我归纳和总结吧。 “软件架构师”这个名词也不知是什么时候进入我的脑中的,不过一直就很疑惑,总觉得和软件的

点测营专栏 447

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

怎样成为一个软件架构师续

<br /><br />怎样成为一个软件架构师续<br />         <br />         我写blog都是瞅着空写的,基本想法在脑子里过一遍简单梳理下就写了,可能欠缺些条理,不过我喜欢这种方式。上一篇的确没谈到底怎样做,这篇补上。<br />一、树立明确的目标和人生价值观<br />要为自己树立正确的目标首先要对自己有个清楚的认识,能确定这个目标真的值得你为之奋斗终生,真的能让你平静和快乐。那什么时候你才对自己有很清晰的认识呢,我认为对绝大多数人来说,20岁以前都很难做到。我自己是大学后半

修和无人见 3664

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

程序员进阶:怎么成为一个软件架构师?

程序员进阶:怎么成为一个软件架构师? 作者:编程小丫 来源:优快云博客 序:的确没想到随手写的东西有那么多的回复,不管怎样还是挺高兴的。在这里谢谢大家的关注了。其实做了这么多年的技术脑子里总会跳出很多的想法,但很少有时间静下来仔细地思考思考,写写博客也算是一种自我归纳和总结吧。  “软件架构师”这个名词也不知是什么时候进入我的脑中的

huangshulang1234的博客 8277

【转】怎么成为一个软件架构师

的确没想到随手写的东西有那么多的回复,不管怎样还是挺高兴的。在这里谢谢大家的关注了。其实做了这么多年的技术脑子里总会跳出很多的想法,但很少有时间静下来仔细地思考思考,写写博客也算是一种自我归纳和总结吧。 “软件架构师”这个名词也不知是什么时候进入我的脑中的,不过一直就很疑惑,总觉得和软件的Team Leader之间有些纠缠不清。不过以我的观点来看,软件架构师除了没有行政上...

aaa719070739的博客 124

【第34期】如何成为一个软件架构师?

导读:想要成为一个架构师是每位程序员的目标,那么如何成为一个软件架构师呢?架构的级别初级架构师:Application Level(应用级别),专注于单个应用,有非常明确的设计产品,...

华章IT官方博客 593
上一篇: 设计模式C++实现(16)——状态模式
下一篇: 怎样成为一个软件架构师续
tspangle
博客等级 码龄19年 81粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值