移动开发精英俱乐部 话题讨论第一期
罗飞 19:32
10562623967a021ac958b6941ef38fd9.jpg
罗飞 19:33
今天我们主要讨论,普通程序员通向架构师的最近路径,其实就是如何成为大牛
罗飞 19:35
排名第二的问题:如何面试一个合格的程序员,也可以一起讨论,其实他们是一类问题
Scott.唐 19:35
请架构师出来回答
罗飞 19:38
@陈驰远@青橙科技 @冯军 @葛亮 @郭尔吉 @蜂鸟 @海旭 @杜洁鹏 @姜建康 @李帅 @刘晨 @刘蕾 @刘明洋 @唐福林 @唐巧 @Johnson@环信 @伍星-优才学院 @薛伟 @张章 大牛们分享一下经验呀
罗飞 19:39
群里大牛太多,艾特到手软了,不一一艾特了, 工作3~4,是技术主管的朋友们,都可以分享一下呀
包子 19:39 😄
sama 19:42
现在开始吗?
李帅 19:42
基础扎实,多思考多实践
冯军 19:42
这个事一个大课题
罗飞 19:43
嗯嗯,慢慢地开始
草丁 19:43
不是架构师,不敢妄答[尴尬]
罗飞 19:43
刘蕾谦虚了
郑军 19:43
学习学习~😄~
罗飞 19:44
@李帅 @冯军 大家要学习些什么?给大家一些建议呗
李帅 19:45
冯军 19:46
我觉得架构师不在于掌握多少前沿的技术语言和牛逼的技术,而是在于对业务和技术发展的理解,能站在公司的角度,明确在不同的阶段用不同的技术架构,能够快速支持业务的发展,保障平台的稳健。
罗飞 19:46
[强]
李帅 19:47
@冯军 说的对,架构师不是学出来的
Scott.唐 19:47
[强]
曹贺春 19:48
程序员解决战术问题,架构师解决战略问题
sama 19:48
我觉得架构程序之前需要先架构你的人生。
Scott.唐 19:48
作为程序员,总感觉技术学不够
啊 Scott.唐 19:49
希望架构师们指条明路
冯军 19:49
架构师的技术栈会多元化,因为架构师不仅仅要做好技术(技术不仅仅是包含于开发层面,还有前端构建,运维,测试等领域),还有理解业务,不懂业务的架构师干不好架构。架构也不是设计出来的,而是伴随着项目的发展一步步演进的 发自我的小米手机
冯军 19:49
架构师的技术栈会多元化,因为架构师不仅仅要做好技术(技术不仅仅是包含于开发层面,还有前端构建,运维,测试等领域),还有理解业务,不懂业务的架构师干不好架构。架构也不是设计出来的,而是伴随着项目的发展一步步演进的
李帅 19:49
对于成长,我见过非常多人,每个人的情况都不太一样,需要因人而异,但最根本的,是对编程的热爱,和对美的思考
sama 19:50
@李帅 说得对,就是看你想要什么,程序只是个工具
冯军 19:50
[强]
sama 19:52
先有数据(业务或要解决的问题),后有结构,再有算法,最后架构之
李帅 19:52
我也曾劝很多人转行别做技术了。可能做他更热爱的更能到top级别
sama 19:53
如果爱的狂热,没准会创造一个行业
唐巧 19:54
我的观点是,程序员能够成长为架构师,有自己的努力,但很大程度上也依赖于机遇。淘宝的系统经历过10次重写,每次都面临新的挑战,这些参与其中的每个人都得到了亲自的锻炼和成长。因为他们赶上了好时候:电子商务和淘宝的快速发展。等这波人过了,现在新的人想在电商系统上有所深入成长,成为架构师就很难了,因为他没法理解这些设计是如何避免以前的各种问题和坑的。
罗飞 19:55
[强][强][强]
ㄆり ぼ βθ ˇˇ 19:55
[强][强][强]
sama 19:55
唐巧说的我认为是加速变为架构师的重要过程
唐巧 19:55
同样的,我认为移动开发领域正经历快速变革和发展的时期,这几年做移动开发的人,可以看到这个系统的演进过程,他们很可能成为移动开发专家。他们也有机会去设计一些非常基础的、有挑战的系统,来解决现在移动开发中遇到的问题。
李帅 19:57
这话题就大了,我觉得这里也只能先刨除天时地利不讲,只讲自己
刘晨 19:57
认同 架构都是磨砺出来的 而且不是一朝一夕 因为架构总是在不断的追求完美 但永远达不到~
梁杰 19:58
[强]
刘晨 19:59
因为每个领域都有 不同的设计规划和架构需求
唐巧 19:59
其实我想说的就是找准趋势,顺势而为,才可能在技术上接触到挑战和机会,单纯的努力可能不一定有效果。
草丁 19:59
嗯,顶楼上 李帅 19:59 嗯,这个很认同
刘晨 19:59
架构师需要平台 单凭个人专研不切实际
李帅 20:00
一个领域的先行者都有优势
Aries 20:00
应该需要对开发技术非常了解,并且需要有良好的组织管理能力。
刘晨 20:00
哈哈 所谓综合素质 现在技术都要去全栈了 太难了 组织 管理
Aries 20:00
业务逻辑 细节 实现
薛伟 20:01
程序员在基于本位模块开发上多想想支撑业务及整体需求,多考虑支撑业务问题的实际解决,以及突破所辖模块及端的协作兄弟的换位技术思考,多实践,多务实解决切实问题,自然发展成为架构师,所有技术架构思维都是相通的
郭尔吉 20:02
为什么工程师一定要想成为架构师?架构师不应该是工程师的一个副title吗?
sama 20:02
我说点心法吧,这个世界上最重要的是人,我们索要学习的也都是人创造的。所以跟随大师和领会大师的意图也非常重要,试想一下你有关注过大师的社交号或者社区没有,大师的作品有没有详细研究过。有没有每天坚持用谷歌查看现在世界上任何与架构有关的文章。有没有遇到问题去学习背后的原理。如果你做到了你就已经在架构师的路上了。
薛伟 20:02
面试合格的程序员,关键看思维,踏什么坑,怎么解决的
刘晨 20:02
要成为一个合格的架构师已经很难 更别提优异的 也就那么些个 合适的成长土壤
罗飞 20:04
[语音]
李帅 20:04
选一个有潜力的公司,把自己负责的事情想办法做到极致
刘晨 20:05
这个需要程序员有良好的心态的
富丽饼干 20:06
没有完美的架构,只有最适合需求的,架构更要理解需求,理解产品方向和PM的思维,一味追求技术上完美的架构,最后很容易做成空中楼阁,百度腾讯都很强调rd对产品的理解和PM的沟通能力
刘晨 20:06
嗯 严重认同楼上的 最怕陷入技术怪圈
sama 20:07
技法推荐:知道创宇技能表3.0
陈驰远 20:07
在技术方面,我觉得架构师首先得了解自己做的业务,业务上有规划,能找到现阶段最适合解决业务上问题的方案,并且对之后的发展有概念和对策。同时,保持对业界技术的关注,知道如何使用新技术解放生产力。永远只有最合适业务的架构。
刘晨 20:08
@张海圆@OneAPM 技能表很牛叉
李帅 20:09
还有一点,牛逼的人都是自学成才的,别指望有人能把你教成大牛
冯军 20:10
@张海圆@OneAPM 哈哈,我们大有借鉴
sama 20:10
技法心得,架构之物于只有三点 固化(磁盘等),运行资源(CPU等),传递(网络等)
冯军 20:10
余弦还是很有见地
陈驰远 20:10
我觉得借力也很关键,架构师得有一定的人脉,遇到自己不擅长的问题,能找到擅长问题的牛人,向他们学习。可以少走很多弯路
刘晨 20:10
高手懂得站在牛人的肩膀上而已
富丽饼干 20:11
以前我们做过一个一键自动生成代码的框架,程序员连页面都不用写,就在一个manager类里写业务逻辑就行了,这种情况下程序员连需求都不用理解,按产品文档堆代码就行了,结果就是人员流动非常大,程序员都觉得学不到东西,除了做架构的几个人技术上成长很快,其他人都感觉连Java都快忘了,只要会用这个框架就行
sama 20:11
你遇到的任何软件都可以分解成以上三点,权衡就看业务和$了,当然还有你的队友
Scott.唐 20:11
除了架构师之外,程序员还有其他的选择吗?
Scott.唐 20:11 请回答
富丽饼干 20:11 pmo
陈驰远 20:12 去优才当讲师[偷笑]
李帅 20:12
技术管理
刘晨 20:12
程序员通往架构师的路是比较窄的 不如转型更有机会
富丽饼干 20:12
我觉得转型产品经理也不错,有技术背景的产品经理以后会很吃香
罗飞 20:12
80bd57aef4ea38040131681c2e0029bc.temp.jpg
sama 20:13
@罗飞 此图胜千言/:strong
冯军 20:13
🐃
sama 20:16
E象限的人如果刷不到存在感会加速去B象限,今天的范围应该是讨论如何到E象限?
伍星-优才学院 20:25
还能讨论吗[呲牙]
罗飞 20:25
讨论呀
罗飞 20:25 @伍星-优才学院 说说你的看法
Scott.唐 20:26
优才当讲师是什么条件😂
伍星-优才学院 20:27
个人经历了从E到B,创业前是架构师。
包子 20:27
我们公司的话程序员的上升就是 se 以业务为导向的 架构师
伍星-优才学院 20:27
个人觉得技术上无论如何发展,甚至是做技术管理,其实技术是根基。
包子 20:27
做业务架构
sama 20:27
推荐心法 工具集 架构师的工具集都是精心对比研究过的,因为在架构师眼里效率是至上的。正如王牌特工里师傅带给徒弟的特工武器库一样。希望讨论结束后大家可以分享一些工具。
伍星-优才学院 20:28
来优才做讲师,欢迎啊,一向要求五年以上的经验,要求有大项目的经验,这是全栈讲师。普通大学生讲师,就只要两到三年,同时能把问题讲清楚,热爱教育即可。
伍星-优才学院 20:29
非常赞同前面说的,架构师的成长离不开平台的发展。所以小平台,很难造就优秀架构师,架构师都是在瓶颈和崩溃中成长的。
伍星-优才学院 20:29
不是在学习和实验中成长的,所以我们的全栈课,是说提升认识。
sama 20:30
可以拿航空母舰舰长比喻嘛 ?
伍星-优才学院 20:31
在架构师眼里,一切都是可以利用的工具而已,无所谓特别偏好,只有合适的场景。
李哲 20:31
架构师这个话题,我完全插不上嘴[擦汗]
sama 20:31
伍星老师/:strong
伍星-优才学院 20:32
创业也可以分享分享,创业是相当痛苦的一个事情。不建议轻易创业。
刘晨 20:32
创业就是一个最大的坑啊 哈哈
伍星-优才学院 20:32
创业需要的能力和资源,需要的坚持 ,承受的压力都不是一般的,所有创业的历程都是煎熬的历程。
Scott.唐 20:32
对于小平台的程序员该如何提升自身?
陈驰远 20:32
@伍星-优才学院 感同身受[拥抱]
李哲 20:33
小平台的程序员就要绝对的对代码有洁癖,一个功能要举一反三的去搞,我就是这样
伍星-优才学院 20:34
小平台的程序员,就是像这样参加群和活动就很好啊,扩大自己的圈子,学习东西,做实验,写感受,把东西搞扎实,早日完成下一阶段的职业发展。无论哪个阶段,一定职业规划 要明确,知道自己要什么。要达到 什么,不要计较个人的短暂的得失。
李哲 20:34 [强]
伍星-优才学院 20:34
我的每一个职业转型,都是先跳到一个低谷然后往上走的。
winsy 20:34
[强]
Scott.唐 20:35
[强]
Scott.唐 20:35
努力吧
伍星-优才学院 20:35
我举几个例子吧,上面说的都太虚。
富丽饼干 20:35
我到觉得成长阶段平台无所谓大小,哪怕做一个小说阅读器,也可以不断优化,发掘需求
Scott.唐 20:35
期待下次面基,能与大神面对面交流
富丽饼干 20:36
真到了瓶颈时,自然会有机会接触大平台
伍星-优才学院 20:36
我第一份换工作,是从软件公司进入互联网行业。在软件公司当时发展也不错,工资比互联网公司试用期高1K+(06年),但是还是毅然离开了。
sama 20:37
后端技术飞速成长建议看下dubbo的详细设计原理和作者架构此库的心路博客。
伍星-优才学院 20:37
第二份换工作,是两年后跟着创业,工资降到只有5K。但是经历了一个创业的历程,波澜壮阔。对个人的帮助很多。
李哲 20:37
其实一个工作环境也对我们影响很大
薛伟 20:38
哪家软件公司啊
伍星-优才学院 20:38
第三次就是创业。近三年以来,每天都是很辛苦的。但是从一个非常远大的理想入手,一步步坚持找出路到现在。
伍星-优才学院 20:38
12年工作,只换过这些工作,并且第二份工作的切换到创业其实是同一个老版。
伍星-优才学院 20:38
做GIS的。
sama 20:39
前端飞速发展建议看下互联网巨头的网站和雅虎理念,还有fis设计思路
包子 20:39
地理信息系统啊
伍星-优才学院 20:39
所以个人非常不喜欢频繁跳槽的,这其实是职业发展规划问题。
罗飞 21:08
总结成下面两个部分, 其实就是对应了两张图来说的。
第一部分:
先说说这张图,它几乎表示出了一个程序员可能走的所有职业路线。 当我们刚开始还是个初级开发的时候只能把自己变成高级开发才能有更多选择,可以选择管理线、专家线或者小老板线 。 图有四个象限,x轴代表金钱, y轴代表时间。 我们学习知识的路线是: 技术->技术+管理->技术+管理+商业 随着阶段不一样,我们学习的知识也有不同, 刚开始我们只做开发, 只需要学习技术知识就行了, 后面我们做到了管理职位,不仅要懂技术还要学习管理知识, 然后我们成为CTO\CEO或小老板了得学习一些商业知识才行。
第二部分:
从技术上来讲,要成为高级工程师或架构师,我认为可能需要经历3个阶段: 实现->借鉴->优化。
第一个阶段: 实现
在这阶段我们只在乎功能的实现,不会考虑性能优化,我们会觉得一些功能不会做,一些功能自己没做,我们只要实现了功能,就觉得很有成就感, 在这阶段中,我们要多去做事,没做过的就去做。要注意培养自己的全面能力,前端、后端、服务器等要去接触。 这个阶段就好比人类的居住环境,原始人的时候只考虑实现遮风避雨就行了,不考虑住得舒不舒服,所以找个山洞住就可以了。
第二个阶段:借鉴
当我们觉得基本所有功能自己都能实现的时候,我们会遇到自己的第一个瓶颈,这时候不要自满,要发现那只是自己的第一个瓶颈而已,自己的提升空间还很大,这时候建议大家多借鉴别人的东西,看一些开源程序的源码,读别人的程序能学到很多东西,或许有人认为别人能实现的自己也能实现,不屑于看别人的东西,美国一位大师Matt Zandstra说过这样一句话: 我们正在努力开发的功能,或许已经被其他程序员实现过无数次,我们怎么不借鉴他们的。 把重心放在自己特有的业务逻辑上。 这个阶段我还是拿人类居住环境来做比喻,人类在一定阶段后, 好像能借鉴鸟搭鸟窝的形式,自己能搭建茅草屋了。
第三个阶段:优化
当我们功能都能实现了,也借鉴了许多别人的东西时候,借鉴阶段也是有瓶颈的,当我们看了一两年开源代码后, 再看新的程序,已经看不出新的编程思想了,感觉编程思想都是以前看过的。这时候我们的重心会想着怎么优化我们的代码, 我们会考虑代码的可读性、安全性、可扩展性。这时候建议大家可以看一些设计模式、编程思想、安全方面的书。 我说的这三个阶段可能属于从初级程序员到高级程序员的阶段, 离正在的架构师可能还有点距离, 正如前面冯军所说,正真的架构师还有会理解公司业务需求, 能知道什么阶段用什么技术。
李言 🌙 21:15
面试一个感觉比自己厉害的人怎么办,比如说这个人经常在微博上分享blog
李言 🌙 21:15
感觉问什么都不合适
罗飞 21:16
那么就以请教他问题的心态 去问问题。
raywill(晓楚) 21:16
问他什么时候能入职,问他的理想[呲牙]
Aries 21:17
🙏🙏把喜欢的事情做到极致。不断学习和不断坚持。方向要对。不断沉淀积累。一份工作一份事业一种生活方式一个生活态度。认识大家很高兴。路上有你们为伴很幸福。😂😂👻👻
蜂鸟 21:17
问你觉的难的,㠪在头疼的问题[呲牙]
风早 21:17
[憨笑]
Aries 21:17
😂😂
郭尔吉 21:18
比你弱的人也要请教的态度的
罗飞 21:18
[ThumbsUp] 是的。
郭尔吉 21:18
一定要拿自己所长压制别人所短是不会有长进的
Aries 21:19
赞同
郭尔吉 21:19
在腾讯面试叫了好多朋友
快乐的小开发 21:19
太励志了都
快乐的小开发 21:19 [强]
郭尔吉 21:20
即使不是相关岗位也约来聊聊,只是因为对对方的技术实现感兴趣
周晶@新浪移动事业部 21:20
[强]
王志强 21:20
“比你弱的人也要请教的态度”
快乐的小开发 21:20 呵呵
郭尔吉 21:20
绝大多数人要聊好久的,面试是收获
•_• 21:20
很受用[强]
周晶@新浪移动事业部 21:20
感谢各位 能在这里跟大家相识 学习 非常荣幸 非常感谢
郭尔吉 21:21
长个心眼,换个态度面试厉害的人很有意思
郭尔吉 21:21
免费强行对方授课啊,多开心
郭尔吉 21:21
给对方端茶倒水,叫老师
李言 🌙 21:22
其实那次面试 基本上都问经历了没问技术。。比如说这个怎么做 的 那个这么做的 我也不知道说的对还是错
罗飞 21:22
[ThumbsUp] 面试别人 当给自己上课 , 太赞了
郭尔吉 21:22
反正我以前这么干,是不是手段太黑了
唐巧 21:23
@郭尔吉 大部分面试者其实做不到那么优秀的。
郭尔吉 21:23
周六约人家来面试,叫几个比我厉害的
郭尔吉 21:23
问细节
郭尔吉 21:23
那时我才4年经验
郭尔吉 21:24
约了adobe专家什么的… 还免过一个腾讯T4候选人…
郭尔吉 21:24
开心的很
郭尔吉 21:24
问到对方烦了,才结束,😄
罗飞 21:25
[Laugh]
•_• 21:25
看过郭大神的beeframework,学到不少东西
蜂鸟 21:25
即使不是相关岗位也约来聊聊,只是因为对对方的技术实现感兴趣。 这个……
唐巧 21:26
你这样不算尊重人家啦。别人是找工作的,你不如明说想请教一下,不然问半天又不给offer真的可以交朋友吗?
郭尔吉 21:26
当然会问是否有兴趣
琥珀 21:27
[强]
郭尔吉 21:27
也会问实际招聘岗位是什么,是否有兴趣
郭尔吉 21:28
那时候背景特殊的
郭尔吉 21:28
iOS2.0,绝大多数人没iOS经验
琥珀 21:28
面试者和面试官两种心情
蜂鸟 21:28
在北京,随便去个地方都要2小时
郭尔吉 21:28 我开发了iOS第一款QQ游戏
Aries 21:28
哈哈 弱弱的说一句我十分讨厌遇上你描述的面试官
郭尔吉 21:30
根本那时候找不到iOS人才,所以只学习态度找兴趣相投高手了
郭尔吉 21:30
话题跑偏
罗飞 21:32
没有呀, 我们今天也讨论面试。 今天话题是 讨论怎么成为架构师 顺便可以讨论面试的问题, 他们其实是一类问题。
罗飞 21:36 感谢大家今天的分享 , 收获很多
加群主罗飞微信(微信号luofei614),可申请加入移动开发精英俱乐部。
717095195321390726.jpg