注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

Demo体验

Demo体验

场景Demo,开箱即用
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有

来自 2022 的总结,拖延症害死人

停下来,看一看 之前写影评就不喜欢矫揉造作,这篇也就当成自述吧,可能,矫情了点? 高中时候看过一个小短片《二十七八岁》,和现在生活真有些许重合,发现生活中开始计算收支,喜欢健康的生活方式 偶尔感慨着房价、物价的涨的有多快,然后摸了摸自己口袋,发现烟没怎么涨价,...
继续阅读 »

停下来,看一看


之前写影评就不喜欢矫揉造作,这篇也就当成自述吧,可能,矫情了点?


高中时候看过一个小短片《二十七八岁》,和现在生活真有些许重合,发现生活中开始计算收支,喜欢健康的生活方式


偶尔感慨着房价、物价的涨的有多快,然后摸了摸自己口袋,发现烟没怎么涨价,挺好的。


我是一名 Android 开发工程师,但大多数时间做的都是偏前端项目,可能 23 年的 flag 一不小心就定位转行了呢!!!


2022 年,给自己备份存个档,按时间节点的流水账


主题词 一:结婚


作为 Android 打工人,名正言顺经常去设计部门逛逛,和妹子讨论 UI设计问题。


我说:“你不能这样设计,会增加开发复杂度,以及运行性能……”

“真的吗?这样设计真的不行吗”

“对的啊,你看把这些…功能都去掉可不可以”

她看着我说:“可是我觉得这样更好看唉”

对视了会,也不是不能做,内卷就这么开始了。。。


可能我个人魅力(内卷的教养)吸引了妹子,在我的疯狂追势下,成为了我老婆。

你看,谈恋爱容易吗?结婚容易吗?


相信我,你只要兢兢业业的打工,也会拥有的。当然有一丢丢取决于个人魅力(幽默、吃饭、旅游、礼物、关心、头发、骚!!!


如果没能成功,还是记得好好爱自己(🐶)。


主题词 二:买房


做了很多攻略,我觉得22年并不是买房的好时机,但房东说你不买就得给我打工,被逼的我就买了房。


看了西安,看了武汉,最后还是选择了上海,不亏为我的底线


定居后,感觉人生清单里,又划掉一项,想了想剩下的 Todo 事项,又被沉默施法。

说明这真的只是人生中一件事,拉长生活轨迹,还有很多等待着去体验,去感受。


但是,我成了大家眼中,有钱人?

我说你误会太多,他说早该叫老总

我说贷款成房奴,那是资产会升值

我说还贷压力大,老总你还有头发


其实有没有钱呢,心里跟明镜一样儿,不需要华丽的奢侈品、昂贵的汽车、进口的杂七杂八。


从日出到黄昏,三餐四季,柴米油盐酱醋;会一会小伙伴,饮茶小酌,吃喝玩乐大保健(也就只敢写写)。


你说这样的生活需要太大成本吗,不舒服?那就是这样平凡


主题词 三:研究下班精力流转效率


天将降大任于斯人也,我报之以兼职创业。我想过做炸鸡店、临期食品,还想着要不要盘家店,做拉面生意(虽然我不会)。


甚至某鱼上门教写代码也是可以的,三楼贵宾一位?这思想来源于职场焦虑,也是对于以后的职业生涯,思考多一个选择。


来源于朋友的邀请,一起做外包公司,线下线上接活,再招兼职人员开发,我负责进行项目管理,人员外派。


代码能力不行?没行业经验?不重要

只要你张得开嘴,迈得开腿,吃喝陪睡(没有,写飘了),能拿到 10w+ 预算的项目,人还不好找吗?


当然也会遇到很多问题,计算项目成本没经验,没有人力资源池,以及项目中有人跑路,风险管控,本职工作忙,项目涉及技术复杂等等。


诸如此类,很多问题都要想办法去解决,而且行业也是内卷的,转包严重,留给你的也许就是个骨头。


忙了一段时间,再加上生活中一些变动,还是先休息沉淀沉淀,转战幕后,去梳理下后期规划。


主题词 四:宝宝出生


感概今年的生活很充实,小虎妞出生啦,我看了些楚辞、诗经,给小孩选了几个名字觉得一般。


又搬出了 github,找个程序帮我测算名字(周易五行),95 得分我很满意,不是为了迷信,是不像她爹考试只踩及格线。


宝宝很乖,有时半夜 2:00 还和我打招呼,让我陪她说说话


我说你快睡,她说:“爸爸你最好,爸爸你最帅,爸爸我是你的小棉袄……”,你能想象一个新生儿这么能说吗,我也没想到。


我心想:“等你长大了,我拉着你晚上一起,坐着摇椅慢慢聊 Vue、React、Android,谁都别想睡。”


结语


面对了自己22年,和27岁的人生,白给了吗?好像也并没有,也升职加了薪、项目赚了钱、基金亏成狗(累计还是赚)。


23年就不列什么 flag 了,想到什么就立马去做吧,行动力往往比嘴上功夫更重要。


借用之前看过的一本书:“跳舞吧,趁年轻的时候。不要去想为什么要跳舞,尽管跳舞就对了。脚步一旦停了下来,就

作者:抠键盘养你
来源:juejin.cn/post/7208050893055787063
会往另一个世界走。”

收起阅读 »

鹅厂七年半,写在晋升失败的不眠之夜

夜半惊醒 看了下时间,凌晨4:37,辗转反侧。3.7号大领导告诉我这次10升11没通过,这是我知道晋级失败的第4个夜晚,从震惊到否认,到愤怒,到麻木,再到冷静。我的技术能力、思考深度、攻坚能力明明是小组里突出的一个,但在此次技术职级的晋升上,却名落孙山,落在同...
继续阅读 »

夜半惊醒


看了下时间,凌晨4:37,辗转反侧。3.7号大领导告诉我这次10升11没通过,这是我知道晋级失败的第4个夜晚,从震惊到否认,到愤怒,到麻木,再到冷静。我的技术能力、思考深度、攻坚能力明明是小组里突出的一个,但在此次技术职级的晋升上,却名落孙山,落在同组小伙伴之后。技术人员,终究困于技术的窠臼。


工作经历


浑浑噩噩的四年


我毕业就进入鹅厂工作,15年,正是鹅厂大杀四方的一年,至今犹记得当时拿到鹅厂 offer 时的兴奋和同学眼中的艳羡。来了公司后,跟着项目组开始创新项目,一眼望到头的挣不来钱,浑浑噩噩的干了3年,和一起进公司的小伙伴们收入差距越来越大。


好在我的驱力不错,既然挣不到钱,那就好好积累技术能力,提升自己。那段时间,周围没有伙伴,没有对比,没有好的机会,只剩下我一个人慢慢悠悠的学习积累,我以为自己足够努力,没有荒废时间;后来才发现自己其实是井底之蛙,一起入职的小伙伴付出了百倍的努力和数不清的不眠之夜,1年多就已经能 cover 当时的业务了,没过2年就已经提干了。


2018年底,我满怀信心去答辩后台 3.1,没过。我当时还觉得评委装逼,挑刺,后来回头看写的都是s,一点含量都没有。


时来运转


2019年3月,答辩刚结束。部门业务调整,我们被整组划到了一个相对挣钱的业务上,leader 也调整成后台 leader。


新业务还是挣钱,凭着第一个项目积累的技术和项目经验,我得到了新领导的认可,第一年干的轻轻松松就挣到了远远超出之前的收入,和之前累死累活拿温饱线形成鲜明对比,可见大厂里跟对项目是多么的重要。


只是没想到第一年就是巅峰,后面随着贸易战、反垄断,鹅厂形势越来越差,我们业务收入也受到极大影响,人员也越来越冗余。挣的钱少了,分蛋糕的人还多了,可想而知,收入越来越差。


在这里,我成功从8级升到了10级工程师。说起来我们这一届实名惨,第一批毕业要等1年才能晋级,最后一批8升9需要公司范围内通道评审,第一批9升10走BG内评审,第一批10升11走部门内评审,全程试验品,一样没落下。


10升11


去年年底公司晋升改革,10升11评审下放部门,职级和待遇不再挂钩,不仅看重”武功“,还看中”战功“,同时传闻这次晋升名额极少。大领导找我谈话,要不就别去了?我想了想这两年的技术和项目积累,不甘心。


整个中心,就我和同组的小伙伴两个人一起去,我挑的是个一直在做的有技术挑战、持续优化的项目,小伙伴挑的是挣钱的项目。我准备了几个周末,小伙伴临时抱佛脚,结果小伙伴过了,我没过。评委说,我过度设计(优化过头)、没有实战演练容灾。


我和大领导说这个和我预期差太多了,我和小伙伴一起预答辩过,都知道讲的啥,咱是技术评审,我的项目技术含量、架构和挑战明明更好,为啥是我没过?大领导说你是认知偏差,人家讲的确实好。不忿,遂找评委 battle,咱要真按这个说法,能不能对参加评审的项目一致对待,不要双标?且不说我是不是过度设计,凭啥对我的项目就要求容灾演练,对别人的项目就视而不见?评委不语,你的项目对部门价值没产生什么收益和价值。


部门400+人,4个晋升11级名额,大概率是一个中心一个。一个技术评审,糅合了许多超过技术方面的考量,业务挣不挣钱和技术有啥关系?技术好的业务就能挣钱?业务挣钱多的是技术好的原因?


我以前也晋级失败过,但是我认输,因为相对而言,整个BG一起评审,你没过就是你技术差,其他因素影响没有这么大。这次明明是我更有技术深度、更投心思在优化上,却事与愿违。


反思与感悟


反思一下。千头万绪,毛主席说,那是没有抓住主要矛盾。


大的方面上讲:这两年大环境差,公司收入减少,需要降本增效。我要是管理层,也会对内部薪资成本、晋升等要求控制增速;政策制定上,也会将资源更倾斜于现金流业务,控制亏损业务的支出。在这个大的背景下,公司不愿意养“能力强,战功少”的技术骨干了;更愿意养“能力强,战功多”的人员。希望员工把精力都聚焦在业务挣钱上。


部门层面上讲:和公司政策一脉相承。晋升名额少,那紧着挣钱的中心、挣钱的小组、挣钱的个人给。这个意义上讲,职级体系已经不是衡量技术能力的标尺了。你技术能力强,没用。你得是核心,得是领导认可的人。


中心层面上讲:要争取名额,否则怎么团结手底下人干活。而且名额要给业务干活干的最出色的那个人,其他人就往后稍稍。我要是我领导,年前也会劝退我的。毕竟我技术能力虽然强,更多的是问题专家的角色,而不是业务核心。


且预测一下,中心之间肯定进行了各种资源置换。评审估计流于形式。慢说我被挑出来了问题,就是挑不出来问题也得给你薅下来。我就是和小伙伴互换项目去讲,估计还是小伙伴过,到时候评委就该说我“你做这东西有啥难度,我叫个毕业生都能来做”了。此处我想起了一副对联,不太合适,就是很搞笑。“说你行你就行不行也行,说你不行你就不行行也不行”,横批是“不服不行”。



从个人角度讲,付出和收获不成正比,难受吗?那肯定的。但谁让方向一开始就错了呢?这世界不公平的事情多了,不差这一个。



重新出发


综上来说,短期内,不改变发力方向到业务上,后面可以说晋升无望。以前老是觉得自己技术能力强,心高气傲,心思没在业务上,勤于术而懒于道,实在是太过幼稚。做了几年都对很多东西不甚了了。


今后,需要趁着还能拼的时候拼一下,潜心业务。编码和开发只是很小一部分,更要从:



  1. 业务大局出发,实时数据驱动,监控、统计一定要完善,要有看板,否则无法衡量。

  2. 主动探索业务,给产品经理出主意,一起合力把产品做上去做大,提升对业务的贡献,探索推荐、探索推广渠道等等。产品做不上去,个人也没机会发展。

  3. 多做向上管理,和领导、大领导多沟通。做好安排的每一件小事,同时主动汇报,争取重获信任。

  4. 主动承担,做一个领导眼里靠谱放心的人。

  5. 多思考总结,多拔高提升,不要做表面的勤奋工作,看似没有浪费时间,实则每分每秒都在浪费时间。

  6. 多社交,多沟通,多交流,打破技术人员的牢笼。


凡事都有两面性,福兮祸所依,祸兮福所倚。多受挫折、早受挫折不是坏事。


2023,就立个

作者:醉梦星河
来源:juejin.cn/post/7208907027840630840
flag 在这里吧。

收起阅读 »

又干倒一家公司,我悟了

目前这家公司由于是政府项目,好多项目周期过长,未能及时回款,导致资金链断裂,摇摇欲坠,开始裁员。虽然由于项目资源稀缺,需要我,不至于裁到我头上,但是生存压力迫使我看向了外边,很快决定了入职新公司,同事请领导们吃散伙饭,有被裁的大佬,有留下的,有主动辞职的,各自...
继续阅读 »

目前这家公司由于是政府项目,好多项目周期过长,未能及时回款,导致资金链断裂,摇摇欲坠,开始裁员。虽然由于项目资源稀缺,需要我,不至于裁到我头上,但是生存压力迫使我看向了外边,很快决定了入职新公司,同事请领导们吃散伙饭,有被裁的大佬,有留下的,有主动辞职的,各自怀着复杂的心情,聊了几个小时,现总结一下,作为教训:


1. 技术方面



  • 谨慎对待新技术,技术路线要有延续性,做大版本更新,而不是每个项目都尝试新的路线方案。

  • 小项目,以高复用和快速实现为首要目的,不频繁更换框架。


2. 需求方面



  • 以产品或项目的需求导向而不是以技术为纲。

  • 需求方也许不懂要什么,产品去引导,简单到复杂,别把自己带进技术化和复杂化的迷宫。

  • 有些急的项目前期可以快速简单实现,先验证,而不是等原型、设计,错失良机。


3. 人员方面



  • 主要技术领导别追求完美,要控主方向和整体,而不是较真细节。

  • 十个项目一个成,架构师们歇歇吧,杀鸡不兴用牛刀,尽可能简单实现,别整太复杂的框架和路线。

  • 团队内聚,可以将产品、测试长期配置到各开发团队,减少成本矛盾和沟通问题。

  • boss需要及时频繁的与主要领导沟通,定方向,放大权,用人不疑。


4. 企业管理方面



  • 切忌盲目自信,疯狂扩张团队,利润和成本须同步,不能因短期项目招兵买马。

  • 适时而果断拿起手术刀,坚决断臂求生,及时且合规地删减人员,要有人情但不能妇人之仁、拖泥带水,对个体和公司都好。


最后,警惕以上问题,期待自己尽快找到更

作者:Adam289
来源:juejin.cn/post/7208534700223184951
明确的方向,去奋斗!

收起阅读 »

28岁小公司程序员,无车无房不敢结婚,要不要转行?

大家好,这里是程序员晚枫,又来分享程序员的职场故事了~ 今天分享的这位朋友叫小青,我认识他2年多了。以前从事的是土木行业,2年前找我咨询转行程序员的学习路线和职业规划后,通过自学加入了一家创业公司,成为了一名Java开发。 **最近他遇到了新的职业上的困惑,又...
继续阅读 »

大家好,这里是程序员晚枫,又来分享程序员的职场故事了~


今天分享的这位朋友叫小青,我认识他2年多了。以前从事的是土木行业,2年前找我咨询转行程序员的学习路线和职业规划后,通过自学加入了一家创业公司,成为了一名Java开发。


**最近他遇到了新的职业上的困惑,又找我聊了一下,我也没想到好的解决方法,**大家可以一起看一下~下面是沟通的核心内容。


1、他的问题


小青是中原省份省会城市的大专毕业,毕业季就去了帝都实习和工作。后来发现同学中有转行程序员的,薪资很诱惑,所以就找到我咨询如何学习和转行,现在一家帝都创业公司负责后端开发。工资1w出头。


今年已经28岁了,有一个女朋友,最近女方家里催他结婚,他自己也有结婚的意愿。但是考虑到自己人在大城市,无车无房,创业公司的工作也不稳定,以后吃住花销,结婚后养孩子的花销,再看看自己1w多的工资,女朋友做财务,一个月到手不到1w。


双方家里也都是普通家庭,给不了什么实质的资助,靠自己目前的收入根本不敢想象成家后压力有多大。


所以目前非常迷茫, 不知道自己在28岁这个年龄应该怎么办,应不应该成家?应该怎样提高收入?


虽然自己很喜欢程序员这份工作,但是感觉自己学历不好,天花板有限,程序员还能继续干下去吗?


2、几个建议


平时收到后台读者的技术问题或者转行的困惑,我都会尽力给一些详尽的回复。


但是这次听到小青的问题,说实话,我也不知道该说什么。


在28岁这种黄金年龄,想去大城市奋斗一番也是人之常情,但因为现实的生活压力,却不得不面临着选择离开大城市或者转行到自己不喜欢但是更务实的职业里去。


如果想继续留在帝都,我能想到的有以下几个办法:



  • 首先,如果想继续从事程序员工作,努力提高收入。最快的办法就是跳槽,已经工作2年多了,背一背八股文,总结一下项目经验,应该是可以跳槽到一家更好的公司了。

  • 其次,探索另一个副业收入,例如自媒体。因为我自己就是通过在各个平台开通了自媒体账号:程序员晚枫,分享自己的程序员学习经验获得粉丝,进而得到自媒体收入的。小青也可以实事求是的分享一下自己大专毕业从建筑工作转行到程序员的经验,应该也能帮助到别人。

  • 最后,努力提高学历,想继续在程序员这行卷出高收入,趁着年轻,获得一个本科或者本科以上的学历还是很有帮助的。


受限于自己的经验,我只能给出以上几个建议了。


大家还有什么更有效的建议,欢迎在评论区交流~


3、写在最后


说句题外话,很多人都觉得程序员工资高想来转行,但其实程序员和其它行业一样,高收入的只是一小部分,而且那部分人既聪明又努力。


最重要的是,高收入的那部分人里,大部分都不是转行的,而是在一个专业深耕了多年,最终获得了应有的报酬。


无意冒犯,但听完小青的经历,我依然要给大专以下,想转行程序员拿高薪的朋友提个醒:如果不是十分热爱,请务必三思~


作者:程序员晚枫
来源:juejin.cn/post/7209447968218841144
收起阅读 »

一张架构图让我认识到前端的渺小

前言 大家好这里是阳九,一个文科转码的野路子码农,热衷于研究和手写前端工具. 今天我们不聊前端,咱们来聊聊后端,聊聊架构 目的是正视自己的地位和价值,在寒冬中保持清醒 借用若川大佬的一句话: 所知甚少,唯善学 先别问我到底是前端程序员还是后端程序员,我自己也...
继续阅读 »

前言


大家好这里是阳九,一个文科转码的野路子码农,热衷于研究和手写前端工具.


今天我们不聊前端,咱们来聊聊后端,聊聊架构


目的是正视自己的地位和价值,在寒冬中保持清醒


借用若川大佬的一句话: 所知甚少,唯善学




先别问我到底是前端程序员还是后端程序员,我自己也不知道。当然自己也很想在某个领域精进,但是业务嘛,咱们就是一块砖,哪里需要哪里搬,硬着头皮上呗


最近是在维护公司的业务引擎, 对其进行优化并添加功能,技术栈的话大体来讲, 前端是React+Node BFF,后端是GO (Gin框架+原生)


随着看后端代码的时间越来越长,作为一个切图仔,我越来越觉得恐怖。那是一种,看到了过于庞大的未知世界,并深深觉得自己的认知太少的恐怖。


因为这个项目是定制项目,通俗点来讲就是"改装车",不从头造车但是要改装,这里改改哪里改改,一旦改动的点多了,就需要你把整个项目的逻辑全部理顺。


于是乎我在这两个月里,里里外外看了几万行代码。也是硬着头皮把整个架构梳理了一遍。


先在这里放上一张整理出来的架构图


(当然这里根据原系统魔改了的很多地方,并进行了简化,并修改了名称,防止泄密,模块的大小差不多是以核心逻辑代码量来算的,前端的核心代码量有多少咱们前端er应该都懂)


XXX系统总架构图.jpg


本文目的


想通过一次后端架构分析, 让我们前端人意识到自己的不足与眼界的狭窄,我们前端er需要对一个完整的大型项目有一个整体的认知,意识到自己的不足,才能在这条路上更好的走下去。
不要满足于html拼拼页面,写写样式,做做一些简单的工作。


技术栈介绍


这里先简单介绍一下技术栈, 否则无法理解



  • 前端 React webpack antd redux ... 前端er都懂,以下省略

  • Koa框架 一个node后端框架

  • Gin框架 一个GO后端框架

  • Docker 容器引擎

  • K8S Docker集群管理

  • RabbitMQ 实现AMQP消息队列协议的代理软件,也就是消息队列,用于通信

  • GFS 分布式文件共享系统,用于大量数据访问

  • MongoDB 快读读取用数据库

  • Elastic Search 分布式数据库,进行大批量存储查询

  • SQL 传统关系型数据库

  • MobileSuit 后端框架工厂框架,用于创建独立Gin服务

  • 扩容服务 GO原生实现

  • 引擎 GO原生实现

  • 守护进程 GO原生实现


关于前端


看到左上角我特意标出来的那一小块红色的UI了吗?我们称之为 前端


数据库


mongo DB : 用于小体积数据的快速读取,用作数据中间传输(原生json,使用方便)


Elastic Search : 分布式数据库, 用于大体积,大批量数据存储和快速检索(动辄十几亿条数据,一条json数据几千个字段)


SQL: 用于存储不变的数据,比如国家信息,公司信息等等,重在稳定。


容器化部署


简单介绍一下什么是容器,当然我这里默认大家都懂。 容器提供了程序所需要运行的环境, 并将其独立隔离出来,


Docker:  是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中


k8s: 是 Google 开源的一个容器集群管理系统


架构中除了守护进程和引擎扩容服务,所有引擎,前后端服务,数据库服务都使用Docker进行容器化,并使用K8S进行统一管理。


image.png


引擎



  • 引擎扩容服务:可以在判断需要并能够提供多个引擎的时候,开启更多的引擎进行处理。

  • 树状引擎结构: 一个任务可能需要多个引擎协同参与, 而且下级引擎依赖上级引擎的结果

  • 上级引擎的结果需要经过调度服务,通过MQ进行消息传递,调度后再传递给下级引擎

  • 最终结果写入数据库


image.png


调度层




  • 任务调度器:提供任务优先级调度,任务状态管理,任务拆分,任务下放等功能




  • 结果处理器; 提供各引擎对应的结果处理解析功能,有大量的数据库查询,结果计算,字符串解析逻辑,体积非常庞大.




  • 当然优先级调度器和引擎结果处理服务是单独运行在Docker中,需要使用MQ和GFS,数据库进行数据交换




image.png


数据聚合层


也就是node写的BFF数据聚合层,将gin框架(gopher层)获取来的数据进行聚合,格式化成前端所需的数据结构,并提供前端接口。这里就不赘述了


gopher服务层


提供主体服务, 数据库IO等等,体量最大。提供了各种处理模块,接口等。


架构也是一个简单的类node三层架构,


(Router - controller - Service)
带上validator层和数据库操作层(与node中的Model层区别不大)


image.png


守护进程


原生GO写的守护进程,一个部署时直接运行在机器某端口的进程, 主要功能有3个


创建 - 监视 - 代理



  • 它将整个系统包裹起来, 用于监视各个容器的运行情况,

  • 提供了一个用于自动注册Gin框架路由的上级自研框架MobileSuit,系统的每个服务都会通过MS框架进行启动,生成一个Gin路由实例。 并挂载到总路由树上。


image.png



  • 守护进程包裹了所有的服务, 系统各个服务发出的请求都会首先被代理到守护进程上,守护进程将其统一拦截下来, 方便之后的统一请求代理处理。


image.png


对前端人和自己的话


不知道小伙伴们看到我整理出来的架构有什么看法?有没有认识到前端的渺小.
我们一定要正视自己的地位,在寒冬中保持清醒


再聊聊,为什么很多小伙伴会觉得 前端已死?


我想说的是,对比起后端,前端人在几年内吃了太多的互联网红利。这个行业可能需要自我净化,提升整体素质。


我见过包装3年实际一年,连vscode调试都不会的前端人拿很高的月薪。


也见过对算法,原理,底层,优化,都很熟悉的3-4年后端的人拿的不比我这个小外包高多少。


我们前端人一定要明白,普通前端的可替代性实在太强太强。


要么我们深入业务,要么我们深入原理。


对于真正学习计算机科学的人来说,什么webpack代码构建,babel编译,什么react链表结构,vue模板编译,这些看上去比较底层的东西,在他们眼里可能只是基本功,可能只是常识。


如果不深入原理,那么最终真的只能“前端已死”。



  • 想想在刚入行的时候,读了一下某开源工具的源码,我的反应是


“哇这架构好神奇,居然将三层类层层嵌套” “哇一个参数居然能通过观察者模式传三层”



  • 想想在刚入行的时候,看了一下react渲染的原理


"哇他们真聪明,居然能想到将大任务分成多个5ms小任务,运行在浏览器每一帧上,阻止卡顿"


跟一个后端/硬件的朋友讨论,他跟我说"这不是常识吗?调操作系统底层,5ms任务给你掐了"


现在看来,这不过是基础罢了。但很多前端er,连这些都搞不明白,就像原来的我一样。


毕竟,即便是深入了前端的原理,可能也只是到达了软件开发的基本水平吧。


还是借用那句话吧。
所知甚少,唯善学。


前端不会死的,它只是停止了狂奔。


作者:不月阳九
链接:https://juejin.cn/post/7207617774634451000
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

你代码的异味是故意的还是不小心?是故意的!

一、代码竟会有“气味” 食物在腐烂之际,会散发出异味,提醒人食物已经坏掉了,需要处理。同样,如果代码中某处出现了问题,也会有一些症状。这些症状,被称之为“代码异味”(Code smell,也译作“代码味道”)。与食物腐败发出的味道不同的是,代码异味并非真正的气...
继续阅读 »


一、代码竟会有“气味”


食物在腐烂之际,会散发出异味,提醒人食物已经坏掉了,需要处理。同样,如果代码中某处出现了问题,也会有一些症状。这些症状,被称之为“代码异味”(Code smell,也译作“代码味道”)。与食物腐败发出的味道不同的是,代码异味并非真正的气味,而是一种“暗示”,暗示我们代码可能有问题,提示程序员需要对项目设计进行更进一步的查看。


代码异味一词最初是由Kent Beck在帮助Martin Fowler在编写《重构:改善既有代码的设计》一书时创造的。Martin Fowler对代码异味的定义是:代码异味是一种表象,它通常对应于系统中更深层次的问题。


代码异味的产生原因跟厨师的“清洗过程中故意保留”不一样,它更多地并非刻意为之,创造者也未必“品尝”过自己所写的代码,它更多地是由于设计缺陷或不良编码习惯而导致的不良代码症状。


这种异味也并非来自一种有据可查的标准,更多的是来自程序员的直觉。尤其是经验丰富和知识渊博的程序员,他们无需思考,只要通过查看代码或一段设计就可以立马对这个代码质量产生这种“感觉”,能对代码设计的优劣有一个大致的判断。这有点类似我们英语学到一定程度后,即便不能完全看懂文章,但凭借语感也能选出正确答案。


二、 代码异味的影响


对于代码异味的出现我们其实无需过度紧张,因为在整个程序中代码异味是无处不在的。


一般情况下,有“异味”的代码也依旧能运行得很好。只是倘若重视不够,没有适当地维护或改进代码,代码质量就会下降,系统也会开始变得难以维护和扩展,同时也会增加技术债务。这就像做出有异味的九转大肠的的小胖厨师,在前期准备中对评委的建议置若罔闻,一意孤行,做出来的菜连自己都难以下咽。


所以团队应尽可能地做有质量的代码,减少甚至避免这些问题,产生高效益的成果。


三、 如何辨别代码异味



代码是否存在代码异味,通常是靠程序员的主观判断,但由于语言、开发者、开发理论的不同,对代码异味的判断也会存在差异。


所以要想更精准地识别代码异味,获得更高的代码质量,程序员需要大量的实践和经验。不过,前辈们总结的经验也可以让我们少走一些弯路。Martin Fowler在《重构:改善既有代码的设计》一书中,列举了最常见的24种代码异味,可以帮助我们轻松识别,便于处理和改善它们:


1) 过大的类(Large Class)


一个类包含许多字段、方法或者代码行,并逐渐变得臃肿。


2) 数据泥团(Data Clumps)


代码的不同部分包含了相同的变量组,且这些数据总是绑在一起出现。


3) 过长参数列表(Long Parameter List)


指一个方法的参数超过了三个或四个。出现这种情况一般是将几种类型的算法合并到一个方法之后。


4) 基本类型偏执(Primitive Obsession)


创建一个原始字段比创建一个全新的类要容易得多,所以对于具有意义的业务概念如钱、坐标、范围等,很多程序员不愿意进行建模,而是使用基本数据类型进行表示,进而导致代码内聚性差、可读性差。


5) 神秘命名(Mysterious Name)


在编程中,命名是一件非常恼人的事情。一些可能只有自己看懂的命名,无疑加大了代码可读性的难度,有时甚至自己也会忘记这些命名的含义。


6) 重复代码(Duplicated Code)


这几乎是最常见的异味。当多个程序员同时处理同一程序的不同部分时,通常会发生这种情况。


7) 过长的函数(Long Function)


根据Martin Fowler的经验,通常活得最长、最好的程序,其中的函数都比较短。函数越长,就越难理解。


8) 全局数据(Global Data)


这是一个非常可怕且刺鼻的异味代码。因为从代码库的任何一个角落都可以修改它,而且没有任何机制可以探测出到底是哪段代码做出了修改。全局数据造成一次又一次的诡异Bug,让我们很难找出出错的代码。


9) 可变数据(Mutable Data)


如果可变数据的变量的作用域越大, 越容易出现问题。变量是可以更改的,但我们可能不知道是哪里改变了它。


10) 发散式变化(Divergent Change)


是指一个类受到多种变化的影响。


11) 霰弹式修改(Shotgun Surgery)


是指一种变化引发多个类相应修改。


12) 依恋情结(Feature Envy)


一个类使用另一个类的内部字段和方法的数据多于它自己的数据。


13) 重复的switch(Repeated Switch)


在不同的地方反复使用switch逻辑。这带来的问题就是当我们想要增加一个选择分支时,就必须找到所有的switch,并逐一更新。


14) 循环语句(Loops)


在编程语言中,循环一直是程序设计的核心要素。在《重构》中,Martin Fowler认为它是一种代码异味,因为他们觉得如今的循环已经有点过时了。他们提出“以管道取代循环”,这样可以帮助我们更快看清被处理的元素以及处理它们的动作。


15) 冗赘的元素(Lazy Element)


这是几乎无用的组件。我们在设计代码时有时为了未来的功能设计出“预备”代码,但实际上从未实现;又或者这个类本来有用但随着重构,越来越小,最后只剩下一个函数。无论哪种,它们都是冗赘无用的。


16) 推测的通用性(Speculative Generality)


是指为了“以防万一”,支持预期的未来功能,但这些功能并未被实现,这些类、方法、字段或参数也从未被使用,结果导致代码变得难以理解和支持。


17) 临时字段(Temporary Field)


创建临时字段以用于需要大量输入的算法。但这些字段仅在算法中使用,其余时间不使用。


18) 过长的消息链(Message Chains)


当客户端请求另一个对象,该对象又请求另一个对象,依此类推时,就会出现过长的消息链。这些链意味着客户端依赖于类结构的导航。一旦发生更改,客户端也要跟着修改。


19) 中间人(Middle Man)


指一个类只执行一个动作,但将工作委托给另一个类,这种委托属于过度委托。该类也可能只是一个空壳,只负责委托且只有一件事。


20) 内幕交易(Insider Trading)


指模块之间大量地交换数据,增加模块之间的耦合。


21) 异曲同工的类(Alternative Classes with Different Interface)


是指两个类执行了相同的功能但具有不同的方法名称。


22) 纯数据类(Data Class)


指包含字段和访问它们的粗略方法(getter 和 setter)的类。这些只是其他类使用的数据容器。这些类不包含任何附加功能,并且不能独立操作它们拥有的数据。


23) 被拒绝的遗赠(Refused Bequest)


指如果子类复用了超类的行为,但又不愿意支持超类的接口的情况。


24) 注释(Comments)


程序员将其作为一种“除臭剂”使用情况下的行为。比如:一段代码有着长长的注释,但这段长注释的存在是因为代码很糟糕。


四、 如何对代码“除臭”



1)重构


上述代码异味没有优先级一说,所以对于程序员而言,只能依靠直觉和经验去决定是否需要重构。


重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。是实现敏捷性的最重要的技术因素之一。是程序员根据已识别出的气味然后将代码分成更小的部分的过程,再决定要么删除它们,要么用更好的代码替换它们,如此循环重复这个过程,直到异味消失,这样可能会提高代码质量并让代码变得更具简单性、灵活性和可理解性。


2)使用代码检测工具



识别和消除代码异味是一个令人厌烦且不确定的过程,而且也不可能手动查找到和删除掉所有异味,尤其是面对一个有着上千行异味的代码的时候。所以使用一些代码检测工具可以辅助我们进行快速大量地审查,帮助我们节约时间来做更为重要的工作,比如能专注于代码高层面的设计原则问题。


好了,关于代码异味的知识,算是讲了个清楚,那么让我们相约下一次代码评审吧!



作者:禅道程序猿
来源:juejin.cn/post/7207617774633123896
收起阅读 »

评论二则:年龄大了能否写代码、上大学不喜欢IT专业咋整

最近有读者留言,问了一些问题。我感觉到,可能不止一个读者有类似的问题。因此,我决定将我与读者在文章下的评论互动,转为专题文章。这样可以增加曝光率,广而告之,相互交流。 问题一:国内能一直写代码吗? 问题来源: 用户user9740670030509在《我裁完...
继续阅读 »

最近有读者留言,问了一些问题。我感觉到,可能不止一个读者有类似的问题。因此,我决定将我与读者在文章下的评论互动,转为专题文章。这样可以增加曝光率,广而告之,相互交流。


问题一:国内能一直写代码吗?



问题来源:


用户user9740670030509在《我裁完兄弟们后,辞职了,转行做了一名小职员》下的评论:



大哥,我在微信上无意中看到你的这篇文章,深受启发,顺着线索找到这里并注册了账号,就为了答谢你。 顺便一说,你的文字很有感染力,可以帮助到很多人。所以如果你有精力的话,不妨考虑选择多个几个平台发文,比如公众号啥的。


我还想请教个问题,在国内能一直写代码吗?年龄大了感觉写不动了,因为看你又回归到基层写代码。



作者回复:


你加上“国内”这两个字,说明你已经了解一些现状了。这个问题,我去高校做交流的时候,很多计算机专业的学生挺喜欢问的。他们深受焦虑教育的影响,虽然不怎么努力,但是往往却可以做到刚刚过了15岁,就已经开始担心35岁的事情了。


其实,写代码,原则上不会受到年龄的限制。反而一些偏底层的代码,还会受益于经验的积累,甚至年龄越大越吃香


国外有个写C语言的老头,写代码写到60多岁,现在按照时薪开工资,找他写C需要预约。他也不贪,一周写十个小时就够吃的了。


但是,到了“国内”,一般就不是这样了


首先说,我们的IT企业环境,往大了说我们的主流价值观。基本都是更看重苦劳,也就是看氛围,推崇996。下班了,你背着包第一个走,这就是不好。工作群里深夜发信息,他回复收到,能24小时待命,这就是好。


这不是现在才有的,也不是IT行业独有的,这是几千年来文化熏陶出来的。


抛去能力不谈,单从“敬业”这一个方面来说,单身的小年轻,显然更具有优势


中年人的精力,会被家庭所瓜分。我们既要照顾老,又要照顾小。还可能要去给自己看病。因为以前年轻的时候,工作太过于放肆,经常连续熬夜、通宵改bug,还在项目庆功会上无限制地喝酒。医生告诉我们,一定要多休息,少看电脑。我们中年人,感觉还有一口气,很想坐起来给老板打电话说:我还能加班。但是,转念想到,导致自己现状的那个老板,骂骂咧咧地赶走老狗的时候,我们又变得狡诈和仇恨起来。


打工的中年人,再也做不到把公司当家,也很难收到消息后,就立马拉个杆箱就去出差。


你说,我有行业经验啊,我一个人的产出可以顶10个小年轻。那能不能别人上10天班,我只上1天班就行。


这一点,先不说很难评判(一说你本该这样的产出,另一说那10个人皆废物)。就算你可以顶100个小年轻,在我们的环境里,依然是行不通的。


我们一直推崇集体主义,不接受任何个人英雄主义行为。为了你一个英雄,管理者要打消众人心里的不平衡,控制各种诽谤和小报告。这个成本,要远大于它的收益。因此,像岳飞那样的英雄,不管在哪个朝代,都是很难生存的。


可能,这也是限制我们科技创新的一个瓶颈。集体的力量仅仅是一种普通的合力,或者叫多方妥协的红利。当它无法实现高精尖时,可能真的就需要一个人来搞定一个局面。


很有意思的是,我在这里说年龄对工作有影响。但是,你看看你头发花白的老板,不管是住在公司,还是个人英雄,他却一点也不受上面问题的困扰。因为打工和创业不一样,即便干一样的活,也是有本质区别的。这是另一个专项论点,暂且不谈。


说完了环境,再说我们的工程师。


我始终感觉我们没有任何核心技术


不管是JavaPython,还是目前我所从事的AI。其实,我们一直都在调用API。这就像是,我们不知道汉堡是怎么做的,但是吃相却是千姿百态。


编译器不是我们的,代码不是中文的。某某语言又发布新版本了,也没有和我们商量过。甚至,哪一天vscode或者IDEA不让你用了,你想找个趁手的地方写代码都很困难(说用记事本的,按抬杠论。嗯?记事本我们有自主软件吗?)。


我们所说的、你身边的编程高手,其实更多是API熟练工。就像我们很会开汽车,也很会制作汽车内饰,但是并不会制造汽车一样。而我们的高手,他们只是比普通人更会封装js、更会编写连接数据库的工具类而已。


因此,我们很难有现实意义上的IT专家。这一点,我和邻居大妈观点有些冲突。大妈向我宣传,我们有很多自主的系统,我们马上就世界第一了,吓得邻居纷纷来搞破坏。


我的视野却满是,刚研究透了Android 7,却发现Android 10已经发布了。我以前买了一本书,叫《IOS 5编程指南》。现在一看,上面的知识完全失效了。不是部分失效,是完全失效。所以,你看,我们一直追着国外的版本跑。服务商发布新版本越快,我们的技能就失效得越快。


因此,35岁、45岁,你很难再依赖新技术了。根本原因可能并不是你不学习,而是你根本就没有啥核心技术。那时,你肯定更喜欢顺手的、在你脑子里根深蒂固的、你扎实掌握了的老技术


当然,你也可以说,能做到熟悉某一版本的API那就已经很厉害了,我都做不到。这,确实没有错。所以,外国老头可以60岁还写代码,我们同样也做不到。


我想上面的两点,一个IT就业环境(倡导从众一致地奉献),二个技术深度(跟随新版本周边调用),可能会导致我们,确实很难将这份深爱的工作,拥有很久。


最后,你说看我又回到基层写代码了。


其实,我都能说出上面那番话,我又怎么会甘心在基层写代码呢?至于,我心中的小九九,等我有成绩了,再告诉大家吧。说出来,就不灵了。


其实,在国内,可以一直写代码。需要稍微忍受一下,别人不解的眼神、涨到顶不动的工资、和小年轻一样的作息。能做到的,可能真的是一份热爱。


当然,我很希望环境能改变。如果条件允许,我也想写代码到60岁。条件不允许,那就提早做打算吧。但是,也不用提太早。这个行业,对于买房、买车、结婚、生子这些个支持,还是强有力的。等经历过这些阶段之后,可能早就不是现在的情况了。


问题二:不喜欢IT这行,现在很迷茫,怎么办?



问题来源:


用户拔剑在《年底了,裁兄弟当职员那哥们儿,如今咋样了?》下的评论:



看得出来你是热爱IT这一行的。我不喜欢这行业,只是混口饭吃,现在过得很迷茫。



作者回复:


上……上……上周吧,我去母校同人工智能专业,小我13年的学弟(侄)们做了个交流。现场就有00后学生问我:学哥,我非常不喜欢我这个专业,但是又考进来,请问怎么办?


旁边,他们专业主任的脸都绿了。


这个问题,让我很难回答。


我通过和专业主任的眼神交流,他告诉我,调专业基本上很难。


我咳嗽了一声。我说,首先,你这个……这个,不喜欢只是,暂时、感觉,不喜欢。刚入学,大学生活都还没适应呢,更何况是专业课!这个专业,没有让你找到幸福的点,甚至还带来些小挫折。所以啊,这个不喜欢,可能是暂时的


你想想,如果,后面,大家都赞扬你这个专业。你们村长给你家,用小推车送来三袋大米,请求你做一个跑地鸡的追踪识别程序。甚至还有人慕名而来,愿意主动做你的女朋友。这时,你就会喜欢这个专业。所以,现在说不喜欢,真的是有点为时尚早。


第二,就算是真的不喜欢,也不代表学习这个专业就一点用都没有。我真的有个大学同学,他跟我一个专业,隔壁宿舍,我们一起上编程课,坐对面。他也不喜欢写代码,他是那种好动不好静的人。后来,他毕业,去做销售卖货去了。他卖的是软件,一套系统。当然,为了让客户的钱花的触手可及,也附带一个硬件设备。他谈业务有意思,帮客户看电脑。有一个李总的电脑很卡。我同学一看,哎呦,你这是软件都装到C盘了,这叫系统盘。他给挪到D盘了。这一调,李总的电脑不但不卡了,而且连开机都变快了。


于是,李总就和他签单了。因为这个销售人员是真的懂软件,他家产品应该也差不了。那一单我同学就赚了6000元。我那时的工资是1500。现在,我这个同学是上市公司的销售总经理,占股份的那种。


后来,他感觉自己和其他的销售很不同。他虽然在编程班是个渣渣,但是在销售中,他的IT知识却是王者级别。因为他都知道stringint是不一样的类型。


所以啊,当不喜欢,又没法改变时,那就先这样吧。坏计划好过没计划


另一方面,你也想一下,自己到底喜欢什么,总不能啥都不喜欢吧。


私下也把喜欢的那个行业,学习一下。既然喜欢,那肯定学得快。等学得差不多了,带着IT知识,去你心仪的那个行业。你可能就会如虎添翼,反而更容易出类拔萃。


作者:TF男孩
链接:https://juejin.cn/post/7184421852381937719
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

金三银四来了-找工作有哪些平台/工具?

金三银四,年过完了,奖金(<=0)到手了,是时候出去看看了!但2023年的互联网“寒冬”好像并未褪去,就业环境依然不明朗,让大部分人都很迷茫。最近在看工作机会,就看了看家附近的公司和岗位,简单总结了一下用到的平台和相关工具,个人经验,仅供参考。 01、主...
继续阅读 »

金三银四,年过完了,奖金(<=0)到手了,是时候出去看看了!但2023年的互联网“寒冬”好像并未褪去,就业环境依然不明朗,让大部分人都很迷茫。最近在看工作机会,就看了看家附近的公司和岗位,简单总结了一下用到的平台和相关工具,个人经验,仅供参考。


01、主流的招聘平台


我们一般找工作去哪里投简历呢?国内的主流招聘平台有哪些呢?—— 来自网络的中国在线招聘品牌排行榜:


image.png


image.png


前几名的Boss直聘前程无忧51JOB、智联招聘猎聘拉钩都是比较常用的,排名参考资料:



1.1、看看附近的岗位


注册了前5个平台的账号,搜索了下“web前端”+【成都】的职位数量。



  • 需要登录,大多是需要登录才能看到更多搜索信息,同时登录后(新用户)基本都是强制要求完善求职信息。

  • APP端,APP端同样的关键词搜索,加上距离(附近2KM),看看附近的工作机会。筛选附近需要定位或设置位置,距离计算基本上都是直线距离。

















































平台Web前端Java后端App端/前端/2KM备注
Boss直聘>300>30027✔️最多只显示10页,附近岗位数量还行,支持按距离排序
前程无忧51JOB3008003附近岗位数量较少
智联招聘340+800+9✔️可以看公司评价(类似大众点评),需要自己先点评一个
猎聘>800>80020✔️最多只显示20页,附近数量还行,不支持距离筛选
拉钩330500+2附近岗位较少,App端有bug,从职位详情返回列表筛选条件就没了

结果似乎并不乐观,有效职位数量并不多,而且其中有些岗位还有水分,比如发布很久了的(去年),或HR活跃度显示“一周前”、“1个月前”等。


image.png


后端Java的岗位大概、似乎、好像、确实是比前端多亿点点。可能真的的是我错了,为什么选择了转前端?Java那么好的语言,他们都说是世上最好的语言,她就在那里,我却视若无睹。


image.png


1.2、前端的岗位要求


家附近2KM的前端Web岗位都看了一遍,大概的总结了下普遍的技能要求。







































































技能要求出现频率(10分)
- HTTP、JavaScript、CSS,ES6,基础必备10
- Vue/React框架至少一个,并了解其原理。9
- 熟悉前端的各种调试工具、方法7
- 熟悉小程序、移动端、混合应用,uniapp等工具6
- 熟悉前端的工程化、打包发布工具,如webpack/gulp/Grunt等6
- 熟悉图形化技术,如echarts、d3、canvas、three.js等5
- 熟悉各浏览器、设备的兼容性处理4.5
- 有对模块化、重构、性能优化的经验4
- 熟悉HTTP、TCP、SOCKET等常见网络协议,及AJAX、WebSocket、estful API标准4
- 熟悉常用数据结构和算法、设计模式2
- 熟悉或了解后端开发语言,如NodeJS,Java,php,.net等2
- 能承担一定的工作压力2
- 有博客、开源项目1
- 熟悉TypeScript1
- 能接受出差0.5

1.3、❓选择那个平台呢?


建议是 —— 多选几个平台投放简历!



  • 通过上面的岗位分析,发现Boss、智联、猎聘的岗位相对多一点。

  • 上面三个平台的的公司交集估计只有20%,也就是说大部分公司只在一个(或两个)平台上发布职位,大公司可能会全平台发布,因此求职建议多几个平台投放。




02、怎么判断一个公司靠不靠谱?一些工具


判断一个公司是否靠谱,大概有下面几个角度:



  • **公司做什么的?**公司所处行业或主要业务,是toB、toC,还是toG(政府机关),或者是人力外包。

  • 公司规模:如注册资本、员工数量、是否上市等。

  • 公司状况:公司的工商信息、经营状况、知识产权、公司风险等。

  • 公司评价:他人对公司的评价(包括薪资、福利等)。


2.1、工具介绍


除了通过搜索工具、微信、知乎、小红书去了解,还有几个比较靠谱的工具。



  • 企查查:查企业的工商信息,内容比较丰富、全面。不注册也可查,但注册登录后可看的信息更多一点,基本也就够了,冲了VIP才能看所有信息。

  • 爱企查:同上,差不多。

  • 支付宝-芝麻企业信用,支付宝小程序。同上,不用VIP可以看很多信息。

  • 看准网职友集:类似大众点评,不仅能看公司的工商信息(没上面两个网站丰富),还能看网友们的评价、工资信息,都是来自网友的点评分享。


image.png


2.2、查看公司规模


通过查询企业工商信息,了解公司规模。如下图,可以看出:



  • 成立日期 2019-04-04。比较新的公司

  • 注册资本 1000万元人民币 实缴资本 202万元人民币 。还行

  • 人员规模 少于50人 参保人数 3(2021年报)

    • 参保人数可以说明公司规模,有点少。

    • 不过这里的参保人数一般是比较滞后的,现在看的可能是去年的,或者前年的。




image.png


2.3、公司是干啥的?公司业务


搞清楚公司到底是做什么业务的很重要,是toB(企业用户)、toC(C端用户),还是toG(政府机关),或者是人力外包。如果是toB可能会存在出差、驻场开发等问题,如果是toG(政府机关)可能存在技术老旧、出差等问题。


主要是以下几个途径



  • 招聘网站上的企业介绍。

  • 公司官网。

  • 看企业工商信息的“经营范围”,不过一般比较笼统,不具体。

  • 看企业工商信息的“知识产权”,可以看出公司的一些专利、网站备案、软件著作权。

    • 如果专利较多,说明公司的技术实力不错。。

    • 软件著作权里可以看到公司做的一些软件项目。软件、专利内容也能看出公司的大概的业务范围



  • 看企业的评价,通过看准网看看网友对公司的评价。不过注意既然是来自网友评论,是否准确、客观就很难说了。


image.png


image.png


2.4、公司风险


企业工商信息中包括的比较多,如经营信息、公司风险等,这些都属于公开信息。如下图,可以看出:



  • 公司和员工存在劳务纠纷,需谨慎。


image.png


作者:安木夕
链接:https://juejin.cn/post/7203512643238232123
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

2023和自己聊聊

自我质疑,他人质疑前几天约了面试,被面试官问了一个问题,你做这么久的开发,有哪些技术沉淀呢,或者自己擅长哪些呢,我突然楞了一下,其实自己也想过这个问题,结论是啥也不是,很一般。给面试官说目前 vue 用的比较久,做过不少项目,对这个比较擅长一点吧,从开始做项目...
继续阅读 »

自我质疑,他人质疑

前几天约了面试,被面试官问了一个问题,你做这么久的开发,有哪些技术沉淀呢,或者自己擅长哪些呢,我突然楞了一下,其实自己也想过这个问题,结论是啥也不是,很一般。给面试官说目前 vue 用的比较久,做过不少项目,对这个比较擅长一点吧,从开始做项目都是自己摸索,从最开始的 vue2 到现在的 vue3 和 react 项目技术框架是我负责主导的,然后也会帮组员处理一些问题之类的。但是我从你的面试结果来看,多数情况下是了解或者知道某个知识点的简单使用,但细节的问题就看你支支吾吾的,应该是理解不到位吧。有什么比较好的项目,或者攻克了哪些技术难点可以做下分享吗。我沉思了一下,好像觉得没什么值得去展示的,总觉得自己的项目很平常,就算是平常遇到一些问题,很快就能解决,不是自己厉害,而是实在是项目简单而已。那你为啥觉得你能帮助别人解决问题,帮助其他组员成长呢,我陷入了无限的沉思...。

工作经历

  1. 第一家是一个外包公司,算是用了包装的简历蒙混进去的,结果是差一点给自己干离职,压力太大了,真的是s什么都不会,感觉实在是扛不下来了,于是在项目交付的前三天说自己家里有事,提了辞职。结果没辞成,老板说你忙完了再回来就行,你的工作我先让其他同事接替你。(当时也去了新的面试,但是结果可想而知)于是在请假这两周中迅速恶补,像是要奔赴战场,硬着头皮回去了,在那个接替我的同事的帮助下终于开心的(提心吊胆,每天想着二次辞职,又碍于没有脸面再提,咬咬牙终于坚持了下来,整理了八百字的小作文描述当时的过程,后来想想还是不写出来了吧)完成了第一个jsp版的项目。

  2. 后来公司接了一个新的项目,做一个后台管理系统,让我来做前端,说写好页面给到java那边,让他们来开发,还是用jsp那套。当时心想着是用 vue 脚手架搭建,来做前后端分离模式,但是我一点经验也没有,问了我那个同事,她也没这做过这种模式的,她坚持自己的意见是说用老一套,类似 jsp 那样。毕竟她比我有经验一些,那就听她的先做下试试,但心里还是想着用前后端分离来做,没人指导,只能自己去摸索,最后还是找我领导商量前后端分离模式开发。他之前做 java 的,对前端也不懂,问了我前后端分离的东西,我也是现学现卖,告诉他怎么好怎么好,但是我之前没用过,是有试错成本的,他问了我这些技术目前成熟吗,我说好多公司都开始用了,以后这个是主流。在我的忽悠下同意了这个方案。当然一切都没那么顺利,也是一步一个坑,一步步趟了过来。也感谢我这个领导,在五月份我准备辞职回去毕业答辩时帮我申请了两周的假,顺利毕业。在这个后台管理项目如期上线以后,我也终于松了一口气,没有辜负领导的信任。也感谢当时的自己坚持了自己的想法,虽然过程很难,但是也扛了下来。

  3. 慢慢的发现遇到了技术瓶颈,最开始的自己像一个海绵,进入公司后一直在吸水给自己充电,后来充电越来越慢,甚至出现了漏电的情况。于是准备跳槽,在这个外包公司离职后进入了外派的这家公司,等于从乙方进了甲方,等于好像并没有跳。日复一日的上班,加班,下班好像做了很多,但是又好像什么都没做,整天做一些表单,表格的增删改查,没什么长进,差不多一年。于是准备第二次跳槽。然后准备过完年开始第二次跳槽。就遇上了疫情,然后又呆了一段时间,准备再过了年跳槽,然后在已经开始谈 offer ,准备再多面几家时,上海又开始了疫情,直接封了三个月,那个 offer 也就不了了之了。去年年底约了些面试,都不太理想,多数都是外包,然后就到了现在。想想还是因为自己不够坚决吧。

精神内耗

一方面觉得自己不够优秀,想要去努力,另一个方面在学习时发现很多东西太难了,然后就放弃了。于是在一边想要躺平,一边想要好好学习的的状态下无限循环。然后开始了自我怀疑,自己适合做这方面的工作吗,自己做这方面有优势吗,自己有什么技术上的优点值得拿出来说说吗,好像都没有。一次次的面试,一次次的没了下文,然后都把原因归结于自己不够优秀。于是又进入了,那为啥不好好学,我试着去学了,但是学不进去,学不会的轮循怪圈。

反思与醒悟

2023年了,想着自己要去改变些什么,但是又不知如何去做,之前买了不少的书,但看的也就几本其他都在吃灰。看朋友圈有人在微信读书,于是也试着看一些书看解决一下心理浮躁的问题,不能这么浑浑噩噩下去,不然真就废了。工作,生活,情感压力感觉都快抑郁了。直到最近看了大佬分享的书,才开始有所醒悟,是自己太急于求成了。太想在刚投入一点精力就要看到成果了,平常是看了不少学习的资料,但也都是在自己舒适区内,一旦遇到难的就告诉自己肯定学不会,所以就放弃了,不会将难题碎片化,一次解决一个小问题,爬山也不都是一步一步走上去的嘛。学会去接受自己的平凡,但是不能以自己是个普通人为理由而不去努力。实践是验证真理的唯一标准,所以我们在学习时也更要去思考,去试着用自己的话看能不能书写出来,讲给别人听,看对方能听明白不。如果只是以为自己去学习了,就万事大吉了,但过段时间可能就会忘记了,这一点我最近特别有体会。就拿写的两篇 vue 的基础知识点来说,以为自己很容易就能写出来,但写的时候发现没那么容易的。有的地方可能还需要再查下资料才能搞明白,不过也加深了对这些东西的理解,如果在帮助自己的同时能帮助别人就更好了。

一起共勉

书上的几个观点觉得很有用,分享给大家,如果目前有小伙伴也有我上面的焦虑
1. 试着跟自己和解,停止精神内耗,接受自己的普通,但不能因此而止步不前,摆烂
2. 在自己跳一跳就能够得着的地方做拉伸,在舒适区和困难区要么无所事事,要么备受打击
3. 不要急于求成,罗马不是一天建成了,只管按照自己的节奏去努力,事实会告诉你答案
4. 输入的同时也要去输出,形成闭环,实践是验证真理的唯一标准,试着去做到知行合一

作者:南岸月明
来源:juejin.cn/post/7207841934278344762

收起阅读 »

聊聊自己思想怎么改变的

框架之争 xx 框架牛逼,xx 框架写起来舒服,xx 框架做不了大业务,xx 框架坑多,xx框架抄袭 xx 框架。 读者应该看到过类似的言论,不知道读者怎么想。反正我是觉得很没意思……((哥我是SB) 管你什么蛇皮框架,不都得老老实实的给编译成 js 代码给解...
继续阅读 »

框架之争


xx 框架牛逼,xx 框架写起来舒服,xx 框架做不了大业务,xx 框架坑多,xx框架抄袭 xx 框架。


读者应该看到过类似的言论,不知道读者怎么想。反正我是觉得很没意思……((哥我是SB)


管你什么蛇皮框架,不都得老老实实的给编译成 js 代码给解析器(v8)执行?(wasm另说喽)


双向绑定,虚拟DOM 等等随便一搜答案一堆堆的,但是读者是否有自己去了解过内部的具体实现呢?是否又去尝试将这个思想运用到业务上呢?


有?那么你不用看我这篇流水账了。


没有?那么思考下你看这些做咩?


为了应付面试?然后看完就忘了对吧,下次面试继续看……你这只是为了应付面试官骗自己。


是时候做出改变了,朋友……


怎么改变


我不到哇,我真不知道……我只能把自己的突破经验告诉你。至于读者是否能够摆脱当前的困境,emmmm 随缘把……


1676353480450.png


首先我们先约定一件事情,读者要记住:你是开发者,不是前端开发者,后端开发者更不是客户端开发者。


想起来以前学习 node 的时候,非要找 node后端的代码来练手。node 什么不能写,为什么我非要写 node 后端,为什么要局限于 web 端?我可以用 nodecli 工具,也可以用来写桌面客户端 electron


所以不要陷入身份认知,记住你的身份你是开发者!


不要像我,我学会了 node,看到大家都在用 node 写后端,就认为我只能用 node 写后端!


思想不要局限于某一门语言,某个开发框架,格局打开!


编程思想


我的思想改变,是在去年的3月份,当时在看《代码整洁之道》一书。


当时看到代码规范一章节,正想着吐槽作者这都是老生常谈的问题了,怎么还提出来一章讲。


突然想起来,这本书第一版是 09 年出版的。而我是在 22 年看的这本书, 13 年了这本书中的内容居然还没过时!


1676370379886.png


当时我想明白了,我应该学习代码的思想,而不是框架,框架会层出不穷。


框架思想


angularjs(1.x版本)读者应该听说过把,最初发布时间2009年,14年前就有"双向绑定","template"组件……


2016年 angular2 发布,很多核心理念都来至 angularjs,还带来新的机制 NgModule


一个 NgModule 就是一个容器,用于存放一些内聚的代码块,这些代码块专注于某个应用领域、某个工作流或一组紧密相关的功能。


Angular 的前世今生


最恐怖的是,这个 NgModule 机制还可以用来做后端 Nestjs


不管是 14年前的双向绑定,组件化,还是16年的 NgModule 开发思想其实一直都没怎么改变。


今年流行 xx 框架,过两年则又会流行新的 xx 框架。


与其花大量的时间去研究框架 xx面试题,不如去阅读框架的源码,自己去读去理解框架,看看框架中有什么奇技淫巧,从而运用到自己代码上,给自己带来真正的效益。而不是死记硬背,背完应付面试。


tips: 写代码最难的不是业务,而是怎么设计架构。业务会不停的变化,架构需要应付不停变动的业务。


读源码


多读源码!多读源码!多读源码!


读什么源码都可以,读的时候可以带着疑问去读。


比如说我想知道 vite 是怎么处理 vuetemplate 是怎么解析的。


要么查资料,要么自己翻源码。


vite 需要这个 vite-plugin-vue 插件做 vue 支持,去翻这个源码。发现这个插件里头用了 vue/compiler-sfc 这个包的 compileTemplate 方法,最后找到 compiler-dom 包的 compile 方法(人麻了……)


1676439918093.png


克服了重重困难总算找到 vite处理 vuetemplate 的代码了,仿佛跟着唐长老去去了一波西经。


其实结果并不怎么重要,重要的是整个过程。




  1. 我先去找了 vite-plugin-vue。这是一个知识点 vite 插件




  2. vite-plugin-vue里使用了 vue/compiler-sfc,我又要去 vue 源码里找东西。第二个知识点 vue 源码。




  3. 找到了 compile 第三个知识点 怎么处理 template 的。




在这个过程中我列举了我找到的三个知识点,就算我不去对前两个知识点深入研究,但寻找结果的过程已经无形中都增加了我的知识储备。


那么我深入探究细节呢?


这个问题留给读者把……


推荐资料




  1. 代码整洁之道




  2. HTTP权威指南




  3. 设计模式:可复用面向对象软件的基础




  4. JavaScript设计模式与开发实践




  5. 架构整洁之道




有读者可能要吐槽了,你这怎么推荐的有 Java 代码的书……


还记得上文说的一句吗?


思想不要局限于某一门语言,某个开发框架,格局打开!


我们要学的是"思想"。


作者:MartinYin
链接:https://juejin.cn/post/7200364375148707900
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

开发的功能不都是经过上线测试,为什么上线后还会那么多 Bug ?

你是否也经过这样的灵魂拷问:「开发的功能不都是经过上线测试的吗?为什么上线后还会那么多 Bug ?」。 大家明明都很努力,为什么「输出」的结果没有更进一步?今天我们就水一水这个「狗血」话题,究竟是谁个锅? 本篇只是毫无意义的「故事」,内容纯属「虚构」,如有...
继续阅读 »

你是否也经过这样的灵魂拷问:「开发的功能不都是经过上线测试的吗?为什么上线后还会那么多 Bug ?」。


大家明明都很努力,为什么「输出」的结果没有更进一步?今天我们就水一水这个「狗血」话题,究竟是谁个锅?




本篇只是毫无意义的「故事」,内容纯属「虚构」,如有雷同,自己「反思」。



对于这个话题,我想用一个「虚构」的故事来介绍下,这个故事里我有一个「朋友」,他在某电商项目组,当时恰逢经历了公司内部的「双十一需求立项」:


立项时


老板:“这次的需求很简单,主要就是参考去年 TB 的预热活动来走,核心就是提高客单量和活跃,具体细节你们和产品沟通就行”


产品:“TB 去年的活动预热大家应该都了解吧,我们这次主要就是复刻一个类似的活动,时间一个月,具体有***,总的来说,双十一活动一定要准时上线,这次运营那边投入很多经费,需求方面我会把控好,核心围绕老板的思路,细节大家可以看文档,基本就是这些内容,一个月应该够的,大家没问题吧?”


开发:“没问题,保证完成任务”


3 天后:


老板:“我刚看了 JD 好像推出了一个不错的小游戏,我觉得这个可以导入到这边活动里,这样可以提高用户的活跃,用户活跃了,消费自然就起来了”


开会


产品:“鉴于老板的意见,我觉得 JD 的这个游戏活动效果可以提升我们的复购,所以我计划在原本需求基础上增加一个支线活动。


产品:“大家不要紧张,支线会和当前主线同步开发,支线活动比较灵活,不对账号级别做限制,另外「设计」那边看下入口放哪里比较合适。”


开发:“上线时间还是没变吗?”


产品:“双十一日期会变吗?老板说了大家抓紧点,功能不多,时间还是够的”


10 天后:


老板:“我刚和x总沟通了下,他觉得我们的活动少了互动,不利于留存,你看下怎么处理”


开会


产品:“经过这几天和老板的探讨,我们发现这次活动少了一些互动性,必须增加一些交互游戏,这样才能提升日活和用户体验。


产品:“这样吧,这部分功能也是比较迫切,我知道任务比较重,但是为了这次能取到较好成果,大家加把劲,接下来周末幸苦下大家,先不休假,后面调休补回来,具体需求大家可以看文档,有一些调整,不多,时间还是够的”


开发:“。。。。”


14 天后:


老板:“我看大家工作的热情还是可以的,刚运营提了可以增加一些视频支持,我觉得这是一个很好的意见”


开会


产品:“目前看起来我们的开发进度还比较乐观,运营的同学说了他们录制了一些活动视频,我看了还不错,就在主会场增加一些视频播放的功能吧,细节你们直接和设计讨论下”


产品:“这个应该不难吧,把分享和下载加上,视频播放这么基础的东西,应该不耽误事,我看网上开源服务就挺多的。”


开发:“。。。。”


20 天后:


老板:“我刚去开发那里看了下效果,感觉分会场的效果挺好的,做支线太可惜了,给他加回主流程里”


开会


产品:“老板那边觉得分会场的效果更好,让我们把分会场的效果做到主会场里的核心交互里,分会场部分的逻辑就不要了,入口也取消。


产品:“大家不要激动,都是现成的东西,改一改很快的,不过项目进度目前看来确实起有点拉垮,接下来大家晚上多幸苦点,我们晚上11点后再下班,我申请给大家报销打车的费用”


开发:“。。。。”


23 天后:


老板:“整体效果我觉得可以,就是好像有一些糙,你们再过一过,另外大家开个会统一下目标,看看能不能有新的补充”


产品:“可以的,过去我们也一直在开会对齐,基本每两天都会对齐一次”


开会


产品:“我和设计对了下,发现有一些细节可以优化,比如一些模块的颜色可以细调一下,还有这些按键的动画效果也加上,我知道工期紧张,所以我从「隔壁」项目组借了几个开发资源,未来一周他们可以帮助大家缓解下压力”


开发:“。。。。”


28 天后:


开会


产品:“好了,项目可以提测了,相信之前测试也陆续介入跟进了需求,应该问题不大,目前看起来「燃尽图」还可以,测试完了尽快上线,老板那边也在催了”


测试:“不行啊,今天走了用例,一堆问题,而且提测版本怎么和用例还有需求文档不一致,这个提测的版本开发是不是自己没做过测试啊,一大堆问题,根本测不下去,这样我们很难做”


产品:“这个我来沟通,开发接下来这几天大家就不要回家了,马上活动上线,一起攻克难关”


产品:“我也理解大家很努力了,但是这次提测的质量确实不行,你们还是要自己多把把关,不能什么问题都等到 QA 阶段才暴露,这样不利于项目进度,需求一直都很明确,大家把 Bug 尽可能修一修,有什么问题我们及时沟通,尽快解决,敏捷开发”


开发:“。。。。”


上线前一天晚上 10 点:


开会


测试:“不行,还有 20 几个问题没有确认,这种情况我不能签字,上线了有问题谁负责。”


产品:“一些问题其实并不影响正常使用,目前主流程应该没问题,让开发把 P0 的两个问题修了之后先上线,剩下的在运营过程中逐步更新就好了,有问题让运营先收集和安抚”


开发:“上线了脏数据不好弄,会有一些账号同步的问题,而且用户等级可能还有坑”


产品:“没什么不好弄的,到时候有问题的用户让运营做个标志,接下来小步快跑修复就好了,时间不等人,明天就是上线时间, 活动上不去对老板和运营都没办法交代”


项目上线:


老板:“运营和我反馈了好多问题,你们版本上线是怎么测试的,要反思一下xxxx”


开会


产品:“我说过用户要集齐碎片和好友砍价之后才能给优惠券,等级不够的不让他们砍价成功,为什么只完成砍价的新人拿到大额优惠券?”


产品:“什么?因为账号数据绑定有 Bug ,不同渠道用户合并账号就可以满足?为什么会有这个 Bug ,测试那边没覆盖到吗?”


测试:“我不知道啊,需求文档没有说还能账号合并,而且这个功能之前没说过要限制用户等级吧?”


产品:“我出的需求肯定有,文档里肯定有,另外开发你既然知道问题,为什么不提前沟通,现在用户都消费了,这个事故你和测试 55 责,后面复盘的时候要避免这样的问题再次发生”


开发:“。。。。。”


最后


所以大家觉得是谁应该背锅?是开发的能力不够,还是测试用例的覆盖缺失?说起来,其实在此之前,我在掘金也遇到了一个 “Bug” ,比如:



文章 Markdown 里图片链接的 content-type 字段如果不符合 image/*** 规格,那么发布出来的时候链接就不会被掘金转码,所以不会有图片水印,同时直接指向了我自己的图床地址。



那么你觉得这个是 Bug 吗?明明是用户不遵循规范。但是这样不就留下漏洞了吗?



如果在文章审核通过之后,我修改图床上的图片内容,这样不就可以绕过审核在掘金展示一些「违规」内容了吗?



所以有时候一些功能的初衷是好的,但是引发的问题却又很隐蔽,那么这能怪「测试用例覆盖不到位吗」?


那么,你觉得「经过测试,为什么上线后还会那么多 Bug 」更多可能是谁的问题?


作者:恋猫de小郭
链接:https://juejin.cn/post/7207715311758393405
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

天生我材必有用,千金散尽还复来

入行前 我从2013-2016年在我们本地的一所中等高中读书,说是中等是因为我们本地有三所高中,我们学校升学率排第二,第一遥遥不及。 高中三年,第一年我还在重点班,当过小组长,高一结束考试要分班,那次考砸了,分到了普通班,从此堕落,班里的学习氛围极其差,跟大多...
继续阅读 »

入行前


我从2013-2016年在我们本地的一所中等高中读书,说是中等是因为我们本地有三所高中,我们学校升学率排第二,第一遥遥不及。


高中三年,第一年我还在重点班,当过小组长,高一结束考试要分班,那次考砸了,分到了普通班,从此堕落,班里的学习氛围极其差,跟大多数人一样,上课睡觉、玩手机,也就是高二那年,父亲给我买了人生中第一部手机-荣耀3C。化学老师总说我脑子可以,硬是自己把自己耽误了,现在想想,真是有点对不起各科老师。


高考结束之后填报志愿,当时年轻,总想着出去闯荡。觉得高考没考好,学一个与高中知识无关的专业,从零开始,就选择了计算机专业。还记得当时第一志愿填写的北京一所大学,第二志愿在天津。结果分数下来之后,怀着忐忑的心情去查分数,我也知道会很低,但没想到这么低。录取通知书迟迟没有下来,有点心灰意冷。


母亲当时建议我在本地学厨,我没有同意。我在网上无意间了解到北大青鸟这个机构,想去学习计算机,但父亲觉得学费有点贵,也不一定靠谱,就让在北京的阿姨去了解,了解完了之后说是培训机构,不建议我去,后来有几天处于迷离状态。不知过了多久,迟来的录取通知书终于下来了,竟是被我第三志愿河南一所专科录取。


上了大学之后,一个寝室里面就我高考分数最低,后来才了解到,当时我所报的计算机应用技术专业缺人,才补录上我,真的是惊险。


在大一跨年夜,我也跟我现在的女朋友正式“官宣”,到如今2023年已经六个多年头了。大二那年,微信小程序的横空出世,小游戏的跳一跳爆火,那时我不断去找方法学习小程序,后来了解到得先学基础HTMLCSSJavaScript,室友给我推荐了菜鸟教程我要自学网来学习,面对如此枯燥无味的代码世界,最终还是放弃了。


大三那年11月份,我们要出来实习了,那时还在纠结去郑州还是去西安,因为西安离家近点,最终选择了西安,那时候还不知道什么BOSS直聘拉钩,使用58同城在西安找视频剪辑的实习岗,我自认为在学校pr学的还不错,最终被忽悠到一家培训机构,说的我是天旋地转,学习不收钱,每个月还给1000块钱的补贴,学成之后,每个月给他们还1200(大概是这个数字,时间太久忘记了),还18个月,然后搞了个助学贷款。


班上很多同学都是零基础,相比较他们,我还是科班出身,还稍微了解了一丢丢的HTMLCSS,跟他们在一起,让我产生了优越感,对这门技术更加感兴趣,每天的课下练习都认真完成,放假也在家写代码,写一些复杂的商城首页。就这样,学习了5个月左右,回学校要开始最后的论文答辩、毕业手续了。


我是一个比较怀旧的人,很多老物件都不舍得删掉,包括我刚入行时的学习代码。分享一下当时学习的内容


image.png


大致一看,东西也不算多,其实就是带入门。


这个时候回到学校,就可以很自信的去学习微信小程序开发了。2019年6月份,我正式毕业了,属于我无忧无虑的时期结束了。


入行后


毕业之后,我继续回到西安开始找工作,这时候的我已经开始有压力了,毕竟每个月要还当初的助学贷款。


第一份工作(2019.06.? - 2019.06.?)两周


后端是Python,我工资要了6k(毕竟当时被机构洗脑了,说毕业之后最低都8k,我还是有点自知之明),最后说是试用期80%,4800,转正之后6k交社保。可谁知当初实战项目做得少,仅仅两周就被劝退了,还给了2000的工资,说实话,我都感觉没有为公司创造出一点价值。


第二份工作(2019.07 - 2020.04)9个月


7月份入职了一家电商公司,工资最后谈到了4.5,试用期给3.5,转正4.5,工作两年才有社保。公司挺大,但开发就三位,一位前端,一位后端php,一位运维,运维是一名实习生,但是挺强的。就在这家公司,让我真正的做了html+css+jquery的实战项目,业余时间还挺多,就使用vue开发一款个人博客,技术栈用到了vue2.xvue-routerelement-ui,数据全部使用的写死的假数据,也就是这个阶段,我频繁的使用csdn记录学习笔记,后来开发完之后,发现这东西开发出来也没有什么实质性的作用,开始开发后端,最开始使用的是NodeJSexpress框架,简单的写了几个增删改查,就租了台服务器,把我的域名xueshuai.top解析上去(域名在2019年去学习的时候就租了一年,刚开始还解析在FTP服务器上,仅仅部署静态页面访问),服务器装的windows server,将NodeJS接口以CMD的方式运行在服务器上,但此时,我的网站还是不怎么用,后来觉得服务器上的NodeJS运行方式有点奇怪,始终要打开CMD终端,最后了解到PM2这个东西,然后就使用PM2部署NodeJS接口,此时我也就是会用,深入还是小白。


晚上下班回去之后,又去学习uniapp,据说这个东西很强大,一套代码可以编译到多个平台,何乐而不为呢?彼时的uniapp只能编译H5AndroidIos微信小程序百度小程序,现在稍微大点的公司都有自己的小程序。


到了2020年,新型冠状病毒爆发,公司迟迟不复岗,届时的我身上还背着贷款,过完年,大年初六早早来到西安等复工。这个时候,在出租屋的我,天天写代码学习,有晚甚至写到第二天上午8点,然后睡觉。这个阶段,我了解了vue的服务端渲染NuxtJS,在Github上拉下来一个NuxtJS项目学习,然后重构个人博客第二版,直接在NuxtJS项目内新建了一个server目录编写后端接口。


直到2020年4月份,实在是扛不住了,就回公司离职了,(大部分岗位复工了,我们三个开发没有),离职证明给我写到了年前放假那天,我问他他说最近这段时间没复岗不算上班。我也没跟他纠缠,就撤了。


第三份工作(2020.04 - 2022.02)1年10个月


2020年4月10日,我入职了第三家公司,在这家公司,我独立完成了5个项目,算是长进了不少。



  1. UniApp 1个

  2. JQuery + BootStrap 4个


维护了2个项目



  1. Uniapp 1个

  2. Vue 1个


还有一个用Wap2app将一个移动端JQuery项目打包成了App


还是有满满地收获,也就是从这家公司,我才真正的算是入行。
平时也不断地学习,学了以下技术栈



  1. NodeJS的Egg框架

  2. Nginx入门

  3. MySQL入门

  4. MongoDB入门

  5. Redis入门

  6. 原生微信小程序

  7. 深入学习了Vue

  8. vueCli

  9. vueRouter

  10. axios

  11. NuxtJS

  12. 各种功能函数的封装思想

  13. Vant

  14. uviewui

  15. elementui

  16. antdesign

  17. 数据库权限设计等等


实现了以下功能



  1. web端微信授权

  2. app端微信授权登录

  3. app端微信、支付宝支付

  4. H5、app实现微信分享

  5. 条形码、二维码的生成与识别

  6. ...


是一家自研产品的公司,项目结束,老板让我学习点Php,顺便可以解决后台问题,也就顺便学习了点php的thinkPhp框架。


这个时间段我也开启了我职业生涯的首次接单,主要接了一些纯前端项目,包含以下技术栈



  1. JQuery + HTML + CSS

  2. 原生微信小程序

  3. 帮群友解决问题


由于合作很成功,也与这家公司开启了长期的合作,时至今日(2023.02.21)也还是有合作。
说到这里,你可能觉得我的个人博客已经作废了,不,你错了,一次又一次地推翻重来,这次我又开始折腾了,Nuxt2 + ElementUI 做前台,Vue2 + AntDesign做后台,EggJS + MySQL做后端,这次权限管理也会了,可以开始搞了,同时这份工作也要结束了。临走时老板还给我说可以先找工作,找到之后再提离职,愿意让我无缝衔接。


可谁料想到,第二天去面试了两家,第三天面试结果就出来了,当天就离职了,第四天去体检,第五天直接入职,而且新公司与这家公司离得很近,连吃饭的地方都没变。


第四份工作(2022.02 - 至今)


这家公司的后端是Java,使用SpringBoot一套技术栈。工作内容前期写页面调接口,后期组件封装、公共方法封装、代码审查、处理问题,前面几家都是只有我一个前端,这家还有两位同伴,也开发了我人生中第一个可视化项目,后面可视化项目一个接一个。


当然,业余时间还是不能忘记学习,又学了以下技术栈



  1. NestJS

  2. React

  3. React的服务端渲染NextJS

  4. React + AntDesign 开发一些小玩意练手

  5. TypeScript

  6. Vue3

  7. Vite

  8. Pinia

  9. moment && dayjs

  10. 养成了阅读源码的习惯



深刻明白了技术和生活的关系,好的技术可以有更好的生活,没有好的技术也可以有更好的生活。


作者:webxue
链接:https://juejin.cn/post/7202531472719527991
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

彻底销毁!这地10亿条个人涉疫数据被清理

过去三年,健康码作为精准防疫的重要数字工具,在大众的工作和生活中渗透率极高。有数据表明,此前我国有近9亿人申领了“健康码”,使用次数超600亿次。不过随着疫情防控政策放开,健康码消失、行程卡下线,每天几乎都要扫码的“特殊时期”已然过去,后续如何处理在此期间积累...
继续阅读 »

过去三年,健康码作为精准防疫的重要数字工具,在大众的工作和生活中渗透率极高。有数据表明,此前我国有近9亿人申领了“健康码”,使用次数超600亿次。

不过随着疫情防控政策放开,健康码消失、行程卡下线,每天几乎都要扫码的“特殊时期”已然过去,后续如何处理在此期间积累的个人涉疫数据,逐渐成为关注焦点。

近期,素有“江南胜地”之称的江苏无锡,举办了一场“特别”的仪式,为这一问题提供了可行答案。

1、销毁10亿个人涉疫数据无锡开全国地级市先河

不久前江苏无锡市政府发文称,3月2日当地举行了涉疫个人数据销毁仪式,首批销毁10亿余条此前出于疫情防控及服务目的存储在城市大数据中心的个人信息数据。第三方审计机构和公证处也参与了当天的活动,确保数据彻底销毁、无法还原。

无锡此次销毁涉疫公民个人数据系全国地级市中首例。

据悉,无锡市相关负责人表示,此次销毁涉疫个人数据,主要出于四个方面的考量:

第一,体现了依法执政理念,依法依规删除目的已经实现的数据;

第二,保护了公民隐私,防止数字时代公民个人信息被盗用或滥用;

第三,防止了数据泄露,通过数据彻底销毁减少数据泄露的可能性;

第四,节约了存储空间,进一步提高存储效率。

以健康码为例,其采集的个人敏感数据包括,个人强关联信息(身-份-证-号-码、手机号码等)、个人健康信息(绿码)、详细的个人行程信息(场所码)、个人健康证明(核酸信息)以及疫苗接种信息等。

从网络安全角度看,健康码得以发挥作用,本质上是民众让渡了个人隐私权来支持全国的疫情防控。

因此,去年年底新冠防疫“新十条”出台,健康码基本失去作用后,就有业界人士呼吁:类似核酸信息、场所码等数据应该销毁、封存或脱敏。

一方面,大部分信息的采集是为了流调,有一定的时效性。过了时间节点,就没有留存的必要;另一方面,各地健康码管理平台会从社区、卫生机构、通信、交通运输等部门间接获取个人信息,这些信息一旦使用不当,就可能造成个人信息的泄露。

事实上,自去年12月以来,已有多个涉及个人涉疫数据的平台公开表示,将对相关数据进行销毁。

2022年12月13日,中国信息通信研究院发布通告称,根据国务院联防联控机制综合组有关要求,当日零时起,“通信行程卡”服务正式下线。中国信通院已按照有关法律法规规定,同步删除了行程卡相关所有数据,切实保障个人信息安全。

今年2月14日,广东省健康码“粤康码”发布服务公告称,按照国家新冠病毒感染防控政策措施优化调整要求,抗原自测、老幼助查、健康申报、电子证照、防疫工作台等服务于2月16日11时起停止服务。公告明确,停止相关服务后,“粤康码”将按照有关法律法规规定,彻底删除、销毁服务相关所有数据,切实保障个人信息安全。


来源:微博@羊城晚报

当然,像无锡这样举办数据销毁仪式的还是全国首例,以公开透明的方式来处理如此体量的个人数据,不仅更加干脆利落令人信服,也展现了政府捍卫个人隐私信息的态度与魄力。

2、“善后”争议,健康码功成身退还是转型他用

不过,由于健康码以各地自建为主,缺乏统一标准,因此在健康码下线后,相关数据到底如何“善后”,目前并没有定论。

除了像无锡、广东这样坚持销毁个人涉疫数据信息的做法之外,还有一部分城市则更倾向于借由健康码的庞大用户基础,与其他政务大数据融合,打造更多便民便企的应用服务。

那么这些数据到底是要功成身退还是转型他途?对此,业内专家也提出了截然不同的观点。

有人认为,在保护隐私的前提下充分利用也许更好。

“涉疫相关数据对各级政府来说是一笔宝贵财富,里面不但有成功知识和经验,也有失误教训,涉及精准管控、生活物资保障、民众出行和应急处置等方方面面。”大数据协同安全技术国家工程研究中心副主任钟力表示,数据销毁在数字经济时代可能并不是最佳的选择。数据作为生产要素,应该充分激活其价值,且现在信息技术为涉疫数据的存储、安全保护和分析利用提供了强大的技术基础。

也有人坚持,涉疫数据无论从法律还是伦理上都只能用于防疫目的,在疫情常态化后健康码收集的个人信息和数据就应该全部删除。

“不论数据存放在什么地方,总是离不开云端,而且存储就会产生成本。健康码数据作为特殊时期的一个‘应急产品’,即便是匿名化处理后,仍可能被部分机构用于其他目的或牟利。这种(情况)从法理和伦理层面都无法得到辩护。”华中科技大学生命伦理学研究中心执行主任雷瑞鹏如是说。

还有人则表示,健康码包含多领域敏感个人信息,必须用户自主单独同意后才能变更使用目的。

中国电子技术标准化研究院网安中心测评实验室副主任何延哲就持有上述立场。在他看来,如果不能达成用户自主单独同意这一先决条件,那么相关信息就必须删除或作匿名化处理。同时他还提到,健康码作为一个运行成熟的系统,下线不代表底层代码被删除。“我是赞成把数据删除,把代码保留。这样不仅保留了积攒的抗疫经验,也为以后的公共卫生应急系统提供一个更好的基础。”

3、代表建言献策,保护涉疫数据安全仍是当务之急

当下全国各地关于健康码个人数据是否留存依旧各执己见,采取实际行动进行涉疫数据销毁的地区也不算多,国家层面对此也并未出台统一规定。但无论结果如何,当务之急是要切实解决数据安全和隐私保护问题,防止数据窃取、泄露、滥用和不合规等安全事件。

关于这一点早有前车之鉴。比如,由于赋码不透明导致去年年中个别地区使用健康码红码限制民众正常出行,再比如,关于“疫情、红码”等相关钓鱼攻击和电信诈骗行为层出不穷,可以预见,在疫情防控放开的当下,这类行为还将长期存在,而健康码等信息的泄露无疑会让不法分子的行为变得可信度更高。

如何保障涉疫数据安全?大数据协同安全技术国家工程研究中心副主任钟力认为,应该从以下三个方面进行努力。

一是存储涉疫数据的大数据平台的安全,应支持数据全生命周期安全保护;二是做好涉疫数据相关数据处理活动的合规监管与安全监测,防止数据泄露、滥用和被攻击窃取等安全事件;三是安全管控涉疫数据的开发利用和流通共享,对原始数据需严格保护、严控使用,并采用隐私计算技术来支撑,更多的是提供去标识化、匿名化和静态脱敏的涉疫数据。

今年两会期间,关于健康码数据的处理问题,也有代表委员建言献策。

全国人大代表、德力西集团董事局主席胡成中提出,建议在国务院应急管理制度中增补健康码相关内容,明确其启用、停用的条件和权限,明确赋码规则,限时梳理并删除全国各级健康码数据。

全国政协委员、奇安信集团董事长齐向东也表示,健康码的数据需要删除或者做匿名化处理,即使要使用也必须先获得用户自主同意;有关运营部门要及时公开数据的流向、删除或者匿名化的有关情况。

总而言之,三年多来,公众将大量个人信息提交给健康码等系统,既是法律的要求,也是在主动履行协助防疫的社会责任。对此,有关部门如何处理这些数据的“善后”问题,不仅关乎个人隐私安全是否得到尊重和切实保护,也一定程度上影响着有关部门在民众心中的公信力。

参考链接:

http://www.inewsweek.cn/society/2023-03-06/17764.shtml

baijiahao.baidu.com/s?id=1759356399553406615

hackernews.cc/archives/43399

作者:千山
来源:mp.weixin.qq.com/s/qYbKIVCQxS1OMe-o3HXr-Q

收起阅读 »

副业奇谈

本人是95前端菜鸟一枚,目前在广州打工混口饭吃。刚好换了工作,感觉生活节奏变得慢了下来,打了这么多年工总觉得想纪录些什么,怕以后自己老了忘记自己还有这么一些风流往事。书接上回。 楔子 在一家名为叹佬鸡煲餐馆的小桌子上,坐着我和他,榴莲鸡煲溢出的香味,让人垂涎...
继续阅读 »

本人是95前端菜鸟一枚,目前在广州打工混口饭吃。刚好换了工作,感觉生活节奏变得慢了下来,打了这么多年工总觉得想纪录些什么,怕以后自己老了忘记自己还有这么一些风流往事。书接上回。



楔子


在一家名为叹佬鸡煲餐馆的小桌子上,坐着我和他,榴莲鸡煲溢出的香味,让人垂涎欲滴,鸡肉和榴莲嫩滑的口感,仿佛让人重回到那个十七八岁的青春时光。他叫小润,高中时期经常带着我为非作歹,中午午休跑去打篮球,晚自习溜去操场趟草地上吹牛逼,最刻骨铭心的,还是晚自习偷偷溜去学校附近大厦最高层天台,再爬上去水塔仰望星空,俯视我们的高中,看着每个教室里面一个个奋发图强的同学,我丝毫没有半点做错事的羞愧,眼里只有天上的繁星,地下的灯光,还有旁边的那个他。


小聚


“小饿,我们95后的都已经老了,现在社会都是年轻人00后的天下,比学历能力,985、211一抓一大把,比耐力,我们身体大不如前,精力强壮的年轻人比比皆是...”


“难道你不行了?”


“你别打岔,你这一行不是也有一个35岁的梗吗,你这个前端开发岗位我了解过,是需要不断学习的,技术迭代如此之快,你跟的上吗?”


我默默的摇了摇头,诚然,我是跟不上的,vue2我都没学完vue3就已经出来了,不过我相信我还是极少数。因为我安于现状太久了,拿着不上不下的薪资,没有房贷车贷育儿的压力,不像以前住在城中村每天晚上睡觉听着管道排泄物的声音,没有压力,就没有动力,我就是这么一个充满惰性的人。


小润跟我是高中同学,那时我们的关系不错,但是毕业后各自去往自己的大学,有自己的生活,便没怎么联系了,这次出来也是近三年第一次小聚。他在一个比较老牌的做文具,做设备的大厂工作,主要内容是去一些大型物业竞标,为了竞争得到那个“标”,付出的也不少,陪酒送礼一样不落,但就算得到那个“标”,公司的绩效奖励分配制度却让小润很不满,所以他不禁感慨,“我们每个月累死累活得到的薪资,除去日常花销,本来就已经所剩不多,而且社会上还存在一种叫通货膨胀的东西,想想我们年龄越来越大,面临的职场危机,手上的筹码到底能不能支撑我们维持当前消费水平,过上自己想要的生活,这是一个比较大的问题。”我听得津津有味,虽然心里认为他的说法有点过度焦虑,但有这么一个意识,总是好的,小润看到我向他投向肯定的目光,便继续说道,“这几年我都在看书,其中看到一个企业家有一句创业名言————空手套白狼”。


空手套白狼


小润看着我一脸的疑惑,嘴角微微一笑,一脸正经的告诉我,“空手套白狼虽然百度翻译是个贬义词,但是在创业翻译过来就是用最低的成本,创造最大的价值。我想要做一些0成本,价值高,只需要付出时间的生意”。


“那么请问哪里有那么大的馅饼?”据我所知,现在谈起普通人做副业,想要0成本,要不就是什么做信息差买卖,或者视频搬运,网上一搜一大把,现在根本不是能真正获利的渠道了。当然,也可能有很多人的确做着0成本生意,闷声发大财


微信图片_20230307134118.jpg


小润从煲里夹了一块榴莲肉,放入嘴中品尝了几番后吞入腹中,真诚的向我道来,“之前你有跟我聊过你做的副业,上面的功能我看了,感觉你比较厉害,对小程序开发这一块也是比较熟悉。你有没有看过小区的停车场,白天的时候很多车位都是空闲的,极大部分都是车主开车上班,那么车子不就空闲起来了?我们可以做一个平台,让车主在平台上面登记,只要车位空闲,可以告诉平台某一个时间段空闲,让平台的其他需要在附近停车的用户看到,用户微信支付停留相对应的时间,这样不仅解决了车位紧张的问题,车位车主也能利用闲置的车位赚到一笔钱,平台也能进行抽成。”


我一听,陷入了沉思,感觉好像很有道理的样子,但又觉得哪里不对,“这种做法当然是不可能的,物业停车场大都是一个车牌对应一个停车位,不可能给别人钻这种空子。”


“那你说个der啊”


微信图片_20230307134254.jpg


“刚刚只是我在生活中发现的一些奇思妙想,就是利用闲置这个属性,接下来才是我要说的重点。你平时看街边上停着的电车多吗?”我点了点头,电车在广州这所大城市,那肯定是多的。突然,小润用筷子翻了翻鸡煲中的食物,一脸愤然的对着我说“我擦,那些肥牛都被你吃完了?”我又用筷子探寻了一下,的确,肥牛还真被我吃完了,软嫩的肥牛搭配着由榴莲和鸡煲化学反应产生的汤底,让我感觉到味蕾在跳动,入口即化,难以言喻,自然而然就多吃了几片,我尴尬又不失礼貌的问他,“要不多点一份?”


他笑了笑,摆了摆手,继续说道,“我的想法是将空闲的电车利用起来,做一个平台,平台的载体是小程序,像膜拜小程序一样,用户能找到附近的单车,而我们则是电车,但是我们不需要成本,因为在平台中,电车的信息是由车主自己主动上传上来的,所以就有两个群体,一个是车主,一个是需要用电车的用户。车主能在电车空闲的时间将电车上传到我们的平台,通过出租自己的电车进行赚钱,当出租的次数多了,不仅能回本,到时候或许还能赚点小钱。而普通用户想用电车的时候,根据小程序提供的定位,找到离他最近的那台电车,进行微信支付就能骑走,按照骑行时间进行收费,收费标准由电车车主自己提供。而我们平台的收入,则是对每笔订单进行抽成”。


我一听,又陷入了沉思,又感觉好像很有道理的样子,但又觉得哪里不对,咦,我为什么要说又?


QA



用户场景有哪些,用户需求多吗?



多,平时使用电车都是上班族居多,那上班族使用完电车后电车就闲置了,可以进行出租赚点奶茶钱,何乐而不为?况且平时下班我想去别的地方玩一下,也可以租一台电车去逛一逛,就再也不需要每个人都要买一台电车了。确实,之前去湛江游玩,也有电车提供出租,骑着电车到处逛逛吃吃,真的十分快乐,不过电车是由公司统一提供。



普通用户怎么开启这些电车呢,电车五花八门,难道要让车主统一购买我们提供的电锁进行控制?



目标电车当前只试行小牛和九号电车,用户需要开启电车的时候,在小程序可以找到电车车主联系方式,通过电话联系让他用电车钥匙开启电车,同时在小程序按下开启按钮告诉平台和用户已经开启,开始计费。用户骑行完电车后,用户致电车主进行结算并关闭电车。



客户借车后,将车的某些零件换改,偷窃,损坏,如何处理?例如将电瓶车电池换成低端电池,也能用,,但车主不知道?



这的确是个问题,我也在思考是否有必要弄押金,但是电车的押金弄小了没啥用,弄大了也不合适,没人想进行支付,所以如何平衡这个问题,是我们这个项目后续所要思考的。



用户把电车开到离起始点十万八千里,这样车主怎么找回自己的电车?



好问题,我也有想过,车主在上传电车到平台的时候,可以设置自己的使用类型,可以规定使用用户骑行归还到原位置,也可以不规定,全由车主自由设定



听起来好像真的可以落地,但是用户附近可用的电车如果多起来,在地图上展示密密麻麻,这个需要点技术,我得研究研究



我们初期可能不需要那么复杂,只需要展示一个列表,可以让用户进行筛选,用户能看到每台电车的外观,点击电车详情,就能知道用户与电车的相对位置,不需要在同一个页面展示那么多的标记(如此甚好)


// 小程序在地图上显示用户与标记方法

// js
const markers = [
{
id: 1,
// 标记的大小
width: '40px',
height: '40px',
// 标记的经纬度
longitude,
latitude,
// 标记的icon图标
iconPath
}
]
this.setData({ markers })

// wxml
// center.longitude center.latitude 为中心经纬度
<map class='map' id='map' longitude='{{center.longitude}}' latitude='{{center.latitude}}' markers="{{markers}}" scale='16'></map>


政治问题...



******<-内容加密了


我们聊了很多细节,包括首页如何设计,一键控制电车上线下线,越聊越兴奋,感觉真的可以落地,说到尽情之处,还说日后被大厂收购,实现财富自由指日可待,因为我们都知道,一个产品成熟了,稍微露出苗头,就会被人借鉴。当天晚上我回到家,就把整个大纲梳理了出来,并发给小润看。


dianche.png


但同时我们也发现问题,如果用户在骑行的途中,被车主通过车钥匙远程停车会发生什么事情,之前我们一致认为电车平台会有相对应的API提供,不仅可以获取电车信息(车辆电池,型号,外观元素等),也能有启动车辆和关停车辆的接口,但浏览了两个电车平台的官网,发现平台并没有这种东西,我们的思路一下子遇到卡壳,而且押金问题也是一个重点,热情一下子就冷却了下来,这场看似热血沸腾的副业计划就此搁置了下来。


对于做副业,我个人是非常感兴趣的,低成本的副业能赚钱是根本条件,更主要能拓展人的视野,之前我第一个副业,进行的比较顺利,但前提是市场已经有先驱,可以有模板进行复刻,而这一次纯属天马行空,没有前车之鉴,需要考虑到很多细节,如果有一些致命因素导致项目行不通,那可能这个项目就真的凉了。其实也很合理,世界上人才千千万,一个脑暴出来能赚钱的项目,为什么市场没有落地,或许不是因为没有人能想出来,更大因素是有人想出来了,但是此路不通。


省流


不亏,那顿鸡煲很香,而且是小润掏的钱


作者:很饿的男朋友
来源:juejin.cn/post/7207634883988635705
收起阅读 »

独自坚持 17 年,aardio 作者:“因妻子患癌,再无精力维护项目”

本周,编程语言 aardio 作者一鹤发布了一则公告,令不少开发者深感震惊与难过:“因妻子患癌,再无精力维护 aardio。”在看到这则公告的当下,许多开发者才意识到:原来这 17 年不断迭代、始终积极更新的 aardio,皆由作者一人坚持开发并维护。专注于桌...
继续阅读 »

本周,编程语言 aardio 作者一鹤发布了一则公告,令不少开发者深感震惊与难过:“因妻子患癌,再无精力维护 aardio。”


在看到这则公告的当下,许多开发者才意识到:原来这 17 年不断迭代、始终积极更新的 aardio,皆由作者一人坚持开发并维护。

专注于桌面软件开发的 aardio,体积仅有 6.5MB,却提供了惊人数量的开源标准库、扩展库——所有库由纯 aardio 代码实现,基本都由作者一鹤一人编写,涉及到了桌面编程的方方面面。此外,一鹤还为每一个库的每一个接口函数都编写了文档,且提供了大量演示范例,方便开发者入门使用。

本质上来说,aardio 属于易用性极强的动态语言,但同时它也是一种混合语言,可以方便地操作静态类型,直接调用、嵌入并交互大量的第三方编程语言,能调用 dll,也可以写出精美的界面程序。例如,直接调用 C 语言、C++ 等静态语言的 API 接口函数,支持 stdcall、cdecl、thiscall 等 API 接口函数等。


由于 aardio 的小、轻、快,使其学习和使用成本极低,这 17 年来吸引了不少开发者的青睐。与此同时,aardio 也在一鹤的坚持下,一直保持活跃更新,每一年都会带来大量更新扩展,并依旧保持着最初简洁高效的结构与语法:“即使是最早的 aardio 源代码,仍然能不经修改在最新版本开发环境中完美运行。”去年 10 月,一鹤还曾发文感慨:“aardio 现在是活跃更新,以前更新更多更快。aardio 17 年,一直向前!”

从 2005 年到 2023 年,从默默无闻到小有名气,随着 aardio 用户不断增多,坚持了 17 年的一鹤收获了许多开发者的赞扬与感激:

“一鹤是一个了不起的程序员,深知借力的哲学, aardio 的强大在于胶水层面做的很好,DLL,com 的加载机制可谓完美,所以凡是喜欢的库或者 exe 都能很方便的和 aardio 混编。这种架构在 10 年前就有,足见一鹤对编程理论的深入理解。”

“aardio 对我的帮助无疑是巨大的,它让我体会了编程的快感,让我很想继续学习其他的知识。虽然学的过程很痛苦,但让我也有种编程改变世界的快感。现在公司用的很多小软件,就是我平时用 aauto 做的。所以对于软件我对作者保持感谢的态度。”

如今,面对因妻子患癌而停止维护 aardio 的一鹤,开发者们也第一时间给予了理解和安慰:

“很佩服作者能一个人坚持开发这么久。”

“作者一个人,17 年,独立维护一个开发软件,还是免费给大家使用。说伟大可能有点过了,但我真的很佩服他。自己能做的不多,捐了一点略表绵薄之力,祝作者的家人安康吧。”

“祝愿作者妻子早日康复。”

参考链接:

https://mp.weixin.qq.com/s/V1Nz7HGv4ZDsWDAesBaPRw

https://aardio.com/
————————————————
作者:郑丽媛 | CSDNnews
来源:blog.csdn.net/csdnnews/article/details/129357874

收起阅读 »

产品经理不靠谱怎么办

一、产品和开发之争 开发和产品宿命的争斗由来已久,倏然就是一对天敌。 1.1 平安产品掐架事件 在刚毕业那会,还不知道产品具体是干啥的时候,就听到了不少产品和开发打架的事情。印象最深的,就是平安产品开发掐架事件了。起因是产品经理提了一个需求,要求APP开发人...
继续阅读 »

一、产品和开发之争


image.png
开发和产品宿命的争斗由来已久,倏然就是一对天敌。


1.1 平安产品掐架事件


在刚毕业那会,还不知道产品具体是干啥的时候,就听到了不少产品和开发打架的事情。印象最深的,就是平安产品开发掐架事件了。起因是产品经理提了一个需求,要求APP开发人员可以做到根据用户的手机壳来改变手机软件主题,面对这样的需求,开发自然是要起义的。


真假分辨不是重点,从争论的热点而言可知,就这件事情而言,争论的原因是需求不符合常理。开发做的事情只是对世界建模而不是无中生有。而我们作为开发,平时和产品决斗最多的情况,是对于时间资源之争。产品混乱的开发节奏,不符合逻辑的需求,不合理的时间安排,不重点的优先级安排。


而且很多时候,产品的职位是要比开发的高的,话语权更加的高,会让他们更加的肆无忌惮,可恨!


拿我之前公司的真实的例子来:



  • 产品所谓的需求文档都是短短几句话

  • 一个迭代周期内从来没有按照原订计划上线计划的功能,各种小需求,拍脑袋的需求随意插入。


前者,总监对于产品这种行为的解释是需要开发和产品共同去参与设计,相互查缺补漏。尚且不论开发是否能够得到第一手信息,时间也是不够的,重要的是工资它不涨。


后者直接导致了开发的加班。


1.2 为什么会有这些不靠谱的产品经理呢?


根本还是我的问题,我没有能力轻易的选择自己工作环境🙃


其次呢?是他们专业程度不够,被培训机构忽悠,人人都是产品经理,门槛低工资还高,上可以直接对话老板,下可以指挥程序员,所以导致了什么阿猫阿狗都涌入


矛盾的是,正好相反,产品的门槛其实很高的。


他们需要很强逻辑能力, 整理出来的需求需要逻辑自洽, 需要思考用户的操作体验,需要思考人力资源的分配。


面对老板、市场、业务方抛来的‘建议’,能够甄别出什么是功能,什么是需求,然后制定出合理的优先级。在敏捷项目中,还要制定迭代的计划,顶得住上面的压力,压得服下面的开发。


其中涉及到的专业技能有社会心理学、管理学、软件工程管理、用户画像学、以及一定的开发知识、一定的设计知识、一定的运营知识。


涉猎之广,以及程度之深,不是程序员用计算机能够模拟的,不然为什么会有智障的小爱同学、小冰同学、siri。


1.3 根本的目的是为了解决问题


当然,本篇文章以及《10x程序员》目的并不是为了抨击产品多么多么的不靠谱。就像郑晔老师所说,如果从不靠谱的数量来说,程序员是比产品多得多得


第一是因为程序员基数就比产品的多,第二也是因为万物皆可转码导致的。培训班培养几个月就出来工作了,他能有多强的编程能力?



只是从整个市场来看,当然还是有很多转行的,培训出来的很强的人。



这篇文章的目的,是为了解决点那个我们碰到这些不靠谱的产品经理的时候,我们应该如何怎么办?


首先要知道产品和开发的战争是因何而战的。


二、争论的真相是什么


image.png


2.1 争论的原因


产品和开发相互攻击是解决不了任何问题的。为了解决争斗,我们首先需要知道到底是争什么?为何而争。方能对症下药。


我们常常会出现下面这样的一个场景:



产品:我们需要一个单点登录的界面。输入账号密码就可以进行我们的界面。


开发:好的


一天时间,界面和交互逻辑,接口哗哗做完。


开发:东西做完了,你来看看


产品:??? 验证码呢?


开发:你又没说


产品:这个不是常识么?


开发:。。。。


又是半天时间,验证码搞定


产品:这个项目是放在门户下面,登录的功能不是应该在门户上面做么?现在跳转到别的项目还需要重新登陆,你怎么想的?


开发:顶你个肺,一开始怎么不说是这个场景


产品:你又没问。。。


🔪 🙎‍♂️



这是由于双方信息不同步的导致的。如果一开始开发就问:



  • 这个需求的用户是谁?

  • 这个需求的使用场景在哪里?


我想问题就会拖到后面了。开发必须要有自己的独立思考,多问几个为什么,才能够减少掉进坑中的次数。


双方的知识储备不一样,双方掌握的信息不一样,得到的结论自然也不一样。


所以这就需要我们在一个信息平台上,才能够沟通得有效率。


而这就需要我们双方都能有一个很好的沟通能力。也需要我们开发多张十个心眼,默认产品都是不靠谱的。多问几个为什么,不要害怕问题幼稚。如果产品都能够一一回应,而且逻辑自洽的话,那么恭喜你,你碰到了一个不错的产品。



有一句话说得好,当你和一个人谈话谈得很开心的时候,很可能是因为对方的段位比你高,他在向下兼容。



当然,出现上面的那些问题,也由于现在解决的问题不再是明确的,常常范围模糊,别说产品自己,业务用户也不知道自己想要什么?这个无形中提高了产品的门槛,还提高了需要软件设计师的架构能力,需要提前布局。


软件开发的主流由面向确定性问题,逐渐变成了面向不确定性问题。为了应付这个问题,敏捷开发这个最佳实践就应运而生。到了中国就变成了“田园敏捷”🐶,需求不明确,所有需求都是P0级。
为了解决这个问题,我们产品和开发能够在有效的资源中做些什么呢?这就不得不提到敏捷开发中两个很重要的阶段,需求澄清和需求反澄清,如果是开发负责人还需要参加需求准入。


2.2 沟通的真正目的是什么


先简单的介绍一些敏捷开发流程:


两周一迭代,在进入开发之前,产品内部需要先过一遍需求,随后根据列的需求和开发负责人讨论需求准入,开发负责人会根据人力资源来和产品共同商量,这个迭代可以上的内容。


需求澄清,这个是全体人员都参加,产品一一说需求的逻辑,开发可以提问。


之后就到了需求反澄清,这个阶段是开发在说自己对于需求的开发,以及开发的思路。随后进入开发阶段。开发完成,向产品show case, 测试通过之后前后端封版


封完版提发布工单,然后才进行反版。在这个阶段还包括了每日的站会过需求,还有发版之后的回顾会。


如时间表下图:


从图片可以看到对于开发两个重要的节点,一个是需求澄清,另外一个是需求反澄清。前者是产品在说,开发问。后者是开发在说,产品再问。这两个就是一个很好的拉平双方认知的机会。
这两个沟通的机会至关重要,是有效减少之后扯皮的关键节点。这就需要我们知道如何有效的进行沟通了。


唯心主义不是贬义,而是一个客观的事实。具体表现就在于,这个客观世界和我们所想象的总是不一样的。同样的,由于每个人认知的世界是不一样的,所以信息的传递是会衰减的,你不可能把你理解的信息 100% 传递给另外一个人,而这中间,如何传递,也就是如何描述将直接决定衰减的比例。


可以根据书中信息论模型来进行解释:


image.png


幻化为人的沟通的话。人的脑子就是信源,携带着信息到发送器,发送器通过自己的表达通过声带发送给对方,对方接受到信息还需要转译一遍进行自己的大脑。在传送的中间过程,还有噪声源,这个噪声源可以是物理环境认为的嘈杂,也可以认为是双方因为地位的不同,导致的思维方式的不同的噪声。


根据这个例子,可以用下面这张图来表示上面争论的原因:


image.png


扮演不同角色的时候,我们的思考模式是不同的。上图是产品作为信源,而开发作为信宿,反之亦然。


作为信源的话,我们将自己脑中的信息通过嘴巴表达出去的过程,是受限于知识储备和表达能力的。也就是说如果我们的知识储备足够的多,表达能力足够的强的话,在发送信息到对方的闹钟的时候,偏差自然也会更加的小。


作为信宿的话,我们开发作为接受的一方,需要提高自己的知识边界,主要是了解业务的前因后果,尽可能的提升解码的能力。


综上所述,我们沟通的目的是为了同步信息,减少对于需求的理解的偏差。而沟通出来的结果,就是共同确立一个验收的标准


只有验收的标准确定下来之后,才可以最到限度的减少后期扯皮的可能性。


那么我们作为开发需要怎么做呢?


2.3 开发需要做什么


image.png


开发在需求澄清的时候,其他问题都可以不问,但是这两个问题一定要搞清楚。



  1. 需求的背景是什么

  2. 需求能够给用户带来什么业务的价值


前者是为了理解业务的前因后果,当自己当成产品经理,让需求的逻辑能够自洽。后者是换位自己作为一个用户,以用户的视角来看问题。这也和我们公司以用户导向的价值观相符。


在需求反澄清的时候,作为一个前端工程师,我们最低限度的需要出两个东西,一个是API的设计文档,另外一个就是数据走向图。这个数据走向图我的前一篇文章《vue的业务开发如何进行组件化》中进行过阐述,具体可以去那篇文章看看。



敏捷开发不代表文档的缺失。



我曾经把产品问懵逼之后,把需求都砍了一大半。也间接实现了最好维护的代码。


我的目的不是为了砍需求,而是为了写出全世界最好维护的代码,即不用的代码。


image.png


三、抛弃固有印象


image.png


在程序员眼里:



  • 产品一般都没逻辑、缺乏交流基础(没常识)、没能力没主见;


在产品经理眼里:



  • 程序员通常属于严重沟通障碍、缺乏用户和产品意识、只考虑技术、没有大局观。


抛弃这些固有的刻板印象,沟通和理解更为重要。作为开发不能因为一时的占了上风,就沾沾自喜,大快人心,觉得压了产品一头。爽归爽了,你的工资可还是没动的。班还是要加的。所以解决问题才是主要的目的,不管工作中,还是生活中。
而这就要求我们:



  • 加强专业知识的学习,

  • 增加对彼此工作领域的认知,

  • 用逻辑而非借口来说服对方。


开发可以去考考PMP证书,虽然都说没有含金量,但是你得过了才有资格来说这句话。作为前端还可以去学学基础的美学设计。总的来说就是要扩展自己的知识边界。


而且,大家都是打工人,成年人了,我们要知道矛盾的根源是什么?真的是产品的不靠谱和开发的沟通障碍么?或许不见得。


四、矛盾的根源


之前刷知乎看到过程墨大佬的一段话,记了下来:


在我国,产品经理和研发工程师的核心冲突,是“有限的开发资源”与“无限制的目标”之间的矛盾。
“有限的开发资源”在研发工程师这一边,人力是有限的,人的工作时间是有限的,人的耐心是有限的,人能够做的事情是有限的。


“无限制的目标”在产品经理这一边,无数量限制的需求变更,无规则限制的产品设计流程,无时间限制的工期规划……


怎么解决?


要么提供更多的开发资源,也就是招更多更合格的工程师;要么就让产品经理对自己的行为做更多限制,让产品设计和规划按照客观规律办事。


当然,说到底两者之间的矛盾的根源是我国特色资本主义的内部矛盾,一方面想让团队跑得快,一方面又没有本事进行合理管理,最后产品经理和程序员打架,世人在骂产品经理无能程序员暴躁,其实归根结底是上面人无能而已。


五、一个问题


我之前面试,被问我这么一个问题:


一个需求你评估完成的时间需要两周,但是产品最多只能给你一周的时间,你怎么办?


那场面试虽然过了,但是我没有收到对于我说的答案的评价。所以很好奇大家的答案是什么😂


作者:砂糖橘加盐
链接:https://juejin.cn/post/7175444771173826615
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

2022 一个8年培训讲师的转型起始

前夕 干了8年的培训,从Python一线授课到Python类目管理到学院负责人,一步一步的努力,磨课,课程研发,讲师培训,课程安排,大纲设计,无数个加班,对着镜子讲课,自己录课自己听,听前辈讲课,看竞品课程,市场调研,一步一步的成长了下来。 我一直是一个喜欢编...
继续阅读 »

前夕


干了8年的培训,从Python一线授课到Python类目管理到学院负责人,一步一步的努力,磨课,课程研发,讲师培训,课程安排,大纲设计,无数个加班,对着镜子讲课,自己录课自己听,听前辈讲课,看竞品课程,市场调研,一步一步的成长了下来。


我一直是一个喜欢编程,喜欢分享的人,也很庆幸自己从事了Python培训这个行业,更幸运的是在这个行业当中,我快乐的努力,然后快乐的成长,同事,学员的认可,薪资的增长,让我一度感觉自己是那个最幸运的人。过程当中也有小伙伴聊过,做讲师久了,和一线的开发会脱节,但是我自信,努力,没有问题的,开班变少,学员就业难度变大,课时费开始下调也未曾动摇,还是努力的做好自己手头的工作,直到身边的同事(一起战斗成长的战友)开始聊之后的打算,开始离开我才知道真的,出问题了,但是当时的第一个想法是再找一家培训机构,接着做讲师,直到投出简历,泥牛入海或者面视的话不投机,我才直到,不是这个行业出现问题了,是我自己真的有问题了。


挣扎


也许是一种矫情,也许是自己最后的固执吧,从开始做培训到最后,我一直认可一个理念,就是先得让客户(学员)认可你,再说培训的事情,不论是授课还是就业,如果只依赖讲师,学校是达不到的,必须有学员的信任,而做到大家对你的信任技术是一方面,更多的是品质,也就是服务和口碑,所以感觉自己决定离开当时培训管理岗位的时候有一点孔乙己的感觉,想接着做培训,自己看上的岗位看不上自己,看上自己的岗位又有点矫情,赶着有几个同事已经开始做开发入职了新的公司,而自己还在不上不下的徘徊,所以起了心思,要不去搞开发,我本身是讲师,但是不论是自己接项目还是帮助学员去排错,都做的风生水起,所以对自己的开发能力很自信,那么就试试吧。


耳光


自信这个事情往往是参加水分的,在我去做开发的这个想法上,显然水份很大,我的自信坦然的在简历上标注了自己8年的Python教学经验,自信的把自己的教学研发项目写在了简历上,然后:


面试官甲:你之前是做培训的,没有切实的开发经验哈。。。。。


面试官已:你的项目都没有在生产环境运行吗。。。。。。


面试官丙:在你以往的开发过程当中,你遇到过哪些问题。。。,好的,我大致了解了


面试官丁:你的表述能力很强,逻辑很清晰,今天的面视先到这里吧。


面试官N:。。。。。。


我被迫停止了面试,我做过培训,做过就业指导,知道如果面视一直失败,不去反思,那么只会越来越糟糕,在自己能力下滑之前,更可怕的是自己的底气会彻底被磨掉。所以我要进行反思。


反思


期初的自信到后来的狼狈,我知道,我确实是掉队了,不论承不承认,之前一个老大哥说过:”失败不是要证明你有多差劲,而是告诉你你该努力了。“,我经常说给自己的学生,我本身也是认可信服这句话的,所以:


1、面视的算法题要刷起来,每天5:30起床刷题,可以是一道题,可以是两道题,每天刷,每天笔记。


2、完成自己的项目集,从前端,到后端,到服务器,我开始整理自己之前做的项目。


3、刻意的面视练习,这个没啥不好意思的,筛选自己要去面试的公司,查询公司的业务,找大佬(感谢帮我的任大佬,刘大佬,CD大佬,宋大佬,思亲大佬,还有好多大佬,哈哈哈,我平时的人员还行哈)帮忙分析,自己去查这个公司的面试题。


这样坚持了一个月,终于开始有二面,offer了,当时收到第一个offer热泪盈眶。


前行


最总还是入职了开发的岗位,做了一个Python后端开发,嘿嘿嘿。但是过秦论里有一句话:后人哀之而不鉴之,亦使后人复哀后人也,如果说,第一次吃亏是不小心,第二次吃亏是笨,那么第三次吃亏就是欠了。这么一次的折腾告诉我,抛开程序员,我只是一个打工人,呆在一个舒适圈里是很危险的,温水里的青蛙容易变成干锅牛蛙的,所以,必须给自己一个规划:


开发


开发工作要珍惜,做好每一个开发任务,做好每次的积累,不论是一个分页还是一个服务器的调整,积累自己的开发经验,做好团队的沟通和衔接(沟通我比较擅长,嘿嘿嘿)


学习


开始编写博客,开始整理自己的文档,和同时沟通,和学员沟通,浏览技术网站,逼着自己每天做一个知识点博客(恰好接触到了掘金平台,嘿嘿嘿,每天更文。),每周完成案例代码。


教培


8年的教培经验,我舍不得也不会把他丢弃,开始自己录制课程,为之前的小伙伴,自己的粉丝做学习规划,兼职授课,都在有序的进行。


其他


我是一个成年人,编程时我爱好也是我的工作,我不是一个理想主意的人,所以,在完成工作的基础上开始接触睡后收入,从自己的课程,到自媒体短视频,到带货,开始一点一点的尝试。也许时小白,也许贪多,希望刻意找到一个最佳的方案吧。


展望


2022对于我来说时一个痛苦的过程,2023期望苦后的回甘也做好接着苦的心里准备,2022一波三折,工作,疫情改变了我很多的想法,但是可以肯定的时,这些经历让我之后更加的踏实,打不到我的必然会让我强大。2023努力做好自己的工作,给身边的每个人,每个有关系的人带来更多的快乐。


作者:老边
链接:https://juejin.cn/post/7181077935112060965
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

能够公司呆下去,靠的是一份迷茫!

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,非公众号转载保留此声明。 小时候家里挂了一幅画,上书“难得糊涂”。在很长一段时间里,我认为“傻”是一种能力。直到后来才明白,傻并不是,“装傻”才是。 因为一些不可描述的原因,有家公司的员工,普遍都比...
继续阅读 »

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,非公众号转载保留此声明。



小时候家里挂了一幅画,上书“难得糊涂”。在很长一段时间里,我认为“傻”是一种能力。直到后来才明白,傻并不是,“装傻”才是。


因为一些不可描述的原因,有家公司的员工,普遍都比较迷茫:活不知道怎么干,路也不知道怎么走。鉴于这样的现状,自认为自己是管理层的人,想要 xjjdog 传播一点前沿知识,指点一些方向。我思来想去,却知道绝不能按照正确的方式去做。


因为大多数员工,能够待在这家公司,靠的就是一份迷茫。


我要是给他们指明了发展的路线,当公司的待遇匹配不上他们的能力的时候,这些人就会逃掉。我与这些员工之间并没有什么很深的交情,与公司也没有什么大的仇恨,所以我并不需要为这些员工着想,指出所谓的职业发展路径。


说实话,他们在我眼中,远没有我的一个文章读者有价值。


优秀员工会跑掉


虽然通过提供一些简单的培训和指导,可以帮助员工更好地了解公司的业务和战略,提高他们的专业水平,同时也为公司的长远发展打下良好的基础。此外,如果员工感到被公司支持和关注,他们更可能会忠诚于公司,从而提高公司的稳定性和绩效。


但大多数公司是看不到这一点的,尤其是在短视的中国式发展公司中。


员工对一个公司的评价不高,是他心中已经打好的标签。通过这种培训和指导,让员工了解了自己的市场价值和发展方向。如果公司给不了这种发展环境,也给不了合适的市场工资,这些擦亮眼睛的员工,第一件事就是逃掉。


短期的影响就是,相对优秀的员工,短时间都跑掉了。


有了短期,就不会有长期。你的做法已经产生了后果,没人有耐心等你的长久规划。


所以,如果公司想要花小价钱留下相对优秀的人,就是让这些人糊里糊涂的过日子,一直处于迷茫之中。


为的就是这块技术


相对于为员工指明发展方向,公司反而会通过种种手段迷惑员工。这不仅体现在入职后,在招聘前也比比皆是。


进华为做OD,为的就是这一块“技术”! 这是行业内广为人知的调侃。


在华为的招聘JD中,通过让你更加迷茫的描述,来捡漏迷茫的高材生们。OD,就是华为的外包,待遇与正编是有差异的。


很多北大..宁愿以OD外包身份加入华为,为的就是这块技术。 这样的招聘手段早已是行业公开的秘密,对于那些能力优秀、不明真相的985、211求职者屡试不爽。即便是到了现在,换成其他公司,依旧还有一定的疗效。


image.png


应届生往往是最迷茫的群体。他们刚开始工作,对行业和个人规划都不是很清晰。这时候,有人一通忽悠,让相对弱势的求职者放下防备,就会中了圈套。如果你不幸在人生职场开始,就碰到这样的手段,那注定是一个悲剧。


除非你认清了他们的谎言。但总有迷茫的人,上钩。


迷茫中的沉沦


千万别小看了迷茫。人在迷茫的时候,只会沉沦。


小宋是一个比较初级的程序员,工作在 二三线 城市。他的公司有个特点,那就是会经常出差。


短期出差是出去欢乐,长期出差就是超负荷工作。


很不幸,他被选中了。更不幸的是,项目周期非常长,小宋在外出差达到了3年。


我通常会对这些让人迷惑的行为感到好奇。偶尔了解,原来小宋是贪恋每天 200 块钱的出差费,到头来出差收入能顶上他的工资。


如果他实在是喜欢这出差的感觉,喜欢这出差费。大可以到一线城市,找一个同样出差的公司。这样的公司很多,待遇能让他翻上一倍不止。


但我并不能点明他,否则公司就再也没有这样便宜、听话的员工来驱使了。


再来一个案例。


前不久和几个同事聚餐,有一位小伙伴聊到未来工作的发展。


小 A 来自于北京,回到二线城市工作。小 B 一直在二线城市,打算到北上广闯一闯。


小A对小B推荐说:“是的要到北京发展一下,我朋友就在软通动力,钱拿的很多。要去就得去这些牛逼的公司。”


我突然认识到,脉脉上很多人的优越感并不是故意装的,有可能是刻在骨子里的认知。


这份迷茫,将一直持续到有一个像我这样打破他世界观的人出现。


但我思考再三,还是忍住了。小A是京归,很得公司看中,我没必要趟这趟浑水。


打破迷茫


但是,看到xjjdog这篇文章的朋友们。如果你感到迷茫并且仍然希望在当前公司工作。你可能需要思考以下几个问题:


你为什么感到迷茫?是因为你不确定自己在公司的角色和职责,还是因为你不确定自己的职业发展方向?


你是否有机会和资源来解决这些问题?可以尝试与上级或同事交流,寻求他们的帮助和建议,或者寻找外部的职业发展咨询师等专业人士的帮助。


你是否还对公司的使命和价值观感到认同?如果是的话,这将帮助你更加清晰地认识到自己在公司的作用和价值。


最终,如果你认为无法解决迷茫并且无法找到满意的职业发展机会,那么你可能需要开始考虑其他的工作选择。


是否与市场进行过横向对比,是否将所有的优缺点都罗列出来过、权衡过?


当你想明白了这些,决策就不是问题。


一直迷茫的过,会损失很多。清醒短期是痛苦的,但它会促成你对的选择。


作者:小姐姐味道
来源:juejin.cn/post/7207242529095811131
收起阅读 »

为什么要招聘有经验的人?

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第7篇文章,点击查看活动详情 周末带娃出去玩,回来的时候路过一家新开的水果店买东西,因为是新店,所以店里在搞促销活动。进去后发现一个很糟糕的问题。店员对收银系统不熟悉,排队的人要好几分钟才能结算一个,很多人...
继续阅读 »

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第7篇文章,点击查看活动详情


周末带娃出去玩,回来的时候路过一家新开的水果店买东西,因为是新店,所以店里在搞促销活动。进去后发现一个很糟糕的问题。店员对收银系统不熟悉,排队的人要好几分钟才能结算一个,很多人等着不耐烦就走了。现在客户买东西,在哪里买都是买,体验不好,留不住客户的。


这让我想到前年六月份,公司开第一家实体店的时候,也出现过类似情况。当初做的是让客户通过小程序线下扫码购买,优惠设计得很复杂,服务员虽然做过培训,但很多细节不清楚。当客户支付出现异常情况时,又来回沟通处理。这就让用户很不耐烦。最后虽然看起来店里人多热闹,但实际营收并不高。


这并不是特例,有经验的老板,在正式开店前会有一段时间的试营业,非常低调地开门。等员工都熟悉工作了,才会正式开业。


我们都知道招聘的时候,企业更喜欢招聘有经验的人。为啥?因为经验指的是你不仅知道一个东西,还做到过。你能解决某个问题,解决问题的方法才是经验。


如果你只是第一次做,就算培训过,那也不是经验,只能说你知道某件事。从知道到做到,中间还隔很远,越是复杂系统,越需要花更多时间在这个做到的过程上。就像我们做菜,你按照菜谱做,第一次也大概率做得也不会很好吃。


另外一个原因是,人往往容易高估自己的能力。我们在评估一个项目工作量时就很容易犯这个错误,你要是没经验,很容易把一个复杂需求看得很简单。导致工作量评估不足,这也是导致项目延期很重要的一个原因之一。


说到这里,相信你也知道招聘的背后是找一个能解决他们现有问题的人,这个解决问题的经验才是他们需要的。那如果我们想换工作,我想你应该也知道招聘的关键是”经验“,跟岗位相关的经验都是加分项。在进一步思考,人的时间都是一样的,把时间用哪里,把解决什么问题变成经验,这是我们可以思考的方向之一。比如,你想做一名项目经理。那项目管理经验就是你的加分项。十人的管理、百人的管理,管理的深度不一样,获得经验也是不一样的。


总结一下,今天主要想跟大家表达两个观点:


1、珍惜你的时间,用有限的时间去拥有更多跟工作相关的经验。


2、没有经验就不要太乐观地去做一件事情。反之,在做一件没有做过的事情前,应该找一个无利益关系且

作者:石云升
来源:juejin.cn/post/7141361769770909710
有经验的前辈咨询下。

收起阅读 »

这一年,我终于成为了一名真正的前端

前言 时间很快,2022年一整年好像都很忙,也终于从学生过渡到了一名社会人 2022上半年,大四,独自一人去杭州实习,孤独,但在杭州实习的那几个月,是我成长最快的几个月。 2022下半年,毕业,拒绝掉转正offer,拒绝掉对于应届生来说可观的薪资。回成都找了一...
继续阅读 »

前言


时间很快,2022年一整年好像都很忙,也终于从学生过渡到了一名社会人


2022上半年,大四,独自一人去杭州实习,孤独,但在杭州实习的那几个月,是我成长最快的几个月。


2022下半年,毕业,拒绝掉转正offer,拒绝掉对于应届生来说可观的薪资。回成都找了一份离家近,但是薪资少一半的工作,理想中就是钱少事少,下班后能开启新生活的工作,但事实真的如此吗?好多同学、长辈问过我后不后悔,当然后悔了,肠子都悔青了,属于是亲身体会了什么叫卷,什么叫钱少事情多压力大,再不涨薪已经准备提桶跑路了。我说:不后悔,毕竟成长了。


打工人的眼泪


见过凌晨五点的成都吗,我见过,那时候我刚下班。但是第二个月看着我四位数的工资的时候,我还是没忍住骂了一句:wtf?我为什么不去送外卖?


image.png

我真的不想把一个原本完美的毕业人设硬生生的过成了一个需要从低薪摸爬滚打上去的人设,但事实是,我好像在第二条路上越走越远。看看现在的自己,确实是有点奋斗逼(贬义)的模样(伤感)。


不可忽略的成长


不可否认的是,这一年,我通过自己的努力从一个前端小白变成了一个可以独当一面的初级前端工程师。


因为大学的专业是数字媒体技术,大一大二学完计算机科班相关知识后,大三主攻的方向有三个:J2EE,游戏开发,动画。


在没经历过秋招的摧残之前,我还沉迷于游戏开发,3d建模,剪视频,做动画。秋招的时候信心满满的投简历,但悲惨的结果就是秋招0 offer(真不怪专业,怪我菜)。看到隔壁软件工程的同学秋招收获满满,想到自己做游戏开发也接触过脚本语言,于是一个从来没接触过web开发的焦虑的大四应届生果断入坑了web前端。


回顾我的2022,大概是这样的:




  • 1月 在系统学习了两个月前端基础知识(b站,红宝书,付费课程)的基础上,狂刷面试题。




  • 2月 继续狂刷面试题,自学vue3框架,做了一个很简单的后台管理系统(vue3+axios+element plus)。凭借这个项目找到了我的第一份正式的实习




  • 3月-5月 独自前往杭州实习,开始接触企业级项目,学会了git操作,css预编译sass,响应式布局,学会去封装组件,学会用node.js(egg.js框架)。与此同时,利用我的所有空闲时间去做毕业设计(原生微信小程序+mysql+nodejs+vue3后台管理系统)那段时间每天只能睡4-5个小时,睁开眼睛就要开始敲代码,但不得不说,这是我成长最最最快的三个月。




  • 6月 回到成都远程办公,完成我的毕业论文,顺利答辩,顺利毕业,转正,离职,毕业旅行。




  • 7月 毕业旅行完回成都找工作,因为7月只能参加社招,社招跟校招相比薪资待遇没那么好,但竞争不大。凭借之前的实习经验和看得过去的毕设一周拿到了三份offer(所以2023届的学弟学妹真的不要焦虑!),7月中旬入职,成为一名正式的前端开发工程师。




  • 8月 第一次接触大屏开发,因为项目压力很大,自己也有很多不熟悉的东西,经常加班到凌晨。(抗压能力++




  • 9月 第一次独立搭建项目,这段时间成长也很快。从0搭建一个项目与在一个大项目里面写功能写组件的差别很大!要考虑的东西非常多,从目录结构到变量命名都需要注意。这段时间我开始学习工程化,架构搭建的知识。了解vite的一些配置,开始注意一些代码规范(eslint,prettier),提交规范(commitlint)。也开始尝试使用TypeScript (独立开发能力++




  • 10月 可视化开发,开始熟悉echarts相关知识,转正。(新技能++




  • 11月 普通中后台项目的开发,之前的项目维护。与此同时,公司开发流程逐渐规范,对代码质量也有了一些要求,开始更注重代码的规范。公司有了技术分享会,前端后端一起学习分享,学到了一些工具的使用,大多都是在学校学不到的东西,收获很大,工作效率有了一定程度的提升。(代码整洁度++ 新技能++




  • 12月 继续之前项目的维护,新的项目开始使用公司更规范更统一的脚手架搭建。这个时候了解了一些自动化ci部署,github action的使用。同时开始总结知识,写了几篇质量不高的博客。并开始尝试研究Git flow




以上就是我这一年,从一个前端小白进化成一名初初初初级前端的过程,过程中很感谢大佬们正确的引导,虽然一直都是项目驱动成长,没有构建出完整的知识体系,但也算是入行了吧。可以给想要成为前端er的学弟学妹们一点点参考


2022年值得记录的瞬间


来杭州的第一天,感叹阿里人周末也要加班。


image.png

第一次做自我介绍


image.png

通宵肝毕设的日子


image.png

成为一名合格的铲屎官,小猫名字叫缓存,现在已经八斤啦


image.png

回成都后加班成为了日常便饭


image.png

2022给我带来了很多新奇的体验,浅浅分享一小部分最最值得纪念的瞬间。


关于2023的期望


立一点关于2023的flag:



  • 需要更加熟练已有的技能

  • 根据前端roadmap点亮更多技能。

  • 学习框架原理、库、网络、性能、浏览器、协议、工程化、node相关知识,完善知识体系,不需要全部深入,但要尽可能了解,提升知识广度。

  • 懂业务,深入业务,能解决业务痛点,更好的实现自己的价值

  • 学会做饭

  • 找个对象


最后最后:



希望自己:严于律己,减少焦虑


希望公司:减少加班,工资翻番



作者:一只囡狗
来源:juejin.cn/post/7187310000333652005
收起阅读 »

写给想转行学IT的朋友们的话

最近有很多朋友咨询我关于想转行学IT的问题,我想结合自身的经历和思考和各位聊几句,本文带有比较强的主观色彩,因此文中观点仅供参考,如有不当之处,敬请海涵。 笔者19年本科毕业于一所中流211,毕业之后一直在做Java开发,我并没有进大厂,也没有年薪百万,就是芸...
继续阅读 »

最近有很多朋友咨询我关于想转行学IT的问题,我想结合自身的经历和思考和各位聊几句,本文带有比较强的主观色彩,因此文中观点仅供参考,如有不当之处,敬请海涵。


笔者19年本科毕业于一所中流211,毕业之后一直在做Java开发,我并没有进大厂,也没有年薪百万,就是芸芸众生中普通的那一个。现在回顾当时入行的经历,基本是摸着石头过河,因此在有了一些经验之后,就想给和我当时一样处境的朋友一点建议,希望能对你有所启发。


很多问题其实都要结合个人的实际情况来看,每个人的知识、能力、经历都各不相同,所以无论做出任何决定,都需要结合自身的情况。


是否有必要参加培训机构?


这个问题的答案是因人而异的,最主要的点在于你是否有足够的恒心和自制力。


现在互联网上的学习资料已经非常多了,足够支撑你从零学到能够入行的过程。如果你的自制力比较好,那么你就可以尝试自学,不过自学的过程是孤独的,也是难熬的;如果你的自制力一般,无法在不是“学校”那么环境下进行学习,那就可以考虑培训机构。


需要特别强调的是,不能以为进了培训机构就以为一定能够就业了,说到底,学习这件事情,还是要靠你自己,别人是没有办法把知识灌进你的脑袋里的。培训机构也有一些无法忽视的问题,当你毕业之后,大概率机构会给你伪造一份简历,本来学习的时间就并不是很长,你很快可能就会发现,培训机构里面学的比较浅,还不足以应付面试官的八股文,这时候你可能就会想先入行再说,然后进了一家外包公司,然后开始混日子,这也是笔者见过的最多的案例。


参加培训机构最大的问题是简历,培训机构给大家做的项目都是极其雷同的,也可能会在培训机构之后,让你自己编项目经验,有经验的面试官很容易就能判断出,你是真的参与了项目开发,还是只是包装的。另外你可能还会碰到,很多公司需要上一家公司的离职证明和银行流水,甚至需要你个税APP报税界面的录屏等等问题,这些在求职的时候会碰到的现实问题,培训机构并不会告诉你。


总而言之,转行是一件对你的人生来说,是一件极其重要的事情,要反复思虑,不要脑子一热,听身边的朋友说,那个谁谁谁培训了几个月就月入过万,然后就稀里糊涂花了几万参加了培训机构,结果培训结束真正找工作的时候又发现困难重重,现实往往比想象的残酷。


高中毕业可以从事IT行业吗?


真相是,现在如果要从事IT行业,大专及以上学历是基本要求,不排除个人大专以下学历也找到了很好的IT工作,但是在当下这么“卷”的环境下,就是幸存者偏差了。大专的学历我也非常建议你先提升学历,有一个本科学历。


互联网爆发的红利期已经过去了,在没有新的风口出现的情况下,互联网的业务和从业人员都已经趋于饱和。换句话说,公司也不再会盲目进行扩张,进而产生大量的劳动力缺口,这也是目前为什么互联网公司会越来越在乎学历的原因之一。可以预见,进入这个行业的门槛会越来越高。


前端、后端还是测试?


其实从某种意义来说,选择岗位就是选择某种编程语言,选择编程语言也是在选择岗位,这个问题,你也可以结合下文编程语言之间的对比,找到自己合适的岗位。大体而言,测试、前端、后端,这三者的难度是依次递增的(对大部分人而言)。


如果你没有科班背景,但是又想从事IT行业,那么你可以考虑从事测试、运维工作甚至产品、运营的工作,其实学会写代码并不是唯一的选择。


如果你有一定的基础,但是逻辑思维又不是那么强,那么我建议你可以考虑前端,女生大部分学习编程都会选择前端,前端由于不需要考虑架构、性能(大部分场景),因此难度会小一些,对初学者更加友好。不过,前端经过这些年的发展,知识体系俨然已经非常庞大,后期也需要学习很多的东西。


如果你有一定的基础,且逻辑思维还可以,那么我建议你可以考虑后端,如果你不知道自己的思维能力怎么样,可以学一些Java或者JavaScript语言基础,看看自己是不是能够比较轻松的学会。


Java、Python、C++还是JavaScript?


编程语言只是工具,并没有优劣之分,我们需要在不同的场景选择合适的编程语言。下面我将对常见的几种编程语言做浅要的分析,希望能帮助你找到最适合你的编程语言。


随着时代发展,有了越来越多新的优秀的编程语言,比如Rust、kotlin、Dart等等,它们都在努力的甩掉前面编程语言的历史包袱,但是截止目前,相关的岗位的数量还不是很多,与我下面提到的编程语言相比,它们更适合作为你的第二门编程语言。


Java


如果你已经决定了要从事软件开发行业,但是还不清楚,要选择哪一门编程语言,那我推荐你可以学习Java,Java这门语言本身虽然并不优秀,截止目前,Java已经走过了20个年头,有着非常丰富的生态,web端,它有JSP、Servlet,移动端,它有Android,服务器端有SpringBoot,桌面端它有JavaFX,也有非常优秀的网络通信框架,比如Netty,甚至它也做出过操作系统(塞班系统),可以说,Java虽然很“烂”,但是它真的几乎无所不能。


不可否认Java的成功,但是Java也存在一些隐患,比如在Oracle收购了Sun公司之后,在Oracle不断地花式作妖下,Java的未来似乎也有些扑朔迷离。除此之外,Java在引以为傲的领域也逐渐有了一些竞争对手,比如服务端有go语言、nodejs,Android的开发官方首选语言已经变成kotlin,JSP的市场基本上已经被Vue、React等SPA框架所替代,但是Java却并没有开拓出自己新的应用场景,虽然笔者认为,基于VM的语言并不是消失,但是Java是能否一直守住自己的王座,还是要打一个问号的。


Java目前最多的就业方向就是服务端开发,如果你学习了Java,那么大概率会做服务端开发,短期内,服务端开发Java还是很难被其他语言替代。强类型的语言加上对并发编程的支持,让Java非常适合构建大型的服务端应用,这也是Java最深耕的方向,学会Java服务端的开发,也比较方便向大数据或数据分析岗位进行转型。


最后我想说,Java的岗位在我提到的编程语言里面也是最多的,这也是我推荐你学习它的一个重要原因,很多编程语言,虽然看起来很热门但是,但是当你真正学完去找工作的时候,却又发现岗位少的可怜,没错,说的就是你,Python。


Python


Python这门编程语言,“胶水语言”的特性让它看起来也几乎无所不能,虽然这种能力很有可能来自其他的语言,Python只是作为客户端,调用其他语言的类库。


不够“底层”其实并不是什么缺点,学习Python最大的问题是,是对学历有要求,Python应用最广泛的领域,大部分都对学历有要求,虽然你可能看过很多投放Python的广告,自动化办公、爬虫等等,但是这些特性在企业中的岗位是比较少的,而Python擅长的算法、人工智能、深度学习等领域都是需要研究生学历的。


我们总结一下,如果你有研究生学历,那么学习Python是一个不错的选择,不过我也见过有的研究生朋友学完Python之后发现岗位很少,又被迫转Java的案例。


C++


C++相比于其他的编程语言,其入门的门槛的会更高,花费在学习语言本身的时间的也会很多。C++在经历过这么多年的迭代之后,语言的特性非常多,会让初学者有一种眼花缭乱的特性,实现同一个功能,可能会有很多种写法。不可否认,C++是一门优秀的编程语言,但是高昂的学习成本也让人望而却步,如果你不是科班出身,只是想学一门技术进入互联网行业,那C++并不是一个很好的选择。


C++常见的就业方向有以下几种:服务器端开发、游戏、QT、嵌入式、人工智能。可以看出,C++最适合的还是那些对性能有要求的场景。原来很大一部分C++程序员都是做QT开发,但是C++在桌面端的市场已经出现了越来越多的竞争者,比如Hybrid 技术、React Native、Weex、Flutter,这些技术让原来web端的程序员或者移动端的程序员也能写出跨平台的应用,并且这些技术保留了他们原本的开发习惯,这对QT的打击,无疑是毁灭性的。


那么C++是不是已经过时,或者即将被淘汰呢?其实不然,C++只是让出了一些自己不是那么擅长的领域,但是在底层应用的开发,C++丰富的生态和优越的性能还是首选。如果你有志在这些领域发展,那么C++将是你很好的选择。


随着越来越多的人对核心自研技术的重视,这种比较偏底层的岗位,会越来越多,最近几年,国产操作系统的发展就是一个很好的例子,在政策的扶持下,各家公司几乎都在号称自研操作系统,可以预料,在不远的将来,这些核心的系统的研发,都需要大量C/C++语言的人才。


JavaScript


作为一门十天就被开发出来的编程语言,JavaScript身上的历史包袱也有很多,但这并不妨碍它的伟大,JavaScript在我们的日常生活中,几乎无处不在。


JavaScript也是一门易学难精的语言,虽然上手比较容易,但是后期也需要很多的时间去理解和巩固。JavaScript是前端程序员最重要的技术,没有之一,学好了JavaScript,就能在前端这个领域里无所不能。JavaScript现在也开始逐渐的在其他领域崭露头脚,它与TypeScript相辅相成,可以预见,JavaScript是一门历久弥新,并且前景良好的编程语言。


笔者对JavaScript最深的感受就是,与JavaScript相关的技术栈的更新迭代都非常的快,在我刚刚毕业的时候,Vue.js还是非常新鲜的东西,截止今天,Vue.js已经成为前端找工作的必备技能。JavaScript的框架总是层出不穷,让人有一种学不动了的感觉。造成这种“混乱”的背后原因有很多,这也从侧面反映了大家对JavaScript的热爱和探索。


路漫漫其修远兮,吾将上下而求索


我非常建议你在决定入行之前,提前找一些学习资料,自己尝试一下是否能够学的清楚,并且能从中获取乐趣。


兴趣和恒心是决定你能不能在这个行业长足发展的决定性因素。面对海量的,对你而言是闻所未闻的知识,如果没有兴趣,你每天都会深受折磨;这个行业特质决定了我们需要不断地学习,没有恒心,总有一天会掉队,跟不上技术更新迭代的脚步。


总而言之,道阻且长,希望本文能对你

作者:清风孤月残酌
来源:juejin.cn/post/7205549412352868412
有所启发,与君共勉。

收起阅读 »

37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

从短期来看,程序员的确算是个不错的工作,薪水也比一般岗位高很多,但是从长远来看,程序员的中年危机会比其他岗位来的更早,很多程序员只有到了35岁左右,才能真正认清楚互联网行业,尤其是被裁之后,找工作无门的这种无奈。最近在职场论坛上看到这样一个帖子:37岁程序员被...
继续阅读 »


从短期来看,程序员的确算是个不错的工作,薪水也比一般岗位高很多,但是从长远来看,程序员的中年危机会比其他岗位来的更早,很多程序员只有到了35岁左右,才能真正认清楚互联网行业,尤其是被裁之后,找工作无门的这种无奈。

最近在职场论坛上看到这样一个帖子:37岁程序员被裁,120天没找到工作,面试华为阿里均被拒,无奈降薪去小公司后懵了!

这是怎么回事呢?


据这位程序员说自己写代码15年了,目前在二线互联网公司当个小主管,可是在最近被公司优化裁掉了。

由于自己已经37岁,找了4个月工作都没有着落,无奈降薪去小公司,可是小公司的面试官却还说我技术太落后!现在上有老下有少,自从被裁后每天都睡不着,很难熬!

那么,网友是怎么说的?


有网友说你可能没认清自己吧,什么叫做小公司还挑挑拣拣你呢?自己能力不够,就抱怨找不到工作,为什么当初不把技术学精呢!有网友对此进行反驳,你也会有35岁那天,程序员的今天就是你的明天,何必要嘲讽呢?


还有网友现在华为,阿里等大公司,只要超过35岁了,连面试机会都不会给你,简历那一关就被卡住了。去年我还说华为加班太多不想去,可现在想去都没机会了。


还有网友说那就没办法了,只能选择降薪,毕竟一家人总要生活,工资低点就低点,总比没工作要强。其实这也是很多程序员收入虽然高,却不敢在大城市买房的真正原因。要是等到30多岁被裁了,到时候每天还房贷的压力太大,根本不敢想象没有工作的情况。


你怎么看呢?欢迎转发分享吐槽!

来源:互联网架构师

收起阅读 »

写给想转行学IT的朋友们的话

最近有很多朋友咨询我关于想转行学IT的问题,我想结合自身的经历和思考和各位聊几句,本文带有比较强的主观色彩,因此文中观点仅供参考,如有不当之处,敬请海涵。 笔者19年本科毕业于一所中流211,毕业之后一直在做Java开发,我并没有进大厂,也没有年薪百万,就是芸...
继续阅读 »

最近有很多朋友咨询我关于想转行学IT的问题,我想结合自身的经历和思考和各位聊几句,本文带有比较强的主观色彩,因此文中观点仅供参考,如有不当之处,敬请海涵。


笔者19年本科毕业于一所中流211,毕业之后一直在做Java开发,我并没有进大厂,也没有年薪百万,就是芸芸众生中普通的那一个。现在回顾当时入行的经历,基本是摸着石头过河,因此在有了一些经验之后,就想给和我当时一样处境的朋友一点建议,希望能对你有所启发。


很多问题其实都要结合个人的实际情况来看,每个人的知识、能力、经历都各不相同,所以无论做出任何决定,都需要结合自身的情况。


是否有必要参加培训机构?


这个问题的答案是因人而异的,核心点在于你是否有足够的恒心和自制力。


现在互联网上的学习资料已经非常多了,足够支撑你从零学到能够入行的过程。如果你的自制力比较好,那么你就可以尝试自学,不过自学的过程是孤独的,也是难熬的;如果你的自制力一般,无法在不是“学校”那么环境下进行学习,那就可以考虑培训机构。


需要特别强调的是,不能以为进了培训机构就以为一定能够就业了,说到底,学习这件事情,还是要靠你自己,别人是没有办法把知识灌进你的脑袋里的。培训机构也有一些无法忽视的问题,当你毕业之后,大概率机构会给你伪造一份简历,本来学习的时间就并不是很长,你很快可能就会发现,培训机构里面学的比较浅,还不足以应付面试官的八股文,这时候你可能就会想先入行再说,然后进了一家外包公司,然后开始混日子,这也是笔者见过的最多的案例。


参加培训最大的还是简历,培训机构给大家做的项目都是极其雷同的,也可能会在培训结构之后,让你自己编项目经验,有经验的面试官很容易就能判断出,你是真的参与了项目开发,还是只是包装的。另外你可能还会碰到,很多公司需要上一家公司的离职证明和银行流水,甚至需要你个税APP报税界面的录屏等等问题,这些培训机构并不会告诉你。


总而言之,转行是一件对你的人生来说,是一件极其重要的事情,要反复思虑,不要脑子一热,听身边的朋友说,那个谁谁谁培训了几个月就月入过万,然后就稀里糊涂花了几万参加了培训机构,结果培训结束真正找工作的时候又发现困难重重,现实往往比想象的残酷。


高中毕业可以从事IT行业吗?


真相是,如果要从事IT行业,大专及以上学历是基本要求,不排除个人大专以下学历也找到了很好的IT工作,但是在当下这么“卷”的环境下,就是幸存者偏差了。


大专的学历我也非常建议你先提升学历,有一个本科学历。


前端、后端还是测试?


其实从某种意义来说,选择岗位就是选择某种编程语言,选择编程语言也是在选择岗位,这个问题,你也可以结合下文编程语言之间的对比,找到自己合适的岗位。大体而言,测试、前端、后端,这三者的难度是依次递增的(对大部分人而言)。


如果你没有科班背景,但是又想从事IT行业,那么你可以考虑从事测试、运维工作甚至产品、运营的工作,其实开发写代码并不是唯一的选择。


如果你有一定的基础,但是逻辑思维又不是那么强,那么我建议你可以考虑前端,女生大部分学习编程都会选择前端,前端由于不需要考虑架构、性能(大部分场景),因此难度会小一些,对初学者更加友好。不过,前端经过这些年的发展,知识体系俨然已经非常庞大,后期也需要学习很多的东西。


如果你有一定的基础,且逻辑思维还可以,那么我建议你可以考虑后端,如果你不知道自己的思维能力怎么样,可以学一些Java或者JavaScript语言基础,看看自己是不是能够比较轻松的学会。


Java、Python、C++还是JavaScript?


JavaScript


作为一门十天就被开发出来的编程语言,JavaScript身上的历史包袱也有很多,但这并不妨碍它的伟大,JavaScript在我们的日常生活中,几乎无处不在。


JavaScript也是一门易学难精的语言,虽然上手比较容易,但是后期也需要很多的时间去理解和巩固。JavaScript是前端程序员最重要的技术,学好了JavaScript,就能在前端这个领域里无所不能。JavaScript现在也开始逐渐的在其他领域崭露头脚,它与TypeScript相辅相成,可以预见,JavaScript是一门历久弥新,并且前景良好的编程语言。


Java


如果你已经决定了要从事软件开发行业,但是还不清楚,要选择哪一门编程语言,那我推荐你可以学习Java,Java这门语言本身虽然并不优秀,截止目前,Java已经走过了20个年头,有着非常丰富的生态,web端,它有JSP、Servlet,移动端,它有Android,服务器端有SpringBoot,桌面端它有JavaFX,也有非常优秀的网络通信框架,比如Netty,甚至它也做出过操作系统(塞班系统),可以说,Java虽然很烂,但是它真的几乎无所不能。


不可否认Java的成功,但是Java也存在一些隐患,比如在Oracle收购了Sun公司之后,在Oracle不断地花式作妖下,Java的未来似乎也有些扑朔迷离。除此之外,Java在引以为傲的领域也逐渐有了一些竞争对手,比如服务端有go语言、nodejs,Android的开发官方首选语言已经变成kotlin,JSP的市场基本上已经被Vue、React等SPA框架所替代,但是Java却并没有开拓出自己新的应用场景,虽然笔者认为,基于VM的语言并不是消失,但是Java是能否一直守住自己的王座,还是要打一个问号的。


Java目前最多的就业方向就是服务端开发,如果你学习了Java,那么大概率会做服务端开发,短期内,服务端开发Java还是很难被其他语言替代。强类型的语言加上对并发编程的支持,让Java非常适合构建大型的服务端应用,这也是Java最深耕的方向,学会Java服务端的开发,也比较方便向大数据或数据分析岗位进行转型。


最后我想说,Java的岗位在我提到的编程语言里面也是最多的,这也是在选择编程语言很重要的一个需要考虑的点,很多编程语言,看起来很热门但是,真正学完去找工作的时候,发现岗位少的可怜,没错,说的就是你,Python。


Python


Python这门编程语言,“胶水语言”的特性让它看起来也几乎无所不能,虽然这种能力很有可能来自其他的语言,Python只是作为客户端,调用其他语言的类库。


不够“底层”其实并不是什么缺点,学习Python最大的问题是,是对学历有要求,Python应用最广泛的领域,大部分都对学历有要求,虽然你可能看过很多投放Python的广告,自动化办公、爬虫等等,但是这些特性在企业中的岗位是比较少的,而Python擅长的算法、人工智能、深度学习等领域都是需要研究生学历的。


我们总结一下,如果你有研究生学历,那么学习Python是一个不错的选择,不过我也见过有的研究生朋友学完Python之后发现岗位很少,又被迫转Java的案例。


C++


C++相比于其他的编程语言,其入门的门槛的会更高,花费在学习语言本身的时间的也会很多。C++在经历过这么多年的迭代之后,语言的特性非常多,会让初学者有一种眼花缭乱的特性,实现同一个功能,可能会有很多种写法。不可否认,C++是一门优秀的编程语言,但是高昂的学习成本也让人望而却步,如果你不是科班出身,只是想学一门技术进入互联网行业,那C++并不是一个很好的选择。


C++常见的就业方向有以下几种。



  • 服务器端开发

  • 游戏

  • QT

  • 嵌入式

  • 人工智能


总结来说,C++最适合的还是那些对性能有要求的场景。原来很大一部分C++程序员都是做QT开发,但是C++在桌面端的市场已经出现了越来越多的竞争者,比如Hybrid 技术、React Native、Weex、Flutter,这些技术让原来web端的程序员或者移动端的程序员也能写出跨平台的应用,并且这些技术保留了他们原本的开发习惯,这对QT的打击,无疑是毁灭性的。


那么C++是不是已经过时,或者即将被淘汰呢?其实不然,C++只是让出了一些自己不是那么擅长的领域,但是在底层应用的开发,C++丰富的生态和优越的性能还是首选。如果你有志在这些领域发展,那么C++将是你很好的选择。


随着越来越多的人对核心自研技术的重视,这种比较偏底层的岗位,会越来越多,最近几年,国产操作系统的发展就是一个很好的例子,在政策的扶持下,各家公司几乎都在号称自研操作系统,可以预料,在不远的将来,这些核心的系统的研发,都需要大量C/C++语言的人才。


路漫漫其修远兮,吾将上下而求索


我非常建议你在决定入行之前,提前找一些学习资料,自己尝试一下是否能够学的清楚,并且能从中获取乐趣。


兴趣和恒心是决定你能不能在这个行业长足发展的决定性因素。面对海量的,对你而言是闻所未闻的知识,如果没有兴趣,你每天都会深受折磨;这个行业特质决定了我们需要不断地学习,没有恒心,总有一天会掉队,跟不上技术更新迭代的脚步。


总而言之,道阻且长,希望本文能对你有所启发,与君共勉。


作者:清风孤月残酌
链接:https://juejin.cn/post/7205549412352868412
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

浅谈敏捷开发与互联网江湖的爱恨情仇!

敏捷开发 通常互联网产品都采用一套称之为 敏捷开发 的研发流程 @需求阶段 定方向:企划部门和产品部门一道确定产品方向; 出需求:产品经理提供: 需求文档(对产品体系和功能的详细描述,常用的格式为Word配合PPT) + 产品原型(一个能在PC/手机浏览器...
继续阅读 »

敏捷开发


通常互联网产品都采用一套称之为 敏捷开发 的研发流程


@需求阶段


image.png



  • 定方向:企划部门和产品部门一道确定产品方向;

  • 出需求:产品经理提供: 需求文档(对产品体系和功能的详细描述,常用的格式为Word配合PPT) + 产品原型(一个能在PC/手机浏览器上进行页面跳转和简单交互的demo);


image.png


@研发阶段



  • 研发:前后端开发和美术部门根据产品需求开始工作;

  • 设计师/美术:根据产品原型产出一整套页面设计图;


image.png



  • 服务端/后端:根据产品功能说明着手数据库设计和接口设计,产出接口文档,供前端调用以获取业务数据;

  • 客户端/前端:根据设计效果图开发PC/手机H5/小程序/App等用户端的界面 + 数据渲染 + 用户交互;

  • 接口联调:开发期间前后端开发者需要进行接口联调,以确保前端能通过后端提供的接口正确地获取到数据;


@测试阶段



  • 提交测试:前后端共同开发完毕后,打包成品供测试人员进行测试;

  • 产品测试:测试人员代入用户的角色,带着挑剔的眼光和看我不整死你的愉快心情对产品进行使用测试,并将宏伟的BUG列表这口黝黑锃亮的大锅戴在项目经理头上;


image.png



  • 修复BUG:项目经理在开发团队(前后端)内对锅进行二次分配,精确到具体责任人;

  • 反复完善:开发人员修复BUG,再次打包提交测试,测试再挑刺-开发再分锅修改-再提交测试,重复以上循环若干遍以后,测试表示产品凑合可以上线了,签字画押;

  • 产品上线:运维同学将产品部署到生产环境与用户见面;


程序员在产品上线时的样子↓
image.png


@维护阶段



  • 升级维护:产品上线以后还需要进行多个版本的迭代升级,包括新一轮的需求的开发,以及收集和修复用户反馈的产品BUG等,于是就继续产生2.0、3.0...


互联网江湖的爱恨情仇



  • 通常当开发进度完成到99%的时候,产品经理脑门一拍,哎呀这个地方可能得小改一下,很简单的你这样弄一下就行:XXOO@#$%^&*blablabla...,一想到打人要进橘子你默默地收起了磨过无数回的菜刀,开始彻底推翻重做...

  • 针对上述情况美术人员表示我早就习惯了;

  • 当然产品和研发的博弈为我们的茶余饭后提供了不少欢乐的素材


image.png


其实谁还不是一样...


image.png




“这不需要测试,肯定是好的,不必担心!”


image.png

作者:搬砖的乔布梭
链接:https://juejin.cn/post/7205738747882831929
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

离职后在家躺了一年,顺便写了本书

大家好,我卡颂。 从字节离职已经一年多了。 最开始离职的契机是电子社的编辑向我约书稿。以我的能力是没法同时兼顾字节的高强度工作以及在规定的时间内成书。 考虑到进厂上班的机会以后还有(但现在这行情,没准儿也没厂子要我也说不定),但写书的经历还没体验过,于是就辞职...
继续阅读 »

大家好,我卡颂。


从字节离职已经一年多了。


最开始离职的契机是电子社的编辑向我约书稿。以我的能力是没法同时兼顾字节的高强度工作以及在规定的时间内成书


考虑到进厂上班的机会以后还有(但现在这行情,没准儿也没厂子要我也说不定),但写书的经历还没体验过,于是就辞职了。


接下来聊聊程序员写书是种什么体验。


欢迎加入人类高质量前端框架研究群,带飞


为什么写书?


在大概5年前,写书还是一种行之有效的提升个人影响力的方式。


很多人在找工作前、创业前,都会写本书作为个人能力的背书


甚至还出现专门帮人写书的公司,这些公司的目标客户是那些由于某些契机突然出名的草根(比如一些现象级语言类综艺的选手)。


但最近几年,相比写书短视频塑造个人人设是更短平快的提升个人影响力途径。所以,写书的人就逐渐少了。


而且,写书真的不赚钱。卖一本书的版税收入可能就几块钱。相比于赚钱,一些急于通过写书提升个人影响力的人,甚至得反向给出版社钱,比如花钱买书号(1w多)。


所以,对于为什么写书,主要是想体验下这段经历,以及可能带来的些许个人影响力提升。


什么样的程序员能写书?


可能你会觉得写书是件很厉害的事情,那你觉得写一本掘金小册厉不厉害呢?


如果你觉得写一本掘金小册也挺厉害,那写某一技术领域的系列文章厉不厉害呢?


好像还行对吧,那深入学习某个技术领域厉不厉害呢?


是不是努努力就能达到?


实际上这是条很平滑的路径,就像打游戏升级一样,在很多关键节点都会有任务npc主动找你(比如小册运营,出版社编辑)。


所以,与其说写书很厉害,不如说写书的人很执着,把这条支线任务打通关了(虽然任务奖励并不丰厚)。


我写了本什么书?


书名叫React设计原理,基于React18,从理念、架构、实现三个层面解构React



虽然在此之前写过一本开源电子书react技术揭秘,但既然要出版,就好好对待吧。


于是,在规划这本书时,我主要从两方面下手:




  • 内容尽可能硬核




  • 怎么讲读者才听得懂?




先说第一点,为了理通react运行的方方面面,除了常规的阅读源码跟踪核心成员的各种进展外,为了搞懂React18的运行细节,我从0实现了一个React18,所有实现步骤可以在big-react项目中看到。


内容硬核很重要,但写出来能让人看懂同样很重要。为了达到这个目标,我主要参考了两个优秀的作品:



前者在行文过程中一直在提倡知识屏蔽(在教学过程中只关注当前学习的知识,屏蔽超纲知识对读者的干扰的原则),后者做到了理论与实践(丰富的在线示例)结合。


所以,我这本书存在两条脉络:




  • 抽象层级逐渐降低




  • 实现越来越复杂的模块




对于前者,本书的抽象层级会逐渐从理念到架构,最后到实现,每一层都屏蔽前一层的影响。


这也是为什么ReactDOM.createRoot这个初始化API会放到第六章再讲解 —— 在这个具体API的背后,是他的理念与架构。


对于后者,本书会从0实现与react相关的6个模块,最后我们会一起在React源码内实现一个新的原生Hook


一点感悟


这一年时间有很多朋友问我为什么不去找个班上。答案很简单 —— 因为我不喜欢上班。


所以,为了做喜欢的事,就得提前准备。就拿写书这件事来说,就像做游戏任务,他的每一步都是有迹可循的。


如果你也对现状不满,那就行动起来吧。为了想要的生活而探索,这个过程本身就充满了乐趣。


作者:魔术师卡颂
链接:https://juejin.cn/post/7173501934769274888
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

考研失败,加入国企当程序员,真香!

1、考研失败老家成都,本科毕业于帝都某所以能歌善舞著称的985学校,哲学专业。侥幸自己选修过大数据课程,并且听说程序员工资还不错,通过校招加入了隔壁省的一家制造业当程序员。在工作的第3年决定考研,边工作边考研,压力真是不小。让本来就是学渣的我,从研究生考场走出...
继续阅读 »

最近考研出成绩了,大家考得怎么样?分享一个自己考研失败后,入职国企的故事。

1、考研失败

我是工作了3年后才参加考研的。

老家成都,本科毕业于帝都某所以能歌善舞著称的985学校,哲学专业。

大学选专业时家里人不懂,自己全凭爱好,第一志愿就是哲学。上学时有多快乐,毕业时就多难找工作。

侥幸自己选修过大数据课程,并且听说程序员工资还不错,通过校招加入了隔壁省的一家制造业当程序员。

公司管吃管住,工资1w出头,干了2年,感觉到了危机。自己羞于靠关系上位,但技术上,计算机知识太薄弱也发展有限,于是就想趁着还年轻,考个计算机硕士,提升一下自己。

在工作的第3年决定考研,边工作边考研,压力真是不小。让本来就是学渣的我,从研究生考场走出来就知道了最终的结果:没戏了。

成绩出来后,果然不出所料。

2、加入国企

知道初试成绩以后我难过了几天,认真思考了一下自己的未来发展:旁边的帝都我也回不去了,又不甘心留在这个小城市,于是决定回老家成都发展。

毕业后一直在私企,总是听说国企好、央企不错,所以我这次投简历也想试一下。正好看到一篇讲程序员国企的文章:值得程序员加入的173家国企汇总,网友:这下彻底躺平了,于是就按照文中的思路,找到了成都的一些所谓不错的国企投递试试。

成功加入后发现:真香!

  • 福利真 ** 好!和其它公司谈薪酬,别人都是能压多低压多低,来这家国企,竟然还说我工作年限够长,在我期望的基础上加了3k。六险二金更不用说,平时的各种生活保障也是非常到位。不夸张的说,从私企转到国企的我,有一种刘姥姥进大观园的感觉。

  • 真卷!是谁告诉我国企适合养老的?这比我以前在私企工作强度大多了好嘛?而且我第一次听说部门平均加班时长影响个人绩效这种规则。

  • 技术上不激进。可能对于程序员来说,不停的学习新技术是一种常态,但是在这家国企,基本都是传统老技术,我打开代码还看到了我们领导1997年写的头文件。当然,你也可以认为这是一种不好的事。这里的技术对我来说,够了。

  • 同事关系很融洽。我人生中第一次去按摩店找技师,是女同事带我去的,谁能信!不过必须说一句,成都的按摩店是真正规啊!技师可真有劲。

去年回来工作快1年了,我现在对于考研已经释怀了。听说我们部门今年招人开始硕士起步了,有时候我还挺庆幸自己去年没考研成功的,不然即使上了研究生,我这实力,也不一定能进入现在的单位了。

3、写在最后

现在回过头来看,有一个不同的体会:考研是一件好事,但如果本身不是沉迷于科研事业,而是更想赚钱的话,有好的工作机会也别错过。

另外,多关注有用的信息很重要,有时候别人的一番话,可能就需要自己经历几年的曲折才能总结出来。

大家有任何程序员求职问题,欢迎在评论区和我交流~

作者:程序员晚枫
来源:juejin.cn/post/7205541247590973499

收起阅读 »

【架构师李肯】成为了公司股东,而我却失眠了!

提笔的现在是2023年1月13日农历腊月廿二,凌晨四点半,我刚失眠醒来不久,头脑里的思绪万千,无法入睡,索性把它写下来,以便有个回忆。 惊喜与荣誉 说起这次失眠,源于昨天发生的一件事,下午上着班,突然收到微信群邀请,点进去一看,都是公司BOSS、高管、中层l...
继续阅读 »

提笔的现在是2023年1月13日农历腊月廿二,凌晨四点半,我刚失眠醒来不久,头脑里的思绪万千,无法入睡,索性把它写下来,以便有个回忆。


图片


惊喜与荣誉


说起这次失眠,源于昨天发生的一件事,下午上着班,突然收到微信群邀请,点进去一看,都是公司BOSS、高管、中层leader、以及各研发部门的绝对核心,你还别说,真有一种【误入藕花深处】的感觉。我一想,可能有事要发生,且很有可能事儿还不小。


果然,随后群主简单说了下,今晚BOSS要请大家喝酒撸串,请大家务必抽空。也没说啥主题,就发了时间和地点,大家按时到达即可。


直到饭局上,才从BOSS口中得到了确切的消息,也的确算得上是一个好消息:今晚是公司新旧股东的感谢会加欢迎会。其中,我和几个小伙伴就是新加入的那一批股东。


我一听这好消息,有些喜出望外,但又感觉合乎常理,因为我知道公司每年都有配股的传统,也算是公开的小秘密,只要你表现足够优秀,就一定能被高层看见,这也许就是【小庙】的好处吧。


席上,我端起来了闲置了大半年的酒杯,是因为身体原因,也是本身并不嗜酒,所以每次拿开车作为借口搪塞一下也就过去了。但这次有些不一样,毕竟BOSS端着酒在你面前,你说能不能不喝?


有人的地方,就有江湖。烤串局上,一个个推杯换盏,很是热闹,大家笑说旧年的总结,展望新年的目标。


之余,让我印象最深的是公司分管销售的副总裁的敬酒。对,没错,就是公司业绩扛把子的那位。他跟我说,恭喜你加入公司的股东会,恭喜你在2年内就得到了公司的认可,但你知道我花了多久才被这个行业认可吗?答案是【20年】!


哗哦,不真不令人竖起大拇指,绝对对得起他的那些远赴盛名,值得我辈学习。


图片


满载的收获


聊到这,乘着这次机会,再次聊聊2022年的收获吧。


2022年在工作上始终不遗余力,有领导的绝对核心信任,工作方面得心应手,架构设计,疑难攻关,前沿预研,传帮分享,一个没落下,也终于在自己的努力下,再次拿下了年度绩效S考核的优异成绩,不出什么幺蛾子的话,【优秀XX人】的奖杯应该正在制作中!


工作上,至少在我负责的研发领域,可以说收获到了极致,其他平行能力领域还需进一步拓展。


同时,2022年是我致力于打造【架构师李肯】这个技术IP的元年,这一年我在工作之余,沉心创作了100+的技术原创博文,谈不上有多高产,比起那种年入上W篇的量产大户,我这基本拿不上台面。但必须要承认的是,我自己的好些博文是真的用心在这的,有时候为了写清楚一个问题,前前后后耗时都接近一周。很荣幸,这些博文都得到了行业大佬们的认可,比如在RT-Thread技术论坛上,这些博文都被追加了【优秀】,这是一种肯定与荣耀,也是基于这些优异的社区贡献,RT-Thread在2022年度的开发者大会上授予了我【2022年度RT-Thread社区杰出布道者】。这又是更高一级的认可,反正这个牛批可以拿出去吹好一会了!又比如在电子发烧友论坛上,我也收获了很多,技术专栏是我一个亮点,也是因为内容够硬,很荣幸收到了电子发烧友的年度表彰,成为了【年度优秀专栏创作者】。


技术创作是一方面,参加课外大赛是另一方面。期间参加的国民技术应用设计大赛和瑞萨电子应用设计大赛都收获了第一名的好成绩,还有一笔不错的奖金,真是美滋滋。


2022年一共受邀参加了4场在线演讲,写了4份PPT,谈不上多亮点,但只要我用心,有那么一页PPT能够帮助到有心人,这就够了!


还有一个最重要的,今年收获了很多技术道路上志同道合的朋友,我们一起打怪升级,感谢你们的支持,你们就是【架构师李肯】这个技术IP持续发展的最大动力。


图片


追忆与迷茫


这部分话题,本来想再写写的,看着天快亮了,留个记号吧 // TODO


图片


新年新希望


2022年注定是不平凡的一年,有着太多的不堪回首和刻骨铭心,而对于我来说,却也是我收获的一年。最后,新的一年里,祝大家在技术的路上兔飞猛进,在职场的发展上兔步青云;愿大家都能收获心中所想,实现新的远大目标!


图片


作者:架构师李肯
链接:https://juejin.cn/post/7195203446285271077
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

iOS 3年开发迷茫随心聊

iOS 3年开发迷茫随心聊 从毕业开始做iOS,到现在已经是第4个年头了。第一家公司,做了一年,项目没上线就倒闭了,导致找第二家公司的时候也没有一个项目能拿的出手。第二家公司误入一家游戏公司,每天工作就是将H5小游戏做成一个App,想办法上线,一年过去了,技术...
继续阅读 »

iOS 3年开发迷茫随心聊


从毕业开始做iOS,到现在已经是第4个年头了。第一家公司,做了一年,项目没上线就倒闭了,导致找第二家公司的时候也没有一个项目能拿的出手。第二家公司误入一家游戏公司,每天工作就是将H5小游戏做成一个App,想办法上线,一年过去了,技术其实也没什么长进,但是通过这个过程了解一些苹果上架的知识。也有了几个上线项目经验了。由于想找个正经互联网公司做App,也离职找工作。


找工作头一个月,发现面试面的问题都是与底层相关,一问三不知,在家埋头学了2个月底层相关知识(可以理解背题)。原理是懂一点了,但是没有在实际项目中运用,工资也上不太去。在面了20多家公司后,终于找到现在第三份工作。


由于有第二份工作的经历,在第三家公司上班的时候一直在学习,有意识的去面试的原理去解决一些开发中的问题,例如使用runtime解决一些问题,却发现runtime如果没有很强的理解,还是不要用在项目里,因为可能出现未知的风险。例如使用交换方法,全局做了修改,但是后期项目需求更改,保持全局修改的前提下,对其他情况要做不同处理。也没有太多需求会使用到原理的内容,性能也不需要优化。


小公司对技术不太感冒,能完成需求就行,虽然自己力所能及的去做一些规范,但觉得做的还是不够,也不清楚其他公司到底是如何做的。小公司个人感觉对员工做事的责任心更加看重。需求就是写页面,页面还原的好,做的快一点,bug少一点就行了。不是理想的一个团队有什么方案,规范,让开发更有效率。最大感触是还好没有成为一个油腻的开发~。


在现在的公司,做了几个项目,也没有大的bug。学会了Swift进行开发。也许也算是一种收获吧。但是公司不加薪,今年的目标是想学点东西换一份工作。


学了1个月RxSwift,感觉也快学不下去了,公司是不可能用了,网上也有人说这个架构太重了。语言是个问题,自己英语水平有限,学习速度太慢了。如果有看到的这篇文章的小伙伴,也可以给我点意见。


最近想学一点提高开发效率的技能。和面试相关的内容。如果有大神经历过我这个时期,还麻烦给点建议。建议退iOS坑的就不必留言了。个人虽然菜,但是如果还没有做到小公司天花板的话,目前不考虑退坑。


第一次发文章也不知道说啥,后面会更新一些学习笔记啥的。感谢包容。


作者:MissSunRise
链接:https://juejin.cn/post/7071892765763698719
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

拥有思想,你就是高级、资深、专家、架构师

当然要想成为高级工程师或者架构师,光看书是不行的,书本上来的东西都是工具型编程的体现,何为工具型编程呢? 就是说可以依据书本、网络等渠道就能完成的编程就是工具型编程,那怎么解决呢? 为什么要提升编程思想 这个问题我想大家都有答案,编程思想就是一个程序员的灵魂...
继续阅读 »

当然要想成为高级工程师或者架构师,光看书是不行的,书本上来的东西都是工具型编程的体现,何为工具型编程呢?


就是说可以依据书本、网络等渠道就能完成的编程就是工具型编程,那怎么解决呢?


为什么要提升编程思想



这个问题我想大家都有答案,编程思想就是一个程序员的灵魂,没有灵魂的程序员,只配ctrl + C/V.



专业一点来讲,提升编程思想的重要性在于它能够帮助开发者更好地解决问题、提高效率、减少错误,并提高代码的可读性、可维护性和可扩展性,而这些点位就是成为一个高级Android工程师或者架构师必不可少的技能,也是每一个程序员应该具备的技能。在国外,很多面试更看重的是学习能力和编程思想,其实也是,一个10年的经验丰富的程序员学习一门新的语言或者技术如同探囊取物,对于一个公司、一个团队、一个业务成本来讲,有这样一个人是最经济的。更具体来讲:



  1. 解决问题能力:良好的编程思想能够帮助开发者更好地理解问题,设计出高效、可靠、可扩展的解决方案。

  2. 代码质量提升:优秀的编程思想可以帮助开发者写出易于阅读、易于维护的代码,并使其更加健壮、可靠、可测试。

  3. 工作效率提高:合理的编程思想可以使开发者更加高效地编写代码,并降低代码调试和修复的时间。

  4. 技术实力提升:良好的编程思想可以使开发者更加深入地理解编程语言和计算机科学原理,并在实践中掌握更多的技能和技巧。

  5. 职业发展:具备良好编程思想的开发者在技术水平和职业发展方面具有更好的竞争力和前景。


良好的编程思想可以帮助开发者更好地解决问题、提高效率、提高代码质量和可维护性,并在职业发展中具有更好的前景和竞争力,这也就成了了中、高、架构等分级程序员的区别之分。


如何提升自己的编程思想



  1. 练习算法和数据结构:熟悉算法和数据结构可以帮助你更好地理解和解决问题,优化你的代码并提高你的代码质量。

  2. 阅读源代码:阅读其他优秀项目的源代码可以帮助你学习其他开发人员的编程思想,理解他们是如何解决问题的,进而提高自己的编程思维。

  3. 学习设计模式:设计模式是一种常用的编程思想,它可以帮助你更好地组织你的代码,提高代码的可维护性和可扩展性。

  4. 参与开源项目:参与开源项目可以帮助你学习其他开发人员的编程思想,理解他们是如何解决问题的,同时也可以帮助你获取更多的开发经验和知识。

  5. 持续学习:跟上Android开发的最新技术和趋势可以让你更好地了解开发环境和市场需求,并提升自己的编程思想。

  6. 经常review自己的代码:经常review自己的代码可以帮助你发现自己代码中的问题并及时改进,同时也可以帮助你学习其他开发人员的编程思想。


接下来,我们对这些步骤的项目进行分析和说明,


练习算法和数据结构



熟悉算法和数据结构可以帮助你更好地理解和解决问题,优化你的代码并提高你的代码质量, Android 这种移动平台,性能要求是非常高的,但是他的机型众多,系统不一,所以我们应该从编程角度就减少不必要的麻烦。怎么练习呢?




  1. 选择适合自己的算法练习平台:例如LeetCode、HackerRank、Codeforces等。这些平台都提供了大量的算法题目,可以帮助你提高算法水平。

  2. 学习基础算法:如排序、查找、树、图等算法,这些算法是其他算法的基础,掌握好基础算法对于提高算法能力非常有帮助。

  3. 练习算法的具体类型:例如贪心算法、动态规划、分治算法等,这些算法在实际开发中非常常见,掌握好这些算法可以让你更好地解决实际问题。

  4. 尝试实现算法:通过手写实现一些经典算法,你可以更好地理解算法的思想和实现方式,并加深对算法的理解。

  5. 参与算法竞赛:参与算法竞赛可以帮助你提高算法能力,同时也可以认识到其他优秀的算法工程师。


很多人在开发过程中公司是不会要求有算法参与的,特别是在Android端,也很少有人在开发中精心设计一款算法用于Android业务,Android的数据量级都在可控范围内,但是优秀的程序员不是应公司要求而编程的,我们因该在面对数据的时候,自然而然的想到算法,想到时间复杂度、空间复杂度的问题算法-时间复杂度 这是之前我在公司分享过的一篇文章,大家可以参考一下,基本涵盖了时间复杂度及在不同场景中的计算方式以及在特殊场景下的计算概念。


举几个例子,怎么将算法运用到平时的开发中呢?



  1. 优化算法复杂度:在实际开发中,我们常常需要处理大量数据,如果算法复杂度高,就容易导致程序运行缓慢。因此,优化算法复杂度是非常重要的。比如,在ListView或RecyclerView中使用二分查找算法可以快速查找到指定位置的数据。

  2. 应用动态规划算法:动态规划算法可以用于解决一些经典问题,例如最长公共子序列、背包问题等。在实际开发中,我们也可以应用动态规划算法解决一些问题,例如路径规划、字符串匹配等。

  3. 应用贪心算法:贪心算法是一种可以获得近似最优解的算法,可以用于一些优化问题。在Android开发中,例如布局优化、图片压缩等方面,也可以应用贪心算法来达到优化的效果。

  4. 应用其他常用算法:除了上述算法外,其他常用算法也可以应用于Android开发中,例如图像处理算法、机器学习算法等。对于一些比较复杂的问题,我们也可以引入其他算法来解决。


反正就是学之前要理解对应算法的大致用途,在类似场景中,直接尝试搬套,先在伪代码中演算其结果,结果正趋向时果断使用。


阅读源码



阅读其他优秀项目的源代码可以帮助你学习其他开发人员的编程思想,理解他们是如何解决问题的,进而提高自己的编程思维



前边不是说了,工具型编程可以不用看吗,是的,但是阅读源码不是查看工具,而是提升你的编程思想,借鉴思想是人类进化的最主要体现之一,多个思想的碰撞也能造就更成功的事件。那怎么阅读源码呢?这个每个人都有自己的方法,阅读后要善于变通,运用到自己的项目中,我是这么做的。



  1. 选择合适的开源项目:选择一个合适的开源项目非常重要。你可以选择一些知名度比较高的项目,例如Retrofit、OkHttp、Glide等,这些项目通常质量比较高,也有一定的文档和教程。

  2. 确定目标和问题:在阅读源码前,你需要明确自己的目标和问题。例如,你想了解某个库的实现原理,或者你想解决一个具体的问题。

  3. 仔细阅读源码:在阅读源码时,需要仔细阅读每一个类、方法、变量的注释,了解每一个细节。同时也需要了解项目的整体结构和运行流程。

  4. 了解技术背景和思路:在阅读源码时,你需要了解作者的技术背景和思路,了解为什么选择了某种实现方式,这样可以更好地理解代码。

  5. 实践运用:通过阅读源码,你可以学到许多好的编程思想和技巧,你需要将这些思想和技巧运用到自己的开发中,并且尝试创新,将这些思想和技巧进一步发扬光大。


阅读源码需要持之以恒,需要不断地实践和思考,才能真正学习到他人的编程思想,并将其运用到自己的开发中。


学习设计模式



设计模式本就是编程思想的总结,是先辈们的经验绘制的利刃,它可以帮助你更好地组织你的代码,提高代码的可维护性和可扩展性。




  1. 学习设计模式的基本概念:学习设计模式前,需要了解面向对象编程的基本概念,例如继承、多态、接口等。同时也需要掌握一些基本的设计原则,例如单一职责原则、开闭原则等。

  2. 学习设计模式的分类和应用场景:学习设计模式时,需要了解每个设计模式的分类和应用场景,例如创建型模式、结构型模式、行为型模式等。你需要了解每个模式的特点,以及何时应该选择使用它们。

  3. 练习设计模式的实现:练习实现设计模式是学习设计模式的关键。你可以使用一些例子,例如写一个简单的计算器、写一个文件读写程序等,通过练习来加深对设计模式的理解。

  4. 将设计模式应用到实际项目中:将设计模式应用到实际项目中是学习设计模式的最终目标。你需要从项目需求出发,结合实际场景选择合适的设计模式。举例来说,下面是一些在Android开发中常用的设计模式:

    • 单例模式:用于创建全局唯一的实例对象,例如Application类和数据库操作类等。

    • 适配器模式:用于将一个类的接口转换成客户端期望的另一个接口,例如ListView的Adapter。

    • 工厂模式:用于创建对象,例如Glide中的RequestManager和RequestBuilder等。

    • 观察者模式:用于实现事件机制,例如Android中的广播机制、LiveData等。




学习设计模式需要不断练习和思考,通过不断地练习和实践,才能真正将设计模式灵活运用到自己的项目中。


参与开源或者尝试商业SDK开发



参与开源,很多同学是没有时间的,并且国内缺少很多开发团队项目,都是以公司或者团队模式开源的,个人想在直接参与比较困难,所以有条件的同学可以参与商业SDK的开发,
商业SDK比较特殊的点在于受众不同,但是他所涉及的编程思想较为复杂,会涉及到很多设计模式和架构模式。



比如,Android商业SDK开发涉及到很多方面,下面列举一些常见的考虑点以及经常使用的架构和设计模式:



  1. 安全性:SDK需要考虑用户隐私保护和数据安全,确保不会泄露敏感信息。

  2. 稳定性:SDK需要保证在不同的环境下运行稳定,不会因为异常情况而崩溃。

  3. 可扩展性:SDK需要考虑未来的扩展和升级,能够方便地添加新的功能和支持更多的设备和系统版本。

  4. 性能:SDK需要保证在各种设备和网络条件下,响应速度和性能都有足够的表现。

  5. 兼容性:SDK需要考虑在不同版本的Android系统和各种厂商的设备上,都能够正常运行。


经常用到的架构和设计模式包括:



  1. MVVM架构:MVVM是Model-View-ViewModel的简称,通过将视图、模型和视图模型分离,可以实现更好的代码组织和更容易的测试。

  2. 单例模式:单例模式是一种创建全局唯一对象的模式,在SDK中常用于创建全局的配置、管理器等。

  3. 工厂模式:工厂模式是一种创建对象的模式,SDK中常用于创建和管理复杂的对象。

  4. 观察者模式:观察者模式是一种事件机制,SDK中常用于通知应用程序有新的数据或事件到达。

  5. 适配器模式:适配器模式用于将一个接口转换成另一个接口,SDK中常用于将SDK提供的接口适配成应用程序需要的接口。

  6. 策略模式:策略模式是一种动态地改变对象的行为的模式,SDK中常用于在运行时选择不同的算法实现。


Android商业SDK开发需要综合考虑多个方面,选择适合的架构和设计模式能够提高代码质量、开发效率和维护性。


了解市场、了解业务,不要埋头敲代码



掌握最新的市场需求,比如网络框架的发展历程,从开始的HttpURLConnection的自己封装使用,到okhttp,再到retrofit, 再后来的结构协程、Flow等等,其实核心没有变化就是网络请求,但是,从高内聚到,逐层解耦,变的是其编程的思想。



CodeReview



可以参考该文章,此文章描述了CodeReview 的流程和方法,值得借鉴,CodeReview 是一个天然的提升自己业务需求的过程,
zhuanlan.zhihu.com/p/604492247



经常写开发文档



设计和编写开发文档是一个很重要的工作,它不仅能够提升自己的编程思想,也能够帮助团队提高协作效率和减少沟通成本.



如果要求你在开发一个需求前对着墙或者对着人讲一遍开发思路,你可能讲不出来,也不好意思,且没有留存,开发文档可以满足你,当你写开发文档时,你记录了你的对整个需求的开发,以及你编程的功底,日益累积后,你的思想自然会水涨船高,因为你写开发文档的过程就是在锻炼自己,比如我在前公司开发国际化适配时写的文档(当然只是我的粗鄙想法国际化ICU4J 适配及SDK设计,我会先分析问题,为什么?然后设计,并且会思考可能遇到的问题,也一并解决了。时间长了,设计模式、思想也会得到提升。


当然,也要分场景去设计,按需求去设计,可以采纳以下建议:
设计和编写开发文档是一个很重要的工作,它不仅能够提升自己的编程思想,也能够帮助团队提高协作效率和减少沟通成本。下面是一些关于如何设计一份好的开发文档的建议:



  1. 明确文档的目标和受众:在编写文档之前,需要明确文档的目标和受众,确定文档需要包含的内容和写作风格

  2. 使用清晰的语言和示例:使用简洁、清晰的语言描述问题,使用示例代码和截图帮助读者理解问题。

  3. 分层次组织文档:文档应该按照逻辑和功能分层次组织,每一层都有明确的目标和内容。

  4. 使用图表和图形化工具:图表和图形化工具能够有效地展示复杂的概念和数据,帮助读者更好地理解文档内容。

  5. 定期更新和维护文档:开发文档需要定期更新和维护,以反映最新的代码和功能。


通过设计一份好的开发文档,可以提升自己的编程思想,使得代码更加清晰和易于维护,同时也能够提高团队的协作效率和代码质量。


向上有组织的反馈



经常向领导有组织的汇报开发进度、问题、结果,不仅可以提升编程思想,还能够提高自己的工作效率和沟通能力



首先,向领导汇报开发进度、问题和结果,可以让自己更加清晰地了解项目的进展情况和任务的优先级,帮助自己更好地掌控项目进度和管理时间。


其次,通过向领导汇报问题,可以促使自己更加深入地了解问题的本质和解决方案,同时也能够得到领导的反馈和指导,帮助自己更快地解决问题。


最后,向领导汇报开发结果,可以帮助自己更好地总结经验和教训,促进自己的成长和提高编程思想。同时,也能够让领导更清晰地了解自己的工作成果,提高领导对自己的认可和评价。


向领导有组织地汇报开发进度、问题和结果,不仅能够提升编程思想,还能够提高工作效率和沟通能力,促进自己的成长和发展。


总结



  1. 编程思想的提升



  • 学习数据结构和算法,尤其是常见的算法类型和实际应用

  • 阅读优秀开源代码,理解代码架构和设计思想,学习开发最佳实践

  • 学习设计模式,尤其是常见的设计模式和应用场景



  1. 实际项目开发中的应用



  • 通过代码重构,优化代码质量和可维护性

  • 运用算法解决实际问题,例如性能优化、数据处理、机器学习等

  • 运用设计模式解决实际问题,例如代码复用、扩展性、灵活性等



  1. 沟通与协作能力的提高



  • 与团队成员保持良好的沟通,及时反馈问题和进展情况

  • 向领导有组织地汇报开发进度、问题和结果,以提高工作效率和沟通能力

  • 参加技术社区活动,交流分享经验和知识,提高团队的技术实力和协作能力


以上是这些方面的核心点,当然每个方面都有很多细节需要关注和完善,需要持续学习和实践。


附件



以下是我之前为项目解决老项目的图片框架问题而设计的文档,因名称原因只能图片展示



首先,交代了背景,存在的问题


image.png


针对问题,提出设计思想


image.png


开始设计,从物理结构到架构


image.png


image.png


作者:狼窝山下的青年
来源:juejin.cn/post/7200944831114264637
收起阅读 »

程序媛员的博客之旅

写博客困境 自从成为了一名程序媛,就一直有很多前辈,苦口婆心的告诉我:一定要写博客,好处多多!而我,作为一枚勤奋好学(haochilanzuo)的程序媛,其实心里一直埋藏着一颗写博客的小小种子。 无奈的是,每次冲动的热情都只能持续到更新两三篇技术文章,然后就没...
继续阅读 »

写博客困境


自从成为了一名程序媛,就一直有很多前辈,苦口婆心的告诉我:一定要写博客,好处多多!而我,作为一枚勤奋好学(haochilanzuo)的程序媛,其实心里一直埋藏着一颗写博客的小小种子。


无奈的是,每次冲动的热情都只能持续到更新两三篇技术文章,然后就没办法继续更新下去了。所以工作了这么多年,自己都成为老学姐了,还是没有拿得出手的个人博客,实在是惭愧。


经过深刻的自我反省之后,我觉得阻碍我更新博客的原因,主要有以下几个方面:


1. 工作太忙。


大家都知道,相比其他工种,作为程序员的工作强度还是蛮大的。每天都有做不完的需求,开不完的会议。经常要到晚上快下班了才有时间写代码,于是加班就成了家常便饭。下了班回家也感觉很累,不想再打开电脑,只能刷刷手机、看看综艺,做一些不费脑子的娱乐活动。


2. 文字功底太差。


作为一名理科生,上学的时候语文成绩就很差,作文都靠模板以及背的素材拼凑起来。高中毕业之后,几乎没有完整写过什么。而写博客,需要高强度大量输出内容,还要有组织有架构,逻辑条理清晰,这个对我来说简直太难了。所以经常写两篇之后,发现自己写的东西惨不忍睹,于是就暂停了更新博客的计划。


3. 没什么内容可写。


虽然每天都在写代码,但是很多时候做的都是重复性工作,并没有太多有技术含量、技术深度的内容,可以支撑我写出高大上的博客。


我个人更新不下去博客的主要原因就是上面几点,相信有很多想要更新博客却坚持不下去的同学,也都有同样的感受。


如何突破困境


我想说一下,我为什么觉得自己这次能克服这几个问题,以及克服这几个问题的方法。如果大家也和我有类似的问题,可以往下读一读,看有没有什么可以借鉴的地方。主要还是给我自己未来的日更之旅打打鸡血。



一、工作太忙,没时间。



每个人的一天都是24小时,为什么有些人能做更多的事情,实现更高的成就呢?我觉得这和每个人的时间管理方式是息息相关的。掌握高效的时间管理策略,是每个高效能人士的必备技能。


我以前觉得是因为程序员的工作比其他行业更忙,所以没有时间。但是看周围,把博客或者副业运营很好的那群人,工作也不闲。所以说,这个理由只是一个对自己时间管理无能的借口而已。真正的强者,从来不会找没有时间的借口,而不去做一些尝试。


当下,为了能够实现工作、写作(其实是搞副业)和生活之间的平衡,我决定先从这几个角度来优化我的时间使用效率。


1. 为任务分配合理的优先级


事情是永远做不完的,如果想做的太多,那么时间永远都不够。我准备用重要紧急四象限法来管理任务。每拿到一个任务后,先决策这个任务是属于哪个象限的,然后再安排做的时间。
image.png


我们之所以感觉每天忙忙碌碌,却没有什么进步,主要是因为在“紧急-不重要”的事情上,浪费了太多的时间。仔细想想,上班时间有多少是浪费在了,对未来成长没有任何意义的所谓“紧急”的事情上了。而真正“重要”的事情,却被我们以没有时间做,而一直推迟。


前段时间看到的一句话,对我触动很大:
Today you do things others don't do.
Tomorrow you do things others can't do.


做“重要-不紧急”的事情,不会对你的人生产生立竿见影的效果。但是长期下去,效果一定是惊人的,而且能给你带去很多别人没有的机会。


“人们总是容易高估一天的影响,而低估长期的影响”。比如学英语、写作,可能努力了一个月都没有效果,很多人就开始放弃了,转而去寻找其他的方法。但有些人坚持了下来,于是这些人坚持了一年、两年甚至几年之后,最后到达了很高的高度,才发现原来每一天的坚持都没有浪费,最后都是有效果的。


2. 减少任务切换,提高做事情的效率


提高做事情的效率,最好的办法就是进入“心流”的状态。不管是写代码、写文字还是看书学习,在“心流”的状态下,效率比平时要提高好几倍。


“心流”的状态,就是一种忘我的境界,忘记了时间、忘记了周围所处的环境,甚至忘记了身体上的痛苦,专心沉浸在当下所做的事情上。我相信这种状态,大家多多少少都有体会,比如在废寝忘食打游戏的时候。这种状态下,人所爆发出来的潜能是巨大的。


要达到“心流”的状态,最简单易行的方法,就是减少任务的切换。就像CPU线程切换,需要缓存上一个任务的执行状态,加载下一个任务的运行环境,效率很低。人脑也是,在上下文切换的时候,需要耗费很多的时间和精力。


而工作中,经常会被工作软件的消息提醒所打断,很难进入”心流“状态。比如,正在尝试解决一个疑难的问题,但是突然来了一条工作上的消息,于是不得不中断当前的工作,去看这个消息。等处理完消息后,在回到工作,可能已经忘记之前做到哪里了,又需要花时间才能重新进入状态。


可以尝试”番茄钟"的方法。在每个番茄钟开始的时候,屏蔽消息,集中精神工作25分钟,然后再花5分钟处理这25分钟到达的消息。处理完后,进入下一个番茄钟。


3. 不要给自己定太高的目标


之前我写博客,总是一篇文章写很长,想要在一篇文章中讲完和标题有关的所有知识点。但是这样会让自己很累,每次写一篇文章都要花很长的时间和精力,到后面甚至排斥写文章这件事情。


所以这次,我决定不给自己设太高的目标,每篇技术文章,争取讲完一个知识点就可以,如果内容特别多,可以采用连载的形式。最后可以新建一篇索引的文章,将各个连载的文章串起来。


PS:时间管理是一个复杂的事情,我之前也看过一些相关的书籍,后续我也想通过更系统的文章分享出来。先在这里挖个坑,如果想看就先关注我吧,后续我会慢慢把坑都填上。



二、文字功底太差



另一个困扰我的因素,就是自己的文字功底太差了。几乎没怎么写过文章的我,不知道怎么表达自己。有时候心里有很多想说的话,但是一写起来就读不通,没办法完整表达自己的意思。


为了能顺利完成日更的目标,我决定尝试下面的方法。


1. 先写起来,自然而然就会有进步


第一个就是不管怎么样,不管写得有多烂,先写起来,以量变来引起质变。我现在的写作量,可能连那些大V一个月的量都不到,凭什么觉得自己的水平就能和人家一样。如果每天输出500字,一年就是18.25万字。坚持写,我相信写一年之后,水平肯定会有进步。


没有什么是刻意练习不能达成的,如果有,那肯定是练习不够多。


2. 多看多模仿


写文章也是有方法可以借鉴的。去看好的文章是什么样的,向优秀的文章和作者学习。


比如,我之前看一个技术博主,会在每篇文章的开头放一个脑图,描述整片文章的整体架构,我觉得这个方法就很好。首先自己可以根据这篇脑图往里填充资料,速度更快也更清晰,同时,读者也可以在看文章之前对文章的内容有一个整体的感知,很快就能定位到自己需要的内容上。之后我的文章也可以借鉴这个方法。



三、没什么内容可写



关于没什么内容可写,以前做业务开发的时候,确实有这个问题,但是现在做系统开发了,几乎每天都在学习新的知识,所以完全不愁没有内容可写了。


如果有同学想开始写博客,但是又觉得没有内容可写,可以从以下几个方面去尝试:


1. 提前想一些topic,主动积累


在开始写博客之前,提前收集一些topic。我现在就有一个文档,专门用来放我想写的文章topic,现在这个文档里面已经有几十个可以写的topic了。


提前脑暴一些topic,或者列一个知识图谱,到时候如果发现没什么内容可写,直接去list里面找一个topic就好了。


2. 主动去学习一些新的东西


对于一些业务开发的同学,可以在开发之余,主动push自己去学一些新的技术。比如看一些技术书籍和博客。


博客内容


之后我的博客,主要会围绕下面这些方向:


Android性能优化


作为一名Android开发,更新的内容主要还是在Android相关的技术点上。由于我近期工作的重点主要在性能优化方面,所以前期的文章主要会更新性能优化相关的文章,包括启动时间、存储空间、稳定性、ANR等优化方案,以及一些相关的技术原理。


Android面试集锦


等把Android性能优化相关的内容写完,会再写一些面试相关的内容。作为一个拿过各大互联网offer、一毕业就当上面试官的学姐,在面试方面还是有不少经验的。


算法题解


算法题可能也会写一些,写一些我觉得好的题目的题解(主要是算法题比较好水文章,实在不行了就来篇题解)


读书笔记


我平常也会读一些技术之外的书籍,会写一些读书笔记,到时候会更新一些这方面的内容。


新的技术方向


除了Android开发以外,未来想学习一些新的技术方向,到时候也会更新到这个博客里,比如Web3相关的内容。


杂七杂八的思考


一些思考想法,对当下事件的看法,对未来的思考,个人成长、时间管理、投资理财等等相关内容,都会记录在博客里。


总结


说了这么多,也不知道会不会有人看我写的文章,毕竟现在Android开发已经不流行了。而且ChatGPT兴起之后,普通的内容生产者,会受到非常大的冲击。可能以后查东西都不需要去搜博客文章了,直接问ChatGPT就好了。之后我的博客文章,说不定也会让ChatGPT帮我写一部分。


总之不管有没有人看,不管AI是否会把我的工作取代,我还是会把日更坚持下去。如果对我更新的内容感兴趣,欢迎点点关注呀~~


作者:尹学姐
链接:https://juejin.cn/post/7203989487137980472
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

【2022年终总结】北漂两年,领证,换工作

很高兴见到你 👋 我是 Flywith24~ 这是我第三篇个人年终总结。由于最近在处理工作,搬家等事情,所以拖到现在才发布。 2022 年几乎没输出什么内容,以至于前些天收到这样的评论~ 在之前两篇年终总结中,除了常规的流水账,我都会写一些当年的思考: 2...
继续阅读 »

很高兴见到你 👋 我是 Flywith24~


这是我第三篇个人年终总结。由于最近在处理工作,搬家等事情,所以拖到现在才发布。


image.png


2022 年几乎没输出什么内容,以至于前些天收到这样的评论~


47546a0a1e9bb52b90b06c374bad155f.jpg


在之前两篇年终总结中,除了常规的流水账,我都会写一些当年的思考:


2020年 分享了学习 Android 的经历和感悟;


2021年 分享了如何高效学习/工作的思考;


这一次我想分享关于工作中快速融入团队,社交关系这两部分内容。


工作方面


性能优化


Q1 参加了一个冷启动性能优化的专项,学了很多相关的知识


image.png


晋升


5 月通过了晋升答辩,提升了画图与 PPT 能力 🤪


image.png


技术栈扩容


6 月中旬由于工作需要,学习了 RN 并开发了一个独立的模块。快手动态化基建做的不错,所以熟悉了 TypeScript 的语法就开始进行需求开发了。


8 月使用 ts 写了一个在 Github 个人主页显示最近文章列表的小工具,详情请参考 开源项目:Github 主页显示最近发布的掘金文章(支持动态更新)



这也是 2022年在掘金发的唯一一篇文章 😳



image.png


之后学习了心心念念的 Jetpack Compose,将个人项目用 Compose 进行了重写。


面试


11 月开始居家办公,这期间面了几家公司,最后入职了小红书。



关于入职时间拉扯了一番,最终于 2023.02.08 入职。(02.08 也是我 2020 年入职快手的日子)



image.png


生活方面


读书


image.png

今年读了很多技术方面的书,不过都没有读完,倒是读完几本杂书,其中我最喜欢的是这本:


image.png

这本书另一个译名是:狗屁工作(bullshit jobs),它的译者在播客里表示由于过审等因素用了现在的译名



知识星球人数破千


image.png

2022 年知识星球人数破千 🥳 该星球永久免费,详情可点此查看


全拼改双拼


一直以来,我都在追求更高效的工作方式,减少无用且重复的活动。


2022 年在朋友的建议下使用双拼打字,过程中伴随着阵痛,但结果令人满意。


关于什么是双拼,可以看下这个 up 主的视频


双拼这点东西,up居然讲了十分钟——十分钟了解双拼到底是啥


image.png

西部大善人


2018 年买了《荒野大镖客2》,但一直停留在第一章。2022 年打了 100 多个小时,体验了亚瑟的一生。


image.png


领证


2022.06.06 人生清单迎来一个里程碑的节点,领证啦~


image.png

旅行


2022 年点亮了三座城市,作为东北人好喜欢云南的天气


image.png
image.png
image.png
image.png


快速融入新团队


在北京我两次面临这个问题,希望我的经验对各位小伙伴有所帮助。


上手项目


快速上手公司项目,对于新人在团队内第一时间建立影响力是非常重要的。这里站在客户端开发的角度聊下我的经验。



  • 在 app 里体验所在团队负责内容(拿到 offer 后就可以做,这点很重要)

  • 认真阅读团队内提供的文档(如果有的话)

  • 将项目里自研库和没用过的第三方库通过写 demo 的方式学习其使用流程(了解原理更佳,后面会避免很多坑)

  • 从负责业务的入口开始分析,用 CodeLocator 这类工具抓一下主要界面的视图结构,形成文档,这对未来的新人很有帮助

  • 有些细节可以在做相关需求时再去了解,不要心急


了解同事


融入团队另一个重要的事是了解同事。作为新人会有相互介绍的环节,一次记住二十几个人是不容易的(对于有些脸盲的我则更加困难)。


所以我会制作一份座位表,罗列每个人工位,名字,Android 还是 iOS。实践了两次,对于我很有效。


之后我会利用需求管理平台查看每个人最近的需求以及代码,对同事主要负责的业务有一个初步了解。


不懂就问


在项目里如果遇到用了很大力气却没搞懂的问题可以果断向同事提问。


不过需要注意,不懂就问是建立在「正确提问」的基础上的


提问时可将自己的尝试和猜测说出来。


image.png



摘自 2021 年终总结



对于应届或实习生来说,如果遇到的 mentor 比较内向不爱说话,需要自己更加主动,认真思考并整理遇到的问题大胆提问。


社交关系



声明:本节只是分享我的思考与选择


我尊重每个人的选择与喜好。例如有的人喜欢工作与生活有明确边界的同事关系。选择没有好坏之分,自己喜欢即可。



选大学,我们选择的是专业,老师,同学。


同样,我们在工作中选择的是公司,团队,同事。


本质上,我们选择的是圈子,环境。


即使去一家上万人的公司,对自己影响最大的也只有身边的人。


因此我喜欢这样的社交关系:



  • 工作时我们是一起奋战的战友

  • 摸鱼时我们时一起讨论的群友

  • 用餐时我们是一起行动的饭友

  • 假期时我们是一起玩耍的好友

  • 分别时我们是一起相送的朋友


如果你想与我有这样的社交关系


芝麻掉进针眼儿里


image.png


小红书内容发布客户端组 Android 和 iOS 还有 hc


点击该链接查看内推详情


关于我


人总是喜欢做能够获得正反馈(成就感)的事情,如果感觉本文内容对你有帮助的话,麻烦点亮一下👍,这对我很重要哦~


我是 Flywith24人只有通过和别人的讨论,才能知道我们自己的经验是否是真实的,加我微信交流,让我们共同进步。



作者:Flywith24
链接:https://juejin.cn/post/7204450037031305275
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

从自由职业到小公司再到港企再到国企,辛酸2022

🍊作者简介: 18年毕业,至今在创业公司,国企,港企(也算是外企),中间有做过9个月的自由职业,但是失败返回职场,现在专心研究技术,目标一线大厂。 🍊支持作者: 点赞👍、关注💖、留言💌~ 今天是工作最后一天,认真撰写一下我的年终总结,以及今年我的所思所想。 ...
继续阅读 »

🍊作者简介: 18年毕业,至今在创业公司,国企,港企(也算是外企),中间有做过9个月的自由职业,但是失败返回职场,现在专心研究技术,目标一线大厂。


🍊支持作者: 点赞👍、关注💖、留言💌~



今天是工作最后一天,认真撰写一下我的年终总结,以及今年我的所思所想。


自由职业总结


在此之前我先捋一下时间线,我是我从2021年6月份决定出来自由职业,起初跟朋友一起合作做点小生意,后来因为一些意见不合,从2022年2月份就退出了,2月份到5月份也在做很多尝试,比如做剧本杀写作,自媒体卖书,接私单,但是经过考虑,做这些收入不稳定,而且回本周期比较长,有回款压力,而且之前创业的9个月里面,我也没赚到什么钱,倒是把自己的老本都吃光了,还透支了xy卡,还有一些wd,每个月都有还款压力。


所以在这里奉劝各位想做自由职业的朋友,如果不想打工,想出来自己创业,要三思啊,要起码满足以下几个条件:



1、有稳定发展的副业,而且副业的收入连续三个月以上超过主业收入

2、副业因为主业的影响而发展受限 3、自身有起码一年以上的周转资金,起码保证哪怕一年没收入也不至于饿死



而我很明显以上三点都不满足,到了后面实在没啥钱,业务也没有做起来,就动用了网贷,不过幸好及时止损,回归职场,现在细想,这是非常危险的,也是非常不理智的。


有条件千万不要dk创业,不要负z创业,到了后面心态真的绷不住,压力太大了,人很焦虑不说,事情还总办不好。



后来回来上班,第二个月领到第一笔工资,有时候摸鱼一天都有钱进账,多爽啊哈哈。


当然此次创业也给了一个教训就是尽量不要合伙创业,做成了还好,做不成就连朋友都真做不了,一地鸡毛,有机会好好讲一下这一年我自由职业的个人心得。


自由职业告一段落,现在进入职场时间。


回归职场


2022年6月到2022年12月这段时间也是比较动荡的。


不过也在意料之内,突然从自由职业回归到职场,还是会有阵痛期。


2022年6月-2022年9月,在一家小创业公司做前端负责人,薪资16k(我直接喊得,老板很爽快地答应了,怀疑是叫少了)。



这家公司技术栈是Vue2.x,业务有PC端应用,小程序应用,还有flutter开发桌面端。



但是因为技术生疏和对于业务方面不够娴熟,达不到老板的要求,9月8日被辞退了。


但是我没有气馁,心想要不再尝试一下自由职业吧,于是又花了14天时间去写剧本杀,想着靠剧本杀来翻盘,但是我的稿子被编剧无情打回来修改后,看着日进逼近的还款日期,还有自己手上不多的余粮,妈呀,立马又屁颠屁颠去准备面试,宝宝心里苦啊。



于是又火急火燎地边准备面试题边去面试,好在上天眷顾,10月22日入职了一家港企,也算是外企吧,薪资是16k,但是加班费奇高,就是我之前说的100元/小时。


因为公司是千人以上的大公司,所以业务线非常庞杂,技术栈也非常繁杂:



Vue3.0开发表单引擎 

React Native开发业务汇报APP 

Vue2.x+Electron开发桌面端应用 

Angular 

......



真可谓是前端大杂烩,不过眼下要还钱,虽然没有争取到涨薪,但起码有加班费,还好还好,再看一眼我的存款还有还款日期,没办法,就你了。


于是开始了疯狂卷模式,我在这家公司也是出了名的卷,以至于我现在离职快一个月了,公司还留存着我的光辉事迹......


为什么我又双叒离职了呢?



原因是我进去没多久,就由自愿加班转变成强制加班了,强制加班到9点半。


不过为了还钱,这点也可以接受吧。


不过最可怕的是,他们会给超出你工作能力的工作量,而且狂砍开发周期,比如我用react native从零开发一个系统,我原本估计要20天时间(保守一点),但是上层直接砍半,直接给10天!!


我艹,从入门到项目上线只给10天,没得办法,谁让我还在试用期,也不敢造次。


于是就开始跟另一个小伙伴开始摸天黑地的开发工作,连续10天都是凌晨1点才到家,第二天8点还得起床去上班。


然而10天根本不可能完整完成一个系统,我们连react native的基本知识都没搞懂,但是另外一个小伙伴说,尽力而为,实在不行就跑路。


听他这么说,我表面不说什么,内心那叫一个苦啊。


原来一个人有了负债就不再是你自己了,失去了那么多选择权,幸好这点负债对我来说压力不算太大,真想不懂那些有房贷车贷的人是怎么想的,那压力真的翻倍啊。


以后买房真的要慎之又慎!!



10天之后,我们两个人拼尽全力了,都还是没有办法按时上线,于是领导又给多了一周时间开发,并且放出狠话:



这一次要是再延期上线,就有人要被释放了!!



哎,没办法,再难受也要顶硬上。但是我转念一想,要是实在没办法完成,要拿我开刀,那怎么办??


不行,我不能做砧板上的鱼肉,我要选好退路,那就是继续去面试找下家,即使没办法上线他们要开掉我,我有offer在身,我也不需要担心那么多。


于是我从12月10日开始,屏蔽掉了现公司,开始了BOSS上海投之旅。


我当时是这么打算的,下一家公司要满足以下条件:



1、薪资必须要能够覆盖掉我的日常开支+还贷,还能存下一点钱抵抗后续风险 

2、至少稳定工作一年以上 

3、正常上下班,或者加班不多,多出来时间提升技术(技术真的跟不上了)



综上只有两种公司满足我的条件:



1、国企 

2、外企



有点讽刺,在大陆,最遵守劳动法的公司反而是外企。


但是面试我是不管那么多的,外面行情也不是那么好,但是幸运的是我比较注重简历包装,以及对于简历上可能问道的项目技术难点或者重点,甚至可能延伸出去的技术点,我都有做好非常严谨的准备,谁让我一路以来都在准备面试(其实是工作不稳定),所以还是很幸运在一周之内拿了不少offer,除了大厂(估计大厂嫌弃我简历太花了,没让我过,也可能是太菜了)


大厂,等我这波缓过来,一年以后或者两年以后我还是会冲的。


后来一周开发结束之后,急急忙忙上线,因为时间紧急,所以我们内部测试流程基本跑通就匆匆上线了,上线的当天测试测出60多个bug!!



企业微信被测试疯狂轰炸,我的另一个伙伴前几天跑路了,就只剩我一个人,有点难顶,于是领导又给我安排了另一个前端来帮忙,正好,等我把tapd上面的bug全部修复,二次测试通过之后,就甩锅给新来的前端,留下一纸技术交接文档还有离职申请,拍拍屁股去下家公司入职了,也算是对得起前公司了吧。



说实话,不是我扛不住压力,而是我真的不喜欢领导总是以释放,开除等等来给我们施压,我不是牛马,我也是人,是人就应该得到尊重!


万一我下次项目真的没办法上线,就把我开了,那我的处境就会非常被动了。


介绍一下我的新公司,大型的国企,流程正规,即使项目需求再赶也不至于把人给逼进绝路,正常上下班,大家都是到点走,有一次我稍微坐久一点,技术经理还过来提醒我没事可以早点走,劳逸结合,真正的人性化哈哈。


薪资也提高了一点,加班也是1:1,而且加班机会非常少,那多出来的时间,我可以有条不紊地提升技术。


一切都朝着好的方向发展,而且会越来越好。


说了那么多2022年,下面是我对于2023年的新年期望。


2023年新年期望


第一,当然是早日还清债务,现在的钱还不是我的,等还清贷款后,才是属于我的,起码现在我是这么认为的;


第二,从零开始重新钻研技术,这段时间也在根据自己的定位重新制定职业规划,后续会公布到这里;


经历过这次自由职业,我深刻地意识到,要想做成事,能力,经验,人脉,资本,缺一不可,而这些资源,都集中在大厂,只有去大厂,才可以完成自己的各项积累,即使进去之后,也不可以躺平,得过且过,要自己牢牢把握主动权。


所以2023年所做的一切都是为了进大厂做储备;


第三,当然是希望收获一段有结果的感情啦,虽然不知道是不是你,但是我还是会用心去经营,不辜负任何一个人,毕竟你有一点很吸引我,就是你身上闪烁着女性独立之光;


第四,就是把自己的技术沉淀到公众号,视频号,小红书,做自媒体输出,要是能够做成像月哥,神光,卡颂这种小网红就更好了哈哈,当然做这些注定前期是不赚钱的,降低期望值,逐步提升个人影响力,赚以后的钱吧。


而且我这个人天生脸皮厚,有旺盛的表达欲,又充满了乐观主义色彩,尽管去做吧,做技术输出,这绝对是稳赚不赔的买卖。


祝大家新年快快乐,万事如意,早日实现自己的人生目标!


作者:林家少爷
链接:https://juejin.cn/post/7190757076409253948
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

互联网大裁员原因分析

.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:16px;overflow-x:hidden;color:#252933}.markdown-bod...
继续阅读 »

继谷歌、微软之后,Zoom、eBay、波音、戴尔加入最新一波“裁员潮”中。


2 月 7 日,美国在线会议平台 Zoom 宣布将裁减 1300 名员工,成为最新一家进行裁员的公司,大约 15% 的员工受到影响。


同日,总部位于亚特兰大的网络安全公司 Secureworks 在一份提交给美国证券交易委员会( SEC )的文件中宣布,将裁员 9%,因为该公司希望在“一些世界经济体处于不确定时期”减少开支。据数据供应商 PitchBook估计,该公司近 2500 名员工中约有 225 人将在此轮裁员中受到影响。


此外,电商公司eBay于2月7日在一份SEC文件中宣布,计划裁员500人,约占其员工总数的4%。据悉,受影响的员工将在未来24小时内得到通知。


2月6日,飞机制造商波音公司证实,今年计划在财务和人力资源部门裁减约 2000 个职位,不过该公司表示,将增加 1 万名员工,“重点是工程和制造”。


个人电脑制造商戴尔的母公司,总部位于美国德克萨斯州的戴尔科技,2 月 6 日在一份监管文件中表示,公司计划裁减约 5% 的员工。戴尔有大约 13.3 万名员工,在这个水平上,约 6650 名员工将在新一轮裁员中受到影响。


除了 Zoom、eBay、波音、戴尔 等公司,它们的科技同行早已经采取了同样的行动。


从去年 11 月开始,许多硅谷公司员工就开始增加了关注邮箱的频率,害怕着某封解除自己公司内网访问权限的邮件来临,在仅仅在 2022 年 11 月,裁员数字就达到了近 6 万人,而如果从 2022 开始计算,各家已经陆续裁员了近十五万人。



但本次裁员并非是因为营收的直接下降:事实上,硅谷各家 2022 年营收虽然略有下跌,但总体上仍然保持了平稳,甚至部分业务略有上涨,看起来并没有到「危急存亡之秋」,需要动刀进行大规模裁员,才能在寒冬中存活的程度。


相较于备受瞩目的裁员,一组来自美国政府的就业数据就显得比较有意思了。据美国劳工统计局 2 月 3 日公布的数据,美国失业率 1 月份降至 3.4%,为 1969 年 5 月以来最低。



美国 1 月份非农就业人数新增 51.7 万人,几乎是经济学家预期的三倍,即使最近主要在科技行业裁员,但建筑、酒店和医疗保健等行业带来了就业增长。


一方面是某些企业的大规模裁员,仅 1 月份就影响超过 10 万人;而另一方面,政府报告显示就业市场强劲。这样来看,美国的就业市场情况似乎有些矛盾。


2022 年 12 月初,多名B站员工在社交媒体上表示,B站开始了新一轮裁员,B端、漫画、直播、主站、Goods等部门均有涉及,整体裁员比例在30%左右。12月19日,小米大规模裁员的消息又有曝出,裁员涉及手机部、互联网部、中国部等多部门,个别部门裁员比例高达75%。12月20日,知乎又传裁员10%。


似乎全球的科技公司都在裁员,而我们想要讨论裁员的问题,肯定绕不开两个大方向:经济下行和人员问题。


下行环境


联合国一月发布的《2023年世界经济形势与展望》中指出,2022 年,一系列相互影响的严重冲击,包括新冠疫情、乌克兰战争及其引发的粮食和能源危机、通胀飙升、债务收紧以及气候紧急状况等,导致世界经济遭受重创。美国、欧盟等发达经济体增长势头明显减弱,全球其他经济体由此受到多重不利影响。与新冠疫情相关的反复封锁以及房地产市场的长期压力,延缓了中国的经济复苏进程。


在此背景下,2023 年世界经济增速预计将从 2022 年估计的 3.0% 下降至 1.9%。2024 年,由于部分不利因素将开始减弱,预计全球经济增速将适度回升至 2.7%。不过,这在很大程度上将取决于货币持续紧缩的速度和顺序、乌克兰战争的进程和后果以及供应链进一步中断的可能性。


在通货膨胀高企、激进的货币紧缩政策以及不确定性加剧的背景下,当前全球经济低迷,导致全球经济从新冠疫情的危机中复苏的步伐减缓,对部分发达国家和发展中国家均构成威胁,使其 2023 年可能面临衰退的前景。


2022 年,美国、欧盟等发达经济体增长势头明显减弱。报告预计,2023 年美国和欧盟的经济增速分别为 0.4% 和 0.2%,日本为 1.5%,英国和俄罗斯的经济则将分别出现 0.8% 和 2.9% 的负增长。


与此同时,全球金融状况趋紧,加之美元走强,加剧了发展中国家的财政和债务脆弱性。自 2021 年末以来,为抑制通胀压力、避免经济衰退,全球超过85%的央行纷纷收紧货币政策并上调利率。


报告指出,2022 年,全球通胀率约为 9%,创数十年来的新高。2023 年,全球通胀率预计将有所缓解,但仍将维持在 6.5% 的高水平。


据美国商务部经济分析局(BEA)统计,第二、三季度,美国私人投资分别衰退 14.1% 和 8.5%。加息不仅对美国企业活动产生抑制作用,而且成为美国经济复苏的最主要阻力。尤其是,非住宅类建筑物固定投资已连续六个季度衰退。预计 2023 年美国联邦基金利率将攀升至 4.6%,远远超过 2.5% 的中性利率水平,经济衰退风险陡增,驱动对利率敏感的金融、房地产和科技等行业采取裁员等必要紧缩措施。


发展上限


美国企业的业务增长和经营利润出现问题。据美国多家媒体报道,第三季度,谷歌利润率急剧下滑,Meta 等社交媒体的广告收入迅速降温,微软等其他科技企业业务增长也大幅放缓。自7月以来,美国服务业PMI已连续5个月陷入收缩区间,制造业 PMI 也于 11 月进入收缩区间。在美国经济前景和行业增长空间出现问题的背景下,部分行业采取裁员、紧缩开支等“准备过冬”计划也就在意料之中了。


2022年,在市值方面,作为中概股的代表阿里、腾讯、快手等很多企业的市值都跌了 50%,甚至70%、80%。在收入方面,BAT 已经停止增长几个季度了,阿里和腾讯为代表的企业已经开始负增长。在经济下行的背景下,向内开刀、降本增效成为企业生存的必然之举。除了裁员,收缩员工福利、业务调整,也是企业降本增效的举动之一。


如果说 2021 年的裁员,很多是由于业务受到冲击,比如字节跳动的教育业务,以及滴滴、美团等公司的社区团购项目。但到了 2022 年,更多企业裁员的背后是降本增效、去肥增肌。


全球宏观经济表现不佳,由产业资本泡沫引发的危机感传导到科技企业的经营层,科技企业不得不面对现实。科技行业处在重要的结构转型期。iPhone 的横空出世开创了一个移动互联网的新时代,而当下的科技巨头也都是移动互联网的大赢家。但十多年过去了,随着智能手机全球高普及率的完成,移动互联网的时代红利逐渐消失,也再没有划时代的创新和新的热点。


这两年整个移动互联网时代的赢家都在焦急地寻找新的创新增长点。比如谷歌和 Meta 多年来一直尝试投资新业务,如谷歌云、Web3.0等,但实际收入仍然依赖于广告业务,未能找到真正的新增长点。这使得其中一些公司容易受到持有突破性技术的初创公司影响。


科技企业倾力“烧钱”打造新赛道,但研发投入和预期产出始终不成正比,不得不进行战略性裁员。


我们这里以这两年爆火的元宇宙举例:


各大券商亦争相拥抱元宇宙,不仅元宇宙研究团队在迅速组建,元宇宙首席分析师也纷纷诞生。 2021 年下半年,短短半年内便有数百份关于元宇宙的专题研报披露。


可以说,在扎克伯格和Meta的带领下,全世界的大厂小厂都在跟着往元宇宙砸钱。


根据麦肯锡的计算,自2021年以来,全世界已经向虚拟世界投资了令人瞠目结舌的数字——1770亿美元。


但即使作为元宇宙领军的 Meta 现实实验室(Reality Labs)2022 年三季度收入 2.85 亿美元,运营亏损 36.7 亿美元,今年以来已累计亏损 94 亿美元,去年亏损超过 100亿 美元。显然,Meta 的元宇宙战略还未成为 Meta的机遇和新增长点。


虽然各 KOL 高举“元宇宙是未来”的大旗,依旧无法改写“元宇宙未至”的局面。刨除亟待解决的关键性技术问题,如何兼顾技术、成本与可行性,实现身临其境的体验,更是为之尚远。元宇宙还在遥远的未来。


早在 2021 年12 月底,人民日报等官方媒体曾多次下场,呼吁理性看待“元宇宙”。中央纪委网站发布的《元宇宙如何改写人类社会生活》提及“元宇宙”中可能会涉及资本操纵、舆论吹捧、经济风险等多项风险。就连春晚的小品中,“元宇宙”也成为“瞎忽悠”的代名词。


2022 年 2月18日,中国银保监会发布了《关于防范以“元宇宙”名义进行非法集资的风险提示》,并指出了四种常见的犯罪手法,包括编造虚假元宇宙投资项目、打着元宇宙区块链游戏旗号诈骗、恶意炒作元宇宙房地产圈钱、变相从事元宇宙虚拟币非法谋利。


2022 年 2月7日,英国《金融时报》报道称,随着《网络安全法案》逐步落实,元宇宙将会受到严格的英国监管,部分公司可能面临数十亿英镑的潜在罚款。


2022 年 2月6日,据今日俄罗斯电视台(RT)报道,俄罗斯监管机构正在研究对虚拟现实技术实施新限制的可能性,他们担心应用该技术可能会协助非法活动。


各个国家的法律监管的到来,使得元宇宙的泡沫迅速炸裂。无数的元宇宙公司迅速破产,例如白鹭科技从 H5 游戏引擎转型到元宇宙在泡沫破裂的情况下个人举债 4000 万,公司破产清算。


本质上来说如今互联网行业已经到了一个明显的发展瓶颈,大家吃的都是移动网络和智能手机的普及带来的红利。在新的设备和交互方式诞生前,大家都没了新故事可讲,过去的圈地跑马模式在这样的大环境下行不通了。


法律监管


过去十年时间,互联网世界的马太效应越来越明显。一方面,几大巨头们在各自领域打造了占据了主导份额的互联网平台,不断推出包罗万象的全生态产品与服务,牢牢吸引着绝大多数用户与数据。他们的财务业绩与股价市值急剧增长,苹果、谷歌、亚马逊的市值先后突破万亿甚至是两万亿美元。


而另一方面,诸多规模较小的互联网公司却面临着双重竞争劣势。他们不仅财力与体量都无法与网络巨头抗衡,还要在巨头们打造的平台上,按照巨头制定偏向自己的游戏规则,与包括巨头产品在内的诸多对手激烈竞争用户。


2020 年 10 月,在长达 16 个月的调查之后,美国众议院司法委员会发布了一份长达 449 页的科技反垄断调查报告,直指谷歌、苹果、Facebook、亚马逊四大科技巨头滥用市场支配地位、打压竞争者、阻碍创新,并损害消费者利益。


2020 年 10 月 20 日,美国司法部连同美国 11 个州的检察长向 Google 发起反垄断诉讼,指控其在搜索和搜索广告市场通过反竞争和排他性行为来非法维持垄断地位。


2021 年明尼苏达州民主党参议员艾米·克洛布查尔(Amy Klobuchar)和爱荷华州共和党参议员查克·格拉斯利(Chuck Grassley)共同提出的《美国创新与选择在线法案》和 《开放应用市场法案》旨在打击谷歌母公司 Alphabet、亚马逊、Facebook 母公司 Meta 和苹果公司等科技巨头的一些垄断行为,这将是互联网向公众开放近30年来的首次重要法案。


《美国创新与选择在线法案》的内容包括禁止占主导地位的平台滥用把关权,给予营产品服务特权,使竞争对手处于不利地位;禁止施行对小企业和消费者不利,有碍于竞争的行为,例如要求企业购买平台的商品或服务以获得在平台上的优先位置、滥用数据进行竞争、以及操纵搜索结果偏向自身等。


不公平地限制大平台内其他商业用户的产品、服务或业务与涵盖平台经营者自己经营的产品、服务或业务相竞争能力,从而严重损害涵盖平台中的竞争。


除了出于大平台安全或功能的需要,严重限制或阻碍平台用户卸载预装的软件应用程序,将大平台用户使用大平台经营者提供的产品或服务设置为默认或引导为默认设置。


《开放应用市场法案》针对“守门人”执行,预计将会在应用商店、定向广告、互联操作性,以及垄断并购等方面,对相应企业做出一系列规范要求。此外欧盟方面还曾透露,如“守门人”企业不遵守上述规则,将按其上一财政年度的全球总营业额对其处以“不低于 4%、但不超过20%”的罚款。法案允许应用程序侧载(在应用商店之外下载应用程序),旨在打破应用商店对应用程序的垄断能力,将对苹果、谷歌的应用商店商业模式产生重要影响。


大型科技公司们史无前例搁置竞争,并且很有默契地联合起来。他们和他们的贸易团体在两年内耗费大约 1 亿美元进行游说,超过了制药和国防等高支出行业。他们向政界人士捐赠了 500 多万美元,科技游说人士向负责捍卫民主党多数席位的政治行动委员会(PAC)捐赠了 100 多万美元。他们还向不需要披露资金来源的黑钱组织、非营利组织和行业协会投入了数百万美元。几位国会助手表示,他们收到的有关这些法案的宣传比他们多年来处理的任何其他法案都要多。


这两项法案已通过国会相关委员会的审查,依然在等待众议院和参议院的表决。而美国即将开始中期选举。Deese 称,共和党已经明确表示,如果共和党重新控制国会两院,他们将不会支持这些法案。但如果民主党当选的话,科技巨头们估计不好过了。


很遗憾的是,2023年,新一届美国国会开幕后,众议院议长的选举经多轮投票仍然“难产”,导致新一届国会众议院无法履职。开年的这一乱象凸显美国政治制度失灵与破产,警示美国党争极化的趋势恐正愈演愈烈;


欧盟也多次盯上四大公司,仅谷歌一家,欧盟近三年来对其开出的反垄断处罚的金额已累计超过 90 亿美元。


而中国的举措也不小。


2020 年年初,实施了近 12 年的《反垄断法》(2008 年 8 月 1 日生效)首次进入“大修”——国家市场监督管理总局在其官网公布了《反垄断法修订草案(公开征求意见稿)》(以下简称“征求意见稿”)。


《法制日报》报道指出,征求意见稿中共有 8 章 64 条,较现行法要多出 7 条。可见,这次修法,已与另立新法有同等规模。


值得注意的是,征求意见稿还首次将互联网业态纳入其中,新增互联网领域的反垄断条款,针对性地列明相关标准和适用规程。


以市场支配地位认定为例,征求意见稿根据互联网企业的特点,新增了包括网络效应、规模经济、锁定效应、掌握和处理相关数据的能力等因素。


11 月 10 日,赶在双 11 前一天,国家市场监管管理总局再次出手,发布了《关于平台经济领域的反垄断指南(征求意见稿)》(以下简称《指南》)公开征求意见的公告。


《指南》不仅对“互联网平台”做了进一步界定,还结合个案更为具体详尽地对垄断协议,滥用市场支配地位行为,经营者集中,滥用行政权力排除、限制竞争四个方面作出分析和规定。


国家在平台经济领域、反垄断领域的法律规范,在《反垄断指南》出台以后,已经有了相当程度的完善。后续随着《反垄断法》修正案的通过,二者结合基本构建了我国反垄断领域的法律框架。


随着《反垄断法》的完善,在互联网领域的处罚案例逐渐浮出水面,针对阿里巴巴、美团等互联网公司都开出了大额罚单。


2021年我国在网络安全方面也加速发展。2021年6月10日颁布《中华人民共和国数据安全法》,2021年8月20日颁布《中华人民共和国个人信息保护法》。有关部门相继出台了《网络安全审查办法》《常见类型移动互联网应用程序必要个人信息范围规定》《数据出境安全评估办法(征求意见稿)》等部门规章和政策性文件。


可以预见的是,未来监管部门的监管措施更能兼顾互联网行业发展特征和社会整体福利,监管部门会不断完善规章、政策文件和标准文件,提供给企业明确和细化的指引。同时,相关部门的监管反应速度会越来越及时,监管层面对违法查处的力度也会越来越严。


人口红利


我们依然处在人口规模巨大的惯性中,人口规模巨大意味着潜在市场规模巨大,伴随经济持续发展、收入水平提高、消费能力强劲,由此带来的超大市场规模不可估量。而现在人口红利没了。


中国国家统计局 1 月 17 日公布,2022年末全国人口(包括 31 个省、自治区、直辖市和现役军人的人口,不包括居住在 31 个省、自治区、直辖市的港澳台居民和外籍人员) 141175 万人,比上年末减少 85 万人。这是近61年来中国首次人口负增长。人口负增长的早期阶段是一种温和的人口减少,所以依然会沿袭人口规模巨大的惯性;但在人口负增长的远期阶段,如果生育率仍未有所回升的话,就有可能导致一种直线性的减少。


目前所有行业都不得不面临从人口红利转向素质红利的转变。


人员过剩


微软在过去两年员工数新增 6 万,Google 则是新增了 7 万,Meta 则是直接从疫情之前的 4 万翻倍至 2022 年的 8.7 万。而依赖物流服务的亚马逊则最为激进,两年时间全球全职员工数增长了令人咂舌的 8.1 万,全职员工数近乎翻倍。



高盛的经济学家在一份报告中指出“那些正在裁员的科技公司有一些共同点,希望重新平衡业务的结构性转变,并为更好的利润开路。我们发现,许多最近宣布大规模裁员的公司都有三个共同特征。首先,许多都是在科技领域。其次,许多公司在疫情期间大肆招聘。第三,它们的股价出现了更大幅度的下跌,从峰值平均下跌了 43%。”


平均而言,那些进行裁员的公司在疫情期间的员工数量增长了 41%,此举往往是因为他们过度推断了与疫情相关的趋势,比如商品需求或在线时间的增长。


行裁员的公司并不能代表更广泛的情况,最近许多裁员公告并不一定意味着需求状况会减弱。与此一致的是,高盛预计更具代表性的实时估计的裁员率最近虽有所增加,但仅恢复到疫情前的水平,以历史标准衡量,裁员率水平较低。


结论


全球经济下行是大势,层层增加的法律监管是推动,没有人口红利和新玩法股价要大跌。


全球通胀激增,激进的货币紧缩政策以及不确定性加剧、俄乌战争等影响,全球经济低迷。新冠疫情带来的影响难以快速恢复。而中国还得面临人口红利消失、房地产饮鸩止渴的深远影响。而法律的层层监管和反垄断的推进在逐步打压科技巨头的已有市场,没有新技术的突破和新玩法让科技巨头们也没了新增和突破的空间。对于未来的经济发展的错误预估和疫情特殊时期的大量增长让科技巨头们大肆招聘,这些都成为了股价下跌和缩减利润的元凶。目前的大裁员可以算是一种虚假繁荣的泡沫爆裂后的回调,虽然不知道这个回调什么时候结束,但是随着人工智能的出圈和将来新技术的突破,也许整个行业可以浴火重生。


作者:Andy_Qin
来源:juejin.cn/post/7201047960825774139
收起阅读 »

你在公司混的差,可能和组织架构有关!

@charset "UTF-8";.markdown-body{line-height:1.75;font-family:-apple-system-font,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Hira...
继续阅读 »

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,非公众号转载保留此声明。



如果你接触过公司的面试工作,一定见过很多来自大公司的渣渣。这些人的薪资和职位,比你高出很多,但能力却非常一般。


如果能力属实,我们大可直接把这些大公司的员工打包接收,也免了乱七八糟的面试工作。但可惜的是,水货的概率通常都比较大,新的公司也并不相信他们的能力。尤其是这两年互联网炸了锅,猪飞的日子不再,这种情况就更加多了起来。


反过来说也一样成立,就像是xjjdog在青岛混了这么多年,一旦再杀回北上广,也一样是落的下乘的评价。


除了自身的努力之外,你在上家公司混的差,还与你在组织架构中所处于的位置和组织架构本身有关。


一般公司会有两种组织架构方式:垂直化划分层级化划分


1. 垂直划分


垂直划分,多以业务线为模型进行划分。各条业务线共用公司行政资源,相互之间关联不大。


各业务线之间,内部拥有自治权。


image.png


如上图所示,公司共有四个业务线。




  • 业务线A,有前端和后端开发。因为成员能力比较强,所以没有测试运维等职位;




  • 业务线B倡导全栈技能,开发后台前端一体化;




  • 业务线C的管理能力比较强,仅靠少量自有研发,加上大量的外包,能够完成一次性工作。




  • 业务线D是传统的互联网方式,专人专岗,缺什么招什么,不提倡内部转岗




运行模式




  1. 业务线A缺人,缺项目,与业务线BCD无任何关系,不允许借调




  2. 业务线发展良好,会扩大规模;其他业务线同学想要加入需要经过复杂的流程,相当于重新找工作




  3. 业务线发展萎靡,会缩减人员,甚至会整体砍掉。优秀者会被打散吸收进其他业务线




好处




  1. 业务线之间存在竞争关系,团队成员有明确的奋斗目标和危机意识




  2. 一条业务线管理和产品上的失败,不会影响公司整体运营




  3. 可以比较容易的形成单向汇报的结构,避免成本巨大且有偏差的多重管理




  4. 便于复制成功的业务线,或者找准公司的发展重点




坏处




  1. 对业务线主要分管领导的要求非常高




  2. 多项技术和产品重复建设,容易造成人员膨胀,成本浪费




  3. 部门之间隔阂加大,共建、合作困难,与产品化相逆




  4. 业务线容易过度自治,脱离掌控




  5. 太激进,大量过渡事宜需要处理




修订


为了解决上面存在的问题,通常会有一个协调和监管部门,每个业务线,还需要有响应的协调人进行对接。以以往的观察来看,效果并不会太好。因为这样的协调,多陷于人情沟通,不好设计流程规范约束这些参与人的行为。


image.png


在公司未摸清发展方向之前,并不推荐此方式的改革。它的本意是通过竞争增加部门的进取心,通过充分授权和自治发挥骨干领导者的作用。但在未有成功案例之前,它的结果变成了:寄希望于拆分成多个小业务线,来解决原大业务线存在的问题。所以依然是处于不太确定的尝试行为。


2. 水平划分


水平划分方式,适合公司有确定的产品,并能够形成持续迭代的团队。


它的主要思想,是要打破“不会做饭的项目经理不是好程序员”的思维,形成专人专业专岗的制度。


这种方式经历了非常多的互联网公司实践,可以说是最节约研发成本,能动性最高的组织方式。主要是因为:




  • 研发各司其职,做好自己的本职工作可以避免任务切换、沟通成本,达到整体最优




  • 个人单向汇报,组织层级化,小组扁平化。“替领导负责,就是替公司负责”




  • 任何职位有明确的JD,可替换性高,包括小组领导




这种方式最大的问题就是,对团队成员的要求都很高。主动性与专业技能都有要求,需要经过严格的面试筛选。


坏处




  • 是否适合项目类公司,存疑




  • 存在较多技术保障部门,公共需求 下沉容易造成任务积压




  • 需要对其他部门进行整合,才能发挥更大的价值




分析


image.png


如上图,大体会分为三层。




  • 技术保障,保障公司的底层技术支撑,问题处理和疑难问题解决。小组多但人少,职责分明




  • 基础业务,公司的旗舰业务团队,需求变更小但任何改动都非常困难。团队人数适中




  • 项目演化,纯项目,可以是一锤子买卖,也可以是服务升级,属于朝令夕改类需求的聚居地。人数最多




可以看到项目演化层,多是脏活,有些甚至是尝试性的项目-----这是合理的。




  1. 技术保障和基础业务的技术能力要求高,业务稳定,适合长期在公司发展,发展属性偏技术的人群,流动性小,招聘困难




  2. 项目演化层,业务多变,项目奖金或者其他回报波动大,人员流动性高,招聘容易




成功的孵化项目,会蜕变成产品,或者基础业务,并入基础业务分组。


从这种划分可以看出,一个人在公司的命运和发展,在招聘入职的时候就已经确定了。应聘人员可以根据公司的需求进行判断,提前预知自己的倾向。


互联网公司大多数将项目演化层的人员当作炮灰,因为他们招聘容易,团队组件迅速,但也有很多可能获得高额回报,这也是很多人看中的。


3.组合


组合一下垂直划分和层级划分,可以是下面这种效果。


image.png


采用层级+垂直方式进行架构。即:首选层级模式,然后在项目演化层采用垂直模式,也叫做业务线,拥有有限的自治权。


为每一个业务线配备一个与下层产品化或者技术保障对接的人员。


绩效方面,上层的需求为下层的实现打分。基础业务和技术保障,为绿色的协调人员打分。他们的利益是一致的。


End


大公司出来的并不一定是精英,小公司出来的也并不一定是渣渣。这取决于他在公司的位置和所从事的内容。核心部门会得到更多的利益,而边缘的尝试性部门只能吃一些残羹剩饭。退去公司的光环,加上平庸的项目经历,竞争力自然就打上一个折扣。


以上,仅限IT行业哦。赵家人不在此列。

作者:小姐姐味道
来源:https://juejin.cn/post/7203651773622452261

收起阅读 »

不过是享受了互联网的十年红利期而已。

.markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:16px;overflow-x:hidden;color:#252933}.markdown-bod...
继续阅读 »

你好呀,我是歪歪。


去年的最后一天,我在 B 站发布了这个视频:



我真没想到这个长达一个小时的视频的播放量能到这么多,而且居然是一个投币比点赞和收藏还多的视频。


评论区加上弹幕,有上千条观众的留言。每一条留言都代表一个观众的感受,里面极大部分的感受总结起来大多是表示对于我个人这十年经历感叹和羡慕,但是我是觉得十年的时间这么长,谁还不能提炼出几两故事和几段感悟呢?


觉得感叹的,只不过是在我的视频里面看到了几分自己的影子。觉得羡慕的,只不过是以另外一种我羡慕的方式生活着。


还是有人说是逆袭,我并不觉得这是逆袭。逆袭一般是说绝地反击的故事,但是我觉得这十年,我还没有真正的走到过“绝地”,更多的只是随着时代随波逐流,我个人的努力,在时代的浪潮前,微不足道,只不过在一系列的机缘巧合之下,我使劲的方向恰好和浪潮的方向一致而已。


我当时没有想到一个好的词语来形容这个“和浪潮的方向一致”,所以过年期间我也一直在仔细的思考这个问题。


直到过年期间,我坐在火炉前听家里的长辈聊天,一个长辈问另外一个晚辈:你什么时候把女朋友带回来给我们看看呢?


晚辈戏谑的回答说:我现在自己都过的不好呢,怕是没有女孩子愿意跟我哦。


长辈说:我以前嫁过来的时候,你爷爷以前还不是啥都没有,就一间土巴屋,一个烂瓦房。结婚嘛,两个人一起努力不就把日子过好了。


我当时好想说一句:那个时代过去了,现在不一样了。


然而终究还是没说出口,但是就在把这句话咽下去的瞬间,我想明白了前面关于“浪潮”的问题,其实就一句话:


我只不过是有幸享受到了时代的红利罢了。有时候的看起来让人羡慕的人、成功的人,只不过是享受到了时代的红利罢了,与个人的努力程度关系真的不大。


我说的时代的红利,就是互联网技术、计算机专业野蛮发展的这十年光景。


在视频里面,我说了一句话:我是被调剂到计算机专业的。


然后有一些弹幕表示非常的震惊:



是的,在 2012 年,计算机专业并不是一个被看好的热门专业,甚至有点被“淘汰”的感觉。


我记得那一年录取之后,给一个亲戚说是就读计算机专业,他说:怎么学了个这专业啊,以后每个家庭里面都会有一台计算机,到时候人人都会使用计算机,还学它干啥?


这句话虽然现在看起来很搞笑,但是在那个时候,我还没有接触到它的时候,我觉得很有道理。


虽然我是调剂到“计算机”的,但是前提也得是我填报志愿的时候填写了“计算机专业”,对吧。


所以问题就来了:我当年是怎么高瞻远瞩,怎么深思熟虑,怎么推演计算,怎么预测未来,想着要填报一个计算机专业呢?


为了回答这个问题,我今年回到老家,专门把这个东西翻了出来:



这是我高考结束那年,学校发的 4 本和填报志愿相关的书,书里面主要的内容就是过去三年各个批次,各个学校,各个专业的报考人数、录取人数、录取最低分数、录取平均分数、录取最高分数的信息统计:



我当年填报志愿,就是通过翻阅这四本书来找到自己可以填报的大学。但是我的高考志愿特别好填,因为我高考成绩只超过二本线 13 分,所以我直接看二本院校里面每年卡着分数线招收学生的学校就可以了。在这个条件下,没有多少学校可以选择。


最后录取我的大学,是 2012 年那一年刚刚由专科学校升级为二本院校的一所大学。所以那一年是它第一次招本科生,没有过往的数据可以参考,报它的原因是因为我感觉它刚刚从专科升级为本科,录取分数应该不会太高。


填报志愿的时候一个学校可以填写六个专业,刚好它也只有六个本科专业,所以我就按照报纸上的顺序,挨个填写,而且还勾选了“服从调剂”。


而这六个专业,我也通过前面的书翻到了:



当时对于这六个专业,我完全没有任何了解。根本不知道要学习什么内容,更加不知道毕业之后会从事什么工作。


后来入校之后我才知道,报材料成型及控制工程和机械电子工程专业的人最多,计算机科学与技术由于报的人没有报满,所以我被调剂过去了。


可以肯定的说,如果当年这个学校没有计算机的本科专业,我就不会走上计算机的道路。


其实我填报志愿的状态,和当年绝大部分高考学生的状态一样,非常的茫然。在高中,学校也只教了高考考场上要考的东西,为了这点东西,我们准备了整整三年。但是现在回头去看,如何填报志愿,其实也是一件非常值得学习了解的事情,而不是高考结束之后,学校发几本资料就完事的。


我当时填报志愿时最核心的想法是,只要有大学录取就行了,至于专业什么的,不重要。


在志愿填报指南的书里面,我发现有大量的篇幅站在 2012 年视角去分析未来的就业形势。



这部分,我仔细的读了一遍,发现关于计算机部分提到的并不多,只有寥寥数语,整体是持看好态度,但是大多都是一些正确的“废话”,对于当年的我来说,很难提炼出有价值的信息,来帮助我填写志愿。


后来得知被计算机录取了之后的第一反应是,没关系,入校之后可以找机会转专业,比如转到机械。


为什么会想着机械呢?


因为那一年,或者说那几年,最火的专业是土木工程,紧随其后的大概就是机械相关的专业:



而这个学校没有土木专业,那就是想当然的想往人多的,也是学校的王牌专业“机械”转了。


计算机专业,虽然也榜上有名,但是那几年的风评真的是非常一般,更多的是无知,就像是亲戚说的那句:以后人人都有一台计算机,你还去学它干啥?


我也找到了一份叫做《2011年中国大学生就业报告》的报告,里面有这样一句话:



真的如同弹幕里面一个小伙伴说的:土木最火,计算机下水道。


所以我在十年前被调剂到计算机专业,也就不是一个什么特别奇怪的事情了。


你说这是什么玩意?


这里面没有任何的高瞻远瞩、深思熟虑、推演计算、预测未来,就是纯粹的运气。


就是恰好站在时代的大潮前,撅着屁股,等着时代用力的拍上那么一小下,然后随着浪花飘就完事了吗?


我也曾经想过,如果我能把它包装成一个“春江水暖鸭先知”的故事,来体现我对于未来精准的预判就好了,但是现实情况就是这么的骨感和魔幻,没有那么多的预判。


所以有很多人,特别是一些在校的或者刚刚毕业的大学生,通过视频找到我,来请教我关于职业发展,关于未来方向,关于人生规划的问题。



说真的,我有个屁的资格和能力来帮你分析这些问题啊。我自己这一摊子事情都没有搞清楚,我的职业前路也是迷雾重重,我何德何能给别人指出人生的方向?


当然,我也能给出一些建议,但是我能给出的所有的回复,纯粹是基于个人有限的人生阅历和职业生涯,加上自己的一些所见所闻,给出的自己角度的回答。


同样的问题,你去问另外一个人,由于看问题的角度不同,可能最终得出的答案千差万别。


甚至同样的职场相关的问题,我可以给你分析的头头是道,列出一二三四点,然后说出每一点的利益得失,但是当我在职场上遇到一模一样的问题时,我也会一时慌张,乱了阵脚,自然而然的想要去寻求帮助。


在自媒体的这三年,我写过很多观点输出类的文章,也回答过无数人的“迷茫”。对于这一类求助,有时是答疑,常常是倾听,总是去鼓励。


我并不是一个“人生导师”,或者说我目前浅薄的经验,还不足以成为一个“人生导师”,我只不过是一个有幸踩到了时代红利的幸运儿而已。


在这十年间,我踩到了计算机的红利,所以才有了后面看起来还算不错的故事。


踩到了 Java 的红利,所以才能把这个故事继续写下去。


踩到了自媒体的红利,所以才有机会把这些故事写出来让更多的人看到。


现在还有很多很多人摩肩擦踵的往计算机行业里面涌进来,我一个直观的感受就是各种要求都变高了,远的就不说了,如果是三年前我回到成都的时候,市场情况和现在一样的话,我是绝对不可能有机会进入到现在这家公司,我只不过是恰好抓住了一个窗口期而已。


还有很多很多的人,义无反顾的去学 Java,往这个卷得没边的细分领域中冲的不亦乐乎,导致就业岗位供不应求,从而企业提升了面试难度。我记得 2016 年我毕业的时候,在北京面试,还没有“面试造火箭”的说法,当年我连 JVM 是啥玩意都不知道,更别提分布式相关的技术了,听都没听过。然而现在,这些都变成了“基础题”。


还有很多人,看到了自媒体这一波流量,感觉一些爆款文章,似乎自己也能写出来,甚至写的更好。或者感觉一些非常火的视频,似乎自己也能拍出来,甚至拍的跟好。


然而真正去做的话,你会发现这是一条“百死一生”的道路,想要在看起来巨大的流量池中挖一勺走,其实很难很难。


但是如果把时间线拉回到 2014 年,那是公众号的黄金时代,注册一个公众号,每天甚至不需要自己写文章,去各处搬运转载,只需要把排版弄好看一点,多宣传宣传,然后坚持下去,就能积累非常可观的关注数量,有关注,就有流量。有流量,就有钱来找你。从一个公众号,慢慢发展为一个工作室,然后成长为一个公司的故事,在那几年,太多太多了。


诸如此类,很多很多的现象都在表明则一个观点:时代不一样了。


我在刚刚步入社会的时候,看过一本叫做《浪潮之巅》的书,书里面的内容记得不多了,但是知道这是一本把计算机领域中的一些值得记录的故事写出来的好书。


虽然书的内容记得不多了,但是书的封面上写的一段话我就很喜欢。


就用它来作为文章的结尾吧:



近一百多年来,总有一些公司很幸运地、有意识或者无意识地站在技术革命的浪尖之上。一旦处在了那个位置,即使不做任何事,也可以随着波浪顺顺当当地向前漂个十年甚至更长的时间。在这十几年间,它们代表着科技的浪潮,直到下一波浪潮的来临。这些公司里的人,无论职位高低,在外人看来,都是时代的幸运儿。因为,虽然对一个公司来说,赶上一次浪潮不能保证其长盛不衰;但是,对一个人来说,一生赶上一次这样的浪潮就足够了。一个弄潮的年轻人,最幸运的,莫过于赶上一波大潮。



以上。








如果我这篇文章结束在这个地方,那么你先简单的想一想,你看完之后那一瞬间之后的感受是什么?


会不会有一丝丝的失落感,或者说是一丢丢的焦虑感?


是的,如果我的文章就结束在这个地方,那么这就是一篇试图“贩卖焦虑”的文章。


我在不停的暗示你,“时代不一样了”,“还是以前好啊”,“以前做同样的事情容易的多”。


这样的暗示,对于 00 后、90 后的人来说,极小部分感受是在缅怀过去,更多的还是让你产生一种对当下的失落感和对未来的焦虑感。


比如我以前看到一些关于 90 年代下海经商的普通人的故事。就感觉那个时代,遍地是黄金,处处是机会,只要稍稍努力就能谱写一个逆天改命的故事,继而感慨自己的“生不逢时”。


只是去往回看过去的时代,而没有认真审视自己的时代,当我想要去形容我所处的时代的时候,负面的形容词总是先入为主的钻进我的脑海中。


我之前一直以为是运气一直站在我这边,但是我真的是发布了前面提的到视频,然后基于视频引发了一点讨论之后,我才开始更加深层次的去思考这个问题,所以我是非常后知后觉的才感受到,我运气好的大背景是因为遇到了时代的红利。


要注意前面这一段话,我想强调的是“后知后觉”这个词。这个词代表的时间,是十年有余的时间。


也就是说在这十年有余的时间中,我没有去刻意的追求时代的红利、也没有感知到时代的红利。


这十年间,概括起来,我大部分时间只是做了一件事:努力成长,提升自我。


所以在我的视频的评论区里面还有一句话出现的频率特别高:越努力,越幸运。


我不是一个能预判未来的人,但是我并不否认,我是一个努力的人,然而和我一样努力,比我更加努力的人也大有人在。


你要坚信,你为了自己在社会上立足所付出的任何努力是不可能会白费的,它一定会以某种形式来回报你。


当回报到来的时候,也许你认为是运气,其实是你也正踩在时代的红利之上,只不过还没到你“后知后觉”的时候,十年后,二十年后再看看吧。


在这期间,不要囿于过去,不要预测未来,你只管努力在当下就好了。迷茫的时候,搞一搞学习,总是没错的。



(特么的,这味道怎么像是鸡汤了?不写了,收。)



最后,用我在网上看的一句话作为结尾吧:



我未曾见过一个早起、勤奋,谨慎,诚实的人抱怨命运不公;我也未曾见过一个认真负责、努力好学、心胸开阔的年轻人,会一直没有机会的。



以上就是我对于处于“迷茫期”的一些大学生朋友的一点点个人的拙见,也是我个人的一些自省。


共勉。

作者:why技术
来源:https://juejin.cn/post/7193678951670087739

收起阅读 »

做软件开发20年,我学到的20件事

写在前面 你即将读的这篇文章会给你很多建议,向前辈学习对于获得成功是很有帮助的,但我们经常会忘记很重要的一点,就是几乎所有的建议都是有其特定场景和上下文的,但当人们给出建议的时候却很少带着上下文。 一家一直以来以“收费低”而获得成功,并经营了二十年的公司可能会...
继续阅读 »

写在前面

 你即将读的这篇文章会给你很多建议,向前辈学习对于获得成功是很有帮助的,但我们经常会忘记很重要的一点,就是几乎所有的建议都是有其特定场景和上下文的,但当人们给出建议的时候却很少带着上下文。 一家一直以来以“收费低”而获得成功,并经营了二十年的公司可能会给出的建议是“你只需要多收些钱!”。 “你需要把所有应用都构建成微服务”这个建议可能来自于一个靠快速构建的单体应用获得成千上万客户,在开始遇到规模问题时转向微服务的团队。

 如果不理解上下文,这些建议就毫无意义,甚至是有害的。如果这些人早些时候听从了自己的建议,那结果如何也很难讲。我们很可能处在自己经历的顶峰,但却在用现在的视角看待别人的问题。

 首先我想介绍一下我的建议从哪儿来,我职业生涯的前半段是一名软件工程师,为各种小型企业和初创企业工作,然后进入咨询行业,并在一些非常大的企业工作。后来自己创建了Simple Thread,团队从2人发展到25人。10年前,我们主要与中小型企业合作,现在与大大小小不同的企业合作。

我的建议来自于这些人:

  1. 几乎总是在小而精干的团队中,必须用很少的资源做很多事情。

  2. 重视可工作软件而不是特定的工具。

  3. 在维护多个系统的同时,一直有新的项目要启动。

  4. 把工程师的生产力看得比大多数其他因素都重要。 我过去20年的经历塑造了我对软件的看法,并引导我形成了一些信念,我试图将这些信念精简并整理成一个列表,希望你会觉得它对你有所帮助。

我的列表

1.“我依然知道的不够多”

 “你怎么会不知道BGP是什么?“ “你从来没听说过Rust吗?”。我们很多人经常听到过类似的话。很多人喜欢软件开发的一个重要的原因是我们是终身学习者,软件开发中,无论你从哪个方向看,都有广阔的知识前景在各个方向发展,并且每天都在扩大。这意味着与其他职业中花费几十年的人相比,你即使已经花费了数十年,但可能仍然有巨大的知识断层,有很多新知识需要学习,你可能因为担心不能胜任而陷入焦虑。你越早意识到这一点,你就能越早摆脱这种时常的焦虑,从而放平心态,乐于向别人学习以及教授他人。

2.软件最难的部分是构建正确的东西

 我知道这已经是陈词滥调了,但是还是有很多软件工程师不相信这一点,因为他们认为这会贬低他们所做的工作。我个人认为这是无稽之谈。相反,它强调了我们工作环境的复杂性和非理性,这更突出了我们所面临的挑战。你可能可以设计出全世界技术上最牛的东西,但却没有人愿意使用它,这种事经常发生。设计软件主要是一种倾听活动,我们经常不得不一半是软件工程师,一半是心理学家,一半是人类学家。在这个设计过程中投资自己,无论是通过专门的用户体验团队的成员还是通过简单的自学,都会带来巨大的回报。因为构建错误软件的成本可不仅仅是浪费了工程师的时间。

3.最好的软件工程师会像设计师一样思考

 优秀的软件工程师会深入考虑他们代码的用户体验。他们可能不会用这些术语来考虑它,而是考虑它是外部API、编程式API、用户界面、协议还是任何其他接口;优秀的工程师会考虑谁会使用它,为什么会使用它,如何使用它,以及对这些用户来说什么是重要的。牢记用户的需求才是好的用户体验的核心。

4.最好的代码是没有代码,或者不需要维护的代码

 任何职业的人解决问题的过程中都会在自己擅长的方面犯错误,这是人的本性。大多数软件工程师在编写代码免不了会犯错误,尤其是当还没有可行的非技术性解决方案时。工程团队总是倾向于在已经有很多轮子的时候重新发明轮子。有很多原因让你自己重新做一个轮子,但一定要警惕有毒的“Not invented here”综合症,不能闭门造车,妄自尊大,尽量复用和寻找非技术性解决方案。

5.软件是达到目的的一种手段

 任何软件工程师的主要工作都是交付价值。很少有软件开发人员能理解这一点,更少人能内化它。真正的内在化会带来一种不同的解决问题的方式,以及一种不同的看待工具的方式。如果你真的相信软件是屈从于结果的,你就会准备好真正找到“适合这项工作的工具”,而这个工具可能根本不是软件。

6.有时候你不得不停止磨刀,开始切东西

 有些人倾向于一头扎进问题中,然后开始编写代码解决问题。有些人却倾向于花大量时间研究和调查,但却让自己陷进问题中。在这种情况下,给自己设定一个最后期限,然后开始探索解决方案。当你开始解决这个问题的时候,你会很快学到更多的东西,这将引导你迭代形成一个更好的解决方案。

7.如果你不能很好地把握全局的可能性,你就无法设计出一个好的系统

 这是我在每天的工作中不断努力的事情。与开发者生态保持同步是一项巨大的工作,但了解开发者生态中的可能性却是至关重要的。如果你不了解在一个给定的生态系统中什么是可能的,什么是可用的,那么你就不可能设计出一个合理的解决方案来解决所有的问题,除非是最简单的问题。总而言之,要警惕那些很长时间没有编写任何代码的系统设计者。

8.每个系统最终都很糟糕,克服它吧

 比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)有一句话是这样说的: “世界上只有两种语言,一种是人们抱怨的语言,另一种是没人用的语言。”。这也可以扩展到大型系统。不存在“正确”的架构,你永远无法偿还所有的技术债务,你永远无法设计出完美的界面,你的测试总是太慢。这不是个能让事情变得更好的借口,而是一种让你看问题的方式。少担心优雅和完美;相反,要努力持续改进,创建一个你的团队喜欢并可持续提供价值的环境。

9.没人去问“为什么”

 抓住任何机会去质疑那些“一直以来都是这样做的”假设和方法。有新队员加入?那就注意他们在哪里感到困惑,他们问了什么问题。有一个没有意义的新功能需求?确保你理解了目标,以及是什么驱动了这种功能的需求。如果你得不到一个明确的答案,继续问为什么,直到你明白。

10.我们应该更加关注如何避免0.1x程序员,而不是寻找10x程序员

 10倍的程序员其实是一个愚蠢说法。认为一个人可以在一天内完成另一个有能力、勤奋、同样有经验的程序员可以在两周内完成的任务是愚蠢的。我见过程序员抛出10倍的代码量,然后你必须用10倍的时间来修正它。一个人成为10倍程序员的唯一方法就是将他与0.1倍程序员进行比较。有些人浪费时间,不寻求反馈,不测试他们的代码,不考虑边界情况等等。我们更应该关心的是让0.1x程序员远离我们的团队,而不是找到神秘的10x程序员。

11.高级工程师和初级工程师之间最大的区别之一就是他们对事情应该如何发展形成了自己的观点

 没有什么比高级工程师对他们的工具或如何构建软件一无所知更让我担心的了。我宁愿有人给我一些强烈的反对观点,也不愿他们没有任何观点。如果你正在使用你的工具,并且你并不喜欢或讨厌它们,那么你就需要体验更多。您需要探索其他语言、库和范式。没有什么方法比积极地寻找别人如何用不同的工具和技术来完成任务能更快地提升你的技能了。

12.人们不是真的想要创新

 人们经常谈论创新,但他们通常寻找的是廉价的胜利和新奇的东西。如果你真的在创新,改变人们做事的方式,那么大部分的反馈都是负面的。如果你相信你正在做的事情,并且知道它真的会改善事情,那么就做好长期斗争的准备。

13.数据是系统中最重要的部分

 我见过许多对数据完整性要求很高的系统。在这样的系统中,任何发生在关键路径之外的事情都会创建部分数据或脏数据。将来处理这些数据可能会成为一场噩梦。请记住,您的数据可能比代码库存在的时间更长。把精力花在保持它的有序和清洁上,从长远来看它会得到很好的回报。

14.寻找技术”鲨鱼“

 许多留下来的老技术是”鲨鱼“,而不是”恐龙“。他们能够很好地解决问题,并在技术不断快速变化的今天生存了下来。只有在有一个很好的理由的情况下,再去替换它们。这些工具不会华而不实,也不会令人兴奋,但是它们可以完成工作,避免很多不必要的不眠之夜。

15.不要把谦卑误认为无知

 有很多软件工程师在没有被提问的时候,是不怎么发表意见的。永远不要以为别人没有他们的观点摆在你面前,你就觉得他们没有什么观点。有时候最吵的人恰恰是我们最不想听的人。与你周围的人交谈,寻求他们的反馈和建议。你会有意外收获。

16.软件工程师应该定期写作

 软件工程师应该定期写博客,写日志,写文档,去做任何保持书面沟通技能的事情。写作可以帮助你思考问题,并帮助你与团队和未来的自己更有效地沟通。良好的书面沟通能力是任何软件工程师都需要掌握的最重要的技能之一。

17.保持流程尽可能精简

 如今,每个人都想变得敏捷,“敏捷”就是把事情分成小块,学习,然后迭代。如果有人试图把更多的东西塞进去,那他很可能是在卖东西。想想你有多少次听到来自你最喜欢的技术公司或大型开源项目的人在吹嘘他们的Scrum流程有多棒?在你知道你需要更多的东西之前,请依靠流程。相信你的团队,他们会完成任务。

18.软件工程师,像所有人一样,需要有归属感

 如果你把某人和他的工作成果分开,他就不会那么在乎他的工作。我认为这几乎是同义反复。归属感是跨职能团队工作得如此出色的主要原因,也是DevOps变得如此流行的原因。这并不全是关于交接和低效的问题,而是关于从开始到结束去参与和享受整个过程,并直接负责交付价值。让一群充满激情的人完全拥有设计、构建和交付一个软件(或者其他任何东西)的所有权,奇妙的事情就会发生。

19.面试对于判断一个团队成员是否优秀几乎毫无价值

 面试最好是试着了解对方是谁,以及他们对某一特定专业领域有多大兴趣。试图弄清楚一个团队成员会有多好是徒劳的努力。相信我,一个人有多聪明或多有知识也不能很好地表明他们将是一个优秀的团队成员。没有人会在面试中告诉你,他们会不可靠,会骂人,会夸夸其谈,或者从不准时出席会议。人们可能会说他们在这些事情上有“信号”……“如果他们在第一次面试时就问请假,那么他们就永远不会在那里了!” 但这些都是胡扯。如果你使用这样的信号,你只是在猜测,并将优秀的候选人拒之门外。

20.始终努力构建一个更小的系统

 有很多的力量将推动你预先建立更大的系统。预算分配,无法决定哪些功能应该被削减,希望交付系统的“最佳版本”。所有这些事情会迫使我们过度建设。你应该与之抗争。在构建系统的过程中,你会学到很多东西,最终迭代得到的系统将比你最初设计的系统要好得多。令人惊讶的是,这很难说服大多数人。

原文:http://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/

作者:沉默的小河马
来源:juejin.cn/post/7195472887586193467

收起阅读 »

2022被裁员两次的应届毕业生的年终总结

前言 “生活的苦可以被疲劳麻痹、被娱乐转移,最终变得习以为常、得过且过,可以称之为钝化。学习的苦在于,始终要保持敏锐而清醒的认知,乃至丰沛的感情,这不妨叫锐化。” 1. 二月,初到上海 1.1 第一段艰辛的实习生涯 从学校到校园,仿佛好像是一瞬之间。现在回想...
继续阅读 »

前言


“生活的苦可以被疲劳麻痹、被娱乐转移,最终变得习以为常、得过且过,可以称之为钝化。学习的苦在于,始终要保持敏锐而清醒的认知,乃至丰沛的感情,这不妨叫锐化。”



1. 二月,初到上海


1.1 第一段艰辛的实习生涯


从学校到校园,仿佛好像是一瞬之间。现在回想起21年的秋招,也算是收获满满,拿下了不少大大小小好几家公司的offer。那时候对于面试题和自己的项目都有较为深刻的印象,由于本人表达能力还不错(面试一堆胡吹),经过五轮面试最终接下了壹药网的offer。 仿佛一切美好都在向我招手,世间是如此的美好。


image.png在2.17入职之后,也算是正式开启了社畜的角色。奈何在公司工作不到半个月之后,开始迎来了为期三个多月的疫情,疫情不仅是对公司有着强烈的冲击,对打工人也是晴天霹雳。


由于是第一次实习,Git工具根本就不会用 (此时省略一万点艰辛,以致于我们老大叫带我的导师,专门给我先培训好我的Git技能,在这里也是超级感谢我的导师,在远程办公 事务繁忙 我还贼菜的情况下,历时一个多月我的GIT终于出师)。

不过在实习期间,也学到了很多中型的公司的开发流程以及代码规范等等,也是宝贵的实习经历让我逐渐过渡到一个标准的社畜。


2.六月,第一次被裁员


在疫情解封的第一周的第三天下午,领导把我叫到会议室,通知所有的校招生全部解约。那时已是6.13号,校招已经结束,并且我已经答辩结束顺利 “毕业” 了。此时陷入了非常被动的局势,校招已经过了时间,社招没有工作经验。
那时候让我真真切切感受到互联网公司的不稳定,也让我感受到找工作的不容易。此时我也是被迫开始了海投模式,每天都在刷BOSS直聘,每天都在EMO ,并且面试题根本看不进去啊,谁能懂?

此时逃离上海成为了我最大的想法,奈何疫情当下,去哪里都要隔离 并且杭州的公司是一家回应的都没有,此时我内心是奔腾的。 有那种陷入谷底的绝望(没敢和家里面人说,只能自己硬抗)


2.1 试用期两个月,正式工两个月


肯定是上天眷顾我,觉得我自己硬扛着太不容易了。给我了个机会,在海投十天之后,那天上午突然一个电话打给我,问我下午有没有时间面试,此时我内心的感觉(只要你们愿意要我,我愿意当牛做马,工资啥的都无所谓,主要是给老板打工)。 当时也算是比较幸运,在我的再一次胡说海吹之下,拿到了第二家公司的offer。 试用期两个月,工资打八折。这家公司入职之后,公司全是年轻人,技术用的也很新,主要是都是河南人 真的亲切啊。我也是很快就融入了公司的氛围里面,开始称兄道弟的。两个月后在我的班门弄斧之下,顺利转正了,虽然自己陆陆续续也弄出了好几个线上较为严重的BUG 但还是在大家的努力下成功补救了回来。超级感谢当时公司里面的雷哥,权哥,昊哥等等,帮我帮了超级多。同时也督促我要一直看书一直学习来着。


xuexi.png


于是乎,周六周日有时间都会去公司熟悉业务,精进自己的代码能力。



早上上班拍的公司照片,真的超级好看鸭。


3.十一月,第二次被裁员


就这样在公司一直干着,经常会加班(1.5倍的加班费,真的超级香),可是后来也陆陆续续有些消息说公司业绩不太行,疫情(再一次给我送来了惊喜),然后11.25号又被老大 再一次叫到了办公室里面,开门见山,立马滚蛋。

就是如此狗血,就是这么残忍。我现在依稀记得,就在上周我又弄出了一个超级大的BUG,导致业务受到了极大的影响。

业务改版,对之前老的数据迁移有问题,并且新的数据也有部分问题(还是太不认真,太年轻了),导致投诉电话不断,产品直接都要崩溃。没办法,又有好多人给我擦屁股。然后第二周老板宣布裁员,我和一个前端都被开除了。那天上海降温超级明显,并且还下着小雨和我的心情是一样一样的。


dierci.jpg


那天拍的最后一次公司的图片


2.十二月,开启第三份工作


在第二次被裁员之后,我是真的对自己产生了深深地怀疑,也觉得为什么我一个应届毕业生要被裁员两次。不得不否认,我的技术水平是真的菜,代码水平也是真的烂,运气也真的好差劲。

对啊,为什么幸福不是我,我没有乱七八糟的圈子,不出去乱玩每天不是上班就是下班,下班就回去煮饭吃,看看书就睡觉,周末休息就回家,我不明白生活为什么要给予我如此重重的打击,可是生活总得继续下去,我也只能收拾好行李,再出发。
不过还好,在我摆烂了大概几天之后,我又开始再一次的海投模式 同样收到的回复很少,很少有需要2022届毕业生的,简历都不太好包装。好像上帝给我关了一扇门,总会给我开一扇窗。那个本来可以不认真对待的面试题,在我认认真真对待之后,成功收到了一面通知,然后线下的面试(我不得不承认有被打击到,但是我的胡说海吹的功夫也不是盖得),最终成功拿下了两家公司的offer(另一家没有细讲,因为没去,为什么没去,钱没给到位))。


zijie.jpg


面试路上,路过字节


2023年一月,找到对象


哈哈哈哈哈哈哈哈哈哈哈嗝,虽然2022年职场过得比较坎坷。但是我想告诉大家的是,大年初一我就遇到了我对象。哈哈哈哈哈哈哈哈哈哈嗝。她真的超级超级好,我也超级超级喜欢她。2023除了升职加薪,那就是好好爱她,带她吃好多好吃的,玩好多好玩的。

送大家一句话: 没娶的别慌,待嫁的别忙, 经营好自己,珍惜当下时光。一切该来的总会到。 怕什么,岁月漫长,你心地善良 终会有一人陪你骑马喝酒走四方


seeMovie.png


一起看的第一场电影


作者:Mooc和小月
链接:https://juejin.cn/post/7197411581927833655
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

聊一聊过度设计!

  新手程序员在做设计时,因为缺乏经验,很容易写出欠设计的代码,但有一些经验的程序员,尤其是在刚学习过设计模式之后,很容易写出过度设计的代码,而这种代码比新手程序员的代码更可怕,过度设计的代码不仅写出来时的成本很高,后续维护的成本也高。因为相对于毫无设计的代码...
继续阅读 »

  新手程序员在做设计时,因为缺乏经验,很容易写出欠设计的代码,但有一些经验的程序员,尤其是在刚学习过设计模式之后,很容易写出过度设计的代码,而这种代码比新手程序员的代码更可怕,过度设计的代码不仅写出来时的成本很高,后续维护的成本也高。因为相对于毫无设计的代码,过度设计的代码有比较高的理解成本。说这么多,到底什么是过度设计?


什么是过度设计?


  为了解释清楚,我这里用个类比,假如你想拧一颗螺丝,正常的解决方案是找一把螺丝刀,这很合理对吧。 但是有些人就想:“我就要一个不止能拧螺丝的工具,我想要一个可以干各种事的工具!”,于是就花大价钱搞了把瑞士军刀。在你解决“拧螺丝”问题的时候,重心早已从解决问题转变为搞一个工具,这就是过度设计。

在这里插入图片描述
  再举个更技术的例子,假设你出去面试,面试官让你写一个程序,可以实现两个数的加减乘除,方法出入参都给你提供好了 int calc(int x, int y, char op),普通程序员可能会写出以下实现。


    public int calc(int x, int y, int op) {
if (op == '+') {
return x + y;
} else if (op == '-') {
return x - y;
} else if (op == '*') {
return x * y;
} else {
return x / y;
}
}

  而高级程序员会运用设计模式,写出这样的代码:


public interface Strategy {
int calc(int x, int y);
}

public class AddStrategy implements Strategy{
@Override
public int calc(int x, int y) {
return x + y;
}
}

public class MinusStrategy implements Strategy{
@Override
public int calc(int x, int y) {
return x - y;
}
}
/**
* 其他实现
*/
public class Main {
public int calc(int x, int y, int op) {
Strategy add = new AddStrategy();
Strategy minux = new MinusStrategy();
Strategy multi = new MultiStrategy();
Strategy div = new DivStrategy();
if (op == '+') {
return add.calc(x, y);
} else if (op == '-') {
return minux.calc(x, y);
} else if (op == '*') {
return multi.calc(x, y);
} else {
return div.calc(x, y);
}
}
}

  策略模式好处在于将计算(calc)和具体的实现(strategy)拆分,后续如果修改具体实现,也不需要改动计算的逻辑,而且之后也可以加各种新的计算,比如求模、次幂……,扩展性明显增强,很是牛x。 但光从代码量来看,复杂度也明显增加。回到我们原始的需求上来看,如果我们只是需要实现两个整数的加减乘除,这明显过度设计了。


过度设计的坏处


  个人总结过度设计有两大坏处,首先就是前期的设计和开发的成本问题。过度设计的方案,首先设计的过程就需要投入额外的时间成本,其次越复杂的方案实现成本也就越高、耗时越长,如果是在快速迭代的业务中,这些可能都会决定到业务的生死。其次即便是代码正常上线后,其复杂度也会导致后期的维护成本高,比如当你想将这些代码交接给别人时,别人也需要付出额外的学习成本。


  如果成本问题你都可以接受,接下来这个问题可能影响更大,那就是过度设计可能会影响到代码的灵活性,这点听起来和做设计的目的有些矛盾,做设计不就是为了提升代码的灵活性和扩展性吗!实际上很多过度设计的方案搞错了扩展点,导致该灵活的地方不灵活,不该灵活的地方瞎灵活。在机器学习领域,有个术语叫做“过拟合”,指的是算法模型在测试数据上表现完美,但在更广泛的数据上表现非常差,模式缺少通用性。 过度设计也会出现类似的现象,就是缺少通用性,在面对稍有差异的需求上时可能就需要伤筋动骨级别的改造了。


如何避免过度设计


  既然过度设计有着成本高和欠灵活的问题,那如何避免过度设计呢!我这里总结了几个方法,希望可以帮到大家。


充分理解问题本身


  在设计的过程中,要确保充分理解了真正的问题是什么,明确真正的需求是什么,这样才可以避免做出错误的设计。


保持简单


  过度设计毫无例外都是复杂的设计,很多时候未来有诸多的不确定性,如果过早的针对某个不确定的问题做出方案,很可能就白做了,等遇到真正问题的时候再去解决问题就行。


小步快跑


  不要一开始就想着做出完美的方案,很多时候优秀的方案不是设计出来的,而是逐渐演变出来的,一点点优化已有的设计方案比一开始就设计出一个完美的方案容易得多。


征求其他人的意见


  如果你不确定自己的方案是不是过度设计了,可以咨询下其他人的,尤其是比较资深的人,交叉验证可以快速让你确认问题。


总结


  其实在业务的快速迭代之下,很难判定当前的设计是欠设计还是过度设计,你当前设计了一个简单的方案,未来可能无法适应更复杂的业务需求,但如果你当前设计了一个复杂的方案,有可能会浪费时间……。 在面对类似这种不确定性的时候,我个人还是比较推崇大道至简的哲学,当前用最简单的方案,等需要复杂性扩展的时候再去重构代码。


作者:xindoo
链接:https://juejin.cn/post/7204423284905738298
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

你在公司混的差,可能和组织架构有关!

如果你接触过公司的面试工作,一定见过很多来自大公司的渣渣。这些人的薪资和职位,比你高出很多,但能力却非常一般。 如果能力属实,我们大可直接把这些大公司的员工打包接收,也免了乱七八糟的面试工作。但可惜的是,水货的概率通常都比较大,新的公司也并不相信他们的能力。尤...
继续阅读 »

如果你接触过公司的面试工作,一定见过很多来自大公司的渣渣。这些人的薪资和职位,比你高出很多,但能力却非常一般。


如果能力属实,我们大可直接把这些大公司的员工打包接收,也免了乱七八糟的面试工作。但可惜的是,水货的概率通常都比较大,新的公司也并不相信他们的能力。尤其是这两年互联网炸了锅,猪飞的日子不再,这种情况就更加多了起来。


反过来说也一样成立,就像是xjjdog在青岛混了这么多年,一旦再杀回北上广,也一样是落的下乘的评价。


除了自身的努力之外,你在上家公司混的差,还与你在组织架构中所处于的位置和组织架构本身有关。


一般公司会有两种组织架构方式:垂直化划分层级化划分


1. 垂直划分


垂直划分,多以业务线为模型进行划分。各条业务线共用公司行政资源,相互之间关联不大。


各业务线之间,内部拥有自治权。


image.png


如上图所示,公司共有四个业务线。




  • 业务线A,有前端和后端开发。因为成员能力比较强,所以没有测试运维等职位;




  • 业务线B倡导全栈技能,开发后台前端一体化;




  • 业务线C的管理能力比较强,仅靠少量自有研发,加上大量的外包,能够完成一次性工作。




  • 业务线D是传统的互联网方式,专人专岗,缺什么招什么,不提倡内部转岗




运行模式




  1. 业务线A缺人,缺项目,与业务线BCD无任何关系,不允许借调




  2. 业务线发展良好,会扩大规模;其他业务线同学想要加入需要经过复杂的流程,相当于重新找工作




  3. 业务线发展萎靡,会缩减人员,甚至会整体砍掉。优秀者会被打散吸收进其他业务线




好处




  1. 业务线之间存在竞争关系,团队成员有明确的奋斗目标和危机意识




  2. 一条业务线管理和产品上的失败,不会影响公司整体运营




  3. 可以比较容易的形成单向汇报的结构,避免成本巨大且有偏差的多重管理




  4. 便于复制成功的业务线,或者找准公司的发展重点




坏处




  1. 对业务线主要分管领导的要求非常高




  2. 多项技术和产品重复建设,容易造成人员膨胀,成本浪费




  3. 部门之间隔阂加大,共建、合作困难,与产品化相逆




  4. 业务线容易过度自治,脱离掌控




  5. 太激进,大量过渡事宜需要处理




修订


为了解决上面存在的问题,通常会有一个协调和监管部门,每个业务线,还需要有响应的协调人进行对接。以以往的观察来看,效果并不会太好。因为这样的协调,多陷于人情沟通,不好设计流程规范约束这些参与人的行为。


image.png


在公司未摸清发展方向之前,并不推荐此方式的改革。它的本意是通过竞争增加部门的进取心,通过充分授权和自治发挥骨干领导者的作用。但在未有成功案例之前,它的结果变成了:寄希望于拆分成多个小业务线,来解决原大业务线存在的问题。所以依然是处于不太确定的尝试行为。


2. 水平划分


水平划分方式,适合公司有确定的产品,并能够形成持续迭代的团队。


它的主要思想,是要打破“不会做饭的项目经理不是好程序员”的思维,形成专人专业专岗的制度。


这种方式经历了非常多的互联网公司实践,可以说是最节约研发成本,能动性最高的组织方式。主要是因为:




  • 研发各司其职,做好自己的本职工作可以避免任务切换、沟通成本,达到整体最优




  • 个人单向汇报,组织层级化,小组扁平化。“替领导负责,就是替公司负责”




  • 任何职位有明确的JD,可替换性高,包括小组领导




这种方式最大的问题就是,对团队成员的要求都很高。主动性与专业技能都有要求,需要经过严格的面试筛选。


坏处




  • 是否适合项目类公司,存疑




  • 存在较多技术保障部门,公共需求 下沉容易造成任务积压




  • 需要对其他部门进行整合,才能发挥更大的价值




分析


image.png


如上图,大体会分为三层。




  • 技术保障,保障公司的底层技术支撑,问题处理和疑难问题解决。小组多但人少,职责分明




  • 基础业务,公司的旗舰业务团队,需求变更小但任何改动都非常困难。团队人数适中




  • 项目演化,纯项目,可以是一锤子买卖,也可以是服务升级,属于朝令夕改类需求的聚居地。人数最多




可以看到项目演化层,多是脏活,有些甚至是尝试性的项目-----这是合理的。




  1. 技术保障和基础业务的技术能力要求高,业务稳定,适合长期在公司发展,发展属性偏技术的人群,流动性小,招聘困难




  2. 项目演化层,业务多变,项目奖金或者其他回报波动大,人员流动性高,招聘容易




成功的孵化项目,会蜕变成产品,或者基础业务,并入基础业务分组。


从这种划分可以看出,一个人在公司的命运和发展,在招聘入职的时候就已经确定了。应聘人员可以根据公司的需求进行判断,提前预知自己的倾向。


互联网公司大多数将项目演化层的人员当作炮灰,因为他们招聘容易,团队组件迅速,但也有很多可能获得高额回报,这也是很多人看中的。


3.组合


组合一下垂直划分和层级划分,可以是下面这种效果。


image.png


采用层级+垂直方式进行架构。即:首选层级模式,然后在项目演化层采用垂直模式,也叫做业务线,拥有有限的自治权。


为每一个业务线配备一个与下层产品化或者技术保障对接的人员。


绩效方面,上层的需求为下层的实现打分。基础业务和技术保障,为绿色的协调人员打分。他们的利益是一致的。


End


大公司出来的并不一定是精英,小公司出来的也并不一定是渣渣。这取决于他在公司的位置和所从事的内容。核心部门会得到更多的利益,而边缘的尝试性部门只能吃一些残羹剩饭。退去公司的光环,加上平庸的项目经历,竞争力自然就打上一个折扣。


以上,仅限IT行业哦。赵家人不在此列。



作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。


作者:小姐姐味道
链接:https://juejin.cn/post/7203651773622452261
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

世界上最健康的程序员作息表!「值得一看」

昨晚看了一篇“传说中”的“世界上最健康的作息时间表”,开始纠结自己还要不要5点半起床。都说程序员这一行,猝死概率极高,究其原因还是加班太狠、作息不规律、缺乏运动....今天和大家分享一下这篇文章,还是非常值得参考的,随时提醒自己吧,毕竟身体可是自己的哦。7:3...
继续阅读 »

昨晚看了一篇“传说中”的“世界上最健康的作息时间表”,开始纠结自己还要不要5点半起床。

都说程序员这一行,猝死概率极高,究其原因还是加班太狠、作息不规律、缺乏运动....

今天和大家分享一下这篇文章,还是非常值得参考的,随时提醒自己吧,毕竟身体可是自己的哦。

7:30

起床

英国威斯敏斯特大学的研究人员发现,那些在早上5:22-7:21分起床的人,其血液中有一种能引起心脏病的物质含量较高,因此,在7:21之后起床对身体健康更加有益。

(我是不是要调整作息时间了,不再是每天5点半起床,改成7点半吧~)

开灯

(这也是我家小孩晚上睡觉最爱说的话,晚上爱开灯睡觉,每次关灯讲故事,总会说:“开灯”。究其原因还是小孩不想睡觉,所以要“开灯”)

为什么要说上面小孩要开灯的例子呢?发现国外有位科学家也反馈了类似的理论:“一醒来,就将灯打开,这样将会重新调整体内的生物钟,调整睡眠和醒来模式。”拉夫堡大学睡眠研究中心教授吉姆·霍恩说。

开关灯就是一种信号:关灯的信号是告诉身体要睡觉,开灯的信号是告诉身体要起床啦。

喝水

喝一杯水:水是身体内成千上万化学反应得以进行的必需物质。早上喝一杯清水,可以补充晚上的缺水状态。

7:30-8:00

在早饭之前刷牙:“在早饭之前刷牙可以防止牙齿的腐蚀,因为刷牙之后,可以在牙齿外面涂上一层含氟的保护层。

要么,就等早饭之后半小时再刷牙。”英国牙齿协会健康和安全研究人员戈登·沃特金斯说。

8:00-8:30

吃早饭:“早饭必须吃,因为它可以帮助你维持血糖水平的稳定。” 伦敦大学国王学院营养师凯文·威尔伦说。早饭可以吃燕麦粥等,这类食物具有较低的血糖指数。

(我起床早的很大一部分动力就是吃早饭,晚上9点之后不吃东西只喝水。饿了就劝自己早点睡觉,明天吃一顿丰盛的早饭)

自从我坚持5点半起床和每天晚上9点之后不吃东西以后,体重从最高的170斤+,降到了最近的150斤-

8:30-9:00

避免运动

来自布鲁奈尔大学的研究人员发现,在早晨进行锻炼的运动员更容易感染疾病,因为免疫系统在这个时间的功能最弱。

(看来我不晨练是对的,哈哈哈~)

步行上班

马萨诸塞州大学医学院的研究人员发现,每天走路的人,比那些久坐不运动的人患感冒病的几率低25%。

(这段时间应该还在地铁上~)

9:30

开始一天中最困难的工作:纽约睡眠中心的研究人员发现,大部分人在每天醒来的一两个小时内头脑最清醒。

10:30

让眼睛离开屏幕休息一下:如果你使用电脑工作,那么每工作一小时,就让眼睛休息3分钟。

11:00

吃点水果:这是一种解决身体血糖下降的好方法。吃一个橙子或一些红色水果,这样做能同时补充体内的铁含量和维生素C含量。

12:00-13:00

干饭:你需要一顿可口的午餐,并且能够缓慢地释放能量。“烘烤的豆类食品富含纤维素,番茄酱可以当作是蔬菜的一部分。”维伦博士说。 (干饭人,干饭魂,干饭人吃饭得用盆)

13:00-14:00

午休一小会儿:雅典的一所大学研究发现,那些每天中午午休30分钟或更长时间,每周至少午休3次的人,因心脏病死亡的几率会下降37%。

16:00

喝杯酸奶:这样做可以稳定血糖水平。在每天三餐之间喝些酸牛奶,有利于心脏健康。 (看来我爱喝酸奶是个好习惯呀)

17:00-19:00

锻炼身体:根据体内的生物钟,这个时间是运动的最佳时间,舍菲尔德大学运动学医生瑞沃·尼克说。 (没错,这个时间段该下班了,通勤路上多走一走,少开车、少骑车)

19:30

晚餐少吃点:晚饭吃太多,会引起血糖升高,并增加消化系统的负担,影响睡眠。晚饭应该多吃蔬菜,少吃富含卡路里和蛋白质的食物。吃饭时要细嚼慢咽。

21:45

这个时间看会儿手机、电视放松一下,有助于睡眠,但要注意,尽量不要躺在床上看电视,这会影响睡眠质量。

或者睡前读读书,也挺好,正好我最近搞了免费送书活动,感兴趣可以参与一下:免费送3本书,肯定有你喜欢的

23:00

洗个热水澡:“体温的适当降低有助于放松和睡眠。”拉夫堡大学睡眠研究中心吉姆·霍恩教授说。

23:30

上床睡觉:如果你早上7点30起床,现在入睡可以保证你享受8小时充足的睡眠。

看到这里,我准备调整作息了,不再5点半就起床了,怕伤害我宝贵的小心脏。

时间、健康的小常识

要知道,任何试图更改生物钟的行为,都将给身体留下莫名其妙的疾病,等到20、30年之后再后悔,已经来不及了。下面再补充一些和时间、健康有关的小常识,继续供大家参考:

  • 晚上9-11点为免疫系统(淋巴)排毒时间,此段时间应安静或听音乐。

  • 晚间11-凌晨1点,肝的排毒,需在熟睡中进行。

  • 凌晨1-3点,胆的排毒,亦同。

  • 凌晨3-5点,肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈,因排毒动作已走到肺;不应用止咳药,以免抑制废积物的排出。

  • 凌晨5-7点,大肠的排毒,应上厕所排便。

  • 凌晨7-9点,小肠大量吸收营养的时段,应吃早餐。疗病者最好早吃,在6点半前,养生者在7点半前,不吃早餐者应改变习惯,即使拖到9、10点吃都比不吃好。

  • 半夜至凌晨4点为脊椎造血时段,必须熟睡,不宜熬夜。

参考链接:sleepyocean.github.io/pages/55d14…

你的作息时间是怎么样的,或者你还知道哪些保持健康的好习惯,欢迎在评论区留言~

作者:王中阳Go
来源:juejin.cn/post/7200779100124921912

收起阅读 »

传闻小米年终奖打骨折,让N+2裁员背刺了

近日脉脉出现热帖,传闻小米今年年终奖大打折扣,不如被裁员拿N+2的赔偿有性价比。众所周知,小米在2022年底进行了大规模裁员,涉及多个业务部门。但是赔偿政策比较良心,赔偿金额按N+2计算,未休完的年假按照双倍金额折算赔偿。同时,小米的年终奖由以往的年前发放改为...
继续阅读 »

近日脉脉出现热帖,传闻小米今年年终奖大打折扣,不如被裁员拿N+2的赔偿有性价比。

众所周知,小米在2022年底进行了大规模裁员,涉及多个业务部门。但是赔偿政策比较良心,赔偿金额按N+2计算,未休完的年假按照双倍金额折算赔偿。

同时,小米的年终奖由以往的年前发放改为了3月发放。小米对外宣传的年终奖普遍是两个月,按照绩效浮动。但是从本次的绩效结果和年终奖数量来看,小米的年终奖情况极有可能打了5折或者3折,远远不及员工的预期。


来源:mp.weixin.qq.com/s/Ap9fwG_-ri7JMFo5pAoSdw

收起阅读 »

组内一次讨论,把我cpu干烧了

缘由最近有次开会,谈到个人成长,也涉及到绩效的评定,大家探讨怎么拿到比较好的绩效,怎么有效的成长。有些同学提出了思考的这项能力,理论依据是通过对比,就是普通同学跟比较好的同学他们之间的差异是思考能力。我是认可这种说法的,但是太泛了,有些东西一旦虚了就容易没有发...
继续阅读 »

缘由


最近有次开会,谈到个人成长,也涉及到绩效的评定,大家探讨怎么拿到比较好的绩效,怎么有效的成长。有些同学提出了思考的这项能力,理论依据是通过对比,就是普通同学跟比较好的同学他们之间的差异是思考能力。

我是认可这种说法的,但是太泛了,有些东西一旦虚了就容易没有发力点。比如努力会有成就,那往哪方面努力呢?那努力一定会有收获吗?答案显而易见是否定的。

把蛋糕做大


1、角色角度

一般研发团队内部分几种:业务工程师、TL、架构师

业务工程师又分几个层次:第一层可以把活干好,任务按时交付;第二层对业务有较深理解,比如说对当前业务专业内容,对整个链路有清晰的了解,这个是为了解决问题的时候更加快捷;第三个层次是有pm的意识,大部分公司还是pm来主导,如果pm经验比较少,那么很容易把项目带偏了,研发如果有能力还是要具备pm意识。

TL:我认为它职责除了搞技术,还有就是管理,相当于资源管理者,撮合各方去完成任务

那么TL我认为比工程师多了一个管理的职责,还有项目管理、规划,团队任务拆分。技术上也不再局限个人,需要审查团队代码,制定代码规范,各个项目核心代码设计审查。

架构师:微软把架构师分为3种:企业架构师、解决方案架构师、基础架构师。日常最常见的就是后两者。解决方案架构师,比如说梳理整个功能的交互,系统之间的交互,制定合理的技术方案,思考风险点、扩容机制、落地关键步骤,它跟业务工程师又不一样,你需要具备知识面更广以应对各种突发情况,有所备案。

基础架构师,是为了规范各个团队之间协作,制定好规范,封装基础工具包,建设基础设施,让各个研发团队井井有条的运作。它更不一样了,它通过规范、框架来约束开发者动作,它不再局限项目或者某个团队,相当于房子的框架,发挥的作用也更大。

总结时刻

1、把蛋糕做大

你说思考能力是里面层次的影响因素,没有错,但是它放哪里都没有错,那就是没有意义的一个东西。我认为是把蛋糕做大。从上面几个例子,都在告诉我们他们产出的价值都在一层一层的叠加,这里面确实有思考的结果,但是如果思考的东西没有价值,那思考的意义在哪里?或者说思考出来的东西大佬不看好,那又有什么用?

把蛋糕做大,第一层意思就是价值在哪里,该往哪个方向去思考,第二层才是往下去推。

很忌讳一点:为了思考而思考,跟为了技术而技术一个道理。最近遇到一些不太愉快的事情,就是我整理个慢查询东西,一个同学觉得有些是在sql平台查的不需要优化,我觉得这个可以商量不用优化。但是有些同学非要揪着这些点,让我画个数据库架构图,里面select还要统一成dml。

虽然我了解我们数据库架构,它对慢查询改进很大作用吗?我能依靠这个去改架构吗?为了解释yearming平台sql不需要优化我们在那里搞了一天,目的体现有独特思考能力,这跟我的理念冲突了。

把蛋糕做大,我认为做技术有一点就是有成体系,有同学问我,这个项目你跟其他同学做有什么区别?慢查询里面可以发现团队里面连自己数据库规范都没有,包括一些索引都是重复的,需要推动团队规范建设,推动慢查询机制,这就是把蛋糕做大。

包括扣着读写分离不放,我因为主从节点说成读写,揪着不放,不要怀疑我的八股文,19年我面网易、阿里不虚的,只不过平时缺少知识点跟实际应用,揪着这些东西不可能把蛋糕做大。我画了这张图为了跟一个同学解释yearming的慢查询不需要优化,那我其他事情还用不用做了是吧。

2、提升特定的品质

每个岗位都有对应的要求,比如说业务工程师,那么业务能力是要拉满的;比如管理者,对项目管理,资源分配,推动事情能力拉满的。并不是我偏偏要去搞思考能力,逻辑是某个岗位特定的品质拉满。

富人跟穷人本质区别是什么?网上大部分人答案是思维方式不同。这里引用北京大爷的话,穷人变富人,那是很小几率,大富靠命,小富是心态好,知足常乐。

从上面的例子来看,并不是通过两个人对比,就可以看出个所以然。而是需要从群体来看,才能看清。

通才往往是平庸者,偏才成就会更突出,我认为这个世界并不是要你什么技能都去拉满,比如业务工程师很有思考能力,你都不近需求端,你思考对业务作用不是很大,而是在业务场景下技术思考会更有价值,就是这个场景怎么设计会更好。(一般公司还是业务驱动技术)

不同岗位拉满的技能也不一样

3、有时需要点运气,需要点机会

我身边很多业界大佬的,以前跟我聊的有些是技术TL、大厂的leader、开源社区头头,除了本身优秀之外,我认为还是需要点运气,刚好有那么一个机会去来当攻坚人,有机会去大厂磨练,在这之前需要练好自身的本事~

就像哪个富婆忽然看上我是吧,哈哈哈,赶紧把你们的富婆通讯录交出来~

成长的方向


1、不止是思考,而是有价值的思考

比如夏天我穿个短裤跟穿个长裤,对我影响不大,这确实可以体现思考多了,但是意义不大。

2、不要去乱点技能,要有自己的见解,发展特定技能

3、降维打击,也是把蛋糕做大,4维打3维,就像捏死一只蚂蚁,你说思考重要吗?重要,但是维度更重要,比如说一个点到一个体系,一个团队到各个团队协作,它对人品质有要求。

4、既然说到思考,就会涉及结构化思考,当然这也是个人弱项。

作者:大鸡腿同学
来源:https://juejin.cn/post/7203730887786348599

收起阅读 »

如何做一条快鱼?

前言现在不是一个大鱼吃小鱼,而是一个快鱼吃慢鱼的时代。我们都学过马克思主义经济学原理,知道一个社会必要劳动时间的概念,要想提高个人的竞争力,就要使自己做同样的工作,在保证质量的情况下,自己所花费的时间低于社会必要劳动时间。那么如何提高效率,使自己的必要劳动时间...
继续阅读 »

前言

现在不是一个大鱼吃小鱼,而是一个快鱼吃慢鱼的时代。我们都学过马克思主义经济学原理,知道一个社会必要劳动时间的概念,要想提高个人的竞争力,就要使自己做同样的工作,在保证质量的情况下,自己所花费的时间低于社会必要劳动时间。那么如何提高效率,使自己的必要劳动时间低于社会平均劳动时间呢? 这是一个仁者见仁,智者见智的话题,笔者结合自己工作经验,列举几条,供大家参考,如有不同意见和补充,欢迎留言区讨论。

定期整理

对工作中,生活中经常用到的技能或遇到的问题进行归类整理。散乱的没有联系的知识,碎片化的知识,一般没有多大用处。只有成体系,有联系的系统知识,实用价值才比较高。散乱碎片化的知识经过自己一番悉心整理之后,才能变成自己的知识。为我所用。做为一名程序员,我会定期梳理项目中遇到过的刁钻的bug(不单单是自己的),和常用的一些编程语法点和业务方法,业务知识。这么做的好处是:我发现许多人将整个项目的业务串通不起来,只对自己做的那一块比较熟, 而我可以。另外平常在开发功能的过程中,得益于这个习惯,让我找到了许多可以复用的模块,编码得心应手,在开发时间方面几无压力。还有生产环境遇到未知缺陷时,我也比工作年限相同的同事思路开阔,底气也足。总结起来就是一句话,定期整理能提高你解决问题时的联想能力和反应速度。

不要钻牛角尖

钻牛角尖这种事情,一般都发生在我们觉得某件事情很简单, 实际在做的过程中,在某个细节之处出现了意料之外的困难,我们太过执拗,自己跟自己斗气,欲罢不能。不理性的后果就是大半天过去了,甚至好几天过去了,工作进展不大。事后我们发现,有许多简单重复性劳动,我们却没做,心中懊悔不已。如果半个小时过去了,看似简单的问题还未解决,就要引起我们的警觉,每件事情的难易程度是不同的,自己在一天之中的思维活跃度也是有波峰和波谷。我们要及时做自己的思想工作,调整自己的心态,先把鸡肋的事情放一放,继续开展其它的工作,等把那些没有难度的事情做完了,再杀个回马枪,乘胜追击,捣碎当初感到鸡肋的事情。

缩小时间利用颗粒度

你对时间利用的颗粒度,是以天,周,月,年为单位,还是以秒,分钟,时刻,小时为单位? 对时间的利用颗粒度越大,对时间的浪费越严重。一件事情,你计划半天完成,实际上你可能只需要一个小时,最后的结果就是你真的花费了半天,人都是怎么惯怎么来,你看部队上规章条例很多,许多人都觉得那不是人过的生活,可是我们的人民子弟兵,也适应的很好。一般自己在自然状态下做一件事情的时间,都有压缩的空间,你对时间利用的颗粒度管理得越精细,对时间利用的就越充分,等同于延长了生命的长度。你可以把节省下来的时间,投入到自己喜欢的事情上,工作与健康,家庭与生活,亲情与社交等皆不误。

保持专注

现在的智能设备,电脑,iPad,手机等,尤其是手机,把人的注意力,撕得支离破碎。许多人,一打游戏或刷视频,根本停不下来。因为视频内容和游戏厂商,给你推送的视频或者设计的游戏,都参考了让人成瘾的一些心理学理论,不要说未成年人,就是成年人也把持不住。在注意力涣散的情况下,要想提高效率简直就是痴人说梦。我自己也深受其害,因为每天使用手机的时间太长,出现干眼症症状,每天刚睡醒的时候,眼睛看不清手机屏幕,这时才引起我的重视,现在我已经大幅减少了手机的使用时间。一般就是饭后刷15分钟,大多数事情都在电脑端处理,处理的一般都是工作问题,很难上瘾。感觉远离手机之后,逐渐从手机的奴隶变成了手机的主人,自主意识得到了显著增强,大脑感觉清爽了好多。专注的做一件事情,就好比用己方的精兵强将去攻打对方吊儿郎当的军队,作战效率肯定杠杠的。

熟能生快

熟不仅能生巧,也能生快。提高效率的发力点之一就是把不会的事情学会,把会做的事情做到极致,既快又好。 对于绝大多数芸芸众生来说,要快得先下慢功夫,除非你是和数学家高斯一样的天才,天赋异禀,才智超群。不然你就得向愚公学习。有一句话不是这样说的嘛,所有看起来的毫不费力,其实背后都是拼尽全力。干一行,爱一行,爱一行,精一行,在日常的工作和生活中,勤学苦练,不断精进,逐渐把自己打磨成细分行业细分领域细分生态圈的佼佼者,届时你每天收获的不仅是薪资,还有因效率提高带来的工作流畅感和优越感。

善用工具

生产工具是生产力发展水平的重要标志,也是衡量生产效率的标志。要想提高工作效率,而不借助工具,就犹如鸟缺少了一只翅膀,肯定飞不高,飞不快。你随便去哪个招聘网站去看看许多岗位的招聘要求,不难发现,除了要掌握相应岗位的专业知识外,也要熟练掌握这个专业经常使用的一些工具。学校教育一般只教导我们要学好专业知识,对专业内使用的工具重视度不足。笔者是做前端开发的,我觉得如下工具,是要熟练掌握的:

  • 现代主流浏览器(Google Chrome、Opera及Safari,Mozilla Firefox、Microsoft Edge)的开发调试方法,常用快捷键,常用的浏览器插件,绝大多数菜单的功能

  • 至少三种代码编辑器的近乎所有菜单功能及常用的扩展

  • 至少三种网络抓包工具

  • 至少两种取色工具

  • 至少两种移动端页面调试工具

  • 至少两种代码智能补全工具

  • 至少两种持续集成,持续部署 CI/CD工具

  • 至少两种测试工具的用法

  • 至少两种JSON格式化与查看工具

  • 至少两种图片压缩处理工具

  • 至少两种代码质量检测工具

  • 至少两种代码文档生成工具

  • 至少两种接口API文档生成工具

  • 至少两种接口数据mock工具

  • 至少两种正则可视化工具

  • 至少两种在线运行JS代码工具

  • 至少两种UI设计工具

  • 至少两种富文本编辑器工具

  • 至少两种图表类工具

  • 至少两种流程图类工具

  • 至少两种字体图标工具

  • 至少两种页面性能分析工具

  • 等等

善用搜索

  • 善于搜索引擎

我们如果一开始遇到一个完全不懂的问题,肯定会使用搜索引擎搜答案。可是在解决一个自己觉得自己懂的问题,卡在了半道的时候,你的第一反应肯定不是使用搜索引擎,都是尝试自己解决,然后磕磕绊绊,乱想瞎碰试了半天,碰了一鼻子灰,问题最终还未解决。才想起使用搜索引擎。你使用搜索引擎的反应时间,需要缩短一下,我觉得5分钟之内你自感熟悉的问题还解决不了,就要考虑使用搜索引擎了,一般都是事半功倍。当然搜索引擎要想用的好,也有一些讲究:

  1. 搜索引擎的选择

某度的搜索结果广告多得让人心生厌烦,对题的文章排版也不太好。推荐用Google(如何出去方法很多,网上自行查找,一般都是付费的,为了提高搜索质量,这点费用是值得的,建议以月为单位付费,万一平台跑了你的损失比较小)或者必应,还有当下很火的搜索引擎新锐chatGPT(可以在京东和淘宝上买到账号)。

  1. 需要你有一定的背景知识

一是如果你不知道专业的用语是什么,输入的搜索关键词不精确,搜索出来的答案肯定离题万里。二是,有时候正确的答案被你搜索到了,由于你欠缺专业知识,虽然每个汉字都认识,但就是不知道整句话表达的是什么含义,看不懂答案或者对答案似懂非懂。

  • 善用代码编辑器的全局搜索功能

日常编码,查找代码片段是高频操作,如果凭靠自己的记忆去项目下的特定文件夹特定文件中找某一行,无疑是比较低效的(但我发现许多人却都是这样做的)。更高效的做法是使用代码编辑器的全局代码搜索功能,输入有区分度的代码关键字,很快很精准的就能进入到某个文件夹下某个文件的第多少行。查找修改效率都比较高。

碎片化时间的妙用

碎片化时间很难做需要深度思考或者任务量规模比较大的事情,可是尺有所短,寸有所长。下面的两件事情,适合用碎片化的时间去做。

  • 工作或生活规划

凡事预则立,不预则废。只有对生活与工作进行统筹规划,才不会出现对时间利用出现极端的情形。闲来闲的无聊至极,百无聊赖,生无可恋;忙来忙得天昏地暗,透支健康,作息混乱。利用碎片化的时间对今天,明天,接下来一周,做一下简单规划,什么时间做什么事情,需要多少时间,需要提前准备什么。这么做了之后,一方面你会发现每天都有事做,生活或工作井井有条,生活和工作中重要的事情,一件也没落下。另一方面,会促使你充实和丰富生活。给生活和工作不断立项一些有益的事情,什么无聊,虚度光阴这样的负面情绪体验,在你的生活字典里,是没有的。

  • 阅读

每天上下班的路途上,排队吃饭的时候, 中午饭后午休之前,可以忙里偷闲,阅读一些不太耗费脑力,消遣类的文章,放松一下。有张有弛,才能长久的精力充沛。

保持身心健康

什么,身心健康也与提高效率有关系。当然有关系了,你病殃殃的,身体不舒适,哪有心劲提高工作效率。或者身体无病无疾,但好钢就是不往刀刃上用,有许多事情需要你做,但因为你一时意志薄弱,过度娱乐不能自拔。那么如何保持身心健康呢?

  • 睡眠要充足

睡不好醒来之后人脑子里如有一团雾。比较困倦,反应也比较迟钝,意志力薄弱也与睡眠不足,睡眠质量较差有关。要想睡好,睡觉之前是关键:

  1. 首先睡前2小时,不要让大脑兴奋。不要剧烈运动,看恐怖片。睡前半小时,关掉手机等一切电子设备准备入睡,睡觉也需要时间酝酿,不是一下子就能睡着的。

  2. 把空调调节到一个宜睡的温度,推荐温度稍低一点,比如说20度,有利于入睡。

  3. 睡前1小时,不要再大量饮水,睡前喝水太多,夜间憋尿或者上厕所,都会影响睡眠。

  4. 要用被子把脚包裹住,脚暴露在被子外面的话,大概率人会做噩梦。

  5. 夏天要给床安装蚊帐,被蚊子叮咬了的话,肯定会让人睡不好。

  • 保持心情平和

  1. 心怀感恩惜福的心态, 过好每一天。不要有太多的贪念和妄念,人间正道是沧桑。平平淡淡不是真,而是福气。每天没有意料之外的坏事情发生,就应该庆幸这一天过得很平安。

  2. 管理好自己的情绪。不要一点就炸,出现矛盾和冲突时,与人为善,说柔和说, 温柔而坚定的与之沟通。

最后

可能道理大家都懂,正如一句话所说,我懂得许多大道理,却依然过不好这一生。问题出在哪里?我觉得是执行力的问题。如果仅仅停留在道理我懂了的层面,那你获得不了任何实质性的收益。只有身体力行,践行经过生活实践反复检验依然正确的道理,你才能真真切切感受到这些有益的意见给你带来的益处。

作者:去伪存真
来源:https://juejin.cn/post/7199106370825109564

收起阅读 »

大厂996三个月,我曾迷失了生活的意义,努力找回中

作为一个没有啥家底的小镇做题家,在去年选Offer阶段时,工作强度是我最不看重的一个点,当时觉得自己年轻、身体好、精神足,996算起来一天不过12个小时,去掉吃饭时间,一天也就9到10个小时,完全没有任何问题,对当时热衷于外企、国企、考公的同学非常的不理解,于...
继续阅读 »

作为一个没有啥家底的小镇做题家,在去年选Offer阶段时,工作强度是我最不看重的一个点,当时觉得自己年轻、身体好、精神足,996算起来一天不过12个小时,去掉吃饭时间,一天也就9到10个小时,完全没有任何问题,对当时热衷于外企、国企、考公的同学非常的不理解,于是毫不犹豫的签了一个外界风评不太佳但是包裹给的相对多的Offer,然后便有了现在的心酸感悟。

入职前的忐忑

在一波三折终于拿到学位证后,怀着忐忑的心入职了。忐忑的原因主要是入职之前我并不知道我要入职什么部门,很怕我一个只会Java的后端被分配去写C++,毕竟Java是最好的语言,打死不学C++(手动狗头)。 也担心被分配到一个没有啥业务复杂度、数据复杂度的业务部门,每天CRUD迎接着产品的一个又一个需求,最后活成了CRUD Boy没有什么技术沉淀。又担心去和钱相关的部门,害怕自己代码出Bug,导致公司产生资损。

就这样忐忑着听完了入职当日上午的培训,中午便被我的mentor接走了,很不幸,我被我的mentor告知,我恰好被分在了和钱最直接相关的部门,我的心陡然沉重起来。

这里给出我最诚挚的建议,选Offer最好选一个实习过的部分,次之就是签了三方后去实习一段时间,如果发现部门的味儿不对或者和自己八字不合,此时还有机会跑路,以很小的代价换一家公司,不然毕业后入职就宛如开盲盒,万一遇到了很不适应的部门,交了社保、几个月的工作经验,到了市场上可谓是爹不疼娘不爱,比着校招时候的境遇差太多了。

熟悉项目的第一个月

得益于和钱相关,我部门的需求都不是很紧急,领导的态度是宁愿需求不上,也不能上出问题。所以每一个需求都没有说产品火急火燎的推动着要上线,都是稳扎稳打的在做,给予了开发比较充足的自测时间。但是呢,另外一方面,由于部门的业务领域比较底层,所以接手的项目往往都已经有了两三年的历史,相信写过代码的同学都知道,写代码的场景中最痛苦的那就是读懂别人的代码然后在别人的基础上进行开发,尤其是读懂几年前已经几经几手的项目代码。

第一个月刚进入公司,只是在熟悉项目代码,没有啥需求上的压力,相对来说还是比较轻松。遇到不熟悉的直接问靠谱的mentor,mentor也给热心的解答还是很幸运的。每天吃完公司订的盒饭。下楼转悠一圈就觉得美滋滋。

这个时候其实觉得,996不过如此嘛,好像也没有啥压力,真不搞不明白有啥可怕的。

进入开发状态的第二个月

在熟悉的差不多后,我就开始慢慢接手业务需求了,坦白的说,由于我接手的项目比较成熟,新接入业务需求往往不需要做什么开发工作,只需要做一些配置项,需求就完成了。 然而呢,作为一个几年的老项目,当然是处处埋的有彩蛋,你永远不知道哪里就会给你来一个惊喜。于是呢,我的工作开始变成,寻找代码中的彩蛋,搞明白各个配置项的含义,以及他们究竟是怎么组合的,然后和上下游联合对数据,发现数据对不上,就需要再埋进项目中一丝一缕的分析。

这个时候已经有些许的压力了,如果因为自己成为整个需求的卡点,那太过意不去了。于是开始每天勤勤恳恳,吃盒饭也没有那么香了,饭后散步的脚步也不再那么的愉悦,这时候开始感受到了肩上的压力。

本来我是坚决第一个离开工位下班,决心整治职场的人,但是往往在debug的路上,不经历的就把下班时间延长了一点又一点。而又由于在北京、上海这种大城市,住在公司旁边往往是一种奢望,导致我每天有较长的通勤时间。工作日一天下来,差不多就是晚上回去睡觉,早上醒来没有多久就出门赶地铁。

日复一日,就有一种流水线上螺丝钉的麻木感,周末往往一觉睡醒就结束了,感觉日子很重复,没有一些自己生活过的痕迹。

努力调整状态的第三个月

积极主动,是《高效能人士的七个习惯》中的第一个习惯,也是我印象最深的一个习惯。既然困难无法克服,那么咱们就要主动解决。


工作中,努力开拓自己的视野,搭理好手中的一亩三分地的同时,仰头看看上游,低头往往下游,对他们的业务也多一些学习,理清楚自己工作的业务价值,同时呢,在当好一名螺丝钉之外,也尝试着找出整个流水线的可优化点和风险点,尝试着给出自己的解决方案,同时积极梳理已有的项目代码的技术难点,是如何通过配置化来应对复杂的业务场景,是如何通过自动重试保证数据一致性。

生活中,周末即使比较累了,但是努力也不再宅在家中,一刷手机一整天,而是尝试着做一些比较有挑战或者更有回忆的事情。比如沿着黄浦江骑行。


比如自己下厨做几个菜


比如邀请三五好友玩个桌游


比如通过图书馆借一些杂书来消遣


对后来人想说的话

部门与部门之间的差异,很有可能比公司之间的都要大,选择Offer尽可能的选一个实习过的、或者比较熟悉的部门,能有效避免开盲盒踩雷的风险。没有绝对完美的公司,即使好评如潮的外企、券商类公司,我仍然有一些不幸运的同学,遇到了很卷的部门,平时要自愿加班或者在公司“学习”。

即使遇到了困境,也需要保持积极良好的心态,退一万步想,即使工作丢了,但是咱们的身心健康不能丢。为了这几斗米,伤了身体,是非常得不偿失的。

在选Offer的时候尽量一步到位,以终为始,如果目标瞄定了二线城市,其实我个人不太建议为了某些原因比如对大厂技术的热衷、对一线城市繁华的向往而选择当北漂沪漂,漂泊在外的日子都比较苦,而且吃这种苦往往是没有啥意义的。

我是日暮与星辰之间,一名努力学习成长的后端练习生,创作不易,求点赞、求关注、求收藏,如果你有什么想法或者求职路上、工作路上遇到了什么问题,欢迎在评论区里和我一起交流讨论。

作者:日暮与星辰之间
来源:juejin.cn/post/7159960105759277070

收起阅读 »

程序员能有什么好玩意?

从业10年了,看看一枚老成员都有什么好玩意(有个人的、同事的、公司的……)。【多图预警!!!摸鱼预警!!!】 桌面预警 桌面上放了个二层小架子,之前还有个盆栽的,可惜死掉了,悼念&缅怀+1。 喷雾预警 好几年前的习惯,之前是理肤泉的喷雾。当年的我还是...
继续阅读 »

从业10年了,看看一枚老成员都有什么好玩意(有个人的、同事的、公司的……)。【多图预警!!!摸鱼预警!!!


桌面预警


桌面上放了个二层小架子,之前还有个盆栽的,可惜死掉了,悼念&缅怀+1。


image.png


喷雾预警


好几年前的习惯,之前是理肤泉的喷雾。当年的我还是很暴躁的,需要一点水分帮我降降温,不过,当编程没有啥思路的时候,喷一喷感觉还不错。


image.png


养生预警


西洋参


有个同事是吉林的,某一天送给我一个山货大礼包,其中就有这瓶西洋参参片。偶尔会取几片泡水,当然喝茶的时候更多一些。【咖啡基本是戒了】


image.png


手串


年前,我领导说想弄个串儿盘着,防止老年痴呆。


我就买了些散珠自己串了些串,团队内,每人分了一串儿。


自己也留了些手串,每天选一串佩戴,主要是绕指柔的玩法。


image.png


image.png


image.png


茶事


喝茶也又些年头了,喝过好喝的,也扔过不好喝的。最近主要喝云南大白,家里的夫人也比较喜欢,


香道


疫情的风刮过来,听说艾草的盘香可以消毒杀菌,就买了盘香,还有个小香炉。周末在家会点一点,其实没那么好闻,但是仪式感满满的。


手霜


大概是东北恶劣的天气原因,办公室的手霜还是不少的,擦一擦,编码也有了仪式感。


盆栽


公司之前定了好多盆栽,我也选了一盆(其实是产品同学的,我的那盆已经养死了)。


image.png


打印机


家里买了台打印机,主要是打印一些孩子的东西,比如涂鸦的模版、还有孩子的照片。


image.png


工作预警


笔记本


大多用的是Mac,大概也不会换回Windows了。


image.png


耳机


还是用的有线耳机,没赶上潮流。哈哈


image.png


键盘


依然没赶上机械键盘的潮流,用的妙控……


面对疾风吧!


之前客户送的,小摆件。


image.png


证书


证书不少,主要是毕业时候发的,哈哈哈。



  1. 前年,公司组织学习了PMP,完美拿到了毕业后的第一个证书。

  2. 公司组织的活动的证书OR奖杯(干瞪眼大赛、乒乓球大赛、羽毛球大赛等),最贵的奖品应该是之前IDEA PK大赛获得的iwatch。

  3. 年会时发的证书。作为优秀的摸鱼份子,每年收到的表彰并不少,大多是个人的表彰,还有就是团队的证书,当然我更关心证书下面的奖金。

  4. 社区的证书。大致是技术社区的证书,嗯嗯,掘金的就一个,某年的2月优秀创作者,应该是这个。


家里的办公桌


夫人是个文艺女青年,喜欢装点我们的家,家里的办公桌的氛围还是很OK的。当然工作之余,也喜欢和夫人喝点小酒,我喜欢冰白,同好可以探讨哈。


image.png


悲伤的事情


疫情


疫情对我们的生活影响还是比较大的,特别是对我一个大龄程序员而言。


未来


今年打算给家庭计划一些副业,有余力的情况下,能够增加一些收入。人生已经过去了半数,感悟到生命的可贵,感情的来之不易,愿我们身边的人都越来越幸福。


作者:襄垣
链接:https://juejin.cn/post/7195814363692089403
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

非科班三本程序员入行这几年

一直以来都想写下自己的经历,今天看了下掘金的前辈们写的经历,觉得也有点感慨,恰逢最近工作也不是很如意。也想写点什么,缓解下焦虑紧张的心情。 我09年中考,考了512分,没能过县里的一中公费分数线。家里条件不好,所以去的县二中。一开始我也没想好到底是继续读书还是...
继续阅读 »

一直以来都想写下自己的经历,今天看了下掘金的前辈们写的经历,觉得也有点感慨,恰逢最近工作也不是很如意。也想写点什么,缓解下焦虑紧张的心情。


我09年中考,考了512分,没能过县里的一中公费分数线。家里条件不好,所以去的县二中。一开始我也没想好到底是继续读书还是去打工,家里的姐姐初中毕业就因为家里穷辍学去打工了,老父亲从小也是上过高中的,那个年代上高中还是很少的,可能对读书也有点执念,希望我继续读下去。当时去二中的想法很简单,虽然成绩不是很好,但是觉得年龄还小,出去打工感觉这辈子还有的是时间,不如去高中试下水读的好就继续读,读不好就像老家大多数年轻壮劳力一样,出国打黑工赚点快钱,过个几年回家娶个媳妇,大家不都是这么过的吗?心里暗暗觉得也是不错的。


WechatIMG12.jpeg


09年开始了高中的学习生活,虽然刚开始来的时候是抱着试试的态度,但实际上我也算是个有干啥像啥的本性,在高中一直也都算是努力学习着,虽说高考成绩不尽如意,但也算是尽力了。我们高中是县里的二中,每年的二本上线的学生屈指可数,我一般的考试成绩基本维持在全年级理科13名左右,高考考了457分,当时也纠结要不要复读一年,县一中打电话说我的成绩可以在县一中免费复读,我又抱着要考个好学校的决心决定再试一次,可到了复习班以后,根本没这个心情,复习班在7月就开始了上课,我只读了三天就回家了,当时在复读班静不下心来学习,实在是读不下去。


WechatIMG11.jpeg
12年7月10号左右,跟随着几个高中同学去了市里的工地,干起了暑假工。一边干暑假工,一边想着填报志愿。虽说考的分不高,但是还是决定要继续读书,说不好到底为什么要读书,家里条件又不好,可能冥冥中就是宿命吧,也可能是对打工生涯的一种逃避,也可能是对大学的幻想,也可能是幻想着读了大学就会实现阶级的跨越。


到工地第一天的早晨,早上吃的看不见几个饭粒的稀米粥,不知道食堂老头从哪里搞来的很难吃的馒头,像是假的一样没有一点面的味道,菜就是那种最便宜的萝卜咸菜。这吃食,就算监狱也不过如此吧! 吃饭完,宿舍门口来了一车木板,那种木匠用来支模板的木板子,上面还有好多钉子,我在车上卸货,被扎了好几次,天上还下着濛濛细雨,但工长丝毫没有让我们停下来进屋的意思。就这样顶着雨卸完了一车货。工地的宿舍也是常人无法想象的脏乱差,那种很多年的砖瓦房,里面的床铺能大幅度晃动,我在上铺根本不敢动,上去了就是稳稳的趴着或坐着。宿舍长度大概有两间房那么大,里面还在过道摆满了几根大铁管子,铺下面摆满了垃圾和剩饭,还有写日常的脸盆饭缸等。


宿舍大概有十来个人,我下铺住着的是两个开塔吊的工友,当时听说一天150元,我们这种力工一天80元。门口住着的是小工长,负责给大家分活。里面的有调度塔吊的师傅,有开搅拌机的,还有个老头专门筛沙子,还有个老滑头是在楼上负责清理垃圾的。宿舍的晚上呼噜声震天响,7月的天气要把人蒸熟了,不知道这样的日子我能坚持到多久,感觉这种生活真的是折磨。每天早上七点上班,晚上七点下班,中午休息一个半小时。我在这期间,刚开始几天跟着工长放线,超平,后来跟着大叔开了几天搅拌机,听这个大叔说,他家的孩子也读了大学了,他还给孩子在市里买了楼。我心想我要有这么能挣钱的爸爸就好了。再后来工地打灰,也就是用那种水泥罐车和喷水泥的机器来给楼上供水泥。在打灰时候,我负责拎着那个震动棒的电机,水泥灰喷到哪里,就要用震动棒震一下,确保水泥凝固时没有空心的。震动棒的电机是真的沉啊,还要在水泥路里面来回趟着走,还要再拎着电线。当时我还是个18岁的孩子,感觉人生真的好难啊!再后来工地没活时候跟着大叔去其他工地做售后,給人家的下水道通下水,当时是去了六个核桃的研发单位,里面开着空调,到处飘着核桃露的香味,每罐核桃露打开抽取少部分的样品就倒掉了,我心想要是不到掉让我喝个痛快该有多好啊。在修下水道这几天,庆幸的是这里有空调,比起外面像烤箱一样的日子,感觉更舒服一些。


在工地干了十多天后,实在是受不了工地的生活就回家了。最后报考了省里的一所三本院校,到了大学以后,好像一下没了目标,每天除了上课学习外,也有更多自己的时间了,有的人想去学生会锻炼一下,有的人趁有时间开始谈恋爱,那时候12年手机还没有那么多娱乐的应用,用的最多的还是qq,游戏也只有奋斗小鸟,削水果,赛车等。我刚上学用的酷派的什么3gs,花了300块买的,是同学中最次的那种。心里莫名有一种自卑的感觉。当时觉得学生会真的没啥锻炼人的,像是一种虚假的官职一样,好多学生觉得当上了学生会就是领导,高别人一等。这种做派实在看不惯,也就一直没加入其中。谈恋爱就更没我啥事了,家里穷没自信,虽然有时候也有萌动的时候,但是清醒后,还是觉得谈恋爱不适合我。回顾大学的生活,现在也令人向往,没有赚钱的压力,也没有学习的压力,还有很多随意支配的时间,还有很多同学可以一起陪着玩,也许这就是这辈子最幸福的时光吧。


14年夏天,时间一晃大二结束了,我学的是土木工程,那个暑假在学校附近找了个设计院打算提前感受下工作的生活。我进的组是设计院的结构设计组。相对互联网行业的产品,开发,测试,运营。设计院也有一套的研发流程,有整体方案设计,建筑设计,结构设计,给排水等。虽然每天没有工资,但是也每天都按时上下班,14年的时候,在设计院里已经预感到行业的萧条,我们设计院在我们市里还算不错的私企,但是都没有什么活,好多人工作几年还是拿着一千块的基本工资,住着公司提供的免费宿舍,这样的待遇别说买房娶媳妇了,维持生活都难。那时候开始我就想着要作出点行动了,这个行业已经不行了,不能以后眼看着自己往火堆里跳。大概在设计院呆了一个月后,我回家了,我觉得在设计院没啥前景,学习也没啥太大意思。


到大三结束,好多人开始找实习单位了,也有一些牛鬼蛇神的公司来学校宣讲,看了下没有啥正经工作,除了销售就是些没人去的工作。我内心也有点荒,家里没钱,也没背景,自己这三年更是没学到一点本事。接着开始逛了下人才市场,发现根本没有啥正经岗位,索性直接去了几个工地,问家人要人不,工地的人可能也没见过这样的找工作的,对我们来工地找工作感到很奇怪,没等我们多说就把我们打发走了。恰好后来同学群里说我老家有个人招房屋土地测量的,管吃住还能有1200的实习工资。我心想反正也比呆着强,就去试试吧。到了单位应该是6月17号左右,所在地是一个工厂里面,租了几间办公室和宿舍。做的工作是到农村里面测量每家房屋实际占用的大小,天气很炎热,我干了大概一个月左右吧,就辞职不干了,觉得是在是没啥意思,学不到本事,以后也不可能做这个行业了,当时觉得以后是不会再从事建筑行业了,没有一点希望。


2015年7月13号,我直接买的票从保定到北京报名培训。在北京报名了android开发的培训。当时我一个高中同学在那里,我也算投奔她去的吧。当时我觉得趁现在还没有毕业,还有时间踏踏实实静下心来学点本事,要真等到毕业,那可真的就没时间也没机会了。同时也觉得建筑行业看不到未来,计算机起码是凭个人能力找工作,总不可能啥也不会凭关系进公司吧。之前在设计院实习时候,有个同事是研发经理,大学时候学的是机械的,我想着他都能转行我肯定也可以。还有就是在实习期间,有个考研宿舍可以住,就和计算机专业的几个同学一起住一个宿舍,也算是稍微了解了下这个行业。就这样误打误撞进入了这个行业,有时候甚至觉得冥冥之中是命中注定要从事这一行。有些事真的是说不清楚,可能就是命里的安排,当时报名费是一万五千元,我这么穷的家庭居然也敢报名,能上学都是极限了。可真到报名时候,我爸居然同意了,同意我花钱培训。虽然我本来打算贷款培训,但是需要家里人签字,家里人觉得要真的想培训那就全款交学费吧,在她们印象中,贷款还是太危险了,觉得搞不好就陷入高利贷中一样。


潘家园桥.jpeg


即使站在风口上,也没有一帆风顺的事。找工作入行也同样费尽了周折。12月培训结束后,跟着同一期的同学投简历,觉得自己还是啥也不会,很幼稚的也跟着去面试,以为也许某个傻瓜公司领导能看中我。现在想想自己那时候还是想当然了,以为像培训公司宣传的一样,培训完了就能找到工作,甚至能月薪过万。我想着自己虽然不过万,能找个五千月薪的也行啊,起码能自己养活自己,不用在工地上忍受风吹日晒,而且周六日都不休息。跟着投了一周简历后没有收到任何面试通知,可笑的是,我舍友有面试机会,后来我就和他一起去面试了,只要他收到面试邀请,我也跟着一起去,他面试完了,我也顺便面试一下。结果也可想而知,根本没人要我。


眼看着在这耗下去也不是个办法,吃住用度也比学校贵,就先回学校了。在学校一边复习培训的内容,一边准备学校的考试。想着过了年再去北京试试。


过了年,也就是大四的最后一个学期了。我这时候虽然没有培训的贷款,也没有助学贷款,但是因为买了个新电脑和平时用度比较多,借了点贷款。同时来北京找工作租房子等花费也比较多,找工作也就压力更大了。好在找到了一个工作,在丰台那边,月薪3500,虽然低点,但是总算能入行了,心里很高兴。这家公司基本都是应届生或者没毕业的,做的工作也都不是很懂,都是些很低端的外包工作,我和CTO说我的领导啥也不会,写的东西我觉得还如我写的呢,啥也不是。领导说那要不你来搭个框架?我说我也没这个实力,结果没过几天,我被通知走人。就这样我职业生涯的第一份工作还不到一个月就结束了。后来又在朝阳区找了个月薪4000的工作,同样也是因为能力不足,被老板赶走了,第二份工作也是一个月左右。这时候也快毕业了,开始回学校准备毕业设计,一边准备毕业设计,一边学习编程技能,盼望着毕业后能找个如意的工作,做毕设期间,是最后一段无忧无虑在的大学时光,不在北京那种高节奏环境下,不再想找工作的烦恼,感觉身心很放松,拍毕业照,吃散伙饭,送走一个个同学,大学生活仿佛像一场梦一样,梦醒了,人生的烦恼接踵而至。


本来想记录下最近几年的焦虑,没想到一写起来就铺垫太多了,写了好多关于上学和家庭的琐碎。


16年夏天,大学毕业后,又杀回了北京,虽然接近半年的学习和有小部分的工作经历,但是投简历还是仿佛石沉大海,看着招聘网站上写的要求3年工作经验,仿佛是我无法逾越的鸿沟。我痛苦着,绝望着,也许是毕业与失业的同时遭遇,一个人在出租屋里终于爆发了,一下子开始痛哭流涕,想起了前几天毕业时候有的同学难过的哭了,当时我没哭,这一刻终究还是没忍住。振作起来后,又开始找工作,去了一个清华硕士的创业项目,同样也是做了一周,工资也没要我就又离职了。我觉得这个人也太不靠谱了,招几个人啥都没有就开始创业?更像是忽悠人。这时候我想着既然北京没机会,何妨不去天津试试呢,就这样,我投了几家天津的公司,从北京坐火车去天津面试。恰好有一家要我了,看上去这家公司还挺靠谱的,有宽敞的大会议室,整洁的工位。当时心里很开心,希望这次能稳下来。


入职天津公司后,工作了一年多,到17年10月我裸辞来北京面试了,因为我知道,迟早是要来北京的,和天津的工资差太多了,工作时间越长差距越大,想趁着年轻多在北京赚点钱。就这样又入职了北京一家做零售的小公司,给自动贩卖机上的android系统做售卖。干了三天又跑路了,觉得和互联网行业仿佛是两个行业,公司也小,人也很少,即便稳定,我也不想留下来。过了几天又面试了一家小的创业公司,在慈云寺那边,同样是因为和同事不合,干了将近五个月,觉得老板不靠谱又离职了。


再后来从18年4月到现在又先后入职了三家公司,都算是比较靠谱的公司,年薪也从20+到现在的40+,最近感觉又遇到了瓶颈。虽然这几年一直从事安卓开发。但是说实话没有什么真本事,能力更谈不上有啥大的突破,每次跳槽都是临时背题。本来这篇文章想写写这几年我是怎么混的这么惨的,工作六年多还是没有达到六年经验应有的水平。
WechatIMG19.jpeg
从16年下半年开始就跟着动脑学院的安卓视频课程学习,学的越多,感觉不会的越多,自己基础差,学历低,又不是科班出身,所以压力很大。结果可能是走了很多歪路,到17年下半年,花了很多精力在乱学,没有什么章法,虽然平时也注重安卓的一些基础,但是觉得进大公司还差的太多。后来18年学了很多音视频相关的ffmpeg,C语言,WebRtc,音视频编解码基础,OpenGl,还有黑马程序员的JavaWeb开发等等学的很杂。当时想着虽然主营安卓,但是如果靠着音视频这条专项应该会很吃香吧,结果并没有学到音视频开发应有的高度,Android相关的也没有太大的提高,导致在开发市场并不是很吃香。学JavaWeb主要是想着以后去别的新一线城市能够更有优势。


后来想多学习下Grade.Kotlin等,发现项目中用不到的话,光学效果也不是很好。所以又开始学习计算机基础相关的,这也是受陈皓指点的吧,想成为高手就要从计算机系统,网络,C语言等开始学起,也确实坚持了小半年,看了计算机操作系统,汇编语言,还有些极客时间里面的一些Linux等。也有跟着哈工大的李志军老师学习计算机操作系统。看了这些之后,还是觉得自己真的没办法踏下心来一心学下去,这里有大神坚持下去并有收获的可以指点一下。


WechatIMG14.jpeg
总之吧,入行程序员做Android开发这几年,我不后悔选择这一行,是这份工作让我从一穷二白,到现在靠自己结了婚,也买了房子。但是也有遗憾,遗憾的是没能够像众多优秀的开发者一样,达到行业内较高的高度,现在只能说是一个没有任何核心竞争力的随时可替换的螺丝钉。


现如今还是想找到自己的目标,希望自己能够朝着这个目标不断努力,能够让自己能够在开发的行业里多干几年,尤其是今年这种环境,谁也说不好明天还是不是还在公司。但是什么才是目标呢?每天刷题准备面试让自己保持这种面试的竞争力难道就是目标吗?没完没了的看框架源码,学习新知识这样让自己能够不被这个行业淘汰难道就是普通开发者的目标吗?


还是像那些大神那样下狠功夫把各种基础的计算机理论学透?如果是这样只是学不运用于工作又能有多大的收获呢?


哎 可能是上高中时候被洗脑养成的焦虑的性格,也可能是身处这个行业,这个城市让自己无形之中就会有思想上的包袱。先写到这里吧,后面有新的理解和收获再来补充。


作者:热爱打工
链接:https://juejin.cn/post/7199555741630595133
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

工作 7 年的老程序员,现在怎么样了

犹记得高中班主任说:“大家努力考上大学,大学没人管,到时候随便玩”。我估计很多老师都这么说过。 我考上大学(2010年)之前也是这么过的。第一年哥哥给买了个一台华硕笔记本电脑。那个年代买华硕的应该不少,我周边就好几个。有了电脑之后,室友就拉着我一起 cs,四个...
继续阅读 »

犹记得高中班主任说:“大家努力考上大学,大学没人管,到时候随便玩”。我估计很多老师都这么说过。


我考上大学(2010年)之前也是这么过的。第一年哥哥给买了个一台华硕笔记本电脑。那个年代买华硕的应该不少,我周边就好几个。有了电脑之后,室友就拉着我一起 cs,四个人组队玩,那会觉得很嗨,上头。


后来看室友在玩魔兽世界,那会不知道是什么游戏,就感觉很好玩,再后来就入坑了。还记得刚开始玩,完全不会,玩个防骑,但是打副本排DPS,结果还被人教育,教育之后还不听(因为别的职业不会玩),就经常被 T 出组。之后,上课天天看游戏攻略和玩法,或者干脆看小说。前两年就这么过去了


1 跟风考研


大三开始,觉得这么混下去不行了。在豆瓣上找了一些书,平时不上课的时候找个自习室学习。那会家里打电话说有哪个亲戚家的孩子考研了,那是我第一次知道“考研”这个词。那会在上宏微观经济学的课,刚好在豆瓣上看到一本手《牛奶面包经济学》,就在自习室里看。刚好有个同院系的同学在里面准备考研,在找小伙伴一起战斗(毕竟,考研是一场长跑,没有同行者,会很艰难)。我一合计,就加入了他们的小团队。从此成为“中国合伙人”(刚好四个人)中的一员。


我那会也不知道毕业了之后能去哪些公司,能找哪些岗位,对于社会完全不了解,对于考研也是完全不了解。小团队中的三个人都是考金融学,我在网上查,知道了学硕和专硕的区别,也知道专硕学费贵。我家里没钱,大学时期的生活费都是自己去沃尔玛、麦当劳、发传单挣得,大学四年,我在沃尔玛工作超过了 2 年、麦当劳半年,食堂倒盘子半年,中途还去发过传单,暑假还去实习。没钱,他们考金融学专硕,那我就靠经济学学硕吧,学硕学费便宜。


从此开始了考研之路。


2 三次考研


大三的时候,报名不是那么严格,混进去报了名,那会还没开始看书,算是体验了一把考研流程;


还记得那次政治考了 48 分,基本都过了很多学校的单科线,那会就感觉政治最好考(最后发现,还是太年轻)。


大四毕业那年,把所有考研科目的参数书都过了 2 遍,最后上考场,最后成绩也就刚过国家线。


毕业了,也不知道干啥,就听小伙伴的准备再考一次,之前和小伙伴一起来了北京,租了个阳台,又开始准备考研。结果依然是刚过国家线。这一年也多亏了一起来北京的几个同学资助我,否则可能都抗不过考试就饿死街头了。


总结这几次考研经历,失败的最大原因是,我根本不知道考研是为了什么。只是不知道如果工作的话,找什么工作。刚好别人提供了这样一个逃避工作的路,我麻木的跟着走而已。这也是为什么后面两次准备的过程中,一有空就看小说的原因。


但是,现在来看,我会感谢那会没有考上,不然就错过了现在喜欢的技术工作。因为如果真的考上了经济学研究生,我毕业之后也不知道能干啥,而且金融行业的工作我也不喜欢,性格上也不合适,几个小伙伴都是考的金融,去的券商,还是比较了解的。


3 入坑 JAVA 培训


考完之后,大概估了分,知道自己大概率上不了就开始找工作了。那会在前程无忧上各种投简历。开始看到一个做外汇的小公司,因为我在本科在一个工作室做过外汇交易相关的工作,还用程序写了一段量化交易的小程序。


所以去培训了几天,跟我哥借了几千块钱,注册了一个账号,开始买卖外汇。同时在网上找其他工作。


后面看介绍去西二旗的一家公司面试,说我的技术不行,他们提供 Java 培训(以前的套路),没钱可以贷款。


我自己也清楚本科一行 Java 代码没写过,直接工作也找不到工作。就贷款培训了,那会还提供住宿,跟学校宿舍似的,上下铺。


4 三年新手&非全研究生


培训四个月之后,开始找工作。那会 Java 还没这么卷,而且自己还有个 211 学历,一般公司的面试还是不少的。但是因为培训的时候学习不够刻苦(也是没有基础)。最后进了一个小公司,面试要 8000,最后给了 7000。这也是我给自己的最底线工资,少于这个工资就离开北京了,这一年是 2015 年。


这家公司是给政府单位做内部系统的,包括中石油、气象局等。我被分配其中一个组做气象相关系统。第二年末的时候,组内的活对我来说已经没什么难度了,就偷偷在外面找工作,H3C 面试前 3 面都通过了,结果最后大领导面气场不符,没通过。最后被另外一家公司的面试官劝退了。然后公司团建的时候,大领导也极力挽留我,最后没走成。


这次经历的经验教训有 2 个,第 1 个是没有拿到 offer 之前,尽量不要被领导知道。第 2 个是,只要领导知道你要离职,就一定要离职。这次就是年终团建的时候,被领导留下来了。但是第二年以各种理由不给工资。


之前自己就一直在想出路,但是小公司,技术成长有限,看书也对工作没有太大作用,没有太大成长。之后了解到研究生改革,有高中同学考了人大非全。自己也就开始准备非全的考试。最后拿到录取通知书,就开始准备离职了。PS:考研准备


在这家公司马上满 3 年重新签合同的时候,偷偷面试了几家,拿到了 2 个还不错的 offer。第二天就跟直属领导提离职了。这次不管直属领导以及大领导如何劝说,还是果断离职了。


这个公司有两个收获。一个是,了解了一般 Java Web 项目的全流程,掌握了基本开发技能,了解了一些大数据开发技术,如Hadoop套件。另外一个是,通过准备考研的过程,也整理出了一套开发过程中应该先思而后行。只有先整理出


5 五年开发经历


第二家公司是一家央企控股上市公司,市场规模中等。主要给政府提供集成项目。到这家公司第二年就开始带小团队做项目,但是工资很低,可能跟公司性质有关。还好公司有宿舍,有食堂。能省下一些钱。


到这家公司的时候,非全刚好开始上课,还好我们 5 点半就下班,所以我天天卡点下班,大领导天天给开发经理说让我加班。但是第一学期要上课,领导对我不爽,也只能这样了。


后来公司来了一个奇葩的产品经理,但是大领导很挺他,大领导下面有 60 号人,研发、产品、测试都有。需求天天改,还不写在文档上。研发都开发完了,后面发现有问题,要改回去,产品还问,谁让这么改的。


是否按照文档开发,也是大领导说的算,最后你按照文档开发也不对,因为他们更新不及时;不按照文档开发也不对,写了你不用。


最后,研发和产品出差,只能同时去一波人,要是同时去用户现场,会打架。最后没干出成绩,产品和大领导一起被干走了。


后面我们整体调整了部门,部门领导是研发出身。干了几个月之后,领导也比较认可我的能力,让我带团队做一个中型项目,下面大概有 10 号人,包括前后端和算法。也被提升为开发经理。


最后因为工资、工作距离(老婆怀孕,离家太远)以及工作内容等原因,跳槽到了下一家互联网公司。


6 入行互联网


凭借着 5 年的工作经历,还算可以的技术广度(毕竟之前啥都干),985 学校的非全研究生学历,以及还过得去的技术能力。找到了一家知名度还可以的互联网公司做商城开发。


这个部门是公司新成立的部门,领导是有好几家一线互联网经验的老程序员,技术过硬,管理能力强,会做人。组内成员都年轻有干劲。本打算在公司大干一场,涨涨技术深度(之前都是传统企业,技术深度不够,但是广度可以)。


结果因为政策调整,整个部门被裁,只剩下直属领导以及领导的领导。这一年是 2020 年。这个时候,我在这个公司还不到 1 年。


7 再前行


拿着上家公司的大礼包,马上开始改简历,投简历,面试,毕竟还有房贷要还(找了个好老婆,她们家出了大头,付了首付),马上还有娃要养,一天也不敢歇息。


经过一个半月的面试,虽然挂的多,通过的少。最终还是拿了 3 个不错的offer,一个滴滴(滴滴面经)、一个XXX网络(最终入职,薪资跟滴滴基本差不多,技术在市场上认可度也还不错。)以及一个建信金科的offer。


因为大厂部门也和上家公司一样,是新组建的部门,心有余悸。然后也还年轻,不想去银行躺平,也怕银行也不靠谱,毕竟现在都是银行科技公司,干几年被裁,更没有出路。最终入职XXX网络。


8 寒冬


入职XXX网络之后,开始接入公司的各种技术组件,以及看到比较成熟的需求提出、评估、开发、测试、发布规范。也看到公司各个业务中心、支撑中心的访问量,感叹还是大公司好,流程规范,流量大且有挑战性。


正要开心的进入节奏,还没转正呢(3 个月转正),组内一个刚转正的同事被裁,瞬间慌得一批。


刚半年呢,听说组内又有 4 个裁员指标,已经开始准备简历了。幸运的是,这次逃过一劫。


现在已经 1 年多了,在这样一个裁员消息满天飞的年代,还有一份不错的工作,很幸运、也很忐忑,也在慢慢寻找自己未来的路,共勉~


9 总结


整体来看,我对自己的现状还算满意,从一个高中每个月 300 块钱生活费家里都拿不出来;高考志愿填报,填学校看心情想去哪,填专业看专业名字的的村里娃,走到现在在北京有个不错的工作,组建了幸福的家庭,买了个不大不小的房子的城里娃。不管怎么样,也算给自己立足打下了基础,留在了这个有更多机会的城市;也给后代一个更高的起点。


但是,我也知道,现在的状态并不稳固,互联网工作随时可能会丢,家庭成员的一场大病可能就会导致整个家庭回到解放前。


所以,主业上,我的规划就是,尽力提升自己的技术能力和管理能力,争取能在中型公司当上管理层,延迟自己的下岗年龄;副业上,提升自己的写作能力,尝试各种不同的主题,尝试给各个自媒体投稿,增加副业收入。


希望自己永远少年,不要下岗~


作者:六七十三
链接:https://juejin.cn/post/7173506418506072101
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

程序员35岁不是坎,是一把程序员自己设计的自旋锁

有时候,我是悲伤的,这一路走来,从大专第一次接触电脑,学习编程,到现在这四五年的摸爬滚打,好不容易让自己拥有经验,灵活工作了,却要思考35岁这个程序员的诅咒,确切来说是中国程序员的独有的诅咒。 优秀的程序员思维逻辑严谨,弄清楚需求的本质是每天重复的工作,也是...
继续阅读 »

有时候,我是悲伤的,这一路走来,从大专第一次接触电脑,学习编程,到现在这四五年的摸爬滚打,好不容易让自己拥有经验,灵活工作了,却要思考35岁这个程序员的诅咒,确切来说是中国程序员的独有的诅咒。



优秀的程序员思维逻辑严谨,弄清楚需求的本质是每天重复的工作,也是对工作的态度,那弄清楚诅咒的来源,义不容辞。


被诅咒的35岁




  • 35岁后找不到工作了!

  • 35岁后被开了!

  • 程序员的年轻饭,就是35岁!

  • 昨天群里还有同学在聊,如何利用硬件加Linux绕过35岁的梦魇。



其实有人这么说过,也有公司这么做过,他们认为人在35岁以后,注意,说的是人,这一个庞大的群体,而不单指程序员,他们认为在当今互联网快速发展的时代,程序员在35岁后会有以下限制




  1. 技术变化快:技术的更新换代速度非常快,一些老旧的编程语言和技术已经被新技术所取代,这些新技术可能需要程序员重新学习和适应。所以有些人认为年龄大的程序员可能不如年轻的程序员适应新技术。




  2. 年龄歧视:有些雇主可能会偏向招聘年轻的程序员,认为他们更具有创新和学习新技术的能力。




  3. 职业发展:程序员的职业发展路径通常是从程序员到高级程序员,然后是技术主管或项目经理等。他们认为在这个年龄段还没有对应到这个发展行列中的人能力可能是欠缺的。




  4. 完全是年龄歧视的,他们不会在意你能创造的价值,就是认为你不行。




其实分析上述几个点之后,发现,企业拒绝的不是一个35岁的人,而是一个35岁后不满足需求的人,试着分析一下,企业为什么会这样思考?


知己知彼,百战不殆


经过五六年的开发,我可以从我观察的角度分析一下,为什么会将不满足需求的人加上35岁的枷锁。


其实,一个35岁的程序员自己应该要达到35岁程序员应有的高度。


而企业要求的不是一个未满35岁的程序员,而是拒绝一个35岁了,经验还不满足需求的程序员。


从开发中总结,什么样的程序员在给35的程序员不断自旋枷锁


在从零到一的项目中,新手程序员往往会更加注重技术的应用,对今对技术、对需求、对公司存在敬畏之心,他们在开发当中不会随便的乱用一些技术,他们也对项目的规范存在尊敬的态度。一个经验丰富的程序员。假设他不遵守项目的规范,你给他任意一个需求,他都能轻松的完成,但是他从来不会care设计模式,从来不会思考需求的扩展维护以及健壮。那长此以往下去之后这个项目将会面临以下两个问题。
说白了,一个经验丰富的程序员,如果不听从领导的安排自己又对自己代码的要求特别低,因为他们编写的程序一般会按时按点完成需求,测试仪不会存在大量的bug,所以他们认为他们在公司当中是稳定的存在。这就导致企业认为指挥不了的程序员就是这些年龄大的程序员,就是这些程序员,再给自己的35岁自旋加锁。


从0到1的项目,经验丰富而低要求的程序员更容易造成项目的失败


代码人生中介绍了架构和开发的关系,一个项目在经历一段时间的开发之后,往往体现的是研发的规模、投入的成本、增长的效益都会增大,这也是一个公司发展壮大的必经之路。


从开发的角度分析


一个项目第一个版本的投入,可能是三个程序员在两个月的时间完成了第一个版本的发布,并且第一个版本的发布当中基本覆盖了这个应用的90%的功能,从第二个版本开始,每一次需求的研发,时间都将比第一个版本开发的时间更长,而做的东西更少,并且在这个过程当中开发的人数会逐渐增多,简单来讲,研发的人数和需要研发相同需求的时间看下面这一张表。


image.png


image.png


从企业的角度分析


在他们的眼中,当初三个人两个月开发的代码数量,是我们现在大版本当中,10个人两个月开发数量的好几倍,就在他们眼中是我们开发的生产力太低了,但是在扩张招聘当中,从程序员的角度,招聘的一定是经验丰富的程序员,这就让企业认为我们有经验的程序员,也就是说,年龄大的程序员造成的生产力的底下。


image.png


失败的原因真的是大龄程序员吗?


其实我们简单分析一下就可以知道,造成这个像失败的原因,从技术角度单纯来讲,就是因为架构的失败,或者是没有约束的开发模式造成的,因为我们开发一个需求的时间长短,更多的是在维护之前的代码,一个新的需求的插入需要改动太多太多的代码,屎山的代码也就是这么来的。


打破年龄枷锁,其实企业需要的是这样的程序员


所以我们不能浪费多年的开发经验,时刻谨记导致上述问题的原因,不管你是领导者还是程序员,一定要杜绝上述问题的发生,从企业的角度出发,规范自己的编程行为,从现在开始解掉这个枷锁。晋级的思想系列中会总结更多的技巧,总结更多的经验。
主要还是需要将架构的思想深刻到记忆里,让每一行代码都透露着设计的气息,让代码优雅,让内存合理,让扩展更强,让程序更健壮,努力让自己保持以下状态,也要养成一些好的习惯。



  1. 技术能力和知识面:一个经验丰富的程序员应该掌握广泛的编程语言和开发工具,对计算机科学原理、数据结构和算法等基础知识有深刻的理解。此外,一个架构能力强劲的程序员应该能够将技术知识转化为实用的解决方案,设计出高效、可扩展、可维护的系统。

  2. 代码质量:一个经验丰富的程序员应该写出易读易懂、清晰简洁的代码,并遵守编程规范。一个架构能力强劲的程序员应该对代码结构、模块化、可重用性等方面有很高的要求,避免代码臃肿、不易维护的情况。

  3. 项目经验:一个经验丰富的程序员应该具备多个项目的经验,能够处理项目中出现的各种问题,并能够在团队中合作开发。一个架构能力强劲的程序员应该能够根据项目需求制定适合的架构方案,提高系统性能和可扩展性。

  4. 学习能力和思维方式:一个经验丰富的程序员应该能够持续学习新技术和知识,保持对行业的敏锐度。一个架构能力强劲的程序员应该能够独立思考和解决问题,具有系统化思维方式和架构设计的能力。

  5. 持续学习:程序员需要不断学习新的技术和工具,了解行业最新的趋势和发展方向,以便在架构设计和代码编写中使用最新的技术和最佳实践。

  6. 阅读优秀的代码:阅读优秀的代码可以让程序员学习到别人的优秀经验和架构设计,借鉴别人的思路和方法,以此提高自己的写作和设计能力。

  7. 代码重构:程序员需要对自己的代码进行重构,将代码进行整理、简化和优化,使其更加易读易懂、易于扩展和维护。代码重构可以帮助程序员不断改进自己的代码质量和架构设计。

  8. 设计模式和架构模式:程序员需要学习和掌握各种设计模式和架构模式,以此帮助自己设计出更加稳定和可扩展的系统。

  9. Code Review:让别人对自己的代码进行Review是提高自己的写作和架构能力的一种有效方式,因为Review者可以帮助发现代码中的问题并给出改进意见。

  10. 编写文档:程序员需要编写清晰、易懂的文档,以便让其他人了解自己的代码和架构设计,这可以帮助自己更好地理解自己的设计思路,发现潜在的问题并进行改进。


总结


虽然可能会对年长的程序员造成一些挑战,但这并不意味着35岁是程序员的限制年龄或诅咒。年长的程序员通常具有更多的经验和技能,并且会在其他方面表现更优秀,比如领导能力、项目管理和客户沟通等。


因此,年龄并不应该成为评价程序员的唯一标准。


作者:狼窝山下的青年
链接:https://juejin.cn/post/7201668416171262011
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

从事架构师岗位快2年了,聊一聊我对架构的一些感受和看法

作者简介 架构师李肯(全网同名) 在深圳白手起家,毕业不到4年实现一线城市核心地段的安家梦,从0开始谱写励志人生!一个专注于嵌入式物联网架构设计的攻城狮,2022年度RT-Thread社区杰出布道者,期待您的支持与关注! 标题:从事架构师岗位快2年了,聊一...
继续阅读 »

作者简介


架构师李肯(全网同名)
在深圳白手起家,毕业不到4年实现一线城市核心地段的安家梦,从0开始谱写励志人生!一个专注于嵌入式物联网架构设计的攻城狮,2022年度RT-Thread社区杰出布道者,期待您的支持与关注!





标题:从事架构师岗位快2年了,聊一聊我对架构的一些感受和看法



职位不分高低,但求每天都能有新的进步,永远向着更高的目标前进。





时间是过得真快,就这么一晃就快过了2年了。自2021年5年以来,跌跌爬爬,在架构师的岗位上也快“混”迹2年了,是时候好好静下心来梳理梳理,好好想一想接下来的路该怎么走,如何才能获得更大的提升,毕竟留给快35岁程序猿的时间已经不多了。


下面,我想结合自己的经历,谈一谈自己对架构师岗位的感受和想法,也是希望这样能够更好地提醒和鞭策自己,时刻不要忘了,你的本职工作是一个【架构师】。


踏上新的征程


时钟拨回到2年前,那是2021年5月的那个夏天,因个人原因我向前东家提出了离开,留下曾经一起奋斗过的小伙伴。


在前东家时,我是挂职【资深嵌入式软件工程师】,也曾带领过一个小团队,7-8人,做出过一些成绩,也曾为公司的业绩扛过一些靶子,但终究还是职业发展的考虑,我选择了退出。


正是有萌生提出之意时,在脉脉上有位HR找到我,说是有个【嵌入式架构师】的岗位要找资深研发,对嵌入式开发的要求比较高,有没有兴趣试试。


说实在,之前我也不知道有公司会专门招聘【嵌入式架构师】这样的岗位,但我是知道一般的研发团队中,总是会有人要负责【架构】的工作,而且肯定得是团队中最资深的那一帮人在搞架构的事情。


就这样抱着好奇心,我就参加了那场面试,没想到的是那场面试非常的愉快,跟我的面试官(也就是我现在的老大)聊得非常投机,再后来工作上也的确给予了最大力度的支持和认可,有一种求得知音的感觉。


就这样,一场很顺利的面试结束,复试了2轮,顺利拿到Offer,于2021年5月份入职。


而在2022年末的特殊时期,我也顺利得到老板的认可,成为了公司的小股东。


祥文可见:成为了公司股东,而我却失眠了!


也是从那时候开始,我萌生了【架构师李肯】这个技术IP。


test


架构是什么?


架构,本文中特指【软件架构】。坦白说,架构是一个比较虚的东西,它不像实物那样看得见摸得着,而是一种抽象的概念在里面。


恰巧,最近ChatGPT不是非常火吗?要不,我们来问一下它,看看它对架构的理解是怎么样的?



提问:架构是什么? 回答:架构是一种分层模型,用于描述软件系统的结构和行为。它定义了软件系统的模块、接口、职责和关系,从而使软件系统可以更好地满足用户的需求。



下面谈一下我对架构的理解:



架构是一种抽象的软件设计,它要着力于用技术的手段解决业务上遇到的可伸缩、可扩展、性能优、易用性等难题。


一般来说,一个优秀的软件架构,必须要满足横向可扩展,纵向可伸缩,系统性能还要能够看得住一定的压力测试,同时,对架构的使用者而言,应该有非常清晰易用的API接口,在整个设计中需要充分考虑架构的易用性。


就拿我现在做的嵌入式系统架构来说,毫无疑问,这里需要的架构就是必须支持各种对接业务的功能模块可以可快速扩展和和裁减,同时对硬件底层的抽象设计足够抽象,以便于架构快速地移植在各个芯片平台上。而且,各个芯片平台的性能特性需要发挥到最佳状态,满足各种商用的需求。另外,对应用开发团队也需要提供非常明确的API接口和文档,以便于基于该软件架构快速输出软件,达到商业落地的目的。



架构师到底是干什么的?


这个问题我相信外行人都比较迷,于是我先用这个问题问了一下ChatGPT,得到的答案是:



提问:架构师到底是干什么的? 回答:架构师是一种计算机技术专家,负责设计和构建软件系统或网络架构,以满足业务需求。架构师需要深入理解业务和技术,以确定系统的需求,并设计合适的架构,以满足这些需求。架构师还负责评估和选择合适的技术,实施和监控系统,以及维护系统的性能和安全性。



嗯,好像有点道理。那么,我顺着这层思路再补充谈一下我的看法。


回到了上面【什么是架构】这个问题后,我再结合我的实际工作内容说说我的这个架构师到底是干嘛的。我分为几个点来阐述:




  1. 架构师首要解决的,就是复杂多变的业务需求中,分析并提取中核心需求,并加以抽象设计,以便于使用软件技术解决这样的需求难题;这就要求架构师一定是对核心业务非常熟悉的,否则可能你设计的架构就偏离了实际业务需求,这无异于纸上谈兵,哪怕架构设计得再优秀,都无法落地。

  2. 对提取的核心需求进行拆解:提取出对应的可扩展性、可伸缩性、易用性、性能要求等各个方面的需求,形成需求矩阵,针对各个需求,分别设计核心架构,满足业务需求。

  3. 架构师可以说是业务需求跟应用开发的一个衔接者,对上是对业务需求团队负责,对下是对应用开发团队负责,这里面的汇总、分析、设计、协调都是必备的技能;他所要解决的是两个团队面临的迫切问题。

  4. 对内,还需要负责核心技术难题的攻关:遇到团队中的疑难技术问题,需要攻关介入的时候,毫无疑问,架构师团队要冲在最前面,为后面的业务团队和应用开发团队铺平前进的道路。

  5. 对外,还需要负责业内核心前沿技术的调研和学习:这里面是一个进阶学习的过程,每个架构师团队必须要保持一定的学习能力,观测业内的技术架构方向,不一定非得追最新最热的技术方向,但至少你要能懂,这项新技术能帮我们解决什么样的问题。也许,将来我们就能用上它。



你的终极目标又是什么?


去年年末的时候,我写过一篇文章,叫 【架构师李肯】带你走进架构师的一天


里面有这么一章节:



正好俗语所说:“不想当将军的士兵,不是一个好的士兵!”


换到我身上,我认为是:“不想当CTO的架构师,不是一个好的架构师!”


我的更远大目标就是,有朝一日,挂帅CTO,至于迎娶白富美的后话,就还是别了,早已心有所属。


回想自己一路升级打怪,从技术小白,踏入助理工程师的岗位,慢慢提升自己,开始走向中级工程师,逐渐可以独立接项目了,锻炼了一些日子,开始担任高级工程师,开始考虑更全面了,需要承担技术攻坚的重任;再后来,跨越到资深工程师,也开始带团队了,不再单兵作战,需要为团队负责到底;而现在,架构师一职,承担的不仅仅是本部门的技术工作,还需要宏观考虑技术的延展性和前瞻性,某些情况下甚至关乎着整条业务线的生存,不可谓影响不大。


而如果走向CTO的岗位,那直接就关系整个公司的技术脉络,这可直接影响公司的存亡,压力和挑战并存。


我有时候也问我自己,准备好了吗?我希望我自己能给出肯定的答案:“ Yes,I’m ready !"


img



回到现实吧,朝着你的目标前进就好了,希望就在眼前。


如果你想成为架构师该如何提升自己?


这个问题可能也是大家比较关心的,同样的,我们也问一下ChatGPT吧。



提问:如果你想成为架构师该如何提升自己? 回答:



  1. 学习计算机基础:要想成为架构师,首先要掌握计算机的基础知识,包括计算机硬件和操作系统等。

  2. 熟悉编程语言:掌握多种编程语言,比如C,C++,Java,Python,Go等。

  3. 学习网络技术:熟悉TCP/IP,HTTP,FTP等网络技术,了解网络安全技术。

  4. 熟悉数据库:学习并掌握多种数据库,包括MySQL,Oracle,MongoDB,Redis等。

  5. 了解框架:掌握各种框架,比如Spring,Hibernate,Struts,MyBatis等。

  6. 学习容器技术:学习容器技术,比如Docker,Kubernetes等,掌握微服务架构。

  7. 了解分布式:学习分布式计算,掌握分布式存储,消息队列,大数据,云计算等技术。

  8. 实践经验:多积累实践经验,学习不同的架构设计思想,不断完善自己的技术水平。



好吧,答案跟我想的完全不太一样。毕竟我目前专注的嵌入式系统架构设计这一块。


但是我认为架构的核心理念是一致的,你需要扎实的基础技术知识来铺垫,最重要的是培养自己敏锐的【架构】思维。


比如用到一个很好用的框架,一个很帮的开源项目,多去想想别人是如何从【架构】去考虑问题的,同时又是如何设计这个【架构】已满足这些需求问题的,多动脑子去思考和整理,慢慢积累起来就会有比较敏锐的【架构】观。


又比如我们学习和使用的Linux系统,它里面可是浓缩了世界各地最优秀的那帮码农的精华,包含了大量的【架构】设计理念,而我们作为它的使用者和开发者,更是应该深入学习它,可以是某一模块的设计,或者某一类模型的设计,等你能把这些架构摸透了,差不多你也就成了架构师。


常言道:【书中自有黄金屋】,我个人觉得看对应领域的专家级书籍,也是一种非常棒的学习方式。站在巨人的肩膀上,可以帮助你爬得更快,升得更高。


经常在后台收到小伙伴的私信,问我有没有在架构方面比较优秀的书籍推荐。


这不,最近刚出了一本书籍,叫《持续架构实践》,它的一推出,立马轰动业界。


作为架构领域的从业者,我第一时间拿到了书本,匆匆看了几章,有种酣畅淋漓的感觉,甚至有种相见恨晚的意味。



软件架构领域正在爆发一场新的革命。Gartner权威发布2023年十大科技趋势之一 “可持续IT架构” ,可持续架构得到越来越多从业人员认同。创建和维护可持续的软件架构对于架构师和工程师而言也是一项巨大的挑战。



感兴趣的朋友,可以多关注一下这本书,尤其是希望从事架构师岗位的小伙伴,也许它能帮你解开很多心中的疑团。


image-20230214123213729


更多关于《持续架构设计》书籍的介绍,请参考社区帖子介绍,详见 bbs.csdn.net/topics/6134…


附图


这里有朋友好奇ChatGPT的玩法,又没有合适的工具来体验,所以来问到我,我用我那8毛钱的Python技术写了一个小工具,只需要输入API-KEY就可以了,不需要代理,也不需要fanqiang,可以试用试用。


image.png
这个小工具,有需要的可以私我,友情共享。


作者:架构师李肯
链接:https://juejin.cn/post/7200221724045508667
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

勇敢的小伙是回家妥协还是趁年轻再拼一把(我的七年)

你好我是小李,今年还不到23周岁,是一个工作不到4年的前端程序员。你可能好奇为什么一个23岁的人能有3年多的经验,这也是面试时很多HR问我的问题。其实答案很简单,我17岁的时候就开始上班了。讲讲我的故事:我从前是一个不爱学习的坏学生,迷恋游 戏导致从老师口中的...
继续阅读 »

你好

我是小李,今年还不到23周岁,是一个工作不到4年的前端程序员。

你可能好奇为什么一个23岁的人能有3年多的经验,这也是面试时很多HR问我的问题。

其实答案很简单,我17岁的时候就开始上班了。

讲讲我的故事:

我从前是一个不爱学习的坏学生,迷恋游 戏导致从老师口中的优等生变成一个没考上高中的学渣。知道中考结果的时候对我震惊很大,但也在意料之中。该怎么办,去电子厂打工,还是去上职校?

最终选择还是去了济南某3+2大专,因为非常喜欢玩游戏,所以选择了计算机专业。但我选的班级又跟普通3+2大专有所不同,因为他是跟北大某鸟联合创办的就业班。在学校学了很多东西,Java,C#,前端,数据库,设计都有,毕竟外面的培 训机构一般是学三个月,我们学了两年。但当时也是年纪尚小,也没学会多少东西就面临着第一次实习。(我们3+2是上两年学实习一年再上两年)

进入社会开始工作:

第一次步入社会找工作的时光也挺怀念,同学们三五结伴出去,穿着西装打好领带出去面试。没错穿西装,学校强制要求的,一群17 18岁的小孩穿西装去面试。那时候有很多培训机构给以招人的名义让你去面试,然后忽悠要培训,我们回来就把不靠谱的公司写黑板上,当时写了一黑板的公司名称。

后来侥幸让一家算上老板行政共三个人的公司录取,写VB.NET(现在后端技术已经忘干净了)。但干了一周就跑了,一个人当八个人干,天天加班。

然后就开始面试,顺利的被某内的人事忽悠学了设计,学习三个月,两万块钱。因为老师一直催要实习证明,自己比较着急,某内当时以UI设计师的岗位邀我去面试,后来说技术不行,但给你一个内部培训的机会,那个人事给我说了很多,弄得我当时脑子一片空白,糊里糊涂就签了培训合同,后来想明白已经为时已晚。

其实我当时在某内学的还算不错,因为在前两年的课程中学过一些PS的东西,当时想要不以后就转行做设计师吧,就放弃了后两年大专的课程,去考了个成考大专。找工作的时候还算顺利,被一家医疗器械公司录取,做起了平面设计。

在这家医疗器械公司认识了很多朋友,并且现在还有几个一直保持联系,体会到了挣钱的不容易。一次公司要做一个简单的企业宣传网站,知道我是学软件开发的,就安排给了我。当时设计工作很闲,这个网站不需要后端,前端死页面贴几张图那种。这个网站做了三个周左右吧,当时技术菜,并且前端课程中占比很少,就边做边查资料,搞定自适应,调浏览器的兼容性。在做的过程中,突然有了不甘的心理,学了两年的软件就此转行真的不甘心,每天上下班近三个小时的车程就在看前端教学视频(当时看的是渡一教育,那个老师讲的很好)。

随后工作了一段时间就提了离职,离职原因:我要做软件开发,我要当程序员。

离职后找了几家工作,有一家正好招前端和设计的,看我两个都会,把我招了去面试。很巧面试官了解我的学历情况他说他也是北大某鸟的,也是我这种3+2,不过是济南另一个校区的。技术没怎么问,就问我会不会,会不会的我都回答了会,然后济南项目部的老大就问我能不能接受出差,去上海总部,我说能,第一天面试入职第二天早上六点就坐上了去上海的火车(那时我还没18岁)。


坐了12个多小时的火车腰酸背痛,虽然是硬卧但也不舒服。出了车站第一次去大城市,看着外面的灯红酒绿,感叹着十里洋场烟花地的美丽。后来上海的同事说要在站内坐地铁去,就去售票机买了地铁票,坐了人生中的第一次地铁。

出了地铁按着导航到了五角场,晚上的五角场真好看。跟着导航进入了五角场的一个商场,不争气的手机进去就没信号了,说实话当时真的慌,偌大个商场找不到出口在哪,东西南北也分不清,拎着个行李箱满地跑。后来上海的同事来接的我,才安全到公司。

到了公司没有想象的这么好,公司主要做硬件的,各种设备各种工具堆得满办公室都是,每个人就一个小隔间作为办公桌。公司领导看我没吃饭给我订了盒饭,大概到了11点跟着加班的同事回了宿舍。宿舍的环境也是相当的差,马桶是坏的,要自己用舀水冲,幸好住的地方离五角场近,没事可以去那里玩玩。

就这样过了两周吧,老板突然说要拉我去现场,他开车带着我们走了好久,打开地图看居然都出了上海,到了江苏。目的地是江苏的一个汽车组装厂,公司做的物联网系统要放在一辆概念车的展车上,为近期的虹桥车展做准备。组装厂是封闭的,24小时开着灯,不看手机不知道外面是白天还是黑天。每天都有饭送到跟前,睡醒了吃,吃完了干活,累了就睡觉那种。

终于熬到了车展,第一次逛了虹桥会展中心,真的很大,看到很多很帅的车。车展后待了没几天就提了离职,这种睡醒上班,累了就睡的工作太折磨人了。其实一直是想去外滩看看的,但到离职也没去成。

离职后就回了家,在家玩了一段时间又回到了济南,找了一个外包公司的工作。这家外包公司主要用的技术是uniapp框架,员工近百人,入职要求很低,只要是一周内能用uniapp框架做项目就行。我之前看过vue的视频,学起来uniapp也很容易,成功入职。

这里的门槛低,接的项目多,做成的却没几个,平均一个月一个App项目,隔三岔五就有找上门的甲方。最终以公司发不下来工资结束了这份工作。

这时候到了2019年12月份也是武汉疫情爆发的时候,因为是农村,可以出门但不能出村,整天和发小一起打王者,放了个小长假。

年后三月份,看着疫情没有那么严重了,就签了离乡保证书(就是出了当地无论目的地有没有住处能不能找到工作你都不能回来),回了济南。

因为会了uniapp这项技能入职了一家做养老项目的公司。开始后端就两个,前端没有,是一个实施在弄前端,他也会,但会的不多。公司不大,到最后也才不到十个人,前端基本上是我自己在弄,或者我写一个简单的页面让几个实施去改成类似的页面。就这样过了一年,感觉项目没有前景,并且公司一年涨薪50元人民币感觉太少了就离职再次去了上海。

为什么选择上海,对比北京这里住房比较方便,北京住四环五环工作地点却在二环每天要挤地铁太麻烦,对比广东深圳那两个又太远了。


到了上海,第一目的地是北蔡。在家的时候联系了一个租房中介,想在浦东找一份工作。跟着中介到了小区,算是个老破小吧,房子很旧,小区门口的垃圾堆了很多。到了屋子里床垫里面的弹簧都出来了,窗子的玻璃坏了一半,另一半是塑料布糊上去了,风一刮哗哗的响。那也没办法,1900多的房租押一付一还要给中介一千多的中介费,也可能被坑了,但就这样吧,一个外地人到一个城市现找工作只能这样。出门去超市买了床被子还不是棉的,自己带的夏凉被当褥子垫身子底下。三月份的上海到了晚上比北方好不了多少,床垫的弹簧硌的腰疼,冷风通过墙上空调管道开的洞传到屋子里,被子上盖着羽绒服也不顶用,第二天睡醒浑身疼。后来的几天都是穿着一份睡,但也好不了太多。

紧接着就是找工作,不得不说大城市工作机会就是多,但外包外派也多,前两周只考虑浦东和黄浦的工作,面了好多,要么是技术不行被拒要么工资给的低,有几个拿学历低压低工资,但我都没去。到了第三周有点着急,因为就准备找一个月的工作,找不到就回山东,所以把面试范围扩大到了整个上海,只要是不太偏远都行。第二天下午去杨浦面了一家互联网公司,面的时候很不顺利,面技术的时候面了两个多小时。那天就早晨吃了一块面包,面到一半又饿又渴,头晕眼花的。当时我的vue技术也不算是很好,之前主要做uniapp项目了,面完认为自己会凉,可能公司缺人吧,说来试岗一周,可以的话就留下。当时自己感觉这里的办公环境还不错,旁边就是复旦大学,就同意了。

试岗开始是熟悉项目,后来上手做一些东西,前端老大就是面试我的小哥。不懂的他也教我,开始跟他关系不是很好,可能他教我的时候太凶了,我没事就不理他。试岗还算顺利,不是什么很难的东西,但签正式合同的时候我就傻眼了,为什么是一份外派合同,就是说是外派到这个公司的,我问他周围的同事,他们也是这样,我之前是一直抵制进外派的,面试的时候也没跟我说,没办法,在这里待了一周了,每天工作很轻松,外派就外派吧。

每天工作进行着,就是浦东到杨浦通勤时间太久了,就不要租房押金到杨浦复旦大学的对面小区租了一个2360一个月,小区离公司园区就隔着复旦大学。

在公司的工作比较清闲每天准时下班,很少有加班,有很长一段时间没有工作,每天就干坐着翻掘金看技术文档看一天,这段时间对我技术提升很大,小哥有时也会教我一些新东西,慢慢接触发现他人也挺好。当时感觉自己学历不够,报了个网络教育的专升本。周六周天就去外面玩,晚上去黄埔江边吹一吹江风。

突然有一天中午吃饭的时候发现公司园区被封了一栋楼,说是有密接,从这开始上海疫情来了。公司一天天人越来越少,新闻中确诊人数日渐增加。后来上海政府要“鸳鸯锅”式封城法,先封浦东,再封浦西,以黄浦江为界,各封一周。我当时就猜一周是不行的,就准备了两周的泡面零食应对疫情管控。只能说我还是太天真了,疫情封了两个多月,这两个多月我都在吃泡面,一天吃两桶,吃多了不够吃的,买泡面只能通过美团跑腿买,两箱桶面要了我230多块钱。每天核酸检测,抗原检测,新闻上确诊人数疯狂的增加。泡面吃腻了怎么办,就把社区发的油菜叶跟泡面一起泡,但量很少,几次就吃完了。

过了差不多两个月,疫情得到缓解,风险等级也渐渐下降,居家办公的也开始去公司上班了。那时候接近项目交付,开始了加班,有时候加到一两点,但我工作不忙,很多都是后端服务器的问题,我在那加班也只是应对突发问题。后来在上海的那段时间非常想家,我猜应该是因为疫情的太折磨人感觉家无比的温暖,没多久就离职回家。


在家休息了一个多月又回到了济南,找到了一份薪资还算可以的工作,在上海攒了点钱,考了摩托车驾-照,买了辆摩托车。奈何公司产品经理太垃圾,也到了年底,准备离职年后重新找。(谁也不想到最后做出一堆垃圾项目)

时间回到了现在,从老家过完年回济南两周了,年前裸辞的多潇洒年后找工作多狼狈

boos上投了好多,但都是送达。就算是已读不回也行,但大部分都是HR根本没有看。后来在开发群里问了都是这样,很多公司都是在裁人,很少有招的。找了两周工作回我的大部分是外派,弄得我很焦虑,我在想是不是一线城市好找些,要不卖了摩托车再去上海深圳闯一闯又或者回老家找个稳定的工作开始与柴米油盐为伴。

不知不觉写了这么多了,我还以为第一次写不了几个字呢。写了一半的时候跟我妈打了个电话,平时我很少与家人联系,都是她们主动跟我打电话,我妈让我不急慢慢找,打完电话后焦虑的心情放松了下来。

作者:世间有灵
来源:juejin.cn/post/7199235508665008188

收起阅读 »