A. 最赚钱十大行业是哪些
学视频剪辑!理由很简单,容易学(不像其它行业学习成本高,难度大),适合短期3-4个月短期学习,而且行业缺口非常大,无论是找工作还是自己在家里接私单,月收入轻松过万,两三万也是稀松平常。推荐一个免费“短视频剪辑后期”自学网:www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=313&zdhhr-2208350788399383068
因为现在短视频的崛起,任何企业,任何工作室或者个人都需要制作剪辑大量的短视频来包装品牌,发抖音,发朋友圈,发淘宝等自媒体渠道做展示。因为每天都要更新并发布新内容,所以剪辑师根本招不够,,供需失衡就造成了剪辑师高薪水。
而且剪辑这个技术并不需要高超的电脑技术,也不需要美术音乐造诣,基本都是固定套路,要什么风格的片要什么节奏,经过三四个月的培训都可以轻松掌握。但凡有点电脑基础会用鼠标拖拽,会点击图标,会保存除非自己不想学,没有学不会的。但是要学好学精,就一定要找专业负责的培训机构了,推荐王氏教育:王氏教育线下面授班课程介绍:www.huixueba.com.cn/school/yingshi?type=2&bdzdhhr--2208350788399383068
在视频剪辑这块,王氏教育是国内的老大,且没有加盟分校,全国每个城市都是总部直营的连锁校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合0基础的学生。
B. 谁能准确的告诉我架构师是什么
系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想象力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。
架构师的分类:
1、软件架构师
软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。
2、信息架构师
信息架构师即Information Architecture,是一个常常被误解的职称。他们是设计者?开发者?管理者?还是以上全部?我们在本文将探讨信息架构师是做什么,为什么它和可用性相关,以及在信息架构中需要用到的工具/软件。
3、网站架构师
网站架构师是网站系统、功能、模块、流程的设计师,架构师,好比是高楼大厦的设计人员,通常一座大厦在建之前,都先由设计师将蓝图描绘出来,包括其形状、结构、尺寸、材料等等,然后建筑工程师带领工人们按照蓝图将大厦一层一层地建起来。
(2)架构员的最好好治疗方法扩展阅读:
架构师的要求:
1、必须具有丰富的软件设计与开发经验,这有助于理解并解释所进行的设计是如何映射到实现中去。
2、要具有领导能力与团队协作技能,软件架构师必须是一个得到承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。
3、在技术能力方面,软件架构师最重要也是最需要掌握的知识是构件通信机制方面的知识,比如远程过程调用(RPC,Remote Procere Call)、JAVA RMI、CORBA、COM/DCOM、各种标准的通信协议、网络服务、面对对象数据库、关系数据库或者NoSQL数据库等等,另外,架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法。
C. 程序员,如何少走弯路,成为一名技术专家或者架构师
#1 专业技能
@首先当然基础知识要扎实,一些经典的专业书籍一定要看。比如,设计模式,算法,数据结构,所在领域的编程语言的专业书籍等.关于不同的能力阶段,需要读取什么类型的书籍,请参考ThoughtWorks(中国)程序员读书雷达,每年都有更新。
@作为架构师,review别人的代码并给出合理的建议是基本功,比如变量或者方法命名的规则;所以代码大全,重构,改善既有代码的设计,Clean code 等等肯定需要看。
@ 对于某一个技术领域或者业务领域,一定要有一门技术是精通的,因为这样你才能体会到以后遇到自己不懂的技术的时候,如何能够快速成为这一方面的行家。
@ 平常有时间一定要多多进行代码的训练,也就是Martin Flower常说的Kata练习,这个比喻来自于跆拳道,跆拳道选手一般每天都会找一些基本的招式,进行反复的练习,从而训练肌肉的条件发射,那么对于我们程序员来说,一定也要进行持续的编程训练,比如上面提到的那位同事,给的建议是,虽然把大部分时间花在了沟通和协调上面,没有机会写代码,但是自己一定要利用业余时间,自己找一些例子来联系,比如,参与开源项目,或者到网上去搜索一些大师的经典Kata联系的例子;或者看工作里面是否有一些小工具,是否能够提升自己的沟通效率,当然已经天天写代码的童鞋们除外。请参考我转发的另外一篇文章和另外一篇介绍能在线练习Kata code的文章.
@ 最好能够在精通一门语言的基础之上,学习其他的语言,从而站在一个更高的角度,对于程序语言有一个更高层次的抽象认识,比如,学了Java之后,可以学学Ruby,Groovy,C#等等,其实语言之间都是相互借鉴的,比如Lamba表达式,连java也慢慢的向函数式编程方向靠拢。
@ 如果有时间,一定要自己维护一个博客,既然选择了架构师,就决定了自己以后不仅仅是一个技术专家,同时也要成为一个布道师,为企业组织或者社会上的其他IT同行们贡献自己的一些微薄之力。
@ 多参加一些社会上举办的软件专业会议或者活动,了解当前比较流行的技术和框架。
@ 这条不提倡,我以前有一个同事,几乎每年都要更新简历1~2次,目的不是真正的换工作,而是通过面试得到当前市场上大部分公司正在使用什么技术和框架。对于这条,请慎用!!!!
@如果有结对编程的机会一定要好好珍惜,特别是和高手大拿一起结对的时候。
@如果大家上面都已经做的非常的好了,这个时候可以看看架构设计方面的书籍,比如企业应用架构模式,架构之美等等。
@ 去51Job上搜索架构师这个职位标签,看看不同行业的企业对于架构师的技术要求和标准,然后结合自己当前所处的行业和你自己的技术特点,比如擅长前段或者后端,有选择性的学习一些自己感兴趣的技术或者方法。
@ 关于常用的网站,没有定论,笔者主要是根据搜索的结果去发现适合自己的网站,所以需要读者掌握一定的搜索的技巧,笔者一般喜欢用英文搜索,这样的话资料比较全也比较新;如果下载电子书的话或者查看博客的话 一般会首选CSDN;如果是解决工作中的问题的话,在StackOverFlow上面被解答的概率是最大的,此外平常自己也需要去积累一些自己感兴趣的技术的人气比较旺的网站列表,比如一般和Window相关的就是MSDN;如果对Java入门比较感兴趣,可以看看这个网站。对于一些开源的框架,一般都会有想对应的社区,google一搜索,很快就能找到。另外一个德国人写的博客的非常的精致,如果对Eclipse插件开发特别感兴趣的朋友们可以去参考它。
@大家如果时间和精炼允许,最好能在Github开源和分享自己平常写的代码。这样一方面可以熟悉git用法,另外一方面也可以把自己平常练手的代码免费保存,何乐而不为呢?
@如果大家平常遇到什么问题,可以到StackOverFlow上面去寻找答案;当然,如果你能自己注册一个StackOverFlow账号那是最好不过的,这样不但可以提问,还可以帮助别人,同时上面还有很多工作签证的工作机会。
#2 软技能(现代社会,一个合格科学家不仅仅是某一个行业的技术专家同时也是一名专业的社会活动家)
@遇到问题,一定要多想,遇到一个问题,如果解决了,就要反思为什么能够解决,如果以后遇到类似的问题,
如何更快速的解决。
@英语的重要性,不言而喻,因为现在很多新技术的框架的中文文档非常的少,即使翻译成中文,也是二手的了(国内自己的开发的一些开源框架除外)
@ 有时间的话,看一些沟通方面的书籍,如果有参与沟通的机会的时候,一定要想如何把沟通做的更好更舒畅。
@ 如果有机会的话,可以参加PMP的考试,关于如何备考PMP,请大家参阅另外一篇文章:如何备考PMP,但是如果不想参加的话,也没有关系,至少要涉猎到项目管理方面的书籍,否则以后如果成为架构师之后,客户或者管理者给你说一些项目管理上一些专业术语时,到时候就会一头雾水。
@架构师其实从某种意义上就是一种角色,而不是一种职位。一定要时时刻刻保持空杯心态。
@一定要有一颗保持饥渴学习和耐得住寂寞的赤子之心。
@当前的技术节凑是非常快的,特别是结婚以后又有小孩了。一定要好好的利用自己碎片时间,对于一些技术,当时读不懂不要紧,但是一定要记住和了解其关键词,这个主要是为了拓宽自己的视野。比如,当前你想自己开发一个系统,结果已经有一个开源框架实现了,而且还很稳定,这个时候,自己就没有必要重复发明轮子了。
@与不同的技术、编程语言、设计模式和结构等(甚至是它并没有在日常中给予你直接的帮助)打交道。你永远都不知道这些知识是否会在未来派上用场,但是对你绝对是有益无害。
@在工作中,能够帮助到别人解决技术难题,一定要尽量全力以赴,因为这不但可以赢得同事的好感和口碑,同时也能增长你解决问题的经验和提高你的技术思维能力
@ 一定要掌控好自己的时间,对工作没有帮助的会议,能不参加尽量不要参加,当然,企业安全,公司规章制度如果是强制性的,该参加还得参加,但是如果没有工作效率和扯皮的会议,尽量避免参加。
@程序员要耐得住寂寞,要在自己的领域深挖,不能看啥火,就学啥,一定要有自己的想法和判定,如果决定不了,可以向资深的同事或者朋友沟通。
@尽量参与到项目中的编码,因为架构师不能与项目脱离。
@ 如果有机会可以锻炼一下自己在大众环境下的演讲和PTT的能力。
@有机会多做知识分享,因为你一旦分享了知识,你就会对这门技术有深刻的印象,同时也能树立在同事中的良好的技术形象,从而赢得更多的专家影响力而不是职位影响力。
上面只是我当前能想到的,知易行难,知道了上面的一些经验,并不代表年轻程序员们就能马上成功,毕竟这需要一个凤凰涅槃和实践的过程,但是肯定能帮助有志于于此的年轻程序员们少走一些弯路,限于笔者水平,如有总结不恰当或者不到位的地方,还望批评指正。
D. 如何从普通程序员晋升为架构师
程序员晋升架构师的十项必备技能
1、卓越的程序员 Fred George先生说:“不编程的架构师的职业生涯是短暂的”。他说这句话的背景主要是针对有些架构师的设计与实现有断层的问题而言的,因为如果架构师不去 实践,只是想当然的认为“没问题,这个想法能实现”,那么对于项目的落实而言是个很大的隐患。支付宝架构师冯大辉也表示过,架构师是一个比较“虚”的岗 位,主要的问题都在“落地”的过程中。--ITJOB--
2、抽象思维 很多优秀的架构师们都一致的表示,逻辑思维和抽象思维能力是一个架构师最重要的素质。eBay的 Randy Shoup先生称拥有条理清晰的逻辑思维能力的人“就像稀有动物那样难找”。Fred George则表示“驾驭概念的技能,在我看来是每一个人最高的潜力”,并表示自己不太介意这样一个苗子在其他方面的技能和经验的匮乏,因为在他看来除了 思维之外的其他因素都是可以培养的。 --ITJOB--
3、技术前瞻性 有人谈到技术高手与架构师的区别就在于,架构师不光是着眼于现在,不仅仅局限于开发细节,比如如何调用,如何并发等等。而是跳出三界外,考虑一下面向未来问题和潜在风险的应对之道。--ITJOB--
4、问题解决大师 只是,架构师之所以为架构师,是在于他们在面对庞大系统之时,仍然能够敏锐的发现其底层之真实。这不仅需要此哲学层面的“内功”,还需要架构师具有多领域知识和经验的积淀。--ITJOB--
5、多领域知识 架构师身为一名技术领袖,需要通过发散知识的光芒来统御开发团队的。如果只是对本行业知识做到烂熟于心,那还仅仅是一名熟练工的水平。要想晋升更高的层次,还需要跳出“只缘身在此山中”的困惑。--ITJOB--
6、沟通能力 做到人性化的沟通,需要我们在平时就进行培养。写出大部头的架构书,有的时候并没有用VISIO画出的简单架构图好理解。人对图形理解远远大于对文字的理解,直观简单的UML图可以极大的方便程序员理解架构师的意图。--ITJOB--
7、内力 很多人理解的内力就是开发技术,包括语言的掌握、对框架的掌握、数据库管理能力、安全管理能力等等。但是我们看到,架构更多的内力体现在对技术的综合运用上,光会编程的程序员,最多就能做到高级程序员,也就是技术实现上的高手。 --ITJOB--
8、权衡取舍 Fred George先生提出了“短期滥用”的说法,即在系统能够承受的范围内做出一些妥协。在ATAM方法中,分析的思路是基于“情景”的:你需要提出各种可能 的情景,然后来证明在每一个用户使用场景中,系统的哪一些内容是必要的、不可丢弃的——从而确定哪些部分是暂时可以不予考虑的。--ITJOB--
9、管控能力 架构师在管理和控制的能力上,需要有自己独到的见解,而不是简单的认为这是项目经理或者财务部门 的事情。身为技术专家的架构师,随不需要处理那些烦杂的日常管理。奇虎架构师李钊在一次接受采访时道出过架构师们的心声,技术人才转向管理就是莫大的浪 费。对,如果架构师只是一味的去进行项目管理,那就和其他市场人员没有任何区别了。在这里架构师所需要的管理与控制,其实是从技术的角度,对一些问题的控 制,特别是开发过程中的监控,而不是普通意义上的纯粹管理。--ITJOB--
10、艺术气质 一个优美的系统则是可以像有机的生命一样成长的,这是因为从系统开始架构的那一刻起,架构师就考 虑到这个系统以后将会面临的挑战,为系统的成长预留好空间。项目经理经常会对这位架构师提出的看似理想化的要求不置可否——项目经理只想着能够尽快以比较 低的成本实现客户的需求,然而这些充满艺术美感的想法其实是打造健康——因而优美——的系统的根本因素。--ITJOB--
E. 我想做一名系统架构师。拿到哪些证比较好呢
系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能马上给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。
软件系统架构师综合的知识能力包括9个方面,即:
1、战略规划能力。
2、业务流程建模能力。
3、信息数据结构能力。
4、技术架构选择和实现能力。
5、应用系统架构的解决和实现能力。
6、基础IT知识及基础设施、资源调配能力。
7、信息安全技术支持与管理保障能力。
8、IT审计、治理与基本需求分析、获取能力。
9、面向软件系统可靠性与系统生命周期的质量保障服务能力。
作为系统架构师,必须成为所在开发团队的技术路线指导者;具有很强的系统思维的能力;需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,哪些是无效的。架构师应当是一个成熟的、丰富的、有经验的、有良好教育的、学习快捷、善沟通和决策能力强的人。丰富是指他必须具有业务领域方面的工作知识,知识来源于经验或者教育。他必须广泛了解各种技术并精通一种特定技术,至少了解计算机通用技术以便确定那种技术最优,或组织团队开展技术评估。优秀的架构师能考虑并评估所有可用来解决问题的总体技术方案。需要良好的书面和口头沟通技巧,一般通过可视化模型和小组讨论来沟通指导团队确保开发人员按照架构建造系统。
F. 如何成为架构师 7个关键的思考 习惯和经验
工作了挺久,发现有个挺有意思的现象,从程序员、高级程序员,到现在挂着架构师、专家之类的头衔,伴随着技术和能力的提高,想不明白的事情反而越来越多了。这些疑问有些来自于跟小伙伴交流,有些是我的自问自答,有些到现在也想不清楚,这篇文章就来写一写这些问题。
如何更高效的学习?
很多新人程序员一开始在学习上找不到方向,但我想在渡过了一段时间的新手期之后这类问题大多都会变得不再那么明显,工作的方向也会逐渐变得清晰起来。
但是没过多久,能了解到的资料就开始超过每天学习的能力,像是买了没看的书、收藏没读的贴、mark了之后再也没有关注过的文章越积越多,更别提每天面对各种技术分享或者微博里的新鲜玩意了。
大多数人每天能留给自己学习的时间有限,这个阶段如何提升学习效率就成了要解决的重点。
说说自己提升学习效率的心得,其实非常简单:体系化的学习。
我曾经很喜欢看一些博客或者是一些“看起来”比较通俗易懂的文章,每天在微博微信里刷到什么技术文章就mark下来,基本上几分钟就能读完。可一段时间下来,虽然读了不少东西,但是还是有种在原地打转的状态,并没有感受到有什么实际的提高。
最后实在忍不住,抱着厚书硬啃了一遍,突然有种豁然开朗的感觉:读书时自己学到的是一张完整的知识网络,每个知识点和其它内容相互联系和区别。这种全方位的理解比起一篇篇独立的文章,不知要高到哪里去了。
而读了一段时间书之后,渐渐原本不在一个体系之内的知识也会慢慢联系起来,比如说后端服务的开发,简单梳理一下,就成了这样:
在重复了几次痛苦的学习-梳理过程后,再去看一些独立的文章或者资料往往会事半功倍,因为能在体系内找到相对应的知识,甚至有时候一本书里一页只需要看一句话,点破那层窗户纸,就可以掌握新的知识。
你是怎么知道这些的?
工作中总是会遇到各种各样的问题,有几次把问题处理过程总结了一下,发了出来,之后就像滚雪球一样,有越来越多的小伙伴来咨询问题,比如说:
前一阵帮忙排查一个性能问题,系统压力稍微一大就会频繁Full GC,压力降低之后又恢复了。
某个小伙伴接入代码质量检查系统之后发现每次构建会报一个莫名其妙的错误,打不了包。
某次代码有bug,小伙伴跑来来问我git怎么才能回滚代码。
每次查完这种问题的时候,一些刚毕业没多久小伙伴们就会用一种崇拜的眼神看着我,然后大多会问:“你是怎么知道这些的?”
实际上,虽然我一直在不断的学习,但是面对工作中无穷无尽的新问题,大部分问题还是会命中我没有掌握的那部分区域。每次有人问到我不了解的知识时我都会非常开心:还有什么比带着问题学习更有效率的学习方法呢?
而且幸运的是,在建立了自己的知识体系的基础上,学习新的知识通常都能很快的上手,解决一个问题往往只需要多了解一个知识点而已。
举个例子,频繁Full GC的问题,以前查过很多次GC的问题,大多数是Java程序或JVM内存泄露问题,而这次内存没有泄露,GC吞吐量也正常,那么我只需要查一下如何查看一段时间内创建的最多的对象的方法就可以了。
回到刚才的问题,小伙伴们问我:“你是怎么学到这些的知识的?”
答案是:在你问我问题之后现学的。
架构师应不应该写代码?
似乎隔三差五就能看到一些关于架构师应不应该写代码的文章。我是属于写代码派,因为我本身就喜欢写代码。但是,当工作职责发生变化之后,如何保持写代码和其它工作之间的平衡就成了问题。
从个体效率上来看,我自己亲自写代码,和很多人相比没有什么绝对优势,甚至有些人码代码的速度比我还快一些。
但作为架构师,参与写代码还是会有一些不大不小的收益。
一般来说合格的程序员对于明确分配的任务会完成的很好,但是大部分情况下“架构”这个词意味着架构师并不会涉及太多细节,架构图和代码实现之间总还是有些距离,你无法保证所有人都会正确的理解你的设计,或者是程序员写代码时遇到障碍时会立刻想出足够优雅的解决方案。
之前写过一篇关于烂代码的文章 ,大部分烂代码并不是架构师的设计问题,如果程序员没能很好的理解设计或者是经验不足,往往会做出一些非常匪夷所思的东西。比如我见过刚毕业的程序员为了防止模块耦合而将耦合的代码又拷贝了一份,或者为了“优化性能”而尽量把所有逻辑写在一个函数里。
如果不能及时发现并改正这些问题,那么这些地方就会变成“正确的错误代码”,或者”不是我写的“代码,或者”我靠我也看过那段代码“之类足以被挂上耻辱柱的玩意。这种问题算是架构师的责任吗?作为一个视名声如命的架构师,我认为是的。
在我看来,写代码的架构师更像是在做后勤保障的工作:在代码中第一时间发现可能存在的问题,向其他人提出警告,或是给予其他人改进的意见,必要的时候或是给其他人演示一下正确的姿势。
大部分情况下我作为架构师并不需要揽下“核心模块”开发这种工作,毕竟我能调配的时间太零散了,效率难以保证,很多人在专注的情况下比我做的好很多,我只需要保持大局观需要适度参与就可以了。
总的来说,架构师和程序员在某些方面上有点像产品经理和用户的关系,大部分程序员并不会主动告诉你他们想要什么、哪里需要优化,甚至自己也不知道这些。想要做出好的产品,捷径之一就是跟用户做同样的事情。
实践:开会是个技术活吗?
我觉得应该没有人喜欢开会,身为一个程序员,没有几个人的志向是当什么职场交际花。
但是会议邀请就这么一个个的跳了出来:开发需求要跟产品开会、项目方案要跟技术开会、新人转正要去开评审会、别的公司来了几个大牛正在开分享会、出了故障要开总结会、小组有周会、部门有周会,大项目每周开两次碰头会不过分吧?小项目启动的时候开个会不过分吧?调试的时候发现有个坑大家赶紧讨论讨论吧?
有时候参加的会议整场下来跟我毛关系都没有,全程神游俩钟头,最后突然有人一拍桌子:”还有问题没?好,散了!“
也有可能有个什么会没叫你,过了俩礼拜突然收到封邮件催开发进度,”当时那个会你没参加,大家都说应该是你们做……你没看会议纪要吗?“
吐槽了这么多,但我还是认为开会是个技术活,对于架构师来说尤其如此。
大多数技术人员开会并不是那种新闻里的工作汇报或者长者们的会议,他们真的需要通过开会讨论一个具体方案,或者解决什么具体问题。可惜的是我参加过很多会议,大多数的会议都是在毫无意义的交流中浪费时间:几方人坐在一个屋里互相说一些对方理解不了的话,最后得出一个”我们会后再捋一捋“之类的结论。
这并不是会议才有的问题,在程序员日常的沟通中,也有很多人并不懂得如何交流,比如偶尔会收到一些写的非常认真的邮件,打开之后是密密麻麻的一屏幕文字,但是从第一句开始就不知道他在说什么,后面的东西连看的动力都没有了。
大多数时候,沟通的核心不是你说了什么,而是你想要让对方了解什么、让他做什么。良好的沟通能在工作中显着提升效率,但很多人忽略了这个事情。
想要恰到好处的进行沟通是一件不那么轻松的事情,但是简单来说有几条原则:
确保各方对背景的理解一致,比如开会之前先简单通过邮件交流一下,对新加入会议的人花个30秒钟做个前情提要,或者在讨论过程中让对方说一下他的理解。
去掉对方不能/不需要理解的内容,比如跟产品说“这个队列在高并发下因为锁的实现有问题导致CPU性能瓶颈”不如改成“我们发现了性能问题,持续10分钟了,10万用户收不到运营发的无节操广告,大概5分钟后扩容解决”。
确保在对方失去注意力前尽快说出重点,比如排查问题的总结邮件,如果第一段是这样:“某某框架内部使用的是xxx技术,这个技术的架构是这样:blabla”,那么对方可能完全不知道你在讲什么。可以换成这样:“我发现了某某框架的bug,需要尽快升级,否则在xxx情况下有可能会出现yyy问题,具体排查过程如下:blabla”。
不要说没有意义的内容浪费其他人的时间,比如”这需求做不了“或者”这里不可能出bug“,没有人想听到这些废话。
为什么别人的系统总是那么烂?
很多程序员解决问题的能力很强,说要解决一个什么问题,下午就能写出几百行代码把功能实现了。但是做出来的东西有种少考虑了什么东西的感觉,我花了挺久去想一个词去形容“这个东西”,最后想出了个勉强可以表达的词:程序的生命力。
大部分程序都能实现功能,但是如果把“时间”这个也作为一个考虑的维度的话,就会意识到一个合格的项目需要考虑更多的东西:更通用的使用方式、易于理解的文档、简单而易于扩展的设计,等等。而想要毁掉程序的生命力也很简单:做的更复杂,更定制化,让更少的人参与。
我跟很多程序员提过程序的生命力,比如说要让自己写的工具的操作方式跟其它Linux命令类似,或者要用一些更容易理解但不是性能最优的设计方式,又或者要他去参考现在业界主流的做法,很多人认为提这种需求的意义不大,我觉得这里还是举个例子吧。
很多公司应该都会有一些遗留系统,它们庞大、笨重、难用、几乎无法维护,所有人都在抱怨这些系统,并且每天都在想方设法换掉那些遗留系统。但是一段时间过去之后,又会发现身边的新人又开始吐槽当时替代遗留系统的那个系统了。
“大多数系统当初都很好使,功能当时够用,扩展性看起来也可以,但是这些系统都是开发的人离职之后变坏的。”
还有更好的办法吗?
成为技术专家之后的工作可以说是痛并快乐着,会有很多人找你咨询问题,另一方面,会有太多人找你咨询问题。
甚至有一段时间我每天的工作就是解答问题,小到工具使用中到疑难bug,大到架构设计,从早上到晚上基本都是在给各种各样的小伙伴提供咨询服务。
我很快发现有些地方不对头:有些问题实在是太简单了,以至于我甚至都不用思考就可以给出答案,为什么会有这种问题?
后来我在每次回答之前先问一句:
“你还有更好的办法吗?”
一小部分人立刻能给出优化后的版本,甚至我连续问几次之后,他能给出好几个优化后的版本;另小一部分人会斩钉截铁的说优化不了了,就这样了。但是大部分人会犹犹豫豫的说出一些完全不着调的回答。
后来我改成在每次回答之前先问两句:
“你要解决什么问题?”
“还有更好的办法吗?”
效果好了很多,很多小伙伴发现要解决的问题并不复杂,只是做法跑偏了。
再后来我改成了在每次回答之前先问三句:
“他们要你解决什么问题?”
“你解决的是什么问题?“
”还有更好的办法吗?“
现在第三句已经很少问到了。
成为架构师最困难的门槛是什么?
跟一些程序员交流的过程中,有不少人问我要怎么成为一名牛逼的架构师。
我最近几年面试的人挺多,发现一个有意思的现象:很多人自称架构师的人跟你讲一个架构时简直滔滔不绝,各种技术名词像是说相声一样从他嘴里说出来,三句话不离高并发大数据,但是稍微追问一下,就会发现很多基本概念的缺失,例如自称精通高并发的人说不清楚他所谓的高并发系统的瓶颈在哪里,自称精通架构设计的人说不明白他的系统怎么保证高可用,自称超大数据量的系统实际上只有不到100万条数据,等等。
架构师虽然听起来很高大上,但本质上仍然是工程师,不是科学家,也不是忽悠人的江湖骗子。学习再多,也需要实践落地。设计架构方案更多的是在做一些抽象和权衡:把复杂的需求抽象成简单的模型,从功能、性能、可用性、研发成本等等方面规划如何构建一个系统,这些内容需要更多的实践练习。
很多人没有工作在类似微博平台这种天天需要接触架构设计的地方,而很多公司没有架构方面的工作可供他们练级,于是就想办法从理论上下功夫,这类人的特征非常明显:在信息不足,甚至不了解实际场景的情况下就开始做架构设计,这种所谓的架构往往理解比较肤浅,经不住推敲。
每年招人之后我们都会做一些针对新人的架构方面的培训,课程材料基本上包括了高可用架构相关的主要方面,但是学完这些材料之后就能成为独当一面的架构师了吗?并没有。相反,这仅仅是开始,新人真正做了几个并发量上万的系统之后才算是正式入门:面对压力时才会懂得权衡,走过弯路之后才会寻找捷径。
所以我认为在架构师(和其它很多)的工作中最重要的部分是实践,夸夸其谈很容易,与其拽一些技术名词,不如把你正在做的系统真正的做好。
我和大牛之间有多少距离?
跟很多人一样,刚毕业时我觉得作为程序员,只要努力,加上少许天赋便可以获得一些成绩。
工作一段时间后,对自己和其他人的认识也越来越清晰,逐渐的发现程序员之间的差距或许比人和猴子之间的差距还大,接受这个事实这让我郁闷了很久。
再过一段时间,发现自己已经能够客观的评价自己的能力,也意识到了距离并不是那么重要,只要想办法跑的更快,就足够了。
G. 程序员怎么快速成为架构师
1、卓越的程序员有些架构师的设计与实现会出现断层的问题,如果架构师不去实践,只是想当然的认为“没问题,这个想法能实现”,那么对于项目的落实而言是个很大的隐患。2、抽象思维很多优秀的架构师们都一致的表示,逻辑思维和抽象思维能力是一个架构师最重要的素质。3、技术前瞻性架构师不光要着眼于现在,不仅仅局限于开发细节。而是跳出三界外,考虑面向未来问题和潜在风险的应对之道。4、问题解决大师架构师因为具有多领域知识和经验的积淀,所以在面对庞大系统之时,仍然能够敏锐的发现其底层之真实。5、多领域知识架构师身为一名技术领袖,需要通过发散知识的光芒来统御开发团队。6、沟通能力7、内力很多人理解的内力就是开发技术,包括语言的掌握、对框架的掌握、数据库管理能力、安全管理能力等等。但是我们看到,架构更多的内力体现在对技术的综合运用上,光会编程的程序员,最多就能做到高级程序员,也就是技术实现上的高手。8、权衡取舍9、管控能力架构师在管理和控制的能力上,需要有自己独到的见解,而不是简单的认为这是项目经理或者财务部门的事情。在这里架构师所需要的管理与控制,其实是从技术的角度,对一些问题的控制,特别是开发过程中的监控,而不是普通意义上的纯粹管理。10、艺术气质一个优美的系统则是可以像有机的生命一样成长的,这是因为从系统开始架构的那一刻起,架构师就考虑到这个系统以后将会面临的挑战,为系统的成长预留好空间。
H. 一种心理咨询方法solution building怎么翻译好
solution—building翻译为:建构解决之道的治疗, 是指焦点解决短期治疗(SFBT)的基本流程与技术SFBT的治疗方案。
焦点解决短期心理咨询是目前因应时代所需而生的短期心理咨询中相当盛行的一种。焦点解决短期心理咨询不探讨事件发生的原因,亦不积极于催化当事人情绪的宣泄,以免当事人深陷困境或扩大悲伤的胶着痛苦感。焦点解决短期心理咨询乃重视生命的正向积极面,强调积极肯定鼓励当事人,着重探索当事人内外在资源,企图协助当事人提取过去的成功经验中的要素与信心,学习以建设性的新眼光来重新诠释生活的困境、失落或创伤,并且建立具体可行的正向目标,配合立即可为的行动,以催化当事人开启心理的动力,重新创造生命新的成功经验,走出生命的幽谷。
一、“人”改变的要素
(一)改变要素一:被了解
不孤单的共鸣感,使人接纳自己、愿意面对现况
表达方式:1.先不建议或指正
2.摘述个案的情绪与谈话重点
3.开放式问句,以了解个案的内在世界
4.减低严重程度的同理(一般化)
(二)改变要素二:被肯定
提升自我价值,使人有力量去行动
表达方式:1.告知个案平日表现中的优异
2.从个案的挫折、犯错中找到可贵的动机(reframing)
(三)改变要素三:找寻成功经验
打破陷于绝境的过度担忧,由过去的成功经验,找寻可供解决目前问题的策略(例外问句)
表达方式:1.引导个案思考在过去类似的情况中如何解决
2.引导个案思考过去中任何的成功经验
3.鼓舞个案思考:你是怎么做到的
(四)改变要素四:建立成功经验
找回行动的主控权与自主性,真正去解决问题
表达方式:1.引导个案将行动切成很细步的行动
2.当个案做到时,肯定与鼓励个案
3.当个案没做到时,可引导个案思考情况可以没有更糟
4.当情况更糟时,可以引导个案思考是如何熬过来的
(五)改变要素五:形成未来的远景
未来美好的远景形成行动的动机,并由远景中找寻目前可行之法 (假设问句)
表达方式:1.鼓励个案描绘未来美好的图像
2.由美好图像中引导至目前曾经做到的或可以开始做的
二、焦点解决短期心理咨询的基本精神
焦点解决短期心理咨询重视正向思考及未来导向,也强调个体之所以产生问题,往往是其问题的解决方式不当,所以重视的是问题的解决而非问题的成因。其基本信念至少有以下几则 ( 陈秉华、许维素) :
(一)以正向为焦点的思考
一个人的思考方向会影响其思考内容与结果,进而影响他对问题解决的决策及效能。当一个人把思考焦点放在正向的、积极的、目标导向的方向时,就可以催化他朝向所期待的方向改变;若他将思考焦点放在问题的描述上,那么就很容易陷入抱怨与无助的情绪里,对解决问题没有太大的帮助。因此,焦点解决短期心理咨询运用正向的、朝向未来的、问题解决的积极观点,把焦点放在问题解决导向的谈话,避免局限于问题取向的讨论,以协助个案产生改变。
(二)“例外”带来解决之道
不论是多么麻烦的问题,总有“问题不发生”的时候,这就是所谓的“例外” exception)。个案往往只注意问题发生的时候,陷于问题发生时的愤怒或无助里,很少去思索问题何时会不发生,也常常忽略自己已经做到的、曾经做过的或开始在做的行动。因着觉察、了解“例外”何以发生,而提供个案解决问题的方法。所以,焦点解决短期心理咨询导引个案针对每一个问题去发现、寻找、甚至创造个案问题的“例外”。而且,当协助个案找出“例外”时,将可打破个案深陷困境、“不见天日”的挫折感,也让个案看到自己的能力和资源,减低个案对问题的焦虑,而增加个案的自我控制感、自我效能感。
(三)改变永远在发生
世界之轮不停的转动着,在这个世界上,任何一个时刻,改变都在发生。人是活的,因此人和人的关系不可能一成不变。当我们用“ ** 是 ** ”这样的句子来描述现象时,都只能反应某些特定时空的状况,而不能代表永恒的真相,因为“改变”是不断在发生的。没有一件事会一直相同,事件、环境、人的经验和知觉皆然。当有新的刺激、新的思考、新的经验、新的知觉、新的行为产生时,人就已经改变了。
(四)“小改变”会带出“滚雪球”效应
不要看轻了小的改变,因为“小”的改变会累积出“大”的改变,就如“滴水穿石”一般。尽管人们求助的目的是希望情况有所改变,但对于“改变”本身个案仍会有不安和抗拒。若能由小的改变着手,比较能化解个案的害怕。从小的改变着手,事情比较容易成功,成功的经验对个案非常重要,因这会使得个案产生信心及力量去处理更困难的问题,进而带动整个情况的改善。焦点解决短期心理咨询要协助个案找到着力点,并能觉察微小的改变,如此才能在僵局中“动”起来,期使如滚雪球一般,由一个小石头的滚动,最后带出山崩的气势。所以咨询员要很能发现与欣赏个案小小的改变,并且反应给个案知道。
(五)个案是解决自己问题的专家
常言道:解铃还须系铃人,焦点解决短期心理咨询相信人们是自己的资源,也拥有解决其问题所需的能力,对于解决问题的方向,个案自己最清楚。在这个前提之下,焦点解决短期心理咨询并不一再的教导个案该怎么做,而是协助个案增加弹性,开发过去的成功经验,发现内外在资源,发挥个人潜能,澄清自己所想要的目标、想要的改变方式,并开始采取行动,达成改变。
(六)描述、意义、经验与行动乃交互建构与相互循环
意义是我们对生活世界的观点与解释,并非来自我们身外的事物,而是透过个体的经验而形成。换句话说,个体透过本身的经验,形成对外在世界的解释。同一情境或行为,不同个体会赋予不同的意义,而这些意义同时也成为我们真实的经验。所以,意义影响个人的经验,经验也会影响一个人对问题的描述与界定,接而影响了个人所采取的行动,而个人对行动及此行动结果的经验与描述,又会影响他下一次的行动,周而复始循环下去。所以,焦点解决短期心理咨询将引导个案往正向思考、看到例外的存在,影响个案对问题的经验与诠释,进而影响个案采取有用的行动来解决问题。或者,也可以先鼓励个案多做一些有用的事,实际产生成功经验,进而催化个案正向经验与感受的产生。焦点解决短期心理咨询并非不重视情绪的探索,而是强调正向资源的开发,可以让个案的情绪由极负面而渐渐平静或喜乐。
(七)合作是必然发生的
个案是愿意合作的,他们会说出他们想如何发生改变,只要咨询员能了解个案的想法与作为,并鼓励他去实行。所以,当能了解个案的想法与作法时,就能产生合作的治疗关系,所以不认为个案会有“抗拒”的行为。焦点解决短期心理咨询并不特别强调负向情绪的同理,而强调与个案同步(pacing)的能力。尤其当个案并未跟着咨询员期待中的步调走时,表示个案在表达着他有自己的想法,咨询员需要用点不同的、更为弹性的方式来引导个案更加澄清自己所想要的目标。
三、焦点解决短期心理咨询的流程与基本架构
一次焦点解决短期心理咨询的晤谈时间,和一般的咨询一样,都约为 60 分钟。然而,比较特别的是,焦点解决短期心理咨询的谈话过程可以分为三个阶段:
(1) 建构解决的对话阶段
(2) 休息阶段
(3) 正向回馈阶段
在第一个阶段,约为四十分钟的时间,而其它两个阶段则各为十分钟左右。在第一个阶段,是以咨询员与个案的对话为主,期待透过建构解决途径的对话架构,包括目标架构、例外架构、假设解决架构等,完成数据收集、确立目标。在第二个阶段,则是休息十分钟,在此阶段,咨询员会离开晤谈的场所,以回顾与整理在第一阶段中个案对其问题的解决所提及有效的解决途径,并思考如何对个案进行有效的回馈 ( 若咨询员有协同咨询的小组,则与之进行讨论 ) 。于第三阶段中,咨询员再回到晤谈的地点,并提出正向的回馈、有意义的讯息,及家庭作业,提供在休息阶段时所设计的介入策略,来使促进个案行动与改变的发生。
在第一阶段的对话架构中,晤谈便以正向的开始进入“目标架构”。“目标架构”的主要目的是邀请个案进入咨询对话,厘清他想要的目标与建立咨询的工作目标,而不希望个案的目标只是遥不可及的希望,或是毫无建设性的抱怨,典型的目标架构问句是:“你到这里来的目的是?”、“你希望你的问题可以有什么改变?”。咨询员亦可能在运用例外架构、假设解决架构后,澄清与确立出个案所要的一些具体可行的目标。在建立目标的同时,咨询员需要观察个案的类型,是准备好解决问题的消费者,是尚未准备好进入晤谈的来访者,还是希望能诉苦的抱怨者?咨询员需要和不同类型的个案同步,渐引导个案往问题解决的目标走,而目标即为个案能马上做到的、行动很具体的方向。
当确立目标后,就可进入“例外架构”之中。“例外架构”是邀请个案去思考他认为的问题何时不会发生,或者是引导个案觉知想要的目标或解决方式早已存在的事实与内容为何,如果是曾经做过的解决方式,就多做一点,如果有偶发的成功经验,就去寻找如何才能再发生。常见的典型问句是:“这个问题什么时候不发生?”、“你想要的这个目标有没有什么时候曾发生过?”、“当时是怎么做到的?”。例外架构可以帮助个案离开陷于问题难处的痛苦,进入成功经验的思索,而带来改变的意愿、动力与方法。
倘若由“例外架构”中找不到具体可行的行动,则可运用“假设解决架构”来发展可能的行动。“假设解决架构”乃是邀请个案发挥想象力,进行脑力激荡,假想如果问题已经解决或是目标达成之时,他会是什么样子,跟现在会有什么不同,而鼓励个案去做目前可以做得到的一小部份。典型的问句是:“当这个问题已经解决了(或是这个目标达到了),你的行为会有什么不一样?”“在这些行为中有哪一些是你曾经做过的?”。假设解决架构帮助个案构思美好的远景,带来前进的动力,并透过想象,不受限于目前的困境,而找出成功的线索。
焦点解决短期心理咨询最大的特色是:咨询员所使用的“建设性预设问句”;咨询员透过“建设性预设问句”所选择的方向、所使用的语言带来的正向暗示与教育作用,企图影响个案知觉的改变,导引出正向解决的思考与行动。这样的对话流程,是一个着重“改变”的对话,而不是“谈论问题的对话”,也不像是其它咨询派别一般,将咨询过程分为收集数据、设计提供解决方案的阶段。焦点解决短期心理咨询不把咨询员列于较高的位置上,而视咨询员为个案建构解决方案过程的一个共同参与者。所以,焦点解决短期心理咨询是一个一连串的对话历程,于咨询员和个案共同建构的对话过程中,强调正向的、建设性、小改变的取向,而解决方案自会被有所引发形成(陈秉华、许维素等,民87)。
四、焦点解决短期心理咨询的重要技巧
除了上述的基本精神与流程架构外,焦点解决短期心理咨询常用的技巧还包括以下几项,乃变化运用于晤谈的过程中:
一般化:企图用严重程度较低的辞句,重述个案的语言,以减降个案的负面情绪。其如当个案说:“我得了忧郁症,我没有一天快乐的日子”,咨询员可改为:“近来心情比较低落,让你对生活感到较为不满”。
1. 振奋性引导:企图鼓励个案,并使个案对成功经验的要素更为有意识。其如:“你说你偶尔愿意和你太太主动和好?当时你是怎么做到的?”
2. 正向再架构:企图对个案负面的经验赋予正向的意义。其如:“我看到你虽然不喜欢你的犹豫,但是在你的担心犹豫里,我也看到你的谨慎、体贴别人以及顾全大局”。
3. 评量性问句:企图将个案的思考细步具体化,其如:“如果用一到十的分数来看,十是你理想的状况,一是很不理想的状况,你目前是几分?若要上升一格,你可以做些什么?”
4. 外在化:企图将个案跟他的问题分离。其如个案说“我觉得我没有工作,我真是个失败的男人”,咨询员可改为“在工作这件事上,你目前对自己的表现有些失望”。
5. 正向的譬喻:企图用一个正向的图像来涵括个案的世界,并给予正向力量,其如“你像一朵被压在石头下的玫瑰花,虽然受了很多的煎熬,但仍然不愿放弃自己的理想,希望能挣脱出来”。
6. 关系导向问句:企图帮助个案了解他人的立场,其如:“如果你的先生现在就坐在你旁边,他听到你说这些话后,他会对你说什么?”
7. 因应性问句:企图帮助个案看到自己任何微小的正向力量。其如:“你觉得自己有些沮丧,但你早上是怎么让自己起床的?是怎么让自己走到咨询室的?”
8. 追踪性问句:企图帮助个案坚持下去?其如:“你会如何帮忙自己继续做下去?”、“当你有改变时,谁会第一个发现?他会看到什么?”
9. 再次咨询的重点:
开场:这周和上周有什么不同?改变了什么?
个案有所改变:你是怎么做到的?未来可能会有什么挑战?
个案的改变是差强人意:运用评分问句,如果更好一些是什么样子?
个案的问题持平或下滑:你做了什么使情况没有更糟?
这些技巧虽然巧妙不同,但是其目的皆是希望引导个案往正向的思考走,并且开发自己的正向资源,减低面对改变的恐惧,舒缓负面情绪的扩大影响,而使得个案带着希望与信心,依据自己的目标,运用适合自己的方法,一步一脚印地解决问题。
I. 如何调整组织结构,优化人员配置
组织发展是一个不断成长和调整的过程。当企业发展到一定阶段,出现重大问题,解决效率,处理危机时,都需要优化组织结构。那么组织优化该如何入手?正睿咨询小编告诉你如何从组织优化的前提、过程、原则和方法四个方面着手组织优化。
二、组织优化的流程
1.发现问题,找出业务痛点,决策层对组织优化达成一致要求。
2.进行组织诊断,明确问题症结,再次确定组织优化需求。
3.根据实际情况,明确组织优化的方式、内容、执行者、范围等。
4.分析实施组织优化需要承担的风险,总结过往的经验教训,找准切入点。
5.根据变革的性质、选择实施变革的方式,制定相应的策略。
6.正式执行组织优化计划,在这个过程中根据出现的问题和实际情况进行适当的调整。
7.在实施组织优化的时候如果遇到问题,可以引入专家,协助实施组织优化。
三、组织优化的原则
1.以业务经营为主:实施组织优化都是源于经营业务的需要,最后也必须回归到业务上来。
2.遵守市场规律:组织优化是不可逆的,所以必须符合市场行情,遵守规律。
3.始于决策层:组织优化是从上之下推动的,只有在决策层的领导和指挥下,目的性和针对性才更加明确
四、组织优化的方法
1.对组织结构进行优化
对组织结构进行优化是目前比较流行的方法,通过改变或调整组织结构,来改变管理层级和管理幅度可以改善员工关系和工作行为。
2.对业务流程进行优化
传统的以职能为中心的管理模式,使得组织结构臃肿、而且流程复杂、效率低下,要解决这些问题,就必须重新调整和设计业务流程,取得突破性的改变。
3.对人力资源进行优化
人力资源的管理要引进新的理念、技术和方法,尤其是要更加关注员工的技能和经验。人力资源优化策略内容包括员工激励、结构性裁员、重新设计任务等。
4.对人文进行优化
通过有效的沟通、决策制定等方式来改变组织成员的工作态度和行为。
以上就是正睿咨询小编整理的关于组织优化该如何入手的相关内容,希望对您有所帮助。
J. 如何做好团队架构
用office软件里的frontpage就可以做,需要练习的