Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

plink.anyfeeder.com

架构师之路

Get the latest updates from 架构师之路 directly as they happen.

Follow now 45 followers

Latest posts

Last updated 2 days ago

大厂大批量裁掉中年员工,到底对不对?

3 days ago

他们和我说大厂裁员是正确的、科学的、必要的、是内部人员结构优化,是打工人自己没本事所以只能被裁。我听了之后很难过,我觉得我们的同胞不该像甘蔗一样被人吸食干净之后就随意的扔掉,尽管这种现象确实普遍存在的,但这真的正确吗?我也想请教一下被裁的人员,你们对于被裁是心甘情愿的吗,你们认为这种行为是正确的吗?主题:大厂大批量裁掉中年员工是正确的吗?https://www.zhihu.com/question/532642791【回答1】结论正确,理由错误。裁员不是因为打工人自己没本事,而是打工人在短期利益面前选择了错误的行业。这些大厂,其实只是单指互联网大厂,其他行业的大厂都没有在裁员,更不会裁中年员工。互联网大厂的发展是在过去十五年里,资本结合买办,利用国内反垄断缺失、外资监管缺失、数据安全管理缺失三合一造成的幻觉,在经济增长放缓、数字隐私启蒙、数字领土强化的过程中,都已经在裸泳,整个行业快速下行。资本红利溢出,抢人才,抢赛道,低能高包的时代已经不复返了,打工人如果能认清自己的真实价值,互联网外的各行各业都一直有信息化的岗位需求。【回答2】正确或者不正确,其实也不重要。使用落后的管理方式,搞落后的生产关系,反正也是会被淘汰的,不用替资本家着急,打工人也没法教他们做事。实践是检验真理的唯一标准,这对企业,对打工人,都是一样的。来点实在的话,择业要看清楚、想清楚,一定要对企业做背调,了解他们的做事方式和管理逻辑,不合适的话,就尽量不要加入。如果说进了一个企业,有一些困难,但你能生存下来,你还能给企业创造一些clarity,能够deliver价值,那么你的报酬大概率是会到位的。你能处理多复杂的局面,你就能拿多高的工资。粗俗一点讲,能吃多少屎,就能赚多少钞票。处处依赖环境好才能工作的,只能是初阶岗位。在头部行业,竞争激烈,能胜任初阶岗位的人很多,如果不持续发展的话,初阶的位置当然是坐不稳的,这是没办法的事情。就像企业可能被市场淘汰,打工人也会被淘汰,这是市场规律。今天我们的生产力还无法支持对每个人都提供很好的社会保障,或者,永远也支持不了。【回答3】裁中年员工不是手段,是结果。大厂大部分人拼的是体力,不是经验。中年人体力逐渐下降,经验却并没有比之前有明显的提升。因此当环境下行时,中年人就成了最早被优化掉的人。相较于传统行业,互联网的特点是敏捷与创新,而非可靠与经验。再加上资本加持,大厂们纷纷把科技行业做成了劳动密集型行业,如果把业务比作万米长跑,大厂们竞争的方式是人海接力,接棒就是加速跑,掉速就换棒。残忍的是当你有一天跑不动了,掉速了,一些不负责任的老板会指着那些依然跑得很快的人告诉你,你不够努力或者你能力不行。你和这些优秀员工的PK叫赛马,跑得最拼最快的人叫卷王,老板那套看似公平,但其实有悖人性的理论是PUA,比PUA更体面的劝退方式是薪酬倒挂。互联网赶的是时间,也愿意花钱买时间,却不大愿意培养人。当有一天环境不好钱少了就不愿意再买那些收益变少的时间了。而对于个人,年轻时最值钱的就是时间,要想好交换的对象,体力与潜力要平衡,用时间换经验。【回答4】8年程序员工作经验:大中小厂都待过,裁员无非就是效益不好,又忽悠不到钱了,然后从次要且性价比低的人开始裁。有些会边裁边招,比如要裁20%的,那就裁个30%,多10%空缺用来招人,注入点新鲜血液。至于“甘蔗”“同胞”,这话说的,非洲还有人每天饿死,什么是同胞,到了社会,只有永远的利益没有永远的朋友。你得创造价值,这样才能掌握主动权。至于心甘情愿,这事完全就是合同,签合同的时候自己就该多看看。法制社会,注意维权就行,如果真的不服,应该是想着去修改合同,劳动法,通过某些途径,或者干脆去找那些极其稳定的岗位。更何况如果你真是个被人吸食个两年就没有利用价值的“甘蔗渣”,那公司留你也只能算做慈善,哪天不做慈善也正确。【回答5】我是做技术的,我来说几句:在资源和人脉面前,技术就是一坨屎。先说观点:该问题是假命题,因为中年员工本身就是职场力量的最大群体,所以当企业开始大批量裁员的时候,这个群体必然也是被裁撤最多的。首先,我们要明确一个概念:“成人的世界不谈是非,只谈立场。”从社会层面来讲,确实是这样的,尤其是近几年经济形势太差,越来越多的企业在生死线附近挣扎。为了活下来,企业只能降低自身成本,而不可否认企业的人力成本是最直观可选项。退一万步,哪怕企业不裁员,最后结果大概率大家一起死。对企业来讲,最危机的时刻没有人会共情,有得永远都是无尽的索赔。所以,站在企业的角度,断腕求生是正确且必要的。企业如果这个时候考虑人性,那对企业和社会这都是不负责任的。站在被裁员的雇员角度,自己兢兢业业结果还是被裁,如果能获得合理的赔偿那还稍微心里好受点,然而现实是,一旦发生大规模裁员,经济赔偿大概率也肯定不尽人意。这个时候,被裁的一方不骂娘,那都是对企业的宽容。但是客观的讲,无论是因为行业原因还是企业自身原因被裁,这里面也跟自己的选择脱离不了关系。而且你不得不承认一个现实:在这个社会上生存,选择确实比努力要重要的多,我们囿于自己的知识储备、眼界等做出的选择和判断出现问题的时候,我们多半会归结于环境,而不会承认是自己的错误。从人性的角度,我们会与势弱者共情。但从现实角度上来看,我们往往迎来的会是保护强者的结局。因为保护强者更有利于社会的相对稳定,虽然很残酷,但这就是现实。比如闹得沸沸扬扬的停贷事件,大家对期房购买者的遭遇都很心疼,都在希望政府出面惩治房企。但事实上,惩治了房企,就能让大家拿到自己的房子么?很显然,这不可能。因为哪怕是另一个企业接手,也会考虑经济效益。把前人犯的错让后来企业承担这不符合市场经济的逻辑。所以,最优方案就是谁的锅谁背。综上,涉及到自身利益的时候,没有谁是甘心的。你应该庆幸,生活在相对公平的天朝之下,让我们普通人还有了那么一丝丝的机会。以上。==全文完==这真的正确吗?你怎么看?做了一个“反焦虑”的职场发展的社群:《40岁,创业2个月了,人生总得做点啥...》一年至少50场活动,欢迎大家加入。社群直播,8月份主题:职场晋升,欢迎参与。 阅读原文 文章原文

你猜,微信多点登录+消息漫游,是如何实现的?(第89讲,超长文)

4 days ago

《架构师之路:架构设计中的100个知识点》89.多点登录+消息漫游有朋友问我说:1. 微信如何实现手机端、PC端同时登录,同时收消息?2. 微信能不能实现,换一个手机,仍能拉取到历史消息?这是多点登录和消息漫游的问题,结合自己的经验,聊聊相关功能的架构实现。什么是多点登录?以微信为例,可以PC端,手机端同时登录,同时收发消息。画外音:需要注意的是,一个端只能登录一个实例,例如同一个QQ号,在pc1上登录,再到pc2上登录,后者会把前者踢出,pc1会收到通知“你已在别处登录xxoo”。什么是消息漫游?在任何一个终端的任何一个实例登录,都能够拉取到所有历史聊天消息,这个就是消息漫游。画外音:微信目前只支持“多点登录”同时收发在线消息,以及最近几条消息的“消息漫游”,没有实现全部消息的“漫游”。典型即时通讯架构如何?典型即时通讯架构可以抽象成这么几层:1. 客户端:例如pc微信,手机qq2. 服务端:入口层gate:保持与客户端的连接;逻辑层logic、路由层router:实现业务逻辑,进行消息的路由;cache:用来存储用户的在线状态,与接入节点(用户具体连接在哪个gate节点);db:固化存储消息,群信息,好友关系链等信息;画外音:都需要考虑高可用,扩展性。 一个典型的消息投递流程如上图步骤1-5:(1) 用户A登录在gate1上,发出消息;(2) gate1将消息给logic/router;(3) logic/router查询接收方的在线状态(B在线,C不在线);(4.1) 假设接收方C不在线,存储离线;(4.2) 假设接收方B在线,且登录在gate2上,消息投递给gate2;(5) gate2将消息投递给B;画外音:单对单消息有一系列应用层超时、重传、确认、去重的机制,以保证消息的可靠投递,这不是本文的重点,不进行展开。实现“接收方”多点登陆,架构要做什么调整?接收方多点登录,pc也登录,phone也登录,后一端登录不会将前一端踢出,cache中存储状态与登录点时,不再以user_id为key,改为以user_id+终端类型为key即可。单点登录B:online(状态),gate2(登录点)多点登陆B+pc:online(状态),gate2(登录点)B+phone:online(状态),gate3(登录点)当用户A给用户B发送消息时,取出所有B的登录点,进行消息群发即可(如上图中步骤4与步骤5)。画外音:接收方多点登录,比较容易。实现“发送方”多点登陆,架构要做什么调整?有朋友可能要问,发送方和多点登录有什么关系?假设:用户A登录了两个点,A1和A2;用户B登录了两个点,B1和B2;这样:A(A1发出的)发送消息给B(B1和B2);B(B1发出的)发送消息给A(A1和A2);不就可以了么?其实不然:A(A1发出的)发送消息给B(B1和B2);B(B1发出的)发送消息给A(A1和A2);但是:A2端虽然收到了所有B回复的消息,但消息其实是在A1端发出的,故A2端只知道聊天消息的一半(所有B的回复),缺失了聊天的上下文(所有A1端的发出)。画外音:这个逻辑有点绕,多看几遍。故,如果发送方也进行了多点登录,发送出去的任何消息,除了要投递给多点登录的接收方,还需要投递给多点登录的发送方。画外音:发送方发出的消息,也需要发给“发送方”。如上图,发送方A和接收方B都进行了多点登陆,cache中存储的信息为:A+pc:online(状态),gate0(登录点)A+phone:online(状态),gate1(登录点)B+pc:online(状态),gate2(登录点)B+phone:online(状态),gate3(登录点)当用户A(phone端)给用户B发送消息时,除了要投递给B的所有多点登录端,还需要投递给A多点登陆的其他端(pc端),如上图中步骤4与步骤5。只有这样,才能在所有用户的所有端,恢复与还原双方聊天的上下文。画外音:搞清楚了原理,修改并不难。实现“消息漫游”,架构要做什么调整?如果不需要支持“消息漫游”,对于在线消息,如果用户接收到,是不需要存储到数据库的。但如果要支持“换一台机器也能看到历史的聊天消息”,就需要对所有消息进行存储。消息投递如上图,用户A发送消息给用户B,虽然B在线,仍然要增加一个步骤2.5,在投递之前进行存储,以备B的其他端登陆时,可以拉取到历史消息。消息拉取如上图,原本不在线的B(phone端)重新登录了,怎么拉取历史消息呢?只需要在客户端本地存储一个上一次拉取到的msg_id(time),到服务端重新拉取即可。这里还有个问题,由于服务端存储所有消息成本是非常高的,所以一般“消息漫游”是有时间(或者消息数)限制,不能拉取所有所有几年前的历史消息,通常只拉取最近的云端消息。画外音:你猜,微信有没有存储,几年前的消息呢?你猜,交一个超级会员费,是不是可以查询呢?稍作总结“多点登录”是指多个端同时登录一个账号,同时收发消息,关键点是:1...

心里门儿清,嘴却像被粘住?(程序员,你是不是经常这样?)

5 days ago

心里明白,但说不清楚;或听对方表达,总是抓不住重点。对于很多技术人来说,或多或少都有类似问题。对于沟通中的表达与理解,我有一些看法。首先,毋庸置疑,沟通和理解能力非常重要。与产品经理沟通需求时,需要能听懂产品需求、表达清楚技术方案;过程中难免会有变更,如何理解变更、说清其对技术方面的影响,都是非常重要的场景,且会深度影响项目团队的协作效率和交付质量。往往技术出身的同学总是疏于修炼这方面的内功,导致在类似场景中比较被动。对我而言,很早就意识到这一点,投入了更多精力学习理论并实践,因此目前的职业发展并未被该技能拖累。在团队中,沟通方面的软实力也是我经常强调的,我会和大家分享一些技巧和方法,但关键还是看个人是否意识到需要主动提升。身边的例子:一个老旧系统的改造重构项目,面向公司全员,产品需求文档分散且庞杂,但该涵盖的内容都写了。背景是:前端新来的开发(RD),这是他带的第一个项目,对现状不了解,却强势且激进;后端有一位资深开发带两名年轻开发与之对接。前后端由于想法不一致,在技术实现方案上产生了众多分歧。比如,前端希望后端对不存在的字段也返回默认空串;一些校验在前端实现复杂,希望由后端校验;将通用接口拆分成定制化接口等。双方沟通时各说各话,经常以争吵结尾,不仅效率低下,还影响了整个项目团队的氛围。作为负责人,在与团队成员沟通后,我了解到:前端开发在表达过程中态度强势,过于强调这些调整对前端项目的收益,无视后端的反馈,导致后端产生严重的逆反心理,陷入对抗情绪,无法理性表达事实,形成了恶性循环。这是我需要解决的问题,总结的方法有以下几点:1. 耐心倾听,找到对方表达的核心内容。在沟通过程中,不少人缺乏倾听的技巧:没听完对方的表达,就臆测内容、打断对方,急于阐述自己的观点。这会导致信息传递被曲解、不完整,影响效率,也会让对方因被打断而产生情绪。建议大家一定要等对方表达完整,再结合自己的理解复述一遍,确认是否准确把握了对方的核心诉求。2. 站在对方身边而非对面,杜绝零和博弈,寻求双赢解法。针对上述例子,后端开发在理解了前端开发的主要诉求后,不要只想着 “你改还是我改”“你输还是我赢”,而要从双方都能受益的角度探讨方案,往往会有好的结果 —— 充分沟通后,问题很可能就能解决。3. 如果产生了对抗情绪,要认可情绪、运用元认知、及时抽离。沈老师讲的元认知在这里有很好的应用场景。在产生对抗情绪时,要告诉自己:有情绪是正常的,但我可以控制;脑中臆测的对方意图,大概率不是其真实意图。实在不行,就在情绪失控前从对抗气氛中抽离出来,比如接杯水、走出会议室缓口气等。4. 运用结构化思维和表达。作为表达者,我们要有结构化思考的意识。很简单,就像高中写议论文:论点 — 论据 — 呼应论点,即...

什么叫裁员裁到大动脉?

6 days ago

裁员裁到大动脉是指企业本来只想裁掉一些次要的、无关紧要的人员,却不料错误地把重要人员当做是无名小卒给裁掉了,从而使企业生产被动、经营管理困难。主题:什么叫裁员裁到大动脉?https://www.zhihu.com/question/638484057【回答1:1.2W+赞同】这就不得不提一嘴腾讯了,虽然那一天,所有的游戏都登录不上了,但是充值接口一直正常。【回答2:2.3W+赞同】不好意思张总,我被裁以后考上公务员了,今天代表税务局来调查一下贵公司在我入职期间偷逃税款的事情,希望你配合。【回答3:2.7W+赞同】我同学在中科院下面一个研究所,组里经常有人十天半个月不来,别人也发现不了。后来日子过得紧,把保洁阿姨裁了,大家立即都发现了,因为垃圾桶满了,没人收了。【回答4:3W+赞同】突然想到,陕西奥凯电缆有限公司。一名员工无故被裁员之后,在网上发布文章,名为《西安地铁你们还敢坐吗?》的贴文。称西安地铁三号线存在重大安全隐患。电缆偷工减料,整条线路的电缆都不符合地铁施工标准。电缆线径的实际横截面面积小于标称横截面积,造成电缆发热量过大,不仅消耗大量的动力还可能会引发火灾。因为是内部举报,又涉及到生产安全,所以迅速霸占热搜,神仙都压不住。后续的结果就是大家知道的,西安开发布会,副市长道歉,国家下来抽查没有一个合格的。结果国务院问责,从省里到地方负责人全部问责道歉。并逮捕企业八人。法人无期徒刑,其他的人几年十几年的都有。地方处理122人,厅官16人,58名处级,并有19人立案侦查。另外全国地铁安全大排查。这一刀下去,割的是脖子上的大动脉,是自杀。【回答5:4W+赞同】看了这么多答案,感觉这个图最应景。以上。==全文完==这个问题,你怎么看?做了一个“反焦虑”的职场发展的社群:《40岁,创业2个月了,人生总得做点啥...》一年至少50场活动,欢迎大家加入。社群直播,8月份主题:职场晋升,欢迎参与。 阅读原文 文章原文

为什么我会觉得,管理岗好虚!(心里好慌...)

7 days ago

社群5月份话题:管理转型我,身处专家岗位的时候,就在想:“管理岗位感觉没啥真才实学,太虚了,我到底要不要转管理?”我,身处管理岗位之后,仍在想:“总觉得不稳,随时可能被裁,管理到底能不能成为自己的核心竞争力?”你,有没有类似的困惑?以下是我曾经的一些元认知思考与PEACE行动,分享给你。画外音:刚做技术经理时的思考。【1】管理有没有价值?能不能成为核心竞争力? 元认知深度思考:对于工程师,架构师,技术经理,我心中什么是“有价值”?画外音:元认知,是社群内的核心工具。1. 工程师:写代码又快又好,交付的系统没有bug,这样的技术人产品喜欢,有价值;2. 架构师:结合业务做好架构,高可用,高性能,可扩展,这样的架构师,经理喜欢,有价值;3. 技术经理:能够带队达成目标,帮助业务赋能,帮助员工成长,这样的管理者老板喜欢,也有价值。是呀,技术人,架构师,经理,只是分工不同,在不同岗位发挥价值,有着不同的能力模型,这一点我怎么会不认同呢?对于管理,我心中什么是“核心竞争力”?代码,我写得好,别人写的不好,是我的核心竞争力。架构,我设计得好,别人设计得不好,是我的核心竞争力。管理呢?相同的团队,不同管理能力的经理来带,结果会一样吗?例子1:项目交付有的团队项目交付通常按时、按预算且高质量完成。风险控制更为有效,遇到的问题能够及时得到解决。兄弟团队配合顺畅,项目合作丝滑。而有的项目交付经常出现延期、或质量问题。项目管理混乱,遇到的问题得不到及时解决,影响项目进展。兄弟团队吐槽抱怨,项目合作不畅。为什么?例子2:团队士气有的团队士气高涨,工作氛围积极。员工感到被认可和支持,愿意积极贡献和创新。成员之间的协作顺畅,沟通高效。而有的团队士气低落,工作氛围紧张或消极。员工成员感到缺乏支持和认可,工作积极性低。成员之间的沟通和协作存在障碍,容易出现冲突。为什么?例子3:团队发展有的团队能够吸引到,招聘到高素质的人才。员工的流动性低,忠诚度和满意度高。员工晋升比例高。而有的团队招聘难度大,难以吸引优秀人才。员工流动性高,员工忠诚度和满意度低。员工晋升比例低。为什么?…在上面的123里,经理能做功吗?显然能。不同的结果,能体现管理的差异吗?显然能。那管理的核心竞争力是什么呢?类似于工程师,架构师。我管理团队,能拿到别人拿不到的结果(项目结果,团队士气,人员发展…),就是我管理上的核心竞争力。【2】那为什么,我会觉得管理“虚”呢?元认知深度思考:我觉得技术岗位来得实在,因为我对技术工作了解,每天都在干相关的工作。我觉得管理岗位虚无缥缈,可有可无,没有价值,因为我对管理工作不了解,只是看着别人在做。那我就是在YY。这是典型的“自利性偏差”。我总会觉得,自己熟悉的“实”,自己不熟悉的“虚”。原来,这些困惑,是我自己的问题。觉得不踏实,是因为我自己的 “失控感”:1. 对工作内容不了解,觉得失控;2. 对能力要求不了解,觉得失控;3. 对角色定位不了解,觉得失控;4. 对思维模式不了解,觉得失控;…程序员,要掌握编程语言,数据结构,设计方法,我们对它的工作内容与能力要求很熟悉,所以安心。成为管理者,完全失控,觉得“虚”。如何破局?PEACE,第一步,觉察与接纳。画外音:PEACE,是社群内的核心工具。到了一个新的角色,对角色定位,思维模式,工作内容,能力要求不了解,恐慌和焦虑,是正常的。第二/三,分析原因,改变想法。就需要我们逐步学习和了解管理者的定位,认知,工作内容,能力要求,像程序员掌握一门编程语言一样去掌握它们,才能消除内心的失控感。进一步拆解,管理岗位需要具备哪些能力?成为研发管理者之后,就需要我们去了解管理者岗位对应的胜任力模型:1. 项目管理能力:项目规划和执行,进度管理,风险管理等等;2. 团队管理能力:领导力,人员招聘和培训,绩效管理等等;3...

跳脱职场小河,拥抱大海:那些早已启航的人在做什么?

8 days ago

职场之路如果能规划,典型出路在哪里?我心中的职场出路,有两种。一种是可以让我在职场脱颖而出的路。一种是可以让我走出职场的路。第一种是我曾经寻找的路,第二种是我当下想走的路。职场是不确定的,不是只有努力和能力这两个影响因素,还有人与人之间的频率,尤其是你和你领导之间的频率。如果你只为自己留第一种路,就像有句话说的那样:“人们总是记得自己在一条船上,而忘了自己在一条河上。”职场的不确定性,某些领导的 PUA,都会让你陷入深深的自我怀疑。如果你意识到第二种出路,那你就是接受了职场的不确定性,你的视野才有可能遍布整条河流、旷野、海洋、宇宙。如果时间能回到初入职场的那年,我会告诉那时的自己:“年轻人,请带着离开职场的心,进入职场。”如果你想着终有一天会离开职场,就不会以公司的期望作为自己的期望,你会选择自己真正想做的岗位、方向,并通过各种可能的方式让公司看到这个岗位和方向的价值,从而能够借助到公司的资源,成就你对自己的规划。多年前,有一些做项目的软件企业,经济环境好,项目多的时候,这些企业最看重的就是项目经理,你会发现很多项目经理都是程序员背景,因为这些企业经常做的就是把技术能力成长较快的研发人员,转型为项目经理。有一些技术人员转型项目经理仅仅是为了迎合公司的期望,因为能升职、加薪,而没有问过、想过自己真正想要做什么。时间久了,就出现了想做回技术,但是怕自己做不了的纠结和感慨。另一方面,技术人刚刚成长为能独当一面,就被转去做项目经理,也导致了企业技术人才的青黄不接,项目的推进和验收的难度也越来越大。我也有过这样的经历。从研发转项目经理的3个月后,好在我感觉到自己还是喜欢技术,主动找到领导给我转回到技术岗。三年后,我拿到公司比较看重的高级系统架构师软考证书,同一年也从项目组进入了公司技术研究院。在那个时间点往回看,我感谢自己主动转回技术岗的决定。人只有在做自己喜欢或擅长的事的时候,才可能有出路。进入公司技术研究院的那年,ImageNet、李飞飞、机器学习、吴恩达,这些人???智能领域的名词和名字开始在网络上传播。计算机竟然可以分辨出猫和狗的图片,竟然能从图片中识别出人和车,竟然可以把梵高的星空风格轻松地迁移到我自己的日常照片上。于是我主动斩断我的职场连续性,开启了一条新的职场曲线。我的决定,很自然地让我失去了一些机会,因为那时公司的所有业务和项目对AI的需求并不大。而我当时的想法是,AI是我不工作了,也会想持续关注和精进的领域。那时,我的人工智能基础几乎为零。之后的三年,线性代数、微积分、统计学、数据分析、机器学习、深度学习。我在工作之余,学完了斯坦福、麻省理工、加州理工、可汗学院的相关公开课程。写完了15本笔记后,我开始读YOLO、Transformer、BERT这些经典论文。在知乎上提的一个关于Transformer论文中的问题,没想到关注度超过了50万,这无疑是一个好问题,也给了我很多鼓励。又过了三年,AI逐渐进入各行各业,公司决定 all in AI,我踏上了那条职场脱颖而出的路。故事还没结束。如今,大模型时代的到来,正在彻底改变众多行业的范式。有些人看到被代替,有些人看到自己的生产力得到大幅增益。而我正在走向那条走出职场的路,这条路有太多的挣扎、困惑、迷茫。在云开月明之前,我选择让自己随心流动,继续前行,就像李娟在《九篇雪》中写的那样:“一切走在必经之途上,一切毫无意外,一切无需后悔。”说明,这是一个,社群六月份的活动:1.  隶属主题:职业规划2.  探讨问题:职场之路如果能规划,典型出路在哪里?3.  活动时间:6.24近百位同学参与活动,上文是@余烬的思考。===全文完===这个问题,你怎么看?扫码深度链接全年活动策划等更多细节,详见:《40岁,创业2个月了,人生总得做点啥...》社群直播,欢迎参与:阅读原文,立刻加入(星球+微信群) 阅读原文 文章原文

为了保护源代码不被员工泄露,你猜公司都想了哪些招?

10 days ago

有童鞋提问,公司如何保护源代码不被员工泄漏?比如防止员工复制上传什么的。目前搜到了沙箱跟虚拟化两种方案,但不知道怎么操作。也不知道还有没有其他的,真愁啊!主题:公司如何保护源代码不被员工泄漏?https://www.zhihu.com/question/54423554【回答1】上策,给够钱,收其心。就算离职,员工对公司还是感恩戴德。中策,权限控制,每人只能看到一部分。定规矩,严审计,触及红线,法律伺候。下策,学银行,每天下班,老板把源码锁进保险箱,别笑,真有这么干的。【回答2】参考华为的技术方案。员工的工作台在数据中心,员工手上的终端只能远程登录到数据中心的工作台去开发代码。每一台接入的终端,都需要接入认证。这些终端,物理连接在公司的内网。还有一些非重要部门的代码,允许正式员工的笔记本下载到本地。这些笔记本也是接入认证和硬盘加密的。员工对手上的笔记本信息安全负责。【回答3】大多数公司的代码,其实对于外界来说并没有什么价值,只是管理者误以为有价值,才浪费资源去防止泄漏。这就好像私房照,自己担心得要死,但其实泄漏了,别人根本也懒得去看一眼。当然,比方说像陈冠希这样,那是需要严格防止泄漏代码的,那么上虚拟化是业界最成熟的方式。但首先要考虑一下,自己公司有没有一万名员工,盈利模式是否支撑得起每年砸几亿去搞这些IT基础设施。如果不是,那一般还是不用去考虑代码泄漏的问题。【回答4】绝大部分的公司(BAT另说) 手中的源代码商业价值根本不高。绝大部分的公司的源码质量都比不过GitHub的那些开源类库。绝大部分的公司的源码都属于高度定制化的开发(就是换个公司,这个软件几乎就没有什么价值了)。绝大部分的公司都不是靠“软件技术”赚钱的。绝大部分的人都不会傻到直接把偷来的源码用于“商业活动”(非但不一定赚钱还可能吃官司,还不如去GitHub上扒开源代码)。“防御”的成本数倍于“重新开发一套”软件。所以看淡一点源码,它在绝大多数公司中其实“并不值”几个钱,虽然它的创造成本可能很贵。【回答5】先说结论: 别费那神气了,不值得。有人说除非BAT,事实上就是BAT有很多代码都没什么特别的保护,员工能接触到就能随便复制。唯独就是越核心越底层的代码,能接触到的人越少需要的权限越高罢了。普通的研发,接触到的代码本来就很表层,而且范围通常也不会很广,仅限自己负责的一亩三分地,你复制出去有什么用?没有底层支持你能跑起来?没有大佬维护你敢用在生产业务上?说不定没有个熟悉这套业务的大牛,你连怎么跑起来都摸不到门。更何况???被人拷出去用起来在生产业务了,再给人发律师函也行,大厂的法务都吃这口饭的。如果都发现不了,那说明也没啥大不了的。小公司就更没什么了,你代码再牛逼毕竟承载的业务就那么大,全套复制出去别人也不一定看得上,写得再好好得过知名的开源项目么?业务代码别人业务能完全一样么?就算真一样以后不做新功能的么,没有Bug要修的么?而且还可能有些只有原作者才知道的坑,业务上根本没法复用。与其担心这个,不如多花点心思想想怎么留住核心技术人员不流失。这才是小公司的核心资产,代码并不是。以上。==全文完==这个问题,你怎么看?做了一个“反焦虑”的职场发展的社群:《40岁,创业2个月了,人生总得做点啥...》一年至少50场活动,欢迎大家加入。社群直播,8月份主题:职场晋升,欢迎参与。 阅读原文 文章原文

我想出一本《35岁不会被辞退》的书...

12 days ago

职业生涯是否可以规划?对于这个问题,我自己思考了许久,最后询问自己  “职业生涯”  是什么?是一个既定终极目标的达成(如创业、财富自由、衣食无忧等)?还是对未来工作的期许(如稳定、工作生活平衡、实现自我价值、得到行业内肯定等)?我发现这些都可以属于职业生涯,但又并非全部。因此我理解,规划职业生涯,就是对自己最终的职业目标制定一个长期的努力计划。但任何事物都是不断动态变化的,人的追求也是如此。可能当前这段时间的职业目标是这个,但经过一段时间、一些经历后,目标或许会变成另外一个。因此对我而言,这就需要自己不断反思当前状态,明确长期追求的目标,也就是沈老师提到的五年、十年、十五年规划。那么我的职业规划是什么呢?我发现自己并不想成为某个领域的权威,也不奢求创业建立自己的 “商业版图帝国”,而只是希望有一定的存款(具备抗风险能力),成为某个垂直领域的专家,做一个不断学习的进步者,最后能身体健康、衣食无忧即可。在具体规划前,首先要认识自己的优缺点。我认为根据自己的长处合理规划,才能事半功倍(主要是自己比较懒,做什么事都想高效完成)。主要优点:1.对于短期目标的执行力足够强,三五个月的目标基本都能按时完成;2.能够清晰认识自己当前所处的状态,明白当下的主要矛盾与追求是什么;3.思维比较活跃,能够从不同角度思考问题和解决方案;4.比较喜欢阅读,各种书籍只要感兴趣都不拒绝;5.面对困难不会轻易放弃,有股子冲劲。主要缺点:1.长期目标难以坚持,从上学起就靠考试突击,坚持做一件事很难超过2年,因此需要不断与人交流,明确目标并坚持下去,同时时刻反思自己是否有懈怠或过于放松;2.经常会因一些小聪明而沾沾自喜,通过琢磨取巧的方式解决问题,导致对某些事物的认知有偏差,需要时刻保持对事物的敬畏和好奇心;3.有时候不够开放,总觉得自己足够聪明,不需要借助别人的帮助,认为靠自己琢磨出来的才是真本事,也就是爱钻牛角尖等等。关于优缺点,等下次复盘时再进行反思和总结,看看是否有改进的空间。针对上述情况,我对自己的规划如下:1.总体上做好长期规划和短期规划的平衡,短期规划不再进行 “内卷” 式的拼搏,而是慢慢转变为细水长流式的稳步前行。在达成一个短期目标后,可以给自己一定的放松或奖励,但要制定好下一个短期计划及执行时间;2.当前五年目标:从后台高级开发升级为某个技术领域的专家,具备一定的管理水平(能轻松管理十人内的小团队),同时拥有随时跳槽的能力;当前短期计划:跳槽到一家较大的公司,但不会忽略 “身体健康” 这一关键因素;3.十年计划:出书。最近几年网上有很多贩卖焦虑的内容,“35岁被辞退”  这个话题我看到过无数次,各种大小公众号、软文都在反复提及(也可能是我被算法推荐了)。而身为一名程序员,我特别想出一本《35岁不会被辞退》的书,给广大普普通通、奋斗在一线的程序员分享一些自己的想法或 “建议”;4.养成持续阅读+记录的习惯。我当前的阅读范围很广,从人体构造学、营养学(运动和健身),到《红楼梦》《呐喊》等具有讽刺意味的文学作品、小说,再到一些技术文章都会涉及,但从来没有沉下心去总结、写心得,很多内容看过之后只有大概印象,没有进行输出并形成自己的观点。等当前短期计划实现后(目前的记录和总结复盘主要围绕当前短期计划),下一个短期计划就是开通自己的公众号、重启博客,以及在一些社交平台上分享自己的阅读或观后感(包括但不限于沈老师的社群。在社群里确实看到很多分享,都给了我启发,这里再次感谢沈老师和各位大佬的分享,期待能在这里学到更多);5.每个月进行一次月复盘,主要是和志同道合的同学一起。总结这个月做得好的和不好的地方进行沉淀,并计划好下个月的具体事项;6.工作中继续保持每天早到二十到三十分钟,一是检查线上是否有异常数据指标等,二是做好一天的主要工作安排,明确每天的重点工作和必须完成的事。今天没写多少内容,却花费了两个多小时思考,这也说明自己之前的职业规划并不明确,或者说没有仔细想过。总之,总结下来就是:明确目标,根据自身优缺点制定短期计划,不断复盘并动态调整短期计划,最终实现长期计划。至于能否实现,就尽人事、听天命。最后,感谢沈老师布置的本次作业,让我有机会深度思考这个有重要意义的问题,也感谢社群中其他大佬的分享给我的启发。说明,这是一个,社群六月份的活动:1.  隶属主题:职业规划2.  探讨问题:职业生涯,到底能不能规划?3...

社群104天,阶段性总结(为牛人点赞!)

13 days ago

今天是我阅读和运动打卡的第104天,输出打卡的第79天,过了上次66天总结约定的下一个节点。本来是第100天写总结的,拖了几天。先用一句话总结:加入社群106天,阅读200.26万字,读完9本书,运动里程752.53公里,体重减少5斤,输出88个非打卡主题,累计输出11.68万字。【1】每日打卡目标设定1. 阅读:每天阅读15分钟;2. 运动:每天户外行走或跑步15分钟;3. 输出:每天输出至少100字;【2】104天阶段性总结概要1. 阅读打卡104天,阅读总时长103.77小时,阅读总字数200.26万字,日均1小时 & 1.91万字,完整读完9本书;2. 运行打卡104天,运动总时长155.28小时,运动总里程752.53公里,日均1.5小时 & 7.23公里,体重减少5斤;3. 输出打卡79天,输出“非打卡”主题88个,累计输出11.68万字。【3】阅读打卡104天小结1. 阅读总时长:6226分钟(103.77小时),平均每天59.86分钟;2...

就这样,我错过了职业生涯中三次最重要的机会(怪我自己,没把握住!)

15 days ago

技术人职业生涯选择的回顾与思考。技术人的职业生涯能否复制? 这是个有趣的问题,感谢沈老师让我回顾自己的职场经历。 【1】2001年毕业时,我考取了高级程序员证书。当时很多同学选择去深圳发展,不少人进入了腾讯、华为等大公司。那时,我们大学有位教授在武汉创办了公司,导师认可我的能力,给我开出的薪资和深圳差不多,都在 4000 元左右,所以我最终决定留在武汉,没去深圳。那些进入腾讯和华为的同学,借着深圳大发展的东风,有的负责 QQ 音乐项目,有的在华为担任不同岗位,至今仍活跃在各自领域,还在深圳买了房。我时常想,如果 2001 年我也去了深圳,现在会是什么样子,是不是也能拥有两套价值千万的房子了?【2】我的第二次职场机会是去日本。从教授的公司离职后,我加入了一家日本外包公司,并被外派到神户工作了一年。一年后,同事、老板和上级都很认可我,邀请我一起喝酒、吃饭,还在酒席上希望我留在日本发展。我让妻子来日本过春节,让她感受一下日本的生活并询问她的意见。商量后,我们决定回国,主要是因为妻子在大学当老师,工作稳定,放弃这份工作去日本不太值得。我在日本外包公司有个华中科技大学毕业的同事,后来去了东京,进入东软在日本的子公司,如今已是东软日本的第三号人物。他和我分享了他的成长经历,在东软日本的平台上,他参与各种企业解决方案的开发。在日本做企业解决方案,除了关系网,更重要的是服务的敬业水平和专业能力。这位同学非常吃苦耐劳,他带领团队在没有任何客户资源的情况下,克服了重重困难,赢得了客户的信任。通过不断积累客户资源,他的团队从东软日本一个濒临解散的3人小组,发展成了上百人的大团队,成为业绩最出色的团队之一。我时常会想,如果当初留在日本,我的职业会如何发展,又会经历怎样的职场旅程?【3】我的第三次职场机会来自华为。2014 年前后,我接到猎头电话,邀请我参加华为终端的面试。考虑之后,我决定去试试。面试很顺利,我见到了部门负责人,最终拿到了录用通知。不过,我有些犹豫是否要接受这份工作。当时我35岁,正处于职业生涯的关键节点。和家人商量后,他们提出一个现实问题:35岁去华为,还能拼几年?我当时的工作薪资虽然不高,但工作强度适中,相对稳定。印象中,华为加班文化盛行,我担心自己适应不了。综合这些因素,我最终决定留在原公司。我有个亲戚是我的大学校友,他学电信专业,我学计算机科学。毕业后我们都留在武汉工作,我进入大学教师创办的公司,他则加入了中国电信。工作几年后,因电信采购华为设备,他深入了解了华为,于 2010 年代初辞职加入了华为。他加入华为后,正好赶上公司大力拓展海外市场。一开始,他被派往墨西哥工作,不仅工作出色,还结识了一位墨西哥姑娘并结婚。之后,他又先后被调往意大利和西班牙,至今仍在华为海外部门任职。凭借华为海外业务的快速发展,他收获颇丰,职级提升很快,年薪百万,巅峰时能达到两百万,职业发展十分顺利,取得了不俗成就。2014年,正是华为终端迅速崛起的时期。从华为手机问世,到如今华为消费者业务蓬勃发展,当时华为终端正在大规模扩张,急需大量人才。我常常想,如果2014年我加入华为,或许就能搭上发展的快车,迎来职业生涯的高峰。说不定我也能像亲戚那样,在华为取得成功,工作个五六年再退休。【4】回顾过去,我意识到自己在职业生涯中错过了三次重要机会:第一次是大学刚毕业,没抓住深圳快速发展的机遇;第二次是在日本工作,错过日本市场对外拓展的好时机;第三次就是华为终端的发展机会。这些错过的选择,成了我职业生涯至今最大的遗憾。再看看身边那些抓住机会的人,他们能力未必比我强,却在各自领域取得了不同程度的成功。而我因为没有成熟的职业发展观念,没有认真思考人生方向,从而错过了这些机会。归根结底,还是我的认知不足。我们的教育体系难以帮助我们拓宽视野、认识更广阔的世界,而且我们那个时代的父母大多朴实无华。如果学校和父母不能在人生方向上给予指导,我们很难在关键选择上做出正确决定。要是当时身边有像沈老师这样的人启发我,或许人生会大不一样。回到作业的问题,他人的职业生涯能否复制?我们通常想复制谁的呢?我最想复制的不是名人或行业大牛,而是身边熟人的。我觉得彼此经历和背景相似,但对方在职场取得了成功,走上不同道路。这时我总会想:要是当初做同样选择,现在会怎样?可惜往往到这时已来不及。因此,关键不在于职业生涯能否复制,而在于帮助职场伙伴提升认知、拓展视野,做出正确职业选择。参加得到高研院后,我接触了终身学习理念,还和热爱学习的人交流,像头马演讲俱乐部的伙伴、早起时间管理小组成员,以及得到高研院的企业家们。我参加读书会,每月精读两本书并做笔记,还养成了运动习惯,已参加6次半马。经过两三年积累,我明显感觉思维更成熟。这让我能更清晰地发现工作问题并有效解决,对工作帮助很大,同事也说我变化大。我能更好地把握当下职场环境和公司发展趋势,跳出岗位从宏观角度看所在环境、企业和行业的未来走向。这种认知改变让我更有信心应对挑战。如今我45岁,悲观地说,人生过半,时间不多,也许无法达到期望的成就;乐观地看,还有几十年,未来充满未知。人们常说,机会留给有准备的人。现在,我坚信要保持终身学习,多和高能量、高认知的人交流,像沈老师那样,拓宽视野。这样,机会来临时才可能抓住。再次感谢沈老师布置的作业,让我回顾了前半生,也让我更加期待未来的人生。以???。说明,这是一个,社群六月份的活动:1...

为什么说,MapReduce,颠覆了互联网分层架构的本质?(第86讲)

16 days ago

《架构师之路:架构设计中的100个知识点》86.MapReduce颠覆性架构上一篇万字长文细说了MapReduce架构设计,为什么有人说,MapReduce系统架构,颠覆了互联网分层架构的本质?下图是一个典型的,互联网分层架构:1. 客户端层:典型调用方是浏览器browser或者手机APP;2. 站点应用层:实现核心业务逻辑,从下游获取数据,对上游返回html或者json;3. 服务层:业务服务,数据服务,基础服务,对上游提供友好的RPC接口;4. 数据缓存层:缓存加速访问存储;5. 数据固化层:数据库固化数据存储;同一个层次的内部,例如端上的APP,以及web-server,也都会进行MVC分层:1. view层:展现;2. control层:逻辑;3. model层:数据;工程师骨子里,都潜移默化的实施着分层架构设计。互联网分层架构的本质究竟是什么呢?如果我们仔细思考会发现,不管是跨进程的分层架构,还是进程内的MVC分层,都是一个“数据移动”,然后“被处理”和“被呈现”的过程。如上图所示,数据处理和呈现,需要CPU计算,而CPU是固定不动的:1. db/service/web-server都部署在固定的集群上;2. 端上,不管是browser还是APP,也有固定的CPU处理;而数据是移动的:1. 跨进程的:数据从数据库和缓存里,转移到service层,到web-server层,到client层;2...

为什么西方国家愿意把开源技术白白让中国学习?

17 days ago

网上有个童鞋说,如果不是那些极度崇洋媚外的人竭尽所能把洋人的思想和技术学过来拯救了中国,你我也许至今仍生活在一片水深火热之中。西方国家愿意把开源技术白白让中国学习?主题:为什么西方国家愿意把开源技术白白让中国学习?https://www.zhihu.com/question/8468233892【回答1:3K+赞同】【回答2:4K+赞同】没有免费的午餐。事实证明把蛋糕做大,才能吃到更多的蛋糕。开源可以集思广益,吸引更多的人才参与进来。除非你的项目做得非常完美,可以直接找到投资方。否则开源几乎是最好的选择。【回答3:5K+赞同】因为蠢货是所有人的敌人。大家一起现代化,一起做文明人对每个人都有好处。想象一下一个人坐在高铁上,后座一个脚丫子伸你旁边;出了车祸,结果路上的人都不知道120电话是多少;心脏出问题,没一个人会用AED。你难道不希望这些人能都受过教育有点素质?一个教授走在校园的路上会被树砸死,如果有人开源了安全员,开源了安全施工的操作规范,不就避免被砸死了。没有人愿意生活在一群蠢货中啊!【回答4:8K+赞同】因为资本家比你想象的先进得多。一百年前福特就认为如果不给员工发够工资,那么就没有人能消费福特汽车。资本的需求就是扩大市场,扩大市场无非是扩大市场的广度,和扩大市场的深度,既然市场的广度是有限的,那么发展市场的深度就是必须的。而市场的深度就能惠济所有人,就这么简单。而农业国家不一样,农业国家的思维是土地有限,而产出有限。那么怎么解决问题呢?就是把所有人像驴子一样拴死,只要老死不相往来,就天下太平了。因为农业国家没有经过工业洗礼而突然进入资本时代,就会想尽办法进入地租经济,包括不限于金融的地租,土地的地租,学阀的地租。只要进入后,就想方设法的限制后来者,通过贩卖地租这一门槛挣钱。【回答5:1W+赞同】一方面是因为,中国在很长一段时间里都是发展中国家,而且是比较需要援助的,所以从人道主义来讲下放技术本身有必要性,而且长期看是有利的。为什么呢?举个例子:美国向中国“转移乙肝疫苗专利”,除了人道主义关怀还涉及到一个问题,那就是中国是一个潜在的大市场,无论从名声上还是保障市场都是有利的。类似的,中国向加拿大要粮食的时候,提出的是“要求加拿大联邦政府向加拿大小麦局提供贷款担保”,这是一个令人超出常识的行为,但加拿大农业部长最后力排众议接受了,一方面是人道主义援助,而另一方面也能打开加拿大农产品出口,实际上这批粮食发出去后农民收入确实增加了。开源这个东西用,是默认双方都遵循这样的规则,正常情况下,开源会带来更大的繁荣,因为开源减少了门槛。当然,西方国家搞开源的时候,绝对是没想过会有人用大局域网隔绝开源网站,然后把开源网站扒下来在墙里卖这种事。以上。==全文完==这个问题,你怎么看?做了一个“反焦虑”的职场发展的社群:《40岁,创业2个月了,人生总得做点啥...》一年至少50场活动,欢迎大家加入。 阅读原文 文章原文