开场白

前些天我写了篇博文累和加班多没时间都不是理由,再不挣钱就老啦,我的本意是谈谈感受,顺便介绍下我的书,java web轻量级开发面试教程(京东有售),出乎我的意料,这篇文章收到了很多回复,有同意的也有反对的。张泰峰朋友还写了篇文章【学习的艺术】钱会不会来?,其中引用到了我的文章。这篇文章旁征博引,让我很受教,文中的观点对我来说也很有启发。

不同的人由于处于不同的环境,分析考虑问题的出发点和方法未必相同,价值观也未必一致,当然更不能说谁的观点一定无谬论谁的观点一定是一无是处。所以,我在此一一感谢赞同我观点的朋友,更感谢张泰峰朋友引用我的文章,对于一些反对我观点的,只要看了我的文章,对我也是支持,我也得感谢。

开场白至此结束。

///

1 架构师的基础

对程序员而言,相对高级开发,架构师是一个比较高级的职位,当然工资也更高。

在升级前,程序员至少需要具备如下的能力或经历。

1 至少完整地完成一个项目,具体来说,做过需求分析,把设计好的需求转换成文档,设计数据表结构,开发测试调优,尤其需要做过“在服务器上部署”以及“通过日志排查问题”的事情。

2 得具备分析和调优的能力,比如能通过执行计划看SQL语句的改进点并调优,能通过JVM日志看内存使用情况并提升内存使用性能,最好还能掌握一些优化的手段,比如能通过消息队列处理高并发的请求。

3 最关键一点,学习能力和动手能力强,比如遇到一个自己事先不懂的问题,能通过百度等手段找到解决方案,并能自己动手解决。又如,在事先不知道Linux LVS如何搭建的情况下,能在查资料后,动手搭建这个框架。

这些是架构师的基础,一般来说,工作4到5年,而且比较上心的话,这些应该都能具备。

2 架构师的高级开发的差别

需要解决的问题问题不同,高级开发的职责一般是能把需求点转成代码,并能把最终成果发布到服务器上。而架构师得考虑如下两方面的问题。

第一,在高并发情况下(比如双十一),如何保证系统能正常工作。

第二,需要确保这套系统能适应多次改动(即可维护性需要好)。

具体而言,高级开发一般只需要考虑“单机版”的情况,而架构师更得考虑“集群”,需要能在多台机器上构建项目体系。至于可维护性,设计模式能解决一些,架构师更需要降低模块间的耦合度。

3 我走过的路以及我的体会

其实本人目前最多也就是个初级架构,但看了不少架构相关的文章和视频,也切身参加了多次架构师的面试,所以这块自认为还有些发言权。

第一,在百度上搜索“高并发框架”,能搜索到很多关键信息,比如消息队列,RP,CDN,集群等,先大致了解这些关键的模块有什么作用,这个时间段大概可以持续7天。

第二,广看书,目前市面上有很多架构书,我买了4本,用过了2个星期全看了一遍,看完后就知道架构师手头可以利用的一些武器,比如Nginx,LVS,Hystix,SOA等。

第三,在这个基础上,思考这个问题:如果我是架构师,该怎么设计“秒杀”系统,或怎么设计一个“高并发的架构”。

具体包括:HTML静态化,Nginx如何配置,如何通过Redis+Lua等方式实现限流,如何通过Hystrix实现降级,如何实现数据库分层和分离,如何配置RabbitMQ消息队列。

其实在这些内容里,真正需要写代码的地方并不多,更多的是进行配置

目前我只能有这些体会,也请各位大神告诉我后面该怎么学,虽然我不知道后面的内容,但我感觉到后面应该靠实践了。

4 得靠实践来加深体会,但找到实践机会很难

这块其实是关键,但也是难点。一般来说,高级开发在公司里是没有机会实践架构师的工作,所以只能在跳槽成架构师后才会有实践机会,但如果没实践经验,一般是通不过架构师的面试的,难点就在这。

这里我的体会是,得自己先根据一些现有的资料,设计出一套面向高并发的架构,无需太细(因为面试时时间有限不会谈很深入),但需要具体说出采用的哪种组件,比如Hystrix,nginx,并能说出一些关键的配置信息。这样就能让面试官确信你具备这方面的能力。当然我也见过一些人修改简历,把之前做高级开发的经验改写成架构师的,而且也能面上,这个我就不说了,大家自己斟酌。

一般来说,参加过几次架构师的面试,就能知道会问什么问题,以及该什么说,我也见过一些高级开发在多次面试后能头头是道地“假装”成架构师(但能力一定不行)。

因为我的公司有机会让我实践架构知识点,所以我无需“假装”。目前的现实情况是,可能在一些互联网公司里,高级开发能有机会实践架构技能,在一些做业务的公司,或一些小公司,高级开发还真没机会实践架构知识点,这些人如何升级,我真不知道。

5 请大神帮忙

这里我问两个问题,请大神告诉我。

第一个问题,如果我想用Spring Boot开发企业级的微服务,我该看哪些资料?比如数据库该如何配置?消息中间件该怎么设置?等等。或者可以推荐给我几本这方面的书。

第二个问题,这个问题刚提过,如果我想开发一个高并发的架构,比如可以应付双11这样的并发量,我该考虑哪些问题?或者也可以推荐些资料。

最后是鸡汤文

我常听说有“中年危机”,不过我在电视上看到过如下的场景,看过后我不得不有危机感。(这些我只是从电视里看到的,无意映射到具体的人)

场景1,目前是冬天,东风萧瑟,某人在下班后,周末时,一个人待在北上广出租房里,市中心很喧闹,但兜里的钱不够,甚至在可以预见的将来,靠攒的钱一定无法买房。如果这个人已经是30+,还单身,似乎感觉更加...。

场景2,也是在北上广,到了谈婚论嫁的年龄,对方也比较合适,但目前只能租房,租的房还离公司很远。一定想买套房子,这样至少不算漂浮,但双方(甚至双方家庭)加起来的钱不够首付。

在上述场景里,至少当事人还年轻,还有机会发奋挣钱,还有希望。大家可以想象些已经“绝望”的场景,比如某人40+,一直在小公司里干,也就是一般的高级开发,已经没什么机会可以升级到架构师或开发经理了,而且公司也不算稳定,指不定就哪天裁员了。

更凄惨的场景就不讲了,大家可以脑补,这些场景里,他们已经无法靠基本的努力来改变自身,甚至是维持生计。

我不想到等到绝望之时才后悔,这即是我有挣钱紧迫感的原因。自然,这个优先级绝对是要排在亲情身体等因素之后的。

有危机感之后就会有行动,比如学习,努力工作,跳槽甚至打零工,这样或许还是无法有大改变,但做了之后至少有希望。最后我也附庸风雅一下,借用诸葛武侯的后出师表里的句子来表述目前我的想法。

转载于:https://www.cnblogs.com/JavaArchitect/p/8046299.html

分享升级架构师路上的体会,兼说我为什么有挣钱紧迫感相关推荐

  1. 雪球在股市风暴下的高可用架构改造分享 | 首席架构师亲述应对30倍峰值历程...

    https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209562933&idx=1&sn=d9a09f7727d1bd8 ...

  2. 搜狗大数据总监、Polarr 联合创始人关于深度学习的分享交流 | 架构师小组交流会...

    架构师小组交流会是由国内知名公司技术专家参与的技术交流会,每期选择一个时下最热门的技术话题进行实践经验分享. 第一期:来自沪江.滴滴.蘑菇街.扇贝架构师的 Docker 实践分享 第二期:来自滴滴.微 ...

  3. 【20210903】【实践分享】架构师岗位的一次面试

    时间:2021年09月03日 作者:小蒋聊技术 大家好,欢迎来到小蒋聊技术.小蒋准备和大家一起聊聊技术的那些事. 最近呢,小蒋参加了一些面试.小蒋决定打破自己原来的能力圈,去迎接新的挑战.风险与回报往 ...

  4. 关于开发转岗架构师的一点体会

    今天看到有关于开发转岗架构师的文章,我从项目转到架构也有一年了,一点体会总结下. 需要的背景和业务技能: 1.已经是某一个业务领域的专家,在该领域有从设计.开发到上线,有完整的经历,业务领域被周围同事 ...

  5. {博学谷学习记录} 超强总结,用心分享|狂野架构师-前置互联网架构演变过程

    本章以系统架构,数据架构,两种维度来进行讲解 目录 1 系统架构 1,1 单体架构 1.2 中台战略 2 数据库架构 2,1 单体架构 2.2 主从读写 2.3 分库分表 3 总结 1 系统架构 1, ...

  6. 【博学谷学习记录】超强总结,用心分享|狂野架构师之比较常用的技术栈整合

    在今天的学习中,老师把当前比较流行的一些框架技术栈做了一个梳理,很多流行一时的的框架因为技术迭代或其他的一些原因已经泯然众人,我们这些程序员只有不断的学习新技术才能适应这个瞬息万变的职场.哎,有时候想 ...

  7. 总结我在架构师升级过程中的那些坑以及各种体会

    先说明,本文说的是技术架构,而不是业务架构,另外,这个架构是指目前比较热门的高并发大数据的架构.论能力,我还达不到架构师的水平,所以我目前还在不断努力. 本文回顾了我在架构师方面的学习途径和学习方式, ...

  8. App架构师成长路线

    点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识​ ​ ​ ​参与文末话题讨论,每日赠送异步图书 --异步小编 架构师,软件技术领域一个高大上的名词,业界有言"人人 ...

  9. 架构师技术领导力成长之路

    今天跟大家分享一点架构师技术领导力成长的心得体会,以我在当当那几年做的事情为例,试图去总结一些普适性的方法.每个人的成长路径都不同,我能分享的只是自己的经验,没有一个通用公式能够帮助大家搞定一切问题, ...

  10. IT架构师_隽语集(Design Thinking_0001)

    前言:A段与B段架构设计的区别是:A段获利思维,B段成本思维:A段算计敌人,B段设计自己:A段预见失败,B段势如破竹.我们都很欣赏孔明的空城计和千古文章"隆中对",可是孔明没有写出 ...

最新文章

  1. python 参数解析_python的函数对参数解析分析
  2. copyMakeBorder函数
  3. C语言main()函数详解
  4. 案例实操:Azkaban调度spark作业
  5. VTK:Qt之BarChartQt
  6. cocos2dx 响应windows键盘事件
  7. 软考网络工程师学习笔记3-广域通信网
  8. react环境搭建(-)
  9. web项目无法热更新
  10. 你所不知道的我国交通工程早期经历了怎样的发展?
  11. 最简单的方法来压缩图片,改变图片大小
  12. 如何建立团队知识库管理系统,把分散信息有效整理?
  13. Python爬虫:新浪新闻详情页的数据抓取(函数版)
  14. 2021年焊工(初级)试题及解析及焊工(初级)实操考试视频
  15. 动作捕捉系统用于下肢外骨骼开发
  16. [编程题]evaluate-reverse-polish-notati
  17. 运动健身耳机什么好?四款运动蓝牙耳机之好评
  18. 软件工程—思考项目开发那些事(一)
  19. 车辆出险保险索赔技巧——让每个车友都能学习
  20. 《C语言程序设计》江宝钏主编-习题5-4-素数表!!!!!

热门文章

  1. 可编译运行的安卓USB/OTG摄像头程序
  2. png2theora.c: undefined reference to `png_sizeof
  3. ORACLE账号注册之后,要修改密码才能用
  4. 解决办法:ubuntu登录后,桌面空空如也,状态栏没了
  5. WIN10升级的做法有待友好设计
  6. DeepStream运行范例出错,提示缺少libnvinfer.so怎么办?
  7. C++ OpenCV 学习笔记【1】-安装环境搭建+基础文件资源链接
  8. VC++ DLL注入目标程序
  9. python中from的用法_Python import用法以及与from...import的区别
  10. wsl使用可视化界面_WSL 科学计算〇 | 适合计算化学的环境配置