注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

Demo体验

Demo体验

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

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

低头做事,抬头看路

前言 博主出来搬砖快4年了,在职场摸爬滚打,经历挺多比较难熬的经历,在这些磨练下不断的成长,平时有空的时候我习惯去思考,当然这个跟我的习惯有关系,以前喜欢幻想各种变身机甲战斗,每个男孩子小时候的梦想。 低头做事,抬头看路 这个应该是我感受比较深的一句话,...
继续阅读 »

前言




博主出来搬砖快4年了,在职场摸爬滚打,经历挺多比较难熬的经历,在这些磨练下不断的成长,平时有空的时候我习惯去思考,当然这个跟我的习惯有关系,以前喜欢幻想各种变身机甲战斗,每个男孩子小时候的梦想。



低头做事,抬头看路



这个应该是我感受比较深的一句话,当然也是属于我自己的东西,比如说某个名人说了一句名言,但是你没有去经历过,没有去深入思考,它对你来说就是一句话,只是被名人光环笼罩着,感觉高大无比,其实对你没有什么帮助的。


接下来,找个凳子坐下,听我慢慢讲述~


image.png


低头做事





  • 干好活


我认为这是普通人最实在的一件事,也是最应该去做的,比如说在社会中有很多收入比较低的人群,他们起早贪黑,很辛苦,但是如果他们不这么做的话,可能连生活都成问题,所以努力做事是一个基础。



  • 运气差的时候


如果你读过《易经》里面会谈到人的运气类似周期变化,潜龙勿用,这里我们不讲玄学的东西,当运气差的时候,没有背景,没有靠山的时候,你再怎么吹多厉害多能干,其实是没有多大用处的,这时适合把嘴闭上,把事干好。



  • 建立信任


当你刚刚进入新的团队的时候,leader怎么会把重任给一个新人接手对吧,其实多做事,做好事,这个是建立信任的基础。如果你上来就喊要造飞机搞火箭,可能别人会觉得你是传销毕业的,不太靠谱。


image.png


我认为它是一种比较实在的做法,也是普通人最基本的生存法则,它叫低头做事。


抬头看路




低头做事作为一个基础,那么抬头看路是一个进阶版,快跑者未必先到,力战者未必能克,如果方向错了,努力事倍功半。这部分讲更多的是方法论,一种思想。



  • 方向


作为程序猿,在业界对他是有标准要求的,之前写过一篇文章是阿里工程师修炼素养里面讲到的,就是技术思维、工程思维、产品思维,但是这不是唯一标准,你可以就某一项特别突出,那一定是个人才。但很多人对自己的职业规划还是模糊的,有几方面:


一个是接触的人、事情比较少,如果跟你打交道的都是小喽喽,那你没有机会从大佬身上去学习东西。即使你没有机会接触公司这些中高层,你可以网上认识各大厂大佬,我之前在一个技术群认识很多技术大牛,至少他们可以为你的问题、你的职业抉择提出他们的想法。



毕竟你走的路,他们已经走过了。



一方面是自己没有意识去归纳,你当前这个阶段要求的能力是什么,下一阶段需要的能力、素质是什么,那下一段的要求从哪里去找呢?从你身边的大佬、业界优秀的人身上去找,甚至招聘的jd里面的要求去找。



有时迷茫是正常的,保持前进的心态,积极向上的精神



image.png



  • 参考、借鉴


在实际工作中,有很多需求其实在业界早已有解决方案了,互联网发展了几十年,你碰到的问题其实很多人都帮你踩了好几遍了,在处理这些需求的时候,需要前期的调研,比如业界有哪些优秀的设计或者思想,为什么要采用这种方式解决,跟你心里想的方案有什么差异。


就拿ddd领域来讲吧,其实这个就是换个皮又出来,高内聚、低耦合这个思想一直都是存在的,比如说各种设计模式,还有各种优化,对那些重复的代码进行抽象、聚拢,这个一直在我们身边只是没有给它定义一套方法论出来,ddd就将它讲清楚,并给了对应demo。


甚至是跨界的思维也可以帮你解决问题,这个需要你的抽象能力,就像今天有个同学在我博客下面评论他对ddd那篇文章看法,因为我项目里面应用的比较少,违背各种它的设计理念,我觉得这是大部分人的思维被技术控死了。


我举了个栗子,一棵苹果树砍成树冠,那它还是不是苹果树?大部人会觉得是的,我也是这个观点。就是你目前有结苹果的能力,或者未来有这个能力,也算苹果树。苹果树苗,人家小时候也是一点一点长起来的,又不是一下子就结果对吧。


DDD领域改造一个道理,它是一个过程,它具备往这个方向发展的能力,但是目前没有必要去做这层优化,你说我项目是不是ddd呢?我觉得算是,只是应用程度没有覆盖那么广,但是理论我们需要去了解的。



  • 机会


前面讲过,低头做事为了建立信任,那么抬头看路可以更多为你创造机会,有段时间我的飞书签名:抓住机会,创造机会。



抓住机会,创造机会



我在上家公司的时候,感受比较深,就是即使你做了很多事,其实成就不高的,原因是你干的活不被上面的人重视,或者不是很重要的活。这时你要去发现机会,抓住它,甚至主动请缨,劳资就能把事情干好,干漂亮了。即使是难度很大,要把首战必胜的信心,认真做事态度表现出来。


还有个栗子,很多高收益的项目,就是你做完之后收获很多,可能是荣誉、奖金、信任、赞赏,其实换个人去做很大几率可以干成,所以并不是你埋头苦干就能出成绩,往往属于你的机会就是那么关键几个,把它做好,做漂亮了就可以了。就像我们以前高考,把会答的题写了就已经超过60%的人了。



现在太多的人想着拿90分,但连5分的题都不屑于去做



查理芒格他们有个投资理念:棒球理论,就是有个研究,棒球在某几个格子的时候是最容易击中的,只要把那几个打好就ok了,现在的社会鼓吹一股浮躁的风气,大家都想赚大钱,拿很多荣誉,这是人性的贪在肆虐。



寻找属于自己的机会



感知能力




这个话题偏玄学一点的,当然里面的内容尽可能往实际的场景去靠,不过于虚,对读者也没有太大的帮助。上面我们讲了低头做事,抬头看路这还不够的,因为这局限于个人,人在一个场里面,或者不同场的嵌套,是会被影响的,大趋势一定比你个人的努力还重要的。(这个我觉得是前面两者做好的基础上去提高,而不是还没学会走,开始学飞)



  • 势能


有句话我听过很多次,“一命二运三风水...”,它对个人来讲有木有用呢?这个需要个人去理解、思考的,前面好几个讲的是机会问题,这个是我们决定不了的,闽南语里面“七分靠打拼,三分天注定”是这个道理。另外有个东西是我们可以去感知的,就是势能。


比如说一家技术公司,它是产品强势还是研发,还是测试,他们之间的势能不一样,会影响职场工作、项目推进,因为这是一个比较大的场。


市场也有势能,这东西就像做菜一样,买菜备料,炖的话可能要炖很久,食物才能入味,最后才能发挥它的威力。市场我们也能找到对应的事件,忽然某个社交app一直讲某件事造势,然后其他人跟着喊,然后就扩大了,最终朝着它想要去的地方发展。



个人能力、努力太单薄了,多关注势




  • 推演


这个跟上面还是有些耦合的内容,推演是依据现有的东西,然后根据自己的经验或者过往的经验进行预判。这个在五子棋的时候,ai机器人进行机器学习训练,打败了很多高手,这就是推演的魅力。


这个能力也会被决策者应用,比如说决策树,主要是列出会出现的场景,以及对应的应对措施,预防一些风险。


推演对于普通人来讲也是一项能力,比如说你能否预测下这个月的成长,今年所达到的水平,或者更长时间5年后你成长的模样,你的能力圈层能到哪里。


总结




低头做事,抬头看路,可能几年后荣誉满满、成就满满,也可能平淡无奇,人生也就那样。人生的意义不是得来衡量的,就像很多有钱人不一定就很幸福,因为他们消费水平也上去了,欲望更大了。


人生是一场体验,你在中间经历了什么,成长了什么,收获了什么,酸甜苦辣咸何尝不就是人生的味道。


image.png


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

工作这么久了,不想打工的想法越来越强烈?

每次和我的同学,朋友们电话的时候,他们总是能分享给你他所在行业以及领域的知识,并且对于自己目前的职业也是非常稳定的。 怎么说呢,就是一毕业实习或者找到自己的第一份工作,一干就是四五年,甚至更长。 他们虽然也抗拒过公司作息制度,也担忧过自己的薪资涨幅能不能跟上同...
继续阅读 »

每次和我的同学,朋友们电话的时候,他们总是能分享给你他所在行业以及领域的知识,并且对于自己目前的职业也是非常稳定的。


怎么说呢,就是一毕业实习或者找到自己的第一份工作,一干就是四五年,甚至更长。


他们虽然也抗拒过公司作息制度,也担忧过自己的薪资涨幅能不能跟上同批次的同学,但想归想,但身体总是安分的,在一家公司本本分分的工作下去,到现在不是主管经理就是别的重要职务了。



▲图/ 喝了香槟,咱就是深圳人


毕竟,一个员工在一家企业奋斗,始终最重要的品质就是忠诚,对自己的领导,对自己的公司忠诚,其次是你那出色的个人能力。


这是一个职业人的路线。


虽然和他们本质上都是职业人,但是走的路线已经出现了异同。


很有意思的是,我那同学从毕业就开始在一家公司做到现在,对岗位很敬业,对公司非常忠诚,尽管他知道老板喜欢画饼,相关福利一般般,新一线中规中矩。但还是对老板的愿景表示期待。


可能文字描述敬业已经不顶用了,那就实际情况来旁证吧。由于他所在的是乙方公司,凭借自己的敬业,负责的项目加班加点也要完成,获得了不少甲方客户的赞赏,甚至出现过甲方单独打赏几千,有的高达5k到他的私人账户上。


当然,他的老板也看在眼里,公司需要这种人,在公司已经是很难得的品质了。所以一路到现在,当上了前端组的组长,薪资按照当地中位数来算的话,已经是两倍多了。


这样的品质连我也对他表示致敬。但是在国内,这种能力像是被稀释了一般,任劳任怨的人太多太多。


或许出于站在不同的角度,我总是会敲打他工作的诟病,并引导他对于自身的规划和目的清晰点。


身边人出现了这种品质,使得我每一次的离职也好,换城市也好,都会在那么几分钟怀疑自己,怀疑自己的此举做的是不是正确的。每次出现断舍离总是充满内心活动的。



▲图/ 一个地方,最吸引你的地方是什么?


如果不这么做,内心总是备受煎熬,同时伴随着遗憾。


我尝试着计划安分守己在一家企业干到30岁,40岁,甚至退休。


表示内心仍然很难做到,我的内心总是浮现出一股强烈的自主意识,想去做一些事情,去做一些更加有意义的事情。


有这般想法,我归因于混在一群想法各异,活法各异的群体里面。在我认为的世界里面原来还有另一个世界。这种感觉就好像童年玩魂斗罗,听说有水下8关,总是充满着好奇与探索的心是一样的。


就如此次,本以为今年做足了准备和勇气选择裸辞,处于职业空档期的我会做一些具备个人发展力的路线选择。


事实上,我只是换了一个城市而已,还是一个职业码农。


说起去深圳,我甚至都没有做好充足的准备,仅仅是打算去海边游玩,见一见想见的人。


来了之后,一路上接地气的拖鞋短裤短袖装,一排排的大排档,生活充满了烟火气,那就玩几天吧?


显然,一到工作日,在深圳的伙伴也都基本上班,偶尔走走当散散心了,记录记录写几篇散文也好。


玩着玩着脑海就闪过职业人的想法。


投递着简历试试吧。


嗯?待遇还不不错,工作环境也还不错,还包吃还包住?


那就去吧。



▲图/ 工作餐,吃饭就要积极


十天左右,就没有了空档期,直接动身去上班。


在新入职一个月左右,前前后后忙碌压根没有创作的想法,一股脑地栽在工作上。


渐渐一股无形的力压迫在身上。因为所在的一家是车企,每天都能看到豪车劳斯莱斯,保时捷,宾利等等。一般的车都是见不到,基本上都是各式名车。


能够想象随便一台车都能顶一个人几年的薪资。而经常出入的客户有时只需要一句话就能将车拿下。


不清楚别的同事会有作何感想,至少我偶尔会在下班的路上emo一阵子。这人与人的财富差距,得隔几代人才能追上。


入职时,作为新员工学习了企业的文化,整整三天的洗礼。还是能够学习到一家企业的发展路线,每时每刻做出的决策和不同时期做出的战略,不能不让人佩服。


一个普通人进入金碧辉煌的宫殿,小时候能够在电视剧里看到,现在自己也成了当事人,不说表情,可能连内心活动都如出一辙。


但是作为普通人,也该有普通人的活法,稳扎稳打,逐步向上。


总归要扩大自己的眼界,开放自己的内心。


尽管我的现东家富得流油,但心态并不会规避自己,而是不断融入到集体里。学习他们的方式,学习他们对于不同时期的战略和决策。


也要懂得精于计算得失。 很多人其实不是很懂计算。绝大多数人都是在算计自己会失去多少,而不会算会得到多少。


而一般的人也总是在算短期内会失去什么,优秀则总是会算我投入后未来会有什么样的回报,前者在算计今天,目光短浅,而后者则是舍在今天,得在明天,计算的是未来。


精于计算得失的,就懂得什么是投资,不懂的只会投机。对于赚钱,你可以投机,但是对于自己最好还是投资。



▲图/ 天很蓝,是没想到的


我也一样,待稳定了自己的工作,终归还是需要花费时间和经历来投资自己,无论是在技术上,还是在行业圈子建设,又或者是领域摸索,最终还是以自身为主做出一定的成果。


这并不是承诺,而是一种必要做的过程,这也是出现和我的同学朋友走的路线出现不同的原因。


相比于职业,我更加倾向于借助职业,耳濡目染,以身作则,完备自身的空缺知识,投身于自身成果建设以及财富积累的历程。


那,我们拭目以待吧。


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

记一次蛋疼的debug经历(cycle inside)

甲方公司的大部分业务都是做成私有pod的,本人这次接手的也不例外。由于是二次开发,一开始图方便并没有做成pod而是把业务代码全部放测试工程中。昨天做完之后复制一下前面的.podspec,修改了部分信息后pod install,pod完成以为没问题了,谁知一运行...
继续阅读 »

甲方公司的大部分业务都是做成私有pod的,本人这次接手的也不例外。由于是二次开发,一开始图方便并没有做成pod而是把业务代码全部放测试工程中。昨天做完之后复制一下前面的.podspec,修改了部分信息后pod install,pod完成以为没问题了,谁知一运行直接报错:
cycle inside 工程名: building could producce xxx(后面省略)


这个报错内容还是挺详细的,但一开始没有多想,直接谷歌搜一下,stackoverflow确实有类似问题。发现很多回答也是只会叫你清缓存清derive data,还有叫你用老的编译系统,移动build phases的顺序,甚至还有命令行开启swift编译环境的。我移动了build phases的顺序发现没效果。然后在苹果开发者论坛看到一个教程教你解决库的依赖循环


此时就想着:导致依赖循环的原因难道是头文件的引用出了问题?可是OC的#import也不会重复导入,前面也一直没有报错提示。但也没办法,只能死马当作活马医,先排查了公共头文件,发现确实很多.h都直接引用此文件,于是先挨个解耦。运行,报错依旧。于是继续检查清除一些不必要的引用,还是没效果。


不得已只能重新查看报错信息,其实一开始就已经丢到翻译网页上,只是内容太长,一直没有细看。这时发现报错提到pod在生成图片资源的时候打出来一个'\\\\.bundle',和其他组件一对比明显有问题,于是检查.podspec,发现在设置s.resource_bundles的时候,居然是换行的:


s.resource_bundles = {
'xxx
' => ['xxx/Assets/*']
}

并且图片资源里有子文件夹的,也没有加上**/,修改完之后如下


s.resource_bundles = {
'xxx' => ['xxx/Assets/**/*']
}

修改完重新pod install之后,终于运行成功。真不知道前面第一版是怎么集成进去的。。。


从昨天下午发现问题到现在解决,总耗时估计有6-8小时,果然魔鬼都在细节里。以后还是要认真查看报错信息,不要单纯依赖搜索,更加不要指望清缓存


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

一位普通前端程序媛转行创业阶段小结

背景介绍 我女朋友的身份从一个「前端开发」转变成「创业者」,所以本篇文章重点突出创业后她的一些思考。 采访者:Gopal。受访者:QPQ。 以下标题均为问题,内容均为回答。 采访开始分割线 创业方向 抖音电商(抖店)。 具体的工作就是:前期确定类目,选货,...
继续阅读 »

背景介绍


我女朋友的身份从一个「前端开发」转变成「创业者」,所以本篇文章重点突出创业后她的一些思考。


采访者:Gopal。受访者:QPQ。


以下标题均为问题,内容均为回答。




采访开始分割线




创业方向


抖音电商(抖店)。


具体的工作就是:前期确定类目,选货,进货(商品+打包袋),做商品链接,上链接卖货,谈物流,打包发货,售后,客服,日常运营等。


创业跟「打工」最大的区别是?


最大的区别就是创业需要自己缴社保,打工公司给缴哈哈哈。


然后目前由于是一个人在创业,所以一切的事物都需要自己做包括选货,进货(商品+打包袋),做商品链接,上链接卖货,打包发货,售后,客服,日常运营等, 也就是自己是自己的老板也是自己的员工。


之前工作呢是前端开发,分工明确做前端开发就好。现在是整条链路都需要自己经手,也是一种不一样的体验。


不过这个得话看个人,我自己是乐在其中,虽然所有纷繁杂乱的事情都得自己做,但很有成就感。另外就是身份上的转变,从之前的技术开发关注功能与交互转变为了现在直接接触用户,跟用户产生利益关系的这么一个身份,一种不太一样的感觉。


创业后的生活节奏?


生活节奏呢有时候忙起来真的可以做到废寝忘食,自从做抖店以来直接从50多公斤降到最低时47,减肥很轻松哈哈哈哈。


不过充实的一天忙完之后是最开心轻松的时刻,一般这个时间段我会用来逛公园,吃自己喜欢的。


但是也时长有流量冷淡,生意冷淡的时候,会比较忧桑和焦虑,尤其是突然从很高的流量和单量降到很低的流量和单量的时候心情会很忧桑,也会很焦虑。


另外处理售后也是门考验人的技术活,有时候碰到一些难搞的售后,难受一整天都不在话下,此处心疼所有的客服小姐姐一秒钟。不过通过售后也能发现一些问题,从开店到现在通过不断调整优化目前已经减少了很大一部分售后问题可喜可贺。


创业有遇到什么困难么?


人货场是硬伤。



  1. 人手问题。有时候生意特别好但是人货场跟不上真的很可惜,浪费了流量。这个真是硬伤目前无法解决,只能后面如果越做越好了有能力雇个助理看看。

  2. 场地和囤货问题。



  • 第一是场地受限放货和找货都很艰难,这是硬伤,只能后面有能力了整个仓库试下。

  • 第二有时候有一些产品卖爆了会再搞一大批,回来后发现并没有那么畅销了,就会存在囤货压力。爆款补货真的不能搞多,饥饿营销也是不错的策略,多了就不香了。

  • 第三目前所在地区域距离货品工厂挺远的,拿货也是一个硬伤,相比在货品工厂附近的店家就很劣势。



  1. 经常性会遇到瓶颈期,如何破局有点难搞。目前也正在经历,也做了很多尝试但暂时所有的尝试都还没有突破瓶颈,还需要不断的学习同行和不断的尝试不同的方式来处理这个问题。


未来计划


期望明年的这个时候能有仓库和员工哈哈哈哈,美丽的愿望。




采访结束分割线




最后,我自己总结一下。


首先,我们是深思熟虑之后才做出来的决定,并不是冲动。



  • 我女朋友一直有创业的想法。

  • 我们还年轻,现阶段负担还没那么大。设想,假如到 30+ 岁,那时候,做出一个选择,可能需要考虑的事情就更多了。也就是试错的代价可能没那么大。

  • 我们两个人,起码保证一人还是有稳定收入的前提下。

  • ...


另外,创业真的很艰难,作为一个「陪跑者」,还是有所体会。


最后一点,我觉得只要我们做的事情不违法,不违反道德,不对他人造成伤害,那你想做就去做吧

作者:Gopal
来源:juejin.cn/post/7123914177168703518
收起阅读 »

程序员如何给变量起名字

程序员如何给变量起名字 在编写代码时,为变量命名是非常重要的。良好的命名习惯可以提高代码的可读性和可维护性,使得其他开发者能够更容易地理解你的代码。在这篇文章中,我们将讨论程序员如何为变量选择合适的名称。 规范 首先,需要了解所用编程语言和项目的命名规范。不同...
继续阅读 »

程序员如何给变量起名字


在编写代码时,为变量命名是非常重要的。良好的命名习惯可以提高代码的可读性和可维护性,使得其他开发者能够更容易地理解你的代码。在这篇文章中,我们将讨论程序员如何为变量选择合适的名称。


规范


首先,需要了解所用编程语言和项目的命名规范。不同的编程语言和团队可能有不同的命名约定。例如,Python 中通常使用下划线分隔单词(snake_case),而 Java 和 JavaScript 则倾向于驼峰式大小写(camelCase)。遵循一致的命名规则会使得整个代码库更具统一性,降低学习成本。


见名知意


一个好的变量名应该尽可能描述它代表的实际含义。换句话说,当其他开发者看到变量名时,他们应该能够猜测出它表示什么以及如何使用。


好例子



  • user_name 代表用户名;

  • password_hash 表示经过哈希处理的密码;

  • email_list 是一个邮件列表。


不好的例子



  • x, y, z 这样的简单字母命名无法反映变量的实际含义(除非在特定场景下,如表示坐标或数学公式中);

  • tempdata 等过于泛化,无法直接理解其用途;

  • string1array2 只提供了数据类型信息,但未说明其用途。


避免冗长


虽然应该让变量名具有描述性,但同时需要避免使用冗长的名称。太长的名称可能会导致代码难以阅读和维护。通常情况下,选择简洁明确的单词组合更为可取。


好例子



  • index

  • user_count


不好的例子



  • the_index_of_the_current_element_in_the_list

  • the_total_number_of_users_in_the_database


使用专业术语


如果你正在编写涉及某个领域知识的代码,可以使用该领域的专业术语作为变量名。这将使得对该领域能较好理解的开发者更容易理解你的代码意图。


好例子



  • 在计算几何领域,变量名 centroid 表示多边形的质心;

  • 在密码学领域,变量名 salt 代表加密时混入的额外值。


处理复数


当变量包含一系列对象时,最好使用复数名称。这样可以让读者知道它是一个集合类型(如列表、数组、集等),而不仅仅包含一个对象。


好例子



  • users

  • files


避免重名和相似命名


为了提高代码的可读性,应尽量避免在同一作用域内使用相似或容易混淆的变量名。


不好的例子



  • user_listusers_list

  • convert_to_stringtransform_to_string


结论


良好的命名习惯对于编写高质量的代码至关重要。请确保你所选择的变量名既简洁明了,又具有描述性,并且遵循项目规范。这将使得其他开发者能够更容易地理解和维护你的代码。


作者:牙叔教程
来源:juejin.cn/post/7225490584058724410
>公众号 牙叔教程

收起阅读 »

人生是一场长期的均值回归

我一直觉得记录并收藏每个阶段的状态是一件很有意义且奇妙的事,尤其是多少年后还能清晰地回忆其当初的心境,联想到曾经所设立的一些目标以及为之做出的努力,这些人生经历的脉纹清晰而完整,形成的回荡激扬的动力循环让人长久受益。 所以在即将进入下一个更长远的阶段之前,纪念...
继续阅读 »

我一直觉得记录并收藏每个阶段的状态是一件很有意义且奇妙的事,尤其是多少年后还能清晰地回忆其当初的心境,联想到曾经所设立的一些目标以及为之做出的努力,这些人生经历的脉纹清晰而完整,形成的回荡激扬的动力循环让人长久受益。


所以在即将进入下一个更长远的阶段之前,纪念珍贵的经历,留存美好的记忆,时间是个单向的旅程,在未来的某一刻回忆曾经,挺不错的。


真正的大师,永远怀着一颗学徒的心


尽管计算机科班出身的自己学习了这么多年,对于本专业的某些领域知识却仍然处于浅尝辄止的状态。不过庆幸自己的做事态度,由于存在一些偏执,对于一些方向的学习还做到了令自己满意的成绩。只要认定一个方向,只要开始着手做一件事,那就先做完,不然已经做的努力就白白浪费了。


究天人之际,通古今之变,成一家之言



工程应该包括业务和Infra。业务包括了UI、设计、编码、测试、部署等等,而Infra则包括了相对底层的基础设施平台的开发,其为上层提供服务。



jinengshu.png


还记得最早接触的是Android开发,曾经,2010年后的5年掀起了移动互联网的热潮,跟随着校科研团队的步伐,开始触碰这个方向。15年到17年初,从eclipse到andorid studio,从控件使用到自定义view,从Holo到曾盛极一时的Material Design,从原生开发到跨平台weex、flutter,又了解学习了性能调优、热修复、组件化、插件化、mvp、mvvm等技术,还记得在这个过程中,小程序小游戏也曾盛行一时,不过这个倒是比android简单多了。对于面向用户的终端应用,与服务器进行数据交互自然不可避免,我也因此了解了诸如xutils,httpclient,okhttp,retrofit和glide等库,在学习优雅android设计模式以及极致代码优化的同时,我永对设计这些工具库的Jake Wharton等大神致以最崇高的敬意!


记得16年暑假的时候,我用了两个多月的时间来调试一个andorid与服务端通信的bug,期间辛酸一言难尽,因为没有经验,服务器一直是一个黑盒的存在,这因此促使我去了解网络通信原理和后端开发流程。我也就开始了服务端研发的学习。一个是框架和工具的应用,诸如Netty、SSH、SSM、SpringSecurity、SpringCloud、Zookeeper、MySQL、Redis、Jetty、Tomcat、Nginx、OpenResty、Varnish、Keepalived、Kafka、RocketMQ、Xxl-Job、Seata、ShardingSphere、Docker、Kubernetes、Jenkins等等,一个是设计模式的理解和应用以及代码架构MVC到DDD的理解、迁移与应用,还有架构方面的学习,包括从单体架构到分层架构到微服务架构再到云原生架构以及DevOps的实践等,最后是为了系统稳定而进行的监控系统设计包括用于日志监控的ELK、用于链路监控的Skywalking以及用于指标监控的Prometheus和Grafana等。19年的时候,还和技术大佬川哥一起讨论当年最新的FAAS,这个过程也将我的技术理解和视野带到了一个新的高度。


当然,分布式也是后端不可逃脱的重点内容,包括分布式ID、分布式Session、分布式锁、分布式缓存、分布式文件存储、分布式事务、分布式限流、分布式任务调度、分库分表等等,这里要感谢MIT6.824课程,受益良多!


最早的服务端开发是没有前后端分离这一概念的,所有的前后端资源都集中由一个项目部署,那个时代还是JSP和Thymeleaf的天下。但随着移动互联网的普及以及当今应用复杂性和对实际生产的高性能要求,逐渐产生了诸如SOAP等协议和Restful架构风格,原来的单体项目才开始拆分。但,不论是早期还是架构设计理念有所进步以后,搞后端的人都避免不了对于web基础内容的学习,毕竟最常见的业务还有开发一个常见的管理系统。为此,我又乐此不疲的学习了JS、Html5、JQuery、Vue等技术。不过前端自己了解的都很浅很浅了,在这个过程中遇到的问题还是要请教各位前端大佬,此时,我要感谢我的老同学——房哥,一个人很好的前端开发者,曾一度帮我解决很多问题。


从设计到编码到部署到运维,基本打通了整体流程。在这里,特别感谢在阿里云EBS部门工作的汤兄,曾分享了他在做基础设施时的经验。对Infra的有一定认识后,我对工程的核心点又有了新的理解。


最后,感谢帮我改过简历的每位前辈!


jianli.jpg


冰冻三尺,非一日之寒



你知道的越多,你不知道的也越多



工程领域技术庞大繁杂,所以我对所进行的工作一直在不断的思考和总结,为了更好的于他人分享我的经验以及对诸如高可用、高性能、稳定系统的认识,我对服务端的核心内容以自己的理解进行了总结归纳。跳出技术细节的桎梏,全面考虑问题并有针对性的进行解决。


zongjie.jpg


算法是每个计算机人不可忽视的重要一课,除了可以更好的锻炼思维能力和编码能力,通过算法来学习一些代码的优化设计思想常常也可以用于实际生产之中。比如,我已经和不止一个师弟或同学讨论到某一个具体业务或者问题的解决方案,发现这些本身就是一个个经典的算法问题,如果有所总结和沉淀自然得心应手。所以硕士期间,我除了重新补充了对于专业课操作系统和计算机网络的学习,我还坚持刷了一些算法问题,主要是在LeetCode上。我要感谢我曾经看到的一个博主,奔跑的蜗牛,是他在坚持刷题的过程中不断总结并以录制Vlog的方式来分享才促使我坚持刷题并不断输出,而这一过程让我受益匪浅。


leetcode.png


bzhan.png


博学而笃志,且问而近思


一开始自己还是很浮躁的,总是想把很多内容都搞懂。虽然作为一名技术人,我们要构建一个广泛的知识体系,但技术领域的学习本质应该是一个专注钻研的过程,我们终归是要克制住诱惑,将某个领域做到精深。正如杨老师曾经说过的,“水桶装水量取决于最短板,但是大多数情况下,我们在工作中获取的回报,更多来源于自身的长处”。我在后来也逐渐认识到这一点并及时做出了调整,不过我还是非常庆幸有一段学习过不同领域各种技术的经历,这对我技术眼界的开阔有很大的提升,一个是服务端本身就是要为前端和移动端等平台来提供服务的,如果能对其他平台有一定的认识自然会对自己的编码设计有一定的科学指引,另一个是其他领域的设计思想也可以借鉴到当前领域的许多工作中。博观而约取,厚积而薄发!


感谢一路走来所遇到和知道的前辈,包括做安卓时的郭霖、张鸿洋、赖帆、任玉刚等,做前端时的Vben维护者金毛、在爱奇艺和快手工作过的老同学房哥等,做服务端时的沈剑、许令波、林晓斌、LinkedBear、松哥、Mrbird、小林、汤兄、传奇大佬Robert Tappan Morris等,学算法时的宫水三叶、左程云、闫学灿等。


大胆与礼貌



记录毛姆所著小说《刀锋》里的一段文字:


我并不怕犯错,搞不好会在其中一条冤枉路上,找到人生的目标,人生从来就没有白走的路,每一步都算数。


我们这一生,都怕走冤枉路,都想找到一条捷径,好用最快的速度接近自己的目标。


但事实上,当你并不清楚自己内心最真实的声音的时候,你只有不断尝试,才可能知道什么是适合自己的,就算尝试过后你还是不清楚自己想要什么,但你最起码知道一点,这不是自己喜欢的。



谦逊是青年人进入社会的一种必须常备的状态,但谦卑不是。


这些年的经历,我逐渐感受到因为自己缺乏勇气与自信导致自己失去了很多的机会。自己出身平凡,在见识了很多优秀的大佬后更觉自己渺小,时间长了开始优柔寡断,总觉得自己目前学的做的不充分,不敢去尝试更怕去竞争,患得患失。


鹏哥是我的一个舍友,我们也是七八年的同学了,他是一个性格很好的人,也是一个相当聪明的人,他的逻辑思维非常强,学习能力也很强,经常帮助我们周围很多同学解决很多我们查了很多资料都解决不了的硬件和软件方面的疑难杂症。如果把我们计算机相关专业的同学都放在一起,把我们的生活学习环境比作一个武林,那鹏哥绝对是一个深藏不露的世外高人,他很爱折腾技术,会主动学习一些技能来解决现实生活中的很多问题,比如只要我们去看他正在做的事,看看他的手机或电脑,总会发现很多实用的小工具,有些是他自己写的,有的也不知道是从哪些渠道获取的,但这些工具就是那么的神秘且好用!


鹏哥是我认为周围人里面绝对很出众的一个同学了,但很多时候他得到的往往与他的实力不够匹配,究其原因,也是不够自信,很多事不敢去尝试,总觉得自己的实力有限而不敢有过多的想法,但实际上呢?据我的经历以及我一些朋友跟我分享的一些事看来,总会有很多出身不如你、头脑也不会比你更聪明、技术能力不如你的人做出了非常好的成绩。他们当然很优秀,但如果仅从硬性技能出发而言,他们可能很多还比不上我们,比如我们学的时间更长,积累的编程经验或者理论基础都要超过很多入门才一两年的学生,之所以我们还停留在原地,是很多时候我们忽视了软性技能的培养,我们缺乏那一点初生牛犊不怕虎的干劲和勇气。我们都是普通人,又会有多少人有“秀美的容颜”、“聪颖的天资”、“出众的才华”、“骄人的学业”?如果不能改变自己的心态,即便我们的实力达到了某项任务需要的标准,我们的软实力还是会限制我们的发展。我们出身不如名校学生,如果还一直畏手畏脚,那就更不能在社会上与他们相竞争了。


生活、学习和工作中的很多事,其实本没有那么难,往往是自己不自信的心态为之蒙上了一层恐惧的阴影,之后面对机遇就会胆怯。这些年给我最深的感触就是,我们已经因为缺乏自信和勇气失去了好多机会,而如果有新的机遇让我们来尝试,那我们一定要敢闯,敢干,不怕失败,不畏周围可能存在的偏颇眼光,如果不去尝试那一定不会成功,即使尝试失败了也会成为下一次成功的经验砝码,人生从来就没有白走的路。


自信很重要,大胆一些,礼貌的去问就好了。


愿为江水,与君重逢


江水.jpg


这些年的读书过程中,我结识了与之相处时间最久的谭同学,我们认识了八年,在一个寝室生活就有六年多,自然对于双方的认识是无比的熟悉。谭兄一个非常优秀的人,他头脑聪明、思维敏捷,对于新知识和未知领域永远充满兴趣且会一直不断地探索和求知。做事具有极强的目标性,凡事绝不囿于当前的状态,以最大的自信来追求最接近完美的极致,我经常对他说,“你是我们周围同学中我认为最富有极客精神的那一位”,事实上,谭兄作为全院最优秀的学生同时也是最努力的那一位。


作为良师益友,我们在这八年的过程中,最多的讨论就是关于专业知识学习、技术提高、发展规划等方面的内容。在过去的五六年里,我们进行着不同方向的工作,在自己擅长的领域深耕厚植,当遇到涉及对方领域的问题时,我们都十分乐意交流双方的观点与经验。更为重要的,我十分崇尚开源精神,而谭兄也是非常重视学术交流和论点探讨的人,我们都会毫无保留的分享自己的知识及经验,即使对一方在不擅长某个领域时仍会给予尊重并提供最大的帮助,实现真正的成长。十分荣幸遇到了一个优秀的同学,不仅是在学业上得到了很多帮助,因为熟悉互相脾气秉性,我们也在日常的生活中得到了性格的磨合,在做人做事上也有了很大的进步。


我们终将分别,但想想,我的一生能和几个人共同生活达八年之久呢?一切都是命运,愿为江水,与君重逢。他将到昆士兰去继续自己新的学术研究,我也将准备进入我的下一个阶段。正如谭兄经常说的,我们还要经常保持联系,多交流学术问题,以科研会友,期待能够在KDD等顶会上能够见到对方来参会。而我则希望我们在追求理想的道路上还能相互引为知音,就像一条清澈的小溪在流向大海的途中遇到了另一条清澈的小溪,碰巧这两条小溪还是朝着同一个方向流向大海。祝我们都能实现自己的理想,成为自己想成为的那个人!


这是个拥挤的地方,而我却很平凡


在我读研的这几年里,开始逐渐将自己的精力和工作重心从工程转向科研,尽管如此,我仍然会时常关注工程界大致的一些动向,关注互联网职场人以及北漂青年的一些生活和境况,我喜欢他们忙碌的状态、积极的生活态度以及日常努力生活而表现出的韧性。


鼓楼.png
 


北漂人都是可爱的,不管生活有多少苟且都能够坚持自己的理想,在压力中求生存,平凡而生活更显真实。每个人都有自己选择的生活方式,不管遇到什么挫折与不顺,总要挺过去,毕竟生活总要继续,方向总会有的!


飞鹏各自远,且尽手中杯



君子敬而无失,与人恭而有礼,四海之内皆兄弟也!



友情是散落四处的点点温馨,平时想起一座城市,先会想起一些风景,到最后必然只想起这座城市里的朋友,是朋友,决定了我们与各个城市的亲疏。


很荣幸这些年遇到了一些很好的朋友,曾经的本科同学、如今的研究生同学、工作中认识的朋友以及各种社区交流技术和求职过程中遇到的朋友,不管是校内还是校外,不论是在济南还是在北京、南京、深圳......,他们都在我的人生中的不同阶段提供了极大的帮助。更为重要的是,他们分别从事不同领域的工作,分别在不同地域以不同身份生活,所得到的社会经验和生活感悟对我而言更是弥足珍贵的。


还记得东哥曾经给我分享他从周围人学到的做人之道。如何做一个高情商的人,其实就是与人的交往中要擅于交流,而擅于交流的前提在于你知道的很多,眼界开阔,你能够从容温和的和很多人聊,和不同阶层的人聊相应的话题,打破周围人对你的刻板印象,让自己成为一个有内涵又有趣的人。你的知识储备,你的形象以及谈吐都作为以上的评判标准。


我们终将生活在不同的城市,即使不能时常相见,我们也会随时在对方身处困境或者黑暗时及时的带去援助和光亮。所谓朋友,也只不过是互相使对方活得更加温暖、更加自在的那些人。


时空是个圆圈,直行或是转弯,我们总会相见!


最后


仅以上文来记录我当前阶段的状态与生活。《圣经.启示录》中写道:“我又看见一个新天新地,因为先前的天地已经过去了,海也不再有了”。是的,过去已经过去,未来终将来到,这是一个新的开始。


王小灏

开始于2023年4月1日

完成于2023年4月18日

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

弯道超车的机会

前言 我一直很想把自己思考的东西表达出来,苦于语文成绩差,文字功力不够,想来想去也不知道用什么话来开场。我不喜欢站在高处对别人指指点点,毕竟每个人都不一样,即使你有成功的经验又如何,照样教育不到我,而且成功对于我来说还为时过早。更何况即使人们懂得了道理,在现实...
继续阅读 »

前言


我一直很想把自己思考的东西表达出来,苦于语文成绩差,文字功力不够,想来想去也不知道用什么话来开场。我不喜欢站在高处对别人指指点点,毕竟每个人都不一样,即使你有成功的经验又如何,照样教育不到我,而且成功对于我来说还为时过早。更何况即使人们懂得了道理,在现实中,知行合一的人一直是特立独行的猪,知而不行的人才是沉默的大多数。


但是基于一种可笑的理想,我仍然尽力把自己经历想法分享出来,希望能给你带来一点点的思考。


大学四年


大一


有一天,我在教室里用《生死时速》练习打字。


同学凑过来问这是什么游戏


“抓小偷,练习打字的”


“看起来挺有意思,好玩吗,我也试试”


“你来” 我把电脑递给他


他开始试玩这个游戏,我注意到他第一局就破掉了我的最高记录。


“挺快的” 我称赞道


接下来第二个同学也来试试,我注意到他第二局破掉我的最高记录。


他们不知道的是,我三个月前的暑假开始练习打字,这个游戏我已经练习三个月了。


打字游戏


我报名加入实验室,面试的学长问我会什么


“我学过一些 Python”


“你 Python 学到哪里了”


“函数”


“学到了函数,几乎等于什么都没学,跟他们零基础的同学差不多”


我当时对此嗤之以鼻,不以为然。


三个月前我在网上买了一本《零基础学习Python》的书,封面上的 “零基础”,“全彩”,“快速入门”,“视频教程” 和 “实战项目” 等关键词让我觉得这本书是我想要的。


现在看来这本教材质量十分堪忧。


更加令人毛骨悚然的是《零基础学习Python》还有《零基础学XXX》系列:《零基础学C语言》,《零基础学Java》,《零基础学Android》等。


“得益于” 我当时并没有意识到教材问题的严重性,我大一的对于编程学习效果可以说是微乎其微。


有幸的是学校课程成绩还可以。高数满绩,GPA全班第一。


零基础学习Python


国内除了极少专家外,大部分所谓的 “专家” 撰写的教材的质量堪忧。这种《零基础学XXX》系列的教材,更是质量堪忧中的质量堪忧,感觉是一群商人用来来哄骗刚入门的小白。如果用来当作 “字典” 查询尚可容忍,但是作为启蒙读物无法容忍,让人误入歧途。


对于启蒙书籍的选择容不得半点马虎。对于小白想在短时间评估书籍质量,首先应该咨询自己查询(比如知乎,豆瓣),并且咨询有经验的学长学姐,让他从他确实读过的书里给你一个合理的建议。


大二


发现了《零基础学XXX》系列的教材的质量问题,我在网上找了新的学习资料将之前学过的内容重新学了一遍。


我有幸加入了是食铁兽科技做研发,是一家创业公司,里面的核心人员都拥有我校第一梯队技术或者能力,我学到了一些东西。


stskj


我有幸拿到了元象科技的实习 offer,国内做全真互联网目前最领先的互联网公司。跟我一起进来的实习生有清华大学,复旦大学,香港大学,深圳大学等知名高校的本科甚至研究生,我学历最低。


一次我主持 “云原生监控 Prometheus” 的技术分享会,如果公司使用新方案替代之前的旧方案,能减少 80% 的日志储存成本。


提问环节台下隔壁项目组的 Leader 问我是那个学校的。


“重邮”


“重邮是哪个学校?”


“就是重庆邮电大学”


“重庆邮电大学?”


“邮电学校吧,听说过” 旁边的同事说。


“研究生吗?”


“不是,本科”


“讲的不错”


我向下看着桌脚下的地面,想起了曾今大一的时候去面试重邮新生典礼,我手里拿着稿子,支支吾吾,双腿发抖的场景。心里感触颇深。


大三


我看到学校里充满激情,热血,求知欲,和梦想的同学们通过层层考核进入实验室后,只能自己去学习,去B站,极客等各个网站找项目做。实验室只是提供了一个更好的自习室,实验室的项目是极少的,而且项目的质量甚至不如网上找的项目。


我无意去辩论某些项目,或者网校的项目是否会好些,这种辩论是没有意义的。


我只是看到因为没有项目,同学们独自埋头苦干,主动来实验室的同学寥寥无几,同学之间的交流和互动少,新一届的同学不能很好的借鉴前一届的经验。况且网上的项目并没有服务于真正的用户,你并不需要为你的代码负责,你只需要完成项目,这种项目对于学习的帮助是有限的。


我创立了 “关二爷科技有限公司”,团队核心人员都拥有我校第一梯队技术水平。并且有幸得到了许多在头部互联网就职的学长,创业的学长,和前公司的大佬们的指导和支持。


我们开始开发一款能最大程度降低用户记笔记压力软件 “咕咕笔记”,帮助用户能跟多的记录自己的思考,并且希望未来能不断迭代,帮助更多的人的同时,让实验室的同学能接触到生产级的项目。


遗憾的是后期项目开发进度不及预期,团队核心成员都在忙着找实习,项目暂时搁置,后转交给实验室的同学继续完成。


g2ykj


秋招有幸拿到了阿里,华为,B站,oppo等公司的 offer。


大四


在互联网上我们经常能听到每年能读几百本书的大神。这个速度听起来非常厉害,但是他们究竟用了什么方法来完成这一目标却很少有人关注。


我了解到了主题阅读,如果你想要深入了解某个领域,主题阅读是最好的方式。主题阅读可以同时读3~4本书的阅读法,在熟练后甚至可以同时读30~40本。


说得再简单一些,主题阅读是围绕着某个主题,在一定时间内快速阅读多本书。


比如我做 “如何读书” 的主题阅读。


《如何阅读一本书》:70%的书翻翻目录就行,20%的书需理解框架,7%需要将书读薄再读厚,3%的书需要一辈子反复读。读书应该分多种类型,有对应的阅读规则。


《快速阅读》:传统的读书速度太慢了!大脑得不到充分的使用所以会才会去想其他事情分神。加快速度非但不会影响阅读效果,反而能促进对文章的理解。


罗翔《至法学新人的一封信:关于读书》:读书的目的有功利性的目的和非功利性的目的,前者是为了成功,后者是对前者的纠偏。读书也要非功利性的读书。


《读懂一本书:樊登读书法》:讲书是最高效的沉浸式学习方法,死读书是没用的,需要讲出来给别人听,并且多次安利他个人的樊登读书会。


《这样读书就够了》:不少所谓的读书会主要内容就是把一本书摘抄为5页的PPT或者半个小时的精华干货。殊不知删掉的恰恰可能是最可能帮助学习者内化和应用的东西,留下了最不值钱的核心知识。我们必须区分 “以知识为中心的学习” 和 “以自己为中心的学习”。


因为主题是相似的,所以每一本书都可能有大量的重复内容,这些重复内容理的阅读是非常迅速的。当然,每一本书也有自己的特色,《这样读书就够了》甚至对《读懂一本书:樊登读书法》提到的读书会进行了批判。


因为再好的书也有局限性,甚至可能是错误的。但是大量的书中重复的内容大概率是正确的,而且不同的内容中各种思想会相互碰撞,我们择其善者而从之,就很有可能成为大师。


如何读书书架


毕业论文我准备跳出舒适圈尝试一下区块链,但是它对于我来说是全新的领域,我无法掌控它的难度。


导师催提交毕业论文开题报告,一周后发给她。


我问导师区块链方向有人做过么,效果如何。


“我带的学生没有做过,效果说不清楚”


在提交开题报告的一周时间,我在公司上班的时候抽空对区块链领域进行了主题阅读。


5 天的时间读完了 5 本书,完成了基本的区块链知识的学习。


2 天完成了毕业设计的整个代码部分,并且完成了测试。


建议


上了大学就轻松了是最大的谎言


高中的时候我的老师经常说:“现在你们辛苦点,上了大学,就轻松了”。


我每次听到这种话都想不通很多事:大一新生和高三学生,在智力,能力,经验上,差距有多大?如果大学生能力没有得到提升,和直接高中生的优势在哪里?对于上了大学就跃龙门这种事我是不愿意相信的。


“大学一定不是学习生涯的结束,是开始”


本科教育早已崩溃


我不得不遗憾地告诉大家一个消息:


“国内绝大部分大学的本科教育,已然彻底崩溃。”


我无意争论是否有更好的学校(复旦、中科大、或者清华、北大)比我们崩溃的更少一些。


我也无意列举学校偶然出现的闪光般的措施(如引入MIT麻省理工课程体系,中外合作办学)来说服你容忍余下99%的无意义。


因为任何这些都是欲盖弥彰。


没有老师会对你负责


我看到领导不会为你负责。对于一个争做世界一流大学的研究型学校,管好科研,管好实验室才是当务之急。相比之下,本科生教学显得无利可图。教授也不会为你负责。拉到足够的经费发表足够的论文,满足学院要求才是生存大计。要说管学生,也肯定先要管好自己实验室的硕士博士,而非那一百多人大课堂里的某个本科生。


学不懂?


要么因为你智力低,要么就是自己底下不用功。


为什么跟你一个班上的某某某同学,人家就能懂?


诚然,就算是老师上课说孟加拉语,一个班上也非常有可能冒出一两个翻翻书看看图就能考到八九十分的同学。


真正在课堂上口传心授的教学,其质量是不会有人过问的。教学评估会考察实验报告格式是否合格,出勤率是否够,但是绝对不会考察上百人的班上到底有几个听懂了的。


对于学校和老师来说,搞科研、发期刊才是主要任务,至于上课教学,不过是个不需要怎么负责的副业罢了,基本看具体教师的良心。


而本科生真正值得学校关心的,只有就业率。


因为这是本科生唯一与学校利益挂钩的指标。


于是,到了大四,学校就会开始关注你的就业情况,甚至进行一些神奇操作。


因为从制度上来讲


“无论是升学还是就业,培养都不是必须的。”


学生自己不负责


我看到个别国内的老师或者中外合作的外国老师尝试做出改变,却收效甚微。老师上课各种提问和互动,台下鸦雀无声,学生依旧在下面睡觉玩手机,当老师感觉自己几次都像是跳梁小丑,于是又回到了大多数中。


因为其他老师们都念 PPT 抓考勤,学生们已经习惯了。


别把期待全盘托付他人


“把期待全盘托付他人,必定会迎来悲惨的结果”


我看到无数充满求知欲、激情、与年轻梦想的同学们,不断地把自己的四年青春,充满希望与信任地托付给大学来塑造。然后在大学的所谓磨练中逐渐变得随意、平淡、失去梦想(除非你把保研/考研当作最终的梦想)。


我看到越来越多的同学们在逃避思考,逃避未来,彷佛一个成年了的大孩子(尽管现在的社会就是把大学生当不懂事的孩子一样,多么可笑)。


这使我心中非常不安。


机会


前段时间一个同学问我大学怎样学习,我说了现在的大学状况。


他问我说,“我现在好迷茫,那我该怎么办?”


“如果你意识到了而其他同学没有,这是将是一次弯道超车的机会。”


结语


本文章首次撰写于2023年3月,一定是有局限性甚至错误。内容是否正确,需要自己去评判,就像人生的路,需要自己去走。


我只希望能提供给你一个思考的方向。如果你能通过这篇文章开始思考你自身以及周围环境,那它的价值就是至高无上的了。


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

🔥面试官想听的离职原因清单

交锋 面试官:方便说下离职原因吗? 掘友1:不方便 掘友2:在前公司长期工作量有些太大了,我自己身体上也出现了一些信号,有段时间都完全睡不着觉,所以需要切换一个相对来讲工作量符合我个人要求的,比如说周末可以双休这样一个情况,这个对我现在的选择来讲还蛮重要的 掘...
继续阅读 »

交锋


面试官:方便说下离职原因吗?


掘友1:不方便


掘友2:在前公司长期工作量有些太大了,我自己身体上也出现了一些信号,有段时间都完全睡不着觉,所以需要切换一个相对来讲工作量符合我个人要求的,比如说周末可以双休这样一个情况,这个对我现在的选择来讲还蛮重要的


掘友3:本来已经定好的前端负责人(组长),被关系户顶掉了,我需要一个相对公平的竞争环境,所以打算换个公司


掘友4:实不相瞒,一年前我投过咱们公司(或者面试过但没过),一年了,你知道我这一年是怎么过的吗,因为当时几轮面试都很顺利的,结果却回复我说有更合适的人选了,我难受了很久,因为真的很想进入咱们公司,于是我奋发图强,每天熬夜学习到凌晨两点半,如今学有所成,所以又来了


掘友5:团队差不多解散了吧,领导层变动,没多久时间原团队基本都走了,相当于解散了吧,现在剩几个关系户,干的不开心


掘友6:公司要开发一些灰产(买马/赌球/时时彩之类的),老员工都不愿意搞,就都要我来做,我堂堂掘友6可是与赌毒不共戴天的人,怎么会干这种事(就是害怕坐牢),就辞职了(这是位入职时间不长的掘友)


掘友7:公司业务调整,然后突然让我去外地分公司驻场/让我去搞 flutter(原本是前后端),虽然是个好机会可还是很难受,而且与我的职业发展规划不符,所以不想浪费时间,就第一时间辞职了


掘友8:前东家对我挺好的,工作也得心应手(进入舒适圈了),只是我不想一直呆在舒适圈,我不是那种混日子的人,所以希望跳出来,找一份更有挑战性,更有成就感的工作,贵公司的岗位很符合我的预期


掘友9:公司最近经营不理想:1.不给交社保/公积金了,2.拖欠几个月工资了,好不容易攒的奶粉钱都花完啦(虽然还单身,可也是有想法的),为了生活,这不办法呀,3.公司倒闭了,现在十几个同事都在找工作,咱们这还需要前后端、产品、设计、测试吗,我可以内推


掘友10:您可能也知道现在各行各业行情都不太好,很多公司都裁撤了部分业务,前公司前几年疫情时就已是踏雪而行了,现在在新业务的选择上就决定裁撤掉原来的业务线,我也是其中一员,虽然很遗憾但也能接受吧,在前公司这两年也是学到了很多


掘友11:我其实挺感谢上家公司的,各方面都挺好的,也给了我很好的成长空间,但是也三年多时间了,我的薪资也没涨过,相信你也知道,其实我现在的薪资能够值得更好的,嗯被认可


掘友12:克扣工资,领导说以后生产环境上出现一次 bug 就要扣所有参与的人工资,说真的,每天加班加点的干,我们都没问题,可结果就被这样对待,被连带扣了几次之后心里真的很难受


掘友13:回老家发展咯/对象在这边咯,因为准备结婚了,之后一直在这边发展定居了(这种换城市的回答要给出准备结婚或定居发展这样的原因,不然谈个对象就换城市会显得不靠谱);如果是小城市换大城市,可以直接说是为了高薪来的,因为家里买房了生孩子了啥的经济压力大,顾家其实是能体现稳定的,也给砍价打个预防针


掘友14:(有断层,面试时间和上次离职时间相隔时间有点长,有两三个月左右的,如果真实情况是家里或者生病啥的直说就好,如果只是找了几个月工作没找到,就要组织下语言了),由于长时间加班的原因,身体受到了影响每天睡不好觉,那段时间一直不在状态,没法好好投入工作,就想休息一段时间,为避免给公司造成不好的影响,所以辞职了。当时领导坚持批我几天假,我自己也不知道具体多久能恢复过来,毕竟那种种状态也不是一天两天了,还是坚持让领导批我的辞职了,然后这段时间我去了哪哪哪,身体已经调整过来了,可以全身心投入工作了,不过现在找工作希望是周末可以双休这样一个情况,这个对我现在的选择来讲还蛮重要的


(如果断层有一年的左右的,我有一段经历可以给大家参考下)我当时没工作了,家里投了点钱让我和一个亲戚合伙搞了点生意,结果赚了点钱,但那个亲戚喜欢赌钱,被他拿去赌了,输光了,于是我撤出来了


沐华:就是觉得翅膀硬了,想出去看看(其实这是我入职现公司面试时说的离职原因,当时面试官听着就笑了)


第一轮回答结束!





心法


离职原因真实情况绝大多数情况无非就几种:钱少了,不开心了,被裁了。


大家都差不多的,面试官心里也知道,可这能直说吗?


直说也不是不行,但是要注意表达方式,回答时有些场面话/润色一下还是需要的,去掉负面的字句,目的是让人家听的人舒服一点而已,毕竟谁也不喜欢一个陌生人来向自己诉苦抱怨,发牢骚吧,谁都希望认识正能量/积极向上的人吧


所以回答的关键在于:



  1. 不能是自己的能力、懒惰、不稳定等原因,或可能影响团队的性格缺陷

  2. 不要和现任说前任的不好,除非客观原因没办法,但也要知道即便是前公司真实存在的问题,hr 并不了解真实情况,还是会对是前公司有问题,还是你有问题持怀疑态度的


就像分手原因,对别人说出来时不能显得自己很绝情,又不能让自己很跌份,而且很忌讳疯狂抹黑前任


公司想降低用人风险,看我们离职的原因在这里会不会再发生,所以我们回答中应该体现:稳定性、有想法、积极向上、找工作看重什么、想得到什么、有规划不是盲目找的....


忌讳:升职机会渺茫、个人发展遇到瓶颈、人际关系复杂受人排挤、勾心斗角氛围差...这样的回答会让人质疑是前公司的问题,还是你的能力/情商有问题?


那么,你觉得最好的答案是什么呢,如果你是面试官,会选谁进入下一轮?


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

不想写代码的程序员可以尝试的几种职位

标题不够严谨,应该是不想写业务代码的程序员可以做什么。 这里主要覆盖大家可能平时没关注,或者是国内少见的工作;所以像 technical product manager, project manager 这种就不再赘述了。 这里也主要分享 IT 行业内的岗位,...
继续阅读 »

标题不够严谨,应该是不想写业务代码的程序员可以做什么。


这里主要覆盖大家可能平时没关注,或者是国内少见的工作;所以像 technical product manager, project manager 这种就不再赘述了。


这里也主要分享 IT 行业内的岗位,要是除开行业限制,范围就太大了。


Developer Relation/Advocate


国外有很多面向开发者的技术创新公司,比如 Vercel ,PlanetScale ,Prisma ,Algolia 等。


这类公司的用户就是开发者,所以他们的市场活动也都是围绕着开发者;他们需要让更多的开发者可以更容易地把他们的技术用到他们的技术栈里,所以就有了这种岗位。用中文来表达,可能有点类似是布道师的意思?


国内更多是将技术应用起来,而不是创造一些新的技术,所以这种岗位在国内就非常少见了。当然近几年也还是有一些技术驱动型公司的,像 PingCAP ,Agora 等。


希望国内有更多像这样的公司出来。


Technical Recruiter


这个工作从 title 上就大概知道是做什么的了。


这个岗位有深有浅,深的可能是比较完整的招聘职能,浅的可能就是 HR 部门里面试和筛选技术候选人的。


Technical Writer


这个听着像是产品经理的工作,确实会和产品的职责有小部分重叠。


这是个面向内部的岗位,不喜欢对外对用户 /客户的朋友会非常喜欢。通常是一些比较大型的企业要做软件迁移或者什么系统、流程升级之类的时候,因为会牵扯到非常多的 moving parts ,所以通常都需要一个独立岗位来负责 documentation 的工作。


工作内容包括采访以及记录各部门的现有流程和业务需求,然后是新流程 /系统 /软件的手册、图表等等。


这里的“technical”不是我们研发中的技术,更多是“业务”层面的意思。同样这个岗位对技术要求不高,但是有研发背景是非常加分的。


Technical Support


通常这个岗位归属客服部门,高于普通 customer service rep 。普通的 customer support 是客户遇到问题时的第一层支持 - 基本会讲话、了解产品就能干的工作;如果第一层解决不了客户的问题,就会升级到后面 technical support 了。


这个岗位范围会更广一点,几乎任何 IT 公司都会有这种支持岗;对技术要求根据不同公司而不同,比如 Vercel 对这个岗位的技术要求肯定比 HelpScout (一个客服软件)要高。


但整体来说都不如研发要求高,但对应的薪酬待遇也没有研发那么好。


结语


其实说了这么多总结下来就是国外技术生态、开源氛围好很多,并且对技术足够的重视,促使很多技术公司的出现,然后催生了这些工作。


如果觉得本帖有启发,欢迎留言支持鼓励后续的创作。




作者:强生
来源:juejin.cn/post/7229223235680895031

收起阅读 »

朝花夕拾 - 卷王的自白(光头祭天,法力无边)

一、震撼开场 做一个卷王 ta 有什么错,无非就是 —— 「秃」了那么一点点!!! 咳咳咳,一一回复: 自愿的 没有想不开 没有考到寺庙 心态正常 …… 如果非要给这次的行为贯穿一个理由,那就是「下周四就 28 岁了」「头发长长太快想凉快点」! 二、“正...
继续阅读 »

一、震撼开场


做一个卷王 ta 有什么错,无非就是 ——


04-10-01.jpg


「秃」了那么一点点!!!


咳咳咳,一一回复:



  • 自愿的

  • 没有想不开

  • 没有考到寺庙

  • 心态正常

  • ……


如果非要给这次的行为贯穿一个理由,那就是「下周四就 28 岁了」「头发长长太快想凉快点」!


二、“正文”


Hello 小伙伴们早上、中午、下午、晚上和深夜好,这里是 jsliang~


鸽了近一个月,终于能恢复正常作息,和小伙伴们一起折腾、聊天吹水、学习啦!


04-10-02.png


当然,这次我想在 jsliang 的「朝花夕拾」频道,和小伙伴们聊的,不仅仅是鸽了的这个月的内容。


更多的,咱们要从年初,乃至年前聊起。


虽然可能会聊到很多内容,但是咱们尽可能长话短说!



  1. 这几个月怎么过来的?

  2. 你觉得有意思的事情是什么?

  3. 你觉得很失败/颓的事情是什么?

  4. 这几个月发生的事情有哪些让你关注的?

  5. 后面想做啥事情?


三、话痨小剧场


本篇图文尽可能不涉及技术等硬通货


3.1 这几个月怎么过来的?


从 2 月过完年回来后,996 甚至偶尔 997 呀,然后喜提「卷王」称号。


大概故事线就是:



  1. jsliang 想挑战下自己

  2. 然后转开发组,挑战新项目

  3. 不巧作为几年老开发,评估需求失败,3 周的需求,愣是做了 10 周

  4. 于是「自愿」加班,顶着压力 996 乃至 997


Q:你干嘛哎哟!这么一说这几个月可歌可泣的故事,你一点都没体现啊!


04-10-03.png


A:这你就不懂了吧,这里不说的简单点,小伙伴们怎么往下看~


3.2 你觉得有意思的事情是什么?


这几个月感觉蛮有意思的事情,大概有那么几个。


首先,能学到一些没玩过的技术啦!


对于一些「浅薄」的技术,我总是那么沉迷,比如这一次学习了:



  1. Formily。阿里面向中后台复杂场景的表单解决方案

  2. Slate / tinymce。这 2 款不同的富文本编辑器,一种是 React,一种是 Vue,在 2 个不同项目都接触了


04-10-04.png


然后,就是对旧知识的巩固啦!


没错,就是你 React Hook~


有一说一每次写 Hook 我都很沉迷


—— 为什么这个组件多次渲染,为什么这个组件又不渲染了!


回头写一篇小作文吧,在这里吐槽占篇幅太大了。


接着,就是对升华身心的一种挑战。


这几个月被大佬吐槽过能力不行、需求管理没做好;


这几个月碰到过技术问题,经常辗转反侧想不通;


这几个月熬夜有点多,脸色蜡黄黑眼圈……


04-10-05.png


不过还好,每天坚持跑步和跟小伙伴吐槽,让我挺过来了,很有意思,下次别喊我体验了,哈哈~


最后,就是通过直播、发视频、写文章认识了更多的小伙伴。


现在 VX 有 2000+ 好友,距离 30 岁的 5000 好友又近了一步!


不同小伙伴让我认识了世界不一样的精彩~


3.3 你觉得很失败/颓的事情是什么?


这个算糗事集合了吧哈哈~


Round 1


小丑鸭碰到白天鹅的尴尬~


04-10-06.png


Round 2


如 3.2 所说,因为瞎排期,明明做了 10 周的需求,被我在需求稿上写成了 3 周。


然后,我就被骂了哈哈哈,没人撑我,甚是失败。


当时有想过跑路……


Round 3


赚的钱还是那么卑微而少,但是肉眼可见爸妈年轻不再。


有时候会迷茫啥时候能回家买地皮自己起楼,2023 年的机遇我到底抓住了没有。


04-10-07.png


以上,简单说说 3 件印象比较深刻的,后面有更多失败和令人颓废的事咱们再唠嗑唠嗑~


3.4 这几个月发生的事情有哪些让你关注的?


有 2 个:



  • 人工智能

  • 前端已死


当时本来想蹭热度去写写,后面自己把自己说服了,按表不发,等后面逐个打通(如果有小伙伴感兴趣听我吐槽的话)


目前只能说保持对这 2 个话题的关注,提升自己对这 2 块相关技能的学习。


其他的,慢慢来啦,咱走个长期攻略。


3.5 后面想做啥事情?


先补全一些遗憾:



  • CSS 系列更新到第 8 篇(当前第 5 篇,尽量补充几个实用性的)

  • 出门旅游 1 次

  • 补充文章+视频:人工智能

  • 补充文章+视频:前端已死

  • 恢复每日晚上 9:00-11:00 的直播


长期上,可能会关注一下「自由职业」和「独立能力」,毕竟真不能想象自己还能在一线做开发多久~


那么,就酱啦!


周六下午要加班,晚上我会把剃光头的视频和本期内容整合成一个小视频,晚上回去直播,欢迎关注光头前端!


See you tonight~




不折腾的前端,和咸鱼有什么区别!


觉得文章不错的小伙伴欢迎点赞/点 Star。


如果小伙伴需要联系 jsliang



个人联系方式存放在 Github 首页,欢迎一起折腾~


争取打造自己成为一个充满探索欲,喜欢折腾,乐于扩展自己知识面的终身学习斜杠程序员。


作者:jsliang
来源:juejin.cn/post/7223417872596697148
收起阅读 »

🔥面试官想听的离职原因清单

大家好,我是沐华。今天聊一个面试的问题 由于面试官还要摸鱼刷沸点,不想花那么多时间一个个面,所以采用群面的方式,就出现了上图这样的场景 交锋 面试官:方便说下离职原因吗? 掘友1:不方便 掘友2:在前公司长期工作量有些太大了,我自己身体上也出现了一些信号,有段...
继续阅读 »

大家好,我是沐华。今天聊一个面试的问题


由于面试官还要摸鱼刷沸点,不想花那么多时间一个个面,所以采用群面的方式,就出现了上图这样的场景


交锋


面试官:方便说下离职原因吗?


掘友1:不方便


掘友2:在前公司长期工作量有些太大了,我自己身体上也出现了一些信号,有段时间都完全睡不着觉,所以需要切换一个相对来讲工作量符合我个人要求的,比如说周末可以双休这样一个情况,这个对我现在的选择来讲还蛮重要的


掘友3:本来已经定好的前端负责人(组长),被关系户顶掉了,我需要一个相对公平的竞争环境,所以打算换个公司


掘友4:实不相瞒,一年前我投过咱们公司(或者面试过但没过),一年了,你知道我这一年是怎么过的吗,因为当时几轮面试都很顺利的,结果却回复我说有更合适的人选了,我难受了很久,因为真的很想进入咱们公司,于是我奋发图强,每天熬夜学习到凌晨两点半,如今学有所成,所以又来了


掘友5:团队差不多解散了吧,领导层变动,没多久时间原团队基本都走了,相当于解散了吧,现在剩几个关系户,干的不开心


掘友6:公司要开发一些灰产(买马/赌球/时时彩之类的),老员工都不愿意搞,就都要我来做,我堂堂掘友6可是与赌毒不共戴天的人,怎么会干这种事(就是害怕坐牢),就辞职了(这是位入职时间不长的掘友)


掘友7:公司业务调整,然后突然让我去外地分公司驻场/让我去搞 flutter(原本是前后端),虽然是个好机会可还是很难受,而且与我的职业发展规划不符,所以不想浪费时间,就第一时间辞职了


掘友8:前东家对我挺好的,工作也得心应手(进入舒适圈了),只是我不想一直呆在舒适圈,我不是那种混日子的人,所以希望跳出来,找一份更有挑战性,更有成就感的工作,贵公司的岗位很符合我的预期


掘友9:公司最近经营不理想:1.不给交社保/公积金了,2.拖欠几个月工资了,好不容易攒的奶粉钱都花完啦(虽然还单身,可也是有想法的),为了生活,这不办法呀,3.公司倒闭了,现在十几个同事都在找工作,咱们这还需要前后端、产品、设计、测试吗,我可以内推


掘友10:您可能也知道现在各行各业行情都不太好,很多公司都裁撤了部分业务,前公司前几年疫情时就已是踏雪而行了,现在在新业务的选择上就决定裁撤掉原来的业务线,我也是其中一员,虽然很遗憾但也能接受吧,在前公司这两年也是学到了很多


掘友11:我其实挺感谢上家公司的,各方面都挺好的,也给了我很好的成长空间,但是也三年多时间了,我的薪资也没涨过,相信你也知道,其实我现在的薪资能够值得更好的,嗯被认可


掘友12:克扣工资,领导说以后生产环境上出现一次 bug 就要扣所有参与的人工资,说真的,每天加班加点的干,我们都没问题,可结果就被这样对待,被连带扣了几次之后心里真的很难受


掘友13:回老家发展咯/对象在这边咯,因为准备结婚了,之后一直在这边发展定居了(这种换城市的回答要给出准备结婚或定居发展这样的原因,不然谈个对象就换城市会显得不靠谱);如果是小城市换大城市,可以直接说是为了高薪来的,因为家里买房了生孩子了啥的经济压力大,顾家其实是能体现稳定的,也给砍价打个预防针


掘友14:(有断层,面试时间和上次离职时间相隔时间有点长,有两三个月左右的,如果真实情况是家里或者生病啥的直说就好,如果只是找了几个月工作没找到,就要组织下语言了),由于长时间加班的原因,身体受到了影响每天睡不好觉,那段时间一直不在状态,没法好好投入工作,就想休息一段时间,为避免给公司造成不好的影响,所以辞职了。当时领导坚持批我几天假,我自己也不知道具体多久能恢复过来,毕竟那种种状态也不是一天两天了,还是坚持让领导批我的辞职了,然后这段时间我去了哪哪哪,身体已经调整过来了,可以全身心投入工作了,不过现在找工作希望是周末可以双休这样一个情况,这个对我现在的选择来讲还蛮重要的


(如果断层有一年的左右的,我有一段经历可以给大家参考下)我当时没工作了,家里投了点钱让我和一个亲戚合伙搞了点生意,结果赚了点钱,但那个亲戚喜欢赌钱,被他拿去赌了,输光了,于是我撤出来了


沐华:就是觉得翅膀硬了,想出去看看(其实这是我入职现公司面试时说的离职原因,当时面试官听着就笑了)


第一轮回答结束!





心法


离职原因真实情况绝大多数情况无非就几种:钱少了,不开心了,被裁了。


大家都差不多的,面试官心里也知道,可这能直说吗?


直说也不是不行,但是要注意表达方式,回答时有些场面话/润色一下还是需要的,去掉负面的字句,目的是让人家听的人舒服一点而已,毕竟谁也不喜欢一个陌生人来向自己诉苦抱怨,发牢骚吧,谁都希望认识正能量/积极向上的人吧


所以回答的关键在于:



  1. 不能是自己的能力、懒惰、不稳定等原因,或可能影响团队的性格缺陷

  2. 不要和现任说前任的不好,除非客观原因没办法,但也要知道即便是前公司真实存在的问题,hr 并不了解真实情况,还是会对是前公司有问题,还是你有问题持怀疑态度的


就像分手原因,对别人说出来时不能显得自己很绝情,又不能让自己很跌份,而且很忌讳疯狂抹黑前任


公司想降低用人风险,看我们离职的原因在这里会不会再发生,所以我们回答中应该体现:稳定性、有想法、积极向上、找工作看重什么、想得到什么、有规划不是盲目找的....


忌讳:升职机会渺茫、个人发展遇到瓶颈、人际关系复杂受人排挤、勾心斗角氛围差...这样的回答会让人质疑是前公司的问题,还是你的能力/情商有问题?


那么,你觉得最好的答案是什么呢,如果你是面试官,会选谁进入下一轮?


同时期待掘友们在评论区补充哦


往期精彩


【保姆级】Vue3 开发文档


TS 泛型进阶


深入浅出虚拟 DOM 和 Diff 算法源码,及 Vue2 与 Vue3 中的区别


上手 Vue 新的状态管理 Pinia,一篇文章就够了


作者:沐华
来源:juejin.cn/post/7225432788044267575
收起阅读 »

你到底值多少钱?2023打工人薪酬指南

刚毕业时,我为了赢得面试官的好感,说了很多违心话,如:“工资不要紧,主要是想学习”,又或者是“我对贵司的这块技术非常感兴趣”。 现在想想,呸!恶心,哪怕是花钱嫖培训呢,也不要再傻乎乎的说出“为块术”这种违心的话了。 那时候年轻,不知道起薪高的好处,现在被各种...
继续阅读 »

刚毕业时,我为了赢得面试官的好感,说了很多违心话,如:“工资不要紧,主要是想学习”,又或者是“我对贵司的这块技术非常感兴趣”。


现在想想,呸!恶心,哪怕是花钱培训呢,也不要再傻乎乎的说出“为块术”这种违心的话了。


图1:为块术.png


那时候年轻,不知道起薪高的好处,现在被各种压涨幅,各种倒挂,干最累的活,拿最少的钱,吃最硬的大饼。


2023年,后疫情时代的“元年”,我想明白了,我背上行囊,背井离乡来北漂,就为了3件事:挣钱,挣钱,还是TM的挣钱


既然要挣钱,首先要明确自己的价值。想必大家也对自己值多少钱感兴趣吧?可苦于薪酬保密协议,很难和身边人对比,难以了解自己的价值。没关系,我最近读了几份有趣的报告:



  • 《看看你该赚多少?2023薪资指南(亚太版)》连智领域

  • 《2023年市场展望与薪酬报告》任仕达

  • 《2023⾏业薪酬⽩⽪书》嘉驰国际


今天我就通过这几份报告和大家聊聊,在职场中“我”到底价值几何,“我”拿到怎样的薪资才没有辜负我的才华。


Tips



  • 本文重点分享信息技术岗位,互联网行业,金融行业,软件行业的数据,其余数据可自行阅报告,文末附下载方式;

  • 个人价值不单单由工作年限决定,更多的是与工作年限所匹配的能力。


应届生薪资指南


如果你经常逛各种论坛,可能会看到“今年春/秋招的白菜价是25K”,“XXXX给我开了20K的侮辱性Offer”这类言论。那么20K真的是侮辱性Offer吗?低于白菜价的Offer到底要不要接?


来看嘉驰国际统计到的信息技术行业应届生薪资数据:


图2:2023信息技术行业应届生平均薪资.png


数据似乎与看到的言论相反,一线城市中,本科毕业生薪资中位数是8.8K,只有25%的毕业生拿到了超过10K的薪资。热门城市(北京,上海,广州,深圳和杭州)中也只有北京,上海和深圳的应届生薪资中位数超过了8K


那么网上流传的“白菜价”是怎么回事?其实不难理解,“白菜价”是少数顶尖院校(115所211院校,含39所985院校)的学生拿到顶尖互联网大厂的平均薪资水平,而大部分应届毕业生是很难拿到这个薪资的。


我国拥有2759所普通高等院校,本科1270所,高职(专科)1489所,顶尖院校(115所211院校,含39所985院校)仅占本科院校的9%,普通高等院校的4.1%。


所以对于大部分的普通人院校的毕业生来说,没有所谓的“白菜价”。根据自身的硬性条件合理决定自身的价值范围,不要被HR忽悠,也不要有太过离谱的期望


插句题外话,我16年毕业于某双非院校,第一份工作8.5K,但我们年级的“神”,第一份工作18K。讲这个事情有两层意思:



  • 某些大佬真的可以挣脱本科院校的枷锁

  • 身边的个例并不能反应真实的平均情况


Tips



互联网的天花板


了解完应届生的薪资后,你一定会很想了解未来自己的天花板在哪。注意,标题是互联网的天花板,并非某个职业,也并非每个人都能达到天花板。


先来看互联网行业的年固定收入成长曲线:


图3:互联网年固定收入天花板.png


接着是互联网行业年总收入的成长曲线:


图4:互联网年总收入天花板.png


以我个人观察到的情况,互联网行业中,主管/高级通常对应阿里巴巴的技术职级序列的P6和P6+,经理/资深则对应的是P7,而总监/专家则是P8及以上的职级。


一个很惨淡的事实,对于大部分人来说,P7是通过勤奋可以达到的天花板


如果不是太差,当你达到P7时你的年固定收入会来到50W上下,总收入(奖金和少量股票)会在60W到70W徘徊;而其中的佼佼者,年固定收入会来到70W,总收入触摸到7位数的边界;佼佼者中的一部分会跨过P7这道坎来到P8,普通的P8年薪会在60W上下,总收入(奖金和股票)接近100W,而顶尖的P8薪资会超过100W,总收入更是超过150W。


如果说P7是普通人勤奋的天花板,那普通人想要晋升为P8就需要额外的借助机遇和人脉才有可能达成


Tips:正文部分只展示互联网行业的年固定收入成长曲线和年总收入成长曲线,附录部分提供其他行业的收入曲线。


上海地区研发岗位薪酬


任仕达在《2023年市场展望与薪酬报告》中,给出了信息技术行业中各个技术岗位的薪酬数据,但只有上海地区的数据较为全面,我们重点关注几个“奋战”在一线的技术岗位的薪酬数据:


图5:上海职位薪酬.png
可以看到,对于研发工程师来说,薪资的天花板都非常接近,最突出的是移动开发工程师,稍微落后的是Python开发工程师


当然,技术岗位的天花板远不是职业的终点,技术岗位之后是偏向管理的岗位,例如项目管理和技术管理等。


在大部分互联网公司中,产品经理也是一线岗位,但无论平均薪酬还是薪酬上限,都高于研发岗位(AI类除外)。


结语


了解市场上的薪酬行情,有助于你在求职市场上擦亮自己的双眼,一来可以防止HR恶意压薪资,二来可以清楚自身的定位。


因文章篇幅限制,仅展示部分数据,点击王有志,回复【薪酬报告】即可下载报告。




好了,今天就到这里了,Bye~~


附录


各行业应届生薪资数据


附1:2023各行业应届生平均薪资.png


电子商务年收入成长曲线


年固定收入成长曲线:


附2:电子商务年固定收入天花板.png


年总收入成长曲线:


附3:电子商务年总收入天花板.png


企业软件年收入成长曲线


年固定收入成长曲线:


图4:互联网年总收入天花板.png


年总收入成长曲线:


附5:企业软件年总收入天花板.png


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

我的30岁,难且正确的事情是什么?

3月意料之中的最后裁员到来了,在充分了解个人意愿后留下两个不想看新工作的小伙伴,IOS Android各一个。我把自己也写进了名单,跟其他能力相对强一点的一起出来了。回顾过去2年我们做的事情,我对大家还是蛮有信心的。同时基于对《钱》这本书的学习,我从前两年开始...
继续阅读 »

3月意料之中的最后裁员到来了,在充分了解个人意愿后留下两个不想看新工作的小伙伴,IOS Android各一个。我把自己也写进了名单,跟其他能力相对强一点的一起出来了。回顾过去2年我们做的事情,我对大家还是蛮有信心的。同时基于对《钱》这本书的学习,我从前两年开始就一直留有1年以上的备用金,所以暂时也没太大经济压力,不至于因为囊中羞涩着急找一份谋生的工作。


刚离开公司的前两周,先花了1000多找了两个职业咨询师,了解目前的招聘环境,招聘平台,招聘数据,以及针对性的帮助我修改简历。都准备好以后,开始选公司试投简历,认真看完大部分JD后大概清楚自己的能力所匹配的公司,薪资范围。机会确实不多,移动端管理岗位,架构岗位就更少,尤其是像我这样工作不到10年,架构跟管理经验都还未满5年的人,选择更是寥寥无几。


先后参加了两个2面试,一个是小团队的移动 TL,在了解后双边意向都不大。另一个是 Android 架构方向。虽然拿了offer,薪资包平移,但我最终没去。一是发生了一点小误会,发offer前电话没告诉我职级,我以为架构岗过了其实没有,差一点点到P7。回看面试记录,提升并不困难,有能力冲一冲的,这一次并不会影响我的信心。


另一个则是我真的冷静下来了,也就有了这篇文章。


在这两周里,陆续写了一些文章,做了一些开源项目。完全是出于助人为乐回馈社区,没想到也因此结识了几个做阅读业务的同学,纷纷向我抛来橄榄枝。其中包含一个已经在行业内做到Top3的产品。这让我有些受宠若惊,毕竟我觉得我给的技术方案并非有很大门槛,只是运气好站在巨人的肩膀上想到了不同的方案而已。


正是这些非常正面的反馈,帮助我消化了很大一部分所谓的焦虑(难说我本身一点不受环境影响)。在Zhuang的帮助下,我大概做了两次自我梳理,最后在前几天我从地铁回家大概3km的步行中想明白了很多事情。


每次出去旅游时,比如我躺在草原上,看着日落,说实话我欣赏不了10分钟。因为我的思绪停不下来,我就会去想一些产品或者是管理方面的问题。我很爱工作,或者说喜欢工作时可以反复获取创造性的快乐,比如做出一个新的技术方案或者优化工作流程解决一个团队问题,都让人很兴奋。但现在,我想强迫自己来思考一些更长期的事情。


我的30岁,难而且正确的事情是什么?


是找一份工作吗?这显然不难,作为技术人,找一份薪资合理的工作不难,这恰恰是最容易的


是找一份自己喜欢的工作吗?这有一点难,更多的是需要运气。职业生涯就十几年,有几次选择的机会呢?这更多的是在合理化自己对稳定性,舒适性的追求,掩盖自己对风险的逃避。


是找一个自己喜欢的事情,并以此谋生吗?这很难,比如先找到自己长期喜欢长期坚持投入的事情就很难,再以此谋生就需要更多的运气与常年积累去等待这个运气出现,比如一些up主。这可以是顺其自然的理想,但不适合作为目标。


上面似乎都是一个个的问题,或者说看到这些问题的时候我就看到了自己的天花板了。因为我可以预见我在这些方向上的学习能力,积累速度,成长空间,资源储备。


这半年涌出了太多的新事物,像极了02年前后的互联网,14前后的移动互联网。我从去年12月5日开始使用GPT,帮助我提高工作,学习效率,帮助我做UI设计,帮助我改善代码,甚至帮助我学习开网店时做选品,做策略,可以说他已经完全融入我的工作学习了。


开发自己的GPT应用要仔细阅读OPEN AI 的API,我再次因为英语的理解速度过慢严重影响学习效率,即使是有众多实时翻译软件帮助下丝毫不会有所改善。


翻译必然会对原文做二次加工,翻译的质量也许很高,甚至超过原文,但这样意味着阅读者离原文越远。


比如我在Tandem上教老外“冰雪聪明”这个词的意思,我很难解释给她,更多的是告诉她这个词在什么场景用比较恰当,比“聪明”更高级。但是如果用翻译软件,这个词会变着花样被翻译成“很聪明”,美感全无。


在Tandem跟人瞎聊时以涉及复杂事件就词穷,直到认识了一个 西班牙的 PHD 与另一个 印尼的大学生,她们帮我找到了关键点,基础语法知识不扎实,英语的思维不足。有些时候他们会说我表达的很棒,口语也行,有些时候他们会说我瞎搞。其实很好理解,就像他们学中文一样,入门也不难,难的是随意调动有限的词汇自由组织句子进行表达,而不是脑子里先想一个母语再试着翻译成外语,难的是在陌生场景下做出正确的表达,能用已经学的知识学习新知识,也就是进入用英语学习英语的阶段。


另外一个例子就是做日常技术学习的时候,尤其是阅读源码的时候,往往是不翻译看懂一部分注释,翻译后看懂一部分,两个一结合就半懂不懂,基于这个半懂不懂的理解写大量测试去验证自己的理解,反推注释是否理解正确,这个过程非常慢,效率极低。


这就是为什么很多东西需要依赖大佬写个介绍文档,或是翻译+延伸解释之后才能高效率学习,为什么自己找不到深入学习的路径,总是觉得前方有些混沌。


记得在刚入行的前几年写过一篇学习笔记,把自定义view 在view层测量相关的代码中的注释,变量名称整个都翻译了,备注2进制标记位变化结果,再去理解逻辑就非常简单了。跟读小说没啥区别(读Java代码就像读小说,我一直这么觉得),很快就理解了。但这个过程要花太多时间了,多到比别人慢10倍不止。


所以这第一个难而正确的事情是学习英语


达到能顺畅阅读技术资料与代码的地步,才能提高我在学习效率上的天花板。


第二个是有关生活的事情,增加不同的收入手段,主业以外至少赚到1块钱


裁员给我最大的感触就是,我很脆弱,我的职业生涯很脆弱,我的生存能力很脆弱,不具备一点反脆弱性。如果没有工作我就没有任何收入,只要稍微发生一点意外,就会面临巨大的经济压力,对于我和家庭都会陷入严重的经济困难中。


市场寒冬与我有关但却不受我影响,我无法改变。同时平庸的职业经历在行业内的影响微乎其微,大佬们是不管寒风往哪吹的,他们只管找自己想做的方向,或者别人找到他们。


我就认识这样的大佬,去年让我去新公司负责组新团队,连续一两周持续对我进行电话轰炸,因为当时正负责的团队处于关键期,我有很深的“良知”情节,我婉拒了,这是优点也是缺点。


而我只有不断提高自己的能力,让人觉得有价值才能持续在这个行业跟关系网里谋生。


但是我知道,大风之下我依然是树叶,我不是树枝,成为树枝需要天时地利人和。就像在公司背小锅的永远都是一线,因为如果是管理层背锅那公司就出了决策性的大问题了,对公司而言已然就是灾难。


这几周陆续跟很多人聊了各种事情,了解他们在做什么。有双双辞职1年多就在家做私活忙得不亦乐乎,有开网店有做跨境电商的,也了解了很多用Chat GPT,Midjourney 等AI工具做实物产品在网上卖的。包括去年了解的生财有术知识星球等等,真的花心思去了解,打开知识茧房确实了解到非常多不同的方向,有一种刘姥姥进大观园的感觉。


自己做了一些实际尝试,跑了下基本流程,确实有一些门槛但各不相同。同时在这个过程中,又因为英语阅读效率低而受阻,文档我也是硬看,不懂的词翻译一下,理解不透再整句翻译,再倒回来看原文。


比如网上midjourney的教程一大把,其实大多数都不如看midjourney官方文档来的快,我从看到用到商品上架,不过几个小时,这中间还包括开通支付跟调整模型。


至于赚到1块钱,有多难呢,当我试了我才有所体会。


种一棵树最好的时间是在10年前,其次是现在。


继续保持在社区的输出,保持技术学习。休假我都不会完全休息,Gap 中当然也不会。


后记


去年公司陆续开始裁撤业务线,有的部门直接清零,公司规模从几千人下降到千人以内不过是几个月的事情,有被裁的,也有为了降低自身风险而主动走裁员名单,这也是双赢的解决方案,公司能精简人员个人可以拿到赔偿。管理层的主要工作是尽力留下核心成员,温和的送走要离开的成员,最大程度降低团队的负面情绪,做人才盘点,申请HC做些人力补充,减少团队震动保障项目支撑。没错,一边裁员一边还会招人。


彼时我个人也才刚刚在管理岗上站稳脚跟不久,团队里没有人申请主动离职算是对我挺大一个宽慰。有的团队人员流失率接近70%,相比之下我压力小得多,但我依然要交出一个名字给到部门负责人。我当然很不舍同时也为他们担忧,过去一年多大家一起相互成长,很多人也才刚刚步入新职级。


我努力寻找第三选择,功夫不负有心人,之前做过的一个项目独立出去了,成立了独立的子公司运营,新团还没搭建完。当时跟那个项目团队的产品,后端负责人配合得相当不错,我便以个人的背书将一个曾重点负责过这个项目的成员推荐过去,加上直属上级的帮助,最终在所有HC都要HRD审批的环境下平滑的将裁员变成了团队调配。现在即使我离开了母公司,他们小团队依然还不错,没有受到后续裁员影响。这位小伙伴人特别实在,他是我见过执行里最强的人,他值得这样的好运气。


作为管理者,我有些单纯的善意,不满足于工作层面的帮助。因为我觉得个人能量实在是太小了,而未来无人知晓。


作为核心部门虽然裁员的影响波及较为滞后,但明显的感觉还是研发压力骤减,加上公司为了早点达到账面盈亏平衡,对部分薪资采取缓发,在这样的背景下整个部门的氛围变了,需求评审得过且过,项目质量得过且过,此类情况比比皆是,工作的宽容度也一再升高。


作为个人来讲这真是躺平型工作,工作任务骤减但薪资还照样发,绩效照发,每天到公司跟去上学一样。我心里就出现了一个声音「你喜欢在这里继续混吗?这里如此安逸」。


今年3月意料之中的新一轮裁员到来,我几乎没有犹豫就答复了部门负责人。团里谁想留下谁不想留我很清楚,过去我们一直也保持比较健康的氛围,始终鼓励能力强的人出去看看,也明确告知留下来与出去将面临的不同风险。大家都有心理准备,但大家都没有懈怠自己的学习,技术目标按部就班,丝毫没有陷入负面漩涡,偶尔还会因为讨论技术问题忘记下班时间。


这一次,我把自己放在了名单上,当然这并不突然。我与部门负责人一直保持着较高的工作沟通频率,就向上管理这一点上,我自认做得非常不错。


离职后大家都积极找工作,我对他们非常有信心,抛开头部大厂,中厂依然是他们的主阵地,他们在各自专精的领域里技术都很扎实,尤其是去年大家一起补足了深层次的网络层知识。不出意料部分人都很快拿了offer,有的更是觉得不想面试了匆匆就入职了,这我就不行使自己好为人师的毛病了。


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

前端实习近半年的工作总结

前言:     来北京工作实习已经一年,总结一下自己这最近半年的实习经历的感受与收获吧。     首先感谢一下组内的同事,以及我的mentor对我入职实习期间的帮助,以及对我日常问题的解答,特别是我的mentor,从他身...
继续阅读 »

前言:


    来北京工作实习已经一年,总结一下自己这最近半年的实习经历的感受与收获吧。


    首先感谢一下组内的同事,以及我的mentor对我入职实习期间的帮助,以及对我日常问题的解答,特别是我的mentor,从他身上学到了很多优秀的开发习惯和技巧。


    其实在写这篇总结之前,我也去阅读了很多作者写的工作总结,看完大家工作总结之后,我发现自己这半年的工作还是太安逸了,没有逃离自己的舒适圈,这半年自己并没有主动去学习新的一些技术,更多的只是在完成业务需求,但是在工作中想有所提升仅仅做业务开发是远远不够的,要想成长就必须学习新的技术,做一些技术产出才可以,所以这次的总结更多的是对自己的反思以及对之后正式工作的计划与展望。


工作内容:


     部门的业务主要是toC方向做小程序的开发,刚来到公司前期主要跟我的mentor一起负责砍价业务,我用了一周时间来了解砍价相关业务以及代码,并且做了一个宣讲(由于自己当时对于部门业务还不是非常了解,当时的宣讲更多的仅仅是针对前端的业务以及代码逻辑,并没有去了解每一个接口内部的实现,所以感觉第一次宣讲并没有表现很好),后来由于内部调整我就开始主要负责列表的相关需求。我所在的部门属于全栈开发,前端主要采用是微信小程序以及Vue,并且我们有自己的node中间层来封装接口,所以平时会经常写node.js+TS,这在我上一家公司是没有体会过的,(我觉得这样非常合理,再也不用像在上家公司一样,因为一些接口返回字段类型不统一去排查和后端交流好久)这也让我页接触学习到了更广泛的技术栈。


    平时除了开发任务还包括一些日常的巡检等等,虽然现在我还没有加入到日常的巡检当中,但是在最近几个迭代,我也开始自己对每天的指标进行观察巡检,总结巡检报告。


成长与收获:


工具的使用:


1、charles



一款常见的抓包工具,通过代理连接,把客户端的请求数据,以及服务端返回的数据完完整整的抓取下来,方便开发调试,一般搭配switchhost来使用,switchhos是用来改变本地host的工具,实现原理就是通过修改我们本地dns域名解析与ip之间的映射关系。


2、apiPost


在此之前我只知道用postman来请求接口、mock数据,但是经过我mentor的推荐,我发现apiPost是真的好用,用起来很方便推荐给大家!


(我mentor电脑里有非常多奇奇怪怪但是又实用的工具,每一样拿出来都让我直呼🐂🍺,包括他vscode中的各种插件👍,附上一个巨好用的截图插件Snipaste,大家自行感受)


3、Echarts



echarts.js是百度团队推出的一款用于图表可视化的插件,用于以图表的形式展现数据,功能强大,上手简单,在我认知里他和element-UI都属于辅助开发的工具,当时用的多了自然就会精通熟练,不用刻意的去学习,所以把它归到了工具使用这一类。这个是刚进入公司和我mentor一起做一个砍价报表的需求里面大量的图表就用到了Echarts,里面包含折线图,柱状图等等,非常丰富。


技术的拓展:


1、node.js


在来到这个公司之前,我自己也使用node的express框架写过一些小的demo,多少对node有一些了解,express是基于content中间件框架,框架自身封装了大量的功能比如路由router和视图处理等等;我现在开发使用的是基于koa搭建的一个自己的框架,koa相较于express的使用更加灵活,并且我们框架的层次划分非常清晰,把业务代码按照controller、busoness、agent三层层来细分处理,减少了代码的冗余并且更加整洁,方便理解。


2、TypeScript


TS又称为javascript的超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。自我感觉Ts在帮我们写出更加强壮的代码,在开发过程中就能将我们的一些错误暴漏出来,编写代码的提示也极大的提升了我们的开发效率,不过TypeScript的学习并不是那么简单的,需要经过大量的联系和阅读,对我来说泛型对我来说掌握的还不够,也是后边学习的重点。


3、vuex


Vuex属于vue的一种状态管理模式,将页面组件中可以共享的变量方法进行统一的管理,告别了一层一层的变量传递,在之前只是说去了解学习过Vuex的一些用法知识,最近做公司的H5项目时多数页面都是用vuex来管理数据的,也是在实践中系统的使用学习了一下。


4、socket


socket通信是新接触的知识,Socket是应用层与TCP/IP协议族通信的中间软件抽象层,是一组接口(也是刚刚查的),部门前段时间刚刚做过分享,建立微信与h5之间的socket通信,还是比较感兴趣的,计划在下半年进行了解和学习。


5、webpack/vite


最近在做公司h5项目的时候感到很烦恼,由于项目很庞大,加上我的电脑真是非常的卡,所以每次启动h5项目的时候都要超级长的时间,n分钟,公司的项目是由webpack构建的,所以就在考虑学习一种更加快速的大包构建工具去尝试优化一下这个项目,vite就是学习的对象,从底层原理上来说,Vite是基于esbuild预构建依赖。而esbuild是采用go语言编写,因为go语言的操作是纳秒级别,而js是以毫秒计数,所以vite比用js编写的打包器快10-100倍。所以接下来的目标就是去学习这个webpack以及vite,学习优化的过程也是对自己的考验。


习惯的养成:


      其实这半年里我觉得最好的习惯就是跟我mentor学习的记笔记,刚来公司就发现我mentor每次做完需求都会记笔记复盘,包括学习一些技术等等都会记笔记,渐渐的我也养成了这个习惯,但是现在记得一些东西都还不是很成熟,都是一些做需求过程中当作思路分析来写的,之后在笔记的书写上应该对自己增加些要求不能太过随意(因为前几天看之前写的已经看不懂当时写的是啥了!)。


      还有一个就是写文章!这个总结是我在掘金写的第一篇文章,之后每周或者每学一一个内容都会在掘金记录一下总结和收获,看了这么多大佬的文章,真的觉得自己非常渺小,作为一个小白,要从头开始把所有知识都从新学习一下。


下半年学习计划:


1、vue3.x:自己之前一直都在使用学习vue2,并没有扩展到vue3,在不学习就要被淘汰了,所以vue3是下半年学习的重点!


2、TS:ts自己现在也只是了解皮毛,可以进行开发,但是掌握的还是太少,要继续学习。


3、webpack/vite:还有就是刚才说的webpack/vite,自己要学习并且优化公司的h5项目!


4、socket:这个作为下半年的拓展,了解的同时也可以复习一下网络的所有知识。


5、markdown语法:第一次写文章就没那么讲究了,写的很丑,下次学一下markdown语法,把文章写的漂亮一点。


阅读书籍:


下面这些是被我列在清单里的书籍,也是同事推荐给我的







结束语


总之这半年过的还是浑浑噩噩太过安逸,嘴上说着是因为弄毕业设计但是自己知道并没有去努力,下半年逃出自己的舒适圈!完成自己的计划,向着目标前进!


作者:fc550
来源:juejin.cn/post/7121378029678362638
收起阅读 »

一个前端实习生在蔚来的成长小结

此文章2332字,预计花费时间7-11分钟。 一、聊聊工作氛围 & 个人成长 1. 这是我的期许 “所谓前途,不过是以后生活的归途。” 这是我人生中的第一段技术实习,之前并不是一心做技术的,所以为了探索自己喜欢的事情在某小公司做过翻译实习,并且在交行...
继续阅读 »

此文章2332字,预计花费时间7-11分钟。


image.png


一、聊聊工作氛围 & 个人成长


1. 这是我的期许


“所谓前途,不过是以后生活的归途。”


这是我人生中的第一段技术实习,之前并不是一心做技术的,所以为了探索自己喜欢的事情在某小公司做过翻译实习,并且在交行做过金融实习(其实就是纯打杂)。


image.png


我很喜欢这样一段话: “我曾以为我的23岁会手提皮包西装革履,但我还是穿着休闲裤,带着十几岁的意气行事,幼稚又成熟;我曾以为我的23岁会性格外向,做事圆滑,但我连最简单的亲情都处理不好;我曾以为我的23岁会和喜欢的人看山河大海落日余晖,但没想道周围的人谈婚论嫁都近在眼前,我还在路上找自己。”


我一直在探索着自己的边界,在能闯能疯的年纪反复横跳,寻找着自己的热爱与期许。在真正从事这个行业之后,我发现了我对于这个岗位的喜爱,当你看着一个个实际的视图出现于自己的手中,你会有一种莫名其妙的成就感,这种感觉难以描述的程度就好像你要向一个完全不看vtuber的人描述你对嘉然的喜爱。


2. 工作氛围:这里是一个乌托邦(适合摸鱼学习的好地方!)


说实话,我最开始预期是每天九点来上班,九点下班的(因为看学长们实习都好辛苦的样子)。


来了之后发现完全不是,每天十点上班,六点下班(我当然是准点跑路)



实习两个月左右的时候接的一个需求,第一天是另一个前端实习生来搞,后来他要跑路,leader就把活给我了。


周四,后端六点把接口给另一个前端实习生。


另一个前端实习生:“明天再说”


周五我来接这个活,我边画页面边让他加字段。


然后提完了,六点他给我改好的接口,让我看看有没问题


我:“下周再说”。


后端:“前端是不是,都很快乐啊[流泪]”



image.png


最开始因为我对 react 不是特别熟悉,leader 让我看着组内文档学了半个月,才开始了第一个需求。


leader 没有给我指定 mentor,所以当我有问题的时候,我看组内谁没开会(或者有时间)就会去问,都能得到很耐心的解答,这点来说还是很有安全感的。


然后每天都会跟着老板和大老板一起去吃饭,有时听他们说说自己的事情,有时听听他们对某个语言的看法,也算有不少收获。


值得一提的是刚入职三天部门就开始团建了,从周五下午五点玩到了第二天凌晨两点,炫了一只烤全羊,然后就开始电玩篮球各种 happy,后面玩狼人杀我次次狼人,大老板也总觉得我是狼人,我次次和他对着刚(乐)



马上就要第二次团建了,可惜参加不了呜呜呜



在团建上 leader 说我是从五个面试感觉都 ok 的人里面选出来的(当时我超惊喜的)


还有几件有趣的事情值得一提



第一件事情是中午和 leader 散步,他说:“你干了两个月这里的情况也看到,很难接触到同龄的小姐姐的,找对象的优先级应该要提高了。”


我:“说的对说的对。”


当时我心里就暗暗想着,这是我不想找吗?这tm是我找不到啊(悲)


第二件事情是我有事开了自己的热点,热点的名字叫:“要失业了咋办呐。


被同事发到了前端大群里。


同事:“这是谁的啊?”


我:“是实习生的(悲)”



3. 个人成长:“不卑不亢,低调务实”


最开始入职当然会担心一些七的八的,诸如这样说会不会不太客气,这样搞会不会让老板不爽,后来和老板还有大老板一起吃饭之后发现他们人都挺随和的,没什么架子,他们更多的关心的是这件事情做的怎么样。


大老板曾经在周会上说:“这个事情可以做的慢一些,这是能力上的问题,这个可以商量,但是如果到了约定的日期没有交付,这就有问题了。 ”这个是说的务实。


然后就是为人处事方面了,自己有时候挺跳脱的,没有什么边界感,在实习和他们一起吃饭的时候我就回默默的听着,有些问题大家都不会问,算是看着看着就成长了。


回校远程的时候我写了这样一段话:



去打工吧,去打上海冬夜准时下班,踩雪走回家的工。


去打工吧,去打一边聊天一边发现,这个产品也是清华✌️的工。


去打工吧,去打测试前一天,人都走光了,mentor陪我赶工到半夜的工。


去打工吧,去打部门团建,大leader带我们玩狼人杀到凌晨两点,超级尽兴的工。


冴羽曾在一次读书会上分享:“开眼界就像开荤一样,只有见过了才会产生饥饿感。”


打工虽然让我变成了稍不注意就会摆烂的成年人,但大平台汇聚了很多丰富有趣的同事,让我看到了截然不同的经历与一波三折的人生。


不知道是不是部门的原因,我这边总是十六五准点上下班。


我现在依然处于打工真香的阶段,不用早起,不用日复一日的和同龄人卷同一件事,身边的人年岁不同,人生阶段也不相同,卷不到一起去。


我还在路上~



image.png


4. 代码方面 learning


说实话看到组内项目的时候体会到了不少的震撼,看着组内的项目之后真的就感觉自己写的东西和玩具一样,每次写完项目,都会兴冲冲的找组内的哥哥姐姐帮忙 CR,然后 CR 出一堆问题,自己在一个一个的修改,把这些规范点记周报上,总之就是学到了很多很多。


timeLine 大概是这样的



  • 前两周熟悉 react 写小 demo

  • 然后以两周一个需求的速度给咱活干~


记得第二次写完一个稍微有点复杂的需求,带着我做这个需求的 mentor 还夸了我一波(骄傲)


5. 对于技术和业务的想法


大leader组织组内 vau 对齐的时候我仔细的听了听,我们的很多东西都需要落地,相比来说技术只是一个实现的手段,并不是做这个的目的。


但怎么说呢,我个人还是对技术本身抱有很大的期许的,希望自己能够变得很厉害,参与到很多的开源项目中,我坚信代码可以改变世界。


二、展望未来



实习不去字节,就像读四大名著不看红楼梦,基督徒不看圣经,学相对论不知道爱因斯坦,看vtuber不看嘉然今天吃什么,这个人的素养与精神追求不足,成了无源之水,无本之木。他的格局就卡在这里了,只能度过一个相对失败的人生!




  • 话是这么说啦,但最后还是没有成功去到字节,但是我是字节不折不扣的舔狗,后面再看吧。

  • 字节给我发面试一定是喜欢我(普信)


下面这段是之前写的



离开的契机也很简单,我在小红书实习的同学跑路了,然后要找继任,顺手把我的简历投过去了,然后我顺手面了一下小红书,小红书顺手给我发了个Offer(bushi,然后就去小红书了。



image.png


小红书确实Offer了,但是老板和我约谈了很久,我决定继续远程实习,在这篇文章发布的当天,我已经实习了 一百四十天,我相信,我的旅途还在继续。


image.png


三、写在最后


不知不觉就实习快半年了啊


我真的非常感谢遇到的leader和同事,感恩遇到的每一位愿意拉我一把的人。


在这段时间里学到了好多一个人学习学不到的东西啊。


那么这就是我在蔚来的实习小结啦!


感谢阅读~


作者:阳树阳树
来源:juejin.cn/post/7228245665334198333
收起阅读 »

关于时间管理的一点建议

在成为 Tech Lead 之后我发现时间变得极度不够用,甚至会成为了我焦虑和殚精竭虑的源泉。因为我无法主动的去做我应该(定方向、做定期回顾)做和想做的事情,而总是被动的被他人牵着鼻子走:无穷无尽的决策请求、寻求帮助、会议邀约。 有两个可以解决这个问题的办法可...
继续阅读 »

在成为 Tech Lead 之后我发现时间变得极度不够用,甚至会成为了我焦虑和殚精竭虑的源泉。因为我无法主动的去做我应该(定方向、做定期回顾)做和想做的事情,而总是被动的被他人牵着鼻子走:无穷无尽的决策请求、寻求帮助、会议邀约。


有两个可以解决这个问题的办法可以简单提一嘴:1)首先你应该尽可能的帮助你的团队成长,让他们尽可能的独当一面,你也就自然不会成为单点依赖;2)根据问题的重要程度和紧急程度划分优先级依然奏效,在精力有限的情况下,有些问题可以暂且搁置不用去解决。


今天我想聊的是第三个办法来源于哈佛商业评论的一篇文章:《Management Time: Who's Got the Monkey》


猴子在谁那呢


问题


文章从一个再正常不过的场景开始说起:经理与下属 A 在走廊上相遇了,下属 A 向经理发起了求助:“早上好啊,顺便说一句我现在遇到了一个问题,情况是这样的……”;经理也很自然的回答道:“很高兴你告诉了我,我现在有点忙,先让我想想再答复你”。


同样的事件在一天之内发生了三次,B 和 C 也同时向经理发起了求助。经理忙的焦头烂额,直至下班前 A、B、C 都没有得到经理的答复。他们在经理门外等待答复的过程中难免开始质疑起经理的能力,因为他现在成为了多数人工作的瓶颈。


第二天刚好是周六,经理为了避免下周继续阻塞其他人的工作决定周末去公司加班,在开车经过公司附近的一片高尔夫球场时,你猜他看到了哪三位熟悉的身影?


“到底谁在为谁工作呢?”经理不由得思考起来。


办法


如果我们把问题比喻成猴子的话,从 A 向经理求助的那一刻起,猴子就从 A 的背上跳到了经理的背上,也就是下属的问题成了经理的问题。经理采取了三个手段来解决这个困境。



  • 摆脱猴子


在新一周开始的第一天,经理将 A、B、C 依次喊入办公室进行一对一沟通。经理把“猴子”摆在他们的中间,商讨下一步下属能针对问题能够采取些哪些独立行动。在达成一致的同时约定好下次沟通进展的时间。这样下属便又可以继续工作在问题上,猴子得到归还。



  • 明确主动性


我们必须要回答的另一个问题是,下属究竟是真的遇到了困难,还是他根本就是想甩锅而已。主动性从低到高可以分为5类:



  1. 等着被告诉要做什么(主动性最低)

  2. 主动询问我要做什么

  3. 建议应该做些什么,并且采取相应行动

  4. 直接行动起来,并且给出自己的建议

  5. 独自行动起来,定期进行汇报(主动性最高)


前两类主动性不应该被鼓励,或者直接点说是不被允许的。时间管理的关键在于掌控自己的工作内容和工作时机。(“等着被告诉要做什么”即无法让自己掌控工作内容也无法控制自己的工作时机)。



  • 对待猴子(问题)的原则



  1. 猴子要么被投喂(持续解决)要么被击毙(立即关闭)。等待它自然死亡的过程等无异于无限投入时间却又看不到任何结果,等同于浪费

  2. 猴子数量应该保持在经理的投喂带宽之下。

  3. 猴子只应该在约定的时间被投喂(追着猴子投喂,或者允许被随时邀请投喂意味着经理被问题牵着鼻子走)

  4. 猴子应该通过面对面的方式进行投喂——通过邮件的方式相当于问题又异步的被甩给了经理

  5. 每只猴子的下一次投喂时间应该被明确下来


作为 Tech Lead 当面对求助时,会惯性的将问题包揽下来。无论这种“我来搞定”的态度无论是出自下意识还是顾虑都不是一个好的实践。不妨把问题当作机会,推他们一把,甚至允许一定范围内的犯错,是让团队成长的一个途径


三类时间


文章把经理时间划分为三类:



  • 老板强加给你的时间(Boss-imposed Time)——你必须完成老板交给你的那些任务,否则会得到迅速且直接的惩罚

  • 系统强加给你的时间(System-imposed Time)——你必须响应同级别同事的工作诉求

  • 自我时间(Self-imposed Time)——做那些你的经理和团队同意你去做的事情。这类时间又可以继续划分为两类

    • 下属时间(Subordinate-imposed Time)——用于支援下属的时间

    • 自由支配时间(Discretionary Time)——真正属于经理自己的时间




很明显,对于前两者你能够拒绝的空间十分有限。适当的降低下属占用你的时间,也许是更切实有效为自己争取一点自由的方法。


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

两个故事:送给面试失败的你

故事1:从世界五百强高管手中拿下项目 那年我大二。 在北五环外的宏福校区上满一年课后,我们正式搬回了位于市中心的海淀区本部,终于算是进城了。 进城的第一个好处,就是做项目的机会变多了! 当年为了尽早的实现经济独立,课没怎么好好上,兼职项目和实习倒是干了不少。...
继续阅读 »

故事1:从世界五百强高管手中拿下项目


图片


那年我大二。


在北五环外的宏福校区上满一年课后,我们正式搬回了位于市中心的海淀区本部,终于算是进城了。


进城的第一个好处,就是做项目的机会变多了!


当年为了尽早的实现经济独立,课没怎么好好上,兼职项目和实习倒是干了不少。


北邮有一个著名的BBS,上面啥都有,极其热闹。其中最热门的板块有俩,一个是“缘来如此”,听名字就知道是用来谈情说爱的。另一个则是就业机会交流板块,各种招聘内推资讯满天飞。


我当时天天刷帖子找实习和兼职机会,自然也收到不少面试邀约,而我要聊的这一次,格外的与众不同。


面试约在了晚上8点,北师大东门外的一个安静的咖啡店里,二楼。


我面试从来不迟到,一般都会掐着点到场,可那次我到的时候,面试官已经落座了。是一个四十出头的中年男人,高高瘦瘦,戴银边方框眼镜。桌上摆了一壶明亮的金丝皇菊花茶,两个小巧精致的玻璃茶杯。


我入座后,他客气的给我倒了一杯茶,面试便开始了。说是面试,其实更像是一场闲聊,整个谈话氛围非常轻松自在,咖啡店是文艺范儿的,灯光幽暗,空气里飘荡着舒缓的爵士乐和淡淡的松香,木质的楼板被过往的客人踩出咯咯吱吱的响声。


我们大约是聊了半个多小时的样子,从他的表情可以看得出他挺满意。结束谈话的时候他说,我稳重的样子不太像90后。我羞涩的笑了笑,带着他给我布置的第一个项目走出咖啡店。


没错,这个项目就这么轻而易举的被我拿到手了,也许是出于对我母校的信任,又或许是当晚的聊天氛围实在舒服,总之我获得了他的信任。


可好戏才刚刚开始。


我收到的第一个任务,要求我在一周内根据需求文档写出一份静态网站Demo出来。


这个任务现在看来很easy,但是当时的我,连最基本的网页怎么写都不会,我只用过Dreamweaver拖拖拽拽搞过一个蹩脚且丑陋的页面。而这一次,我面对的是一个商业任务,并且限定了交付日期,一周!这可把我愁坏了。甚至都不是时间紧不紧的问题,是我根本不知道从哪里下手啊。


事情的突破口出现在我大学舍友身上。


这小子是个富二代,家境优渥,从小就接触计算机,自然是见多识广,啥都会一点。我撺掇着让他给我演示“如何使用现成框架搭建网页”,当时用的是Bootstrap 1.0。我俩在通信原理的课堂上,坐在教室的后排,偷偷摸摸的教学着。我目不转睛的盯着他一点点用现成的类名,逐渐拼出了一个漂亮的页面,那种感觉真是兴奋极了!


其实现在回头看,我们当时的编码方法非常拙劣,完全上不了台面的那种,还真是一个敢教,一个敢学哈哈哈。


一节课偷偷摸摸下来,我基本上算是知道了一个静态页面如何从0到1的写出来了,剩下的事情就只是时间问题了。一下课我就飞快地跑回宿舍,埋头学习Bootstrap的API文档,一点点一点点,小心翼翼的拼凑着页面。


一周后,我如期把Demo交给了老板,保住了这次兼职机会。这份工作给我带来了每个月2000块的收入,整整持续了一年(当时我一个月生活费也就不到800)。


我是在后来的一年的交往中才知道,这个老板是某世界五百强的集团高管,空闲时间和朋友一起做了个创业公司,出于竞业关系,不方便公开招募团队,于是私下找学生兼职做点项目。


而我,就成了那个幸运的学生。


故事2:屡败屡战拿下百度Offer


图片


转眼到了大三。


杂七杂八的项目做了不少,钱也倒是有赚一些,但基本上都是小打小闹,尤其是技术层面,苦于一直没有接触过企业级项目,我并不知道一个成熟的商业项目的代码长什么样。


抱着这样一个期望,我开始争取大公司的实习机会。


还是从北邮人论坛,我拿到了一个百度的面试机会,具体哪个部门我已经记不太清了。


面试官安排我在茶水间坐下,丢给我一份试题和一支笔。


那份题目我做得稀烂,面试官看了看卷子,当场跟我说,你可能不太行。不过没等他赶我走,我迅速拿出电脑,打开作品集,指着我画的一些设计图对他说:那么……你们招UI设计师么?这是我的作品。


面试官先是一愣(心想这小子不是码农么,怎么还会设计),然后让我等一下,便拿着我的作品,跑去找他们团队的UI设计师帮忙过目。


是不是觉得我的行为很奇怪?没错,我自己也没想明白其实。当时我还没想好毕业后从事什么工作,由于从小就喜欢画点东西,平时也会看一些用户体验设计相关的书,大学期间在学生社团里做了不少有意思的图,所以我天真的以为自己毕业后也是可以从事UI设计工作的。


面试官很快就回来了,跟我摇摇头,结束了这场面试。


这次经历给我打击是比较大的,我原本自豪的以为我既能写代码,又能做设计,一定是个抢手货,但事实上,我的两种技能在学校里勉强能秀一下,到了职场专业人士眼里,就是些玩具级别的东西,根本不够看的。


回去后我继续寻找实习机会,中间拿到了亚信联创的Offer,在亚联实习了三个月,学了些CSS基础知识。但我一直不甘心,还是一心想去大公司。


不久后,我等来了百度的另一个面试机会。这次是核心部门:网页搜索部,百度的立足之本。


经过亚联的短暂实习,我对自己的前端技能颇有信心,感觉这次应该是稳了。


然而,是我天真了。


网页搜索部的前端是重逻辑的,需要写大量的JS代码。而彼时的我,才刚把CSS入门,JS的部分只会使用jQuery写一些简单的页面交互效果。


面试官跟我反馈说没过的时候,我赶紧叫住他,说,能否指点一下我,如果想要在百度做前端的话,我应该学习些什么知识?


他也愣了一下(心想这小子不按套路出牌啊),然后拿过笔,在我笔试卷子的背面空白处,一边说一边写下一些零零散散的知识点。


拿过这张画得乱七八糟的A4纸,我如获至宝,连声感谢之后便离开了百度。


参考着这份凌乱的前端知识图谱,我窝在宿舍学习了一个月。一个月后,我给这个面试官发了条短信,请求说能不能再给我一次面试机会,我感觉我准备好了。


他同意了。于是我第3次到百度面试。


面试很快就结束了。面试官跟我说,看得出来这一个月你确实学到不少东西,进步很大,但是距离录用标准还是有点距离的,抱歉。


我又又又一次叫住面试官,和上次一样,我又跟他要了一份更加进阶的前端知识图谱。我说我回去再学习下,还会再来的。


他尴尬而不失礼貌的跟我笑了笑,便起身离开了。


这次的白纸更加密密麻麻,而且看得出来知识点比上一次又更加专业和精深了许多,学起来自然也吃力了不少。


两个月后,我再次联系到他,请求再一次面试。


他又同意了。于是我第4次到百度面试。


这次面试更快的结束了,可能我们彼此已经相对比较熟悉了吧,前几次考察过的知识点这次也就直接跳过了。


看得出来他有些犹豫,可能是他已经不太好意思当面拒绝我了,于是让我等等,找来了他的同事,给我加了一次交叉技术面。


这位新面试官说话也很直肠子,聊了二十分钟后,他直接跟我说:“技术的话勉勉强强吧,但是你这小子身上有一股抑制不住的热情和活力,学习能力也不错,感觉可以培养一下试试,我这里就给你过了吧,我再跟同事商量下,你稍等”。


过了几分钟,先前那个被我屡次骚扰的面试官来了,通知我,面试过了!


这可把我高兴坏了,经过半年多,4次5轮面试,我终于凭自己本事(厚脸皮)拿到了大公司的实习机会!(当年的百度在技术领域可是BAT之首)


这份实习工作给我带来了4000块每月的收入,让我实现了彻底的经济独立。不过这都不是最重要的,最最最重要的是,我终于知道大公司的前端开发是什么样的了!


后来我入职百度后,当我面对着屏幕上漂亮的,模块化的面向对象风格的JS代码的时候,我终于知道了业余和专业的差距。


Anyway,幸运再一次光顾了我这个小子。




在我十多年的工作经历中,诸如此类的幸运不胜枚举。旁人看到的,是我的一路顺风顺水,但只有我自己明白,生活没有奇迹,所有的幸运,都是一次次暗中努力换来的福报


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

程序员的6个真面目,没有一个被冤枉!

纵使工作中有许多酸甜苦辣 你在岗位上的每一点付出 每一行代码的敲下 每一次需求的完成 每一个bug的修复 都让我们的生活变得更加高效便捷 让科技绽放出向善而动人的力量 致敬在岗位上创造不凡的你! 作者:腾讯云开发者来源:juejin.cn/post/72265...
继续阅读 »

图片图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片


图片图片图片


图片


图片


图片


图片


图片


图片


纵使工作中有许多酸甜苦辣


你在岗位上的每一点付出


每一行代码的敲下


每一次需求的完成


每一个bug的修复


都让我们的生活变得更加高效便捷


让科技绽放出向善而动人的力量


致敬在岗位上创造不凡的你!



作者:腾讯云开发者
来源:juejin.cn/post/7226526110171889720
收起阅读 »

程序员入行感触二三事

引言 好久没有发感触了,之前一直在做讲师授课,接触了好多入门的程序员,有很多感触,但是在做讲师的时候有时候不方便说,在做开发又开始忙,所以就沉淀下来了,忽然今天收到了之前一个学习的小伙伴的消息,心里有些触动,本人也不是一个特别喜欢发朋友圈的人,但是总感觉想说点...
继续阅读 »

引言


好久没有发感触了,之前一直在做讲师授课,接触了好多入门的程序员,有很多感触,但是在做讲师的时候有时候不方便说,在做开发又开始忙,所以就沉淀下来了,忽然今天收到了之前一个学习的小伙伴的消息,心里有些触动,本人也不是一个特别喜欢发朋友圈的人,但是总感觉想说点啥(矫情了,哈哈),所以写写做一个回顾吧。


编程行业从开始到现在被贴上了很多标签: 幸苦,掉头发,工资高,不愁工作等等,这些有好有坏,但是总结起来大多数人对编程行业的认知是:


1、需要一定的学历,尤其对数学和英语要求很高。


2、工作比较累,加班是便饭。


3、收入很可观,10k轻轻松松。


4、岗位比较多,是一个搞高级技术(嘿嘿嘿,之前一个家长和我聊的)的行业。


当然还有很多,但是就是上面这些认知让好多毕业迷茫、家境一般、工作遇到问题的人,把编程行业作为了一个全新开始的选择。于是,就有了市场,有了市场很快就有了资本,有了资本很快就有了营造焦虑氛围的营销策略,然后就有各种各样在掩盖在光鲜下的问题,又得真的很无奈,那么今天就聊聊吧。


问题


1、社会是你做程序员的第一绊脚石


啥意思,啥叫做社会,这里的社会不是一个群居的结构,而是人情世故(嘿嘿嘿),好多小伙伴是转行过来的,老话说的好,人往高处走,水往低处流,大部分转行的小伙伴不是来自于大家认知当中更好的行业(比如:公务员,医生,律师..嘿嘿嘿,扯远了),甚至编程本行业的也很少(程序员自学的能力还是很不错的),所以大家在学习之前就已经在社会上摸爬滚打了很久,久历人情,好处是好沟通,不好的地方就是真的把人情世故看的比技术更重要了,这一点可能拉低这些小伙伴70%的学习效果,你要明白,程序员这个行业确实也有人情世故,但前提是大家可以在一个水平上,这个水平可以是技术,也可以是职级,但是如果开头就这么琢磨的话,没有一个扎实的编程基础,真的很难立足在这个行业。没有必要的谦让,习惯性的差不多损耗了太多的学习效果了,既然选择编程,首先请把技术学好,哪怕是基础(当然那个行业也会有浑水摸鱼的,但是对于转行的小伙伴来说,概率太低了)


2、学历重要,学力也很重要


编程行业是一个需要终生学习的行业,不论是前端,后端,测试,运维还是其他岗位,如果在做技术就一定需要学习,好多人会说学历不够所以干不了编程,但是在我个人的眼里,学历确实重要,但是并没有完全限制你进入编程行业,因为:


(1)任何行业都是有完整的岗位结构的,需要的高精尖人才是需要的,但是普通的岗位也少不了,编程行业也是如此,有些岗位的学历要求不是很高。


(2)在编程行业除了那些竞争激烈的大厂,自考学历是有一定的市场和认可程度的


但是,在学历背后的学力就不是这样一个概念了,这里想表述的是学习能力,包括:


(1)专注能力,好多小伙伴如果之前有一定的社会经历或者在大学过的比较懒散,在没有聊到学历之前,先决条件就是能静下心来学习,但是很多小伙伴专注力根本不达标,听课走神,练习坐不住...(其实个人感觉任何一个行业,能静下心来做,并且活下来的都不会很差)


(2)学习习惯,这里不贬低学历低的小伙伴,但是不能否认的是,参加高考后获得一个高学历的小伙伴能力不谈,但是99%都有一个很好的学习习惯。比如不会在学习的时候把手机放到旁边,科学的记笔记,有效的复习和预习等等,所以在担心学历之前,请先培养好自己的学习习惯(个人建议,如果真的没有一个好的学习习惯,那么学习的时候就不要在眼前出现多余的东西分散注意力,比如: 课桌上除了听课的电脑,不要有其他的,之前见过的容易分散注意力的:手机,水杯,指尖陀螺,魔方....)


3、不要在没有选择能力的时候做出选择


这里想聊的是一些学习恐慌的小伙伴的惯性,好多小伙伴在选择了一种学习方式(买书,看视频,加入培训班)之后,还会进行类比学习,比如:买了Python的一本基础书,然后再大数据或者小伙伴的推荐下又买了另外一本,或者参加了培训班,又去看其他的教学视频,这些对小白同学的学习伤害会很大,因为,本身对技术没有全面的理解,不同的书,不同的教程传递的教学方法是不一样的,混着来有点像老家喝酒掺着喝,白酒不醉,啤酒不醉,白加啤那么就不一定了(很大概率会醉),所以小白同学最总要的不是再学习的过程当中进行对比,而是可以最快最稳的完成基础感念的学习,在自己脑子当中有了基础概念再做选择。


当然了,还有很多,一次也聊不完,之后有时间再聊吧,今天就先写这么多

作者:老边
来源:juejin.cn/post/7174259081484763173
,欢迎大家讨论交流。

收起阅读 »

前端想要做一个定时任务?来试试这个吧

前言 在工作以及学习中,我们有时候会遇到一些定时任务的需求,比如每天定时发送邮件,定时给群或者频道发消息,定时爬取数据等等。这些其实都是比较常见的需求,但是我们又不想去部署一个专门的定时任务服务,这个时候我们就可以使用 Google App Script 实现...
继续阅读 »

前言


在工作以及学习中,我们有时候会遇到一些定时任务的需求,比如每天定时发送邮件,定时给群或者频道发消息,定时爬取数据等等。这些其实都是比较常见的需求,但是我们又不想去部署一个专门的定时任务服务,这个时候我们就可以使用 Google App Script 实现这些需求。


Google App Script 是什么?


Google App Script 是谷歌提供的一种脚本语言,可以在谷歌的各种服务中使用,比如 Google docsGoogle sheetsGoogle forms 等等。它的语法和 js 基本差不多,但是又有一些不同,比如没有 windowdocument 等对象,但是有SpreadsheetAppDocumentApp 等对象,这些对象可以用来操作 Google docsGoogle sheets 等服务。


写代码前的准备


既然 Google App Script 可以直接操作 Google sheets,那我们就可以直接使用 Google Sheets 来充当我们的数据库。我们在读取表格中的数据以后,再根据数据的内容来执行不同的操作。


首先我们先新建一张表格,然后在表格中填入一些数据,比如下面这样:


image.png


channel 字段表示消息要发送到的频道,hourOfDayminutesOfDay 表示消息要发送的时间,message 表示消息的内容,isWorkDay 则使用了 Google Sheets 中的 NETWORKDAYS 函数来判断今天是否是工作日。而 webhook 就是我们要发送消息的 URL


slack 为例,如果想用机器人给频道发消息,我们可以在 slack 中创建一个 App,然后在 App 中创建 一个新的Incoming Webhooks,然后我们就可以获取到一个 Webhook URL,我们只需要发送 POST 请求 URLbody 中带上消息内容,就可以实现给频道发消息的功能了。


image.png


然后我们在 Google Sheets中点击 扩展程序 -> App 脚本,就会跳转到 Google App Script 的编辑器中,这个时候我们就可以开始写 js 代码了。


用法


首先,我们要先获取到 Google Sheets 中的数据。并将其转换成我们想要的格式。


const getDailyMessage = () => {
const workbook = SpreadsheetApp.getActiveSpreadsheet();
const sheet = workbook.getSheetByName(sheets.dailyMessage.sheetName);
return convertValues(sheet.getDataRange().getValues());
}

const convertValues = (values) => {
const [header, ...rows] = values;
return rows.map((row, rowIndex) => {
const result = {};
row.forEach((column, columnIndex) => {
result[header[columnIndex].trim()] = {
value: column,
position: {
row: rowIndex + 2, // skip the header row
column: columnIndex + 1,
},
};
});
return result;
});
};

有了表格中的数据以后,我们就要开始发请求了


const shouldRun = item => {
const hourOfDay = item[sheets.dailyMessage.columnNames.hourOfDay].value;
const minutesOfDay = item[sheets.dailyMessage.columnNames.minutesOfDay].value;
const currentHour = new Date().getHours();
const currentMinutes = new Date().getMinutes()
const isWorkDay = item[sheets.dailyMessage.columnNames.isWorkDay].value
if (isWorkDay && hourOfDay === currentHour && currentMinutes === minutesOfDay) {
return true
}
return false
}
// daily message
function runDailyMessage() {
const dailyMessage = getDailyMessage();
Logger.log(`${dailyMessage.length} daily message channel(s) are ready to notify...`)
const tasks = dailyMessage.filter(shouldRun).map(item => new Promise((resolve) => {
try {
const channelName =
item[sheets.dailyMessage.columnNames.channel].value;
const message = item[sheets.dailyMessage.columnNames.message].value;
const url = item[sheets.dailyMessage.columnNames.webhook].value
const options = {
method: "post",
payload: JSON.stringify({
text: message,
}),
}
const fetchResult = UrlFetchApp.fetch(url, options).getContentText();
if (fetchResult === "ok") {
afterNotify(cfg, nextMemberIndex);
}
Logger.log(`${channelName} daily message notify successfully`);
} catch (err) {
Logger.log(`${channelName} daily message throws error: `);
Logger.log(err);
} finally {
resolve()
}
}))
Promise.all(tasks)
.then(() => {
Logger.log("daily message have been executed");
})
.catch((err) => Logger.log(err));
}

写完以后,我们就可以在 Google Sheets 中点击 运行 -> runDailyMessage 来执行我们的代码了。


image.png


这时候,就可以在 slack 中看到我们的消息了。


image.png


触发器


上面是手动执行的代码,但是我们希望代码能够自动执行,这时候就需要用到 Google App Script 的触发器了。


Tips


在设置触发器以前,有两个值得注意的地方:



  1. 上面的函数中,我们使用的是 SpreadsheetApp.getActiveSpreadsheet() 获取到 Google Sheets 中的数据。但是在触发器中,使用这个 api 是无法获取到数据的,这会导致你的触发器失败。所以我们需要在触发器中使用 SpreadsheetApp.openById 来获取到 Google Sheets 中的数据。


//  use openById replace getActiveSpreadsheet when use app script trigger
const workbook = SpreadsheetApp.openById("在这里填入你 Google Sheets 的 id");


  1. 我们最好是部署我们当前的应用, Google App Script 编辑器右上角就有部署按钮


image.png


选择脚本库,添加新版本描述,然后点击部署。就部署完成了。


触发器设置


image.png


App Script 中点击小时钟图标,就可以看到触发器的设置了。


image.png


选择我们要运行的函数,选择刚才部署的版本,然后设置触发器的时间,这里我们设置为每分钟执行一次,就完成了一个简单的定时任务啦。


总结


Google App Script语法跟 JavaScript 很像,所以对于前端学习起来也很容易,提供了部署以及触发器的功能,可以帮助我们快速实现一些简单的功能。希望这篇文章能够帮助到你。


作者:xinglee
来源:juejin.cn/post/7226229808199581756
收起阅读 »

哎,今天在公司的最后一天了

“啊!” 我今天居然被通知裁员了!!! 虽然之前一直盛传我们这边要裁员,但是我想着,应该一时半会轮不到我这边,我感觉我们项目还是相对挣点钱的。但是呢,心里也是挺忐忑的。 今天,我正在那全心全意的敲代码,敲的正起劲呢。我突然看到我们项目经理被叫走了。啊?我一想啥...
继续阅读 »

“啊!” 我今天居然被通知裁员了!!!


虽然之前一直盛传我们这边要裁员,但是我想着,应该一时半会轮不到我这边,我感觉我们项目还是相对挣点钱的。但是呢,心里也是挺忐忑的。


今天,我正在那全心全意的敲代码,敲的正起劲呢。我突然看到我们项目经理被叫走了。啊?我一想啥情况?要开会的话怎么只叫我们项目经理,怎么不叫我呀。


难道是要裁员?!难道真的是要裁员?!然后我就看着我们项目经理和我们的上级领导他们一起坐在小屋里聊了半天,啊,我的小心脏呀,我心里就祈祷呀:“千万不要裁员啊!千万不要裁员呀!千万不要裁员呀!!!”


等我们项目经理出来之后,他走到了我这边,然后 “啪” 拍了一下我的肩膀,然后 “哎” 叹了口气。他说:“我们这个项目要被裁掉了。”


我说心里特别失落,但还故作镇定的说:“为啥?我们的项目不是还挣钱呢吗?”


项目经理说:“哎,挣钱也不行。我们现在不需要这么多人了。我们现在的项目,没有一个大的发展了啊!你先等一会吧,等一会他们还得找你谈。”。他走的时候,又拍了拍我肩膀。


哎,当时我就感觉我心里呀那种失落感呀,没法说的那种感觉。果然,没一会,我们经理就来了。他过来之后跟我说:“走,请你到小屋里喝点水。”


我苦笑着跟他说:“经理,我能不去吗?我现在不渴。”


然后我们经理说:“哎,不行呀,我都已经给你倒好了,走吧走吧,歇会去。”


然后我就默默的跟他去了。进去之后呢,我们俩都坐下了。经理跟我笑着说:“恭喜你呀,脱离苦海了。”


哎,我当时心情比较低落,我说:“是呀,脱离苦海了,但又上了刀山了呀。哈哈哈。。。”


然后他说:“哎,确实是,没办法,现在,哎,公司也不容易。现在有一些项目确实得收缩。”


我说:“哎,这也没啥,这都很正常。咱公司还算不错的,最起码还让过了个节。很多公司什么都不管,就这样让走了呀。哎!”


后面我们就谈了一些所谓的那种离职补偿啊,等等一些列的东西**。**


反正当时感觉着吧,就是,嗯,聊完之后呢就准备出去嘛。然后走路的时候呀,就感觉这个腿上啊就跟绑了铅块一样。


当时我感觉,哎,裁员这玩意怎么说呢,都没法回去和亲人说呀,弄的一下午这个心里慌慌的。怎么跟家人交代呢?人至中年居然混成这样,哎!!!


郑重声明,本文不是为了制造焦虑,发文的原因有两个:



  1. 我今年 33 了,一方面给大家展现下一个普通程序员 35 岁后能咋样?是送外卖还是跑滴滴?难道真的就找不到工作了吗?

  2. 感觉我并没有走好自己的人生路,把自己的经历写出来发到网上,让年轻人以我为鉴,能更好的走好自己的人生路。

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

写在入职九周年这天,讲讲这些年的心路历程

往前翻翻才意识到已经很长很长时间没有写文章,大概具体有多长?感觉上有一光年那么长。 今天,刚好是入职九周年,竟然遇到周末,省了奶茶钱。是的,没错,我在一个窝里面趴了九年。 这些年,彷徨过,迷茫过,孤独过,也充满热血的奋斗过,激情的追求过,有犹豫,有脆弱,也有失...
继续阅读 »

往前翻翻才意识到已经很长很长时间没有写文章,大概具体有多长?感觉上有一光年那么长。


今天,刚好是入职九周年,竟然遇到周末,省了奶茶钱。是的,没错,我在一个窝里面趴了九年。


这些年,彷徨过,迷茫过,孤独过,也充满热血的奋斗过,激情的追求过,有犹豫,有脆弱,也有失落。在悠悠岁月中,能及时不断做出调整,让自己学会享受工作带来的乐趣,学会慢慢成长。在当下浮躁的时代,写些闲言碎语,给诸君放松下心情,缓解压力。


过去的那些年


入职那天,阳光明媚,清风柔和,大厦旁边的道路开满迎春花,连空气都是甜的,让人不由自主地深呼吸,可以闻到花香草香,还有阳光的味道。


那一天也是为数不多来上班较早的一天,哦吼有大草坪,哦哟还有篮球场,这楼还波浪线,牛批,B座这个大厅有点大,有点豪华,牛批牛批,头顶上这看着怎么像熊掌,12345,设计真不孬啊。慢慢的大厅上聚集了很多人,有点吵,咋也没人组织一下呢,大家都很随意的站着等待,陆陆续续有员工来上班。


“XXX”,听到有人喊我名字,吓我一跳,还以为偷看小姐姐被发现了。


“站到靠近电梯入口的最右一列,第一个位置上”,“XX,去站在他后面”,“大家按我叫名字的顺序排好队,咱们准备上楼了”。


那会儿,AI 还不会人脸识别过闸机。


呦呵,这公司真牛批,还有扶手电梯。跟着带路的同学来到三楼五福降中天会议室,一个挺老大的屋子,还有各种数不过来的高大上仪器电子设备,一周后,也是在这里,我和厂长面对面聊聊人生。坐稳扶好后,HR 同学开始入职培训,我摸摸新电脑,摸摸工卡牌,心里美滋滋,想到未来几年,将在这样美妙的环境中度过,喜不胜收,甚至我都闻到了楼下食堂啵啵鱼的香味。


培训刚结束。


“我叫到名字的同学,跟我来。XXX,XX……”,纳尼???中午还管饭??这福利也太好了吧,真不用吧,我自己能找到食堂,再说,你知道我喜欢吃什么吗?“跟着我走,咱们去北门做班车,去另一个办公楼,你们的工位不在这儿。”不在这?还坐班车?what?被外包了?她刚刚喊我了吗???差不多六七个同学,跟着楼长鱼贯而出,下楼,走小路,几分钟后,上了班车。司机大哥,一脚油门,就带着我远离啵啵鱼。


大约10分钟,也有可能是5分钟,或者15分钟,按照现在萝卜快跑无人车的速度,是7分钟。来到一栋圆了咕咚的,长的像长南瓜的楼,它有一个很科技感的名字,“首创空间”,就是这个空间,不仅给我带来技术的成长,还有十几斤的未来多年甩也甩不掉的肥肉。没有啵啵鱼的日子,相见便成为世上最奢侈的愿望。


大约是两年后的初春 ,准确的说,不到两年,记得是二、三月份,北京的PM2.5比较严重的时候,鼻子还不会过敏,也没学会发炎,眼睛也不知道怎么迎风流泪,总之,我们要搬家了。


“科技园”\color{#333333}“科技园”,听听,听听,多好的名字,长得像无穷大与莫比乌斯环,楼顶带跑道,位置也牛批,毗邻猪厂、鹅厂、渣浪,北邻联想,西靠壹号院,远眺百望山,低头写代码,啧啧,美滋滋的日子又来了。当时还没有共享单车,晚饭时蹭着班车和一群小伙伴过去看新工位,喏,不错不错,挺大,位置离厕所不远,不错不错,会议室安静舒适好多个,不错不错。重点来了,食堂大的离谱,还有很多美食,连吃几个月,基本不重样。吃过几次啵啵鱼,与大厦简直天壤之别,怀念。


机会说来就来,几个月后的一天,发生了一件大事。我回到了梦开始的地方,那让人朝思暮想的啵啵鱼,那让人魂牵梦绕的味道,那让人无法忘怀的美妙口感。


清醒一下.gif


命运说变就变,国庆休假回来,食堂换了运营商,我他么……¥#%@%#!@#@!&%


一直没变的:不忘初心,砥砺前行。


曾经觉得自己无所不能,可以改变世界,总幻想像蝴蝶一样扇扇翅膀,亚马逊的雨林就会刮起大风。食堂吃的多了,越来越认识到自己的影响力微乎其微,我们能做到,是把交代的工作做好,做到极致,应该就是对公司最大的回馈了,也对得起日渐增多的白发。


早些年,搞视频直播,课程学习,每天研究各种编解码技术,与视频流打交道,看过不少底层技术原理书籍,探索低延迟的 P2P 技术,枯燥,乏味,也跟不上时代变化,觉得自己会的那些早晚被淘汰,技术乏陈革新的速度超乎想象,而你所负责的,恰恰不是那些与时代贴合度较高的业务,边缘化。


怎么破?


从来没有人限制你,不允许你去学习。\color{red}从来没有人限制你,不允许你去学习。


因为恰巧在做课程的直播、录播,需要特别关注课程内容,主要担心出现线上问题,刚好利用这个契机,了解到很多跨专业,跨部门的业务,当时给自己的宗旨是,“只要有时间,就去听课”,“凡是所学,皆有收获”。前后积累近千小时的学习时长,现在想想,觉得都有些不可能,怎么做到的,是人吗?这是人干的事?


日常工作,专心不摸鱼,积极努力提高工作效率,解决研发任务,配合 peer 做好产品协同。晚饭后,专心研究 HTML大法,通勤路上手机看文档,学 api 用法,学习各种牛批的框架,技巧,逛各大论坛,写博客做积累,与各种人物斯比,每天晚上十点,跑步半小时,上床睡觉,生活很规律。


机缘巧合下,我终于从一个小坑,成功跳到一个大坑,并至今依然在坑中。那天,我想起了啵啵鱼。


16797732_0_final.png


一直在变的


团队在变,用两只手数了数,前前后后换了七次 leader,管理风格比五味杂陈还多一味,有的事无巨细,有的不闻不问,有的给你空间让你发挥,有的完全帮不上忙。怎么破?尊重,学习,并努力适应,不断调整心态,适应环境的变化。


业务在变,这么多年数过来,参与过的产品没有一百也有八十了,真正能够长期坚守下来的产品不多,机会可遇不可求,能得一二,实属幸运。把一款产品从零做到一,很容易;再做到十,很难但能够完成;再从十到百,几乎不可能。互联网公司怎么会有这样的产品存在,少之又少。


技能在变,经历过前端技术栈井喷的同学都深有体会,学不动的感受。


时代在变,社会在变,人心也在改变。


曾经多次想过换个环境,换一个坑趴着,毕竟很多机会还是很诱人的。印象最深的一次,是在某年夏天,对手头的工作实在是感到无聊。由于前一年小伙伴们的共同努力,产品架构设计相当完美,今年的工作接近于智力劳动转变为纯人力的重复的机械的体力劳动,对产品建设渐失激情,每天如同行尸走肉般的敲键盘,突然意识到,自己到了职业发展瓶颈期。如何抉择,走或留,临门一脚的事,至于这一脚踢向何方,还未知。


忧思几天后,去找 leader 沟通,好家伙,他让我呆在这里别动,帮他稳住团队,他要撤,一两个月的事。好家伙,你不殿后掩护我们,自己先撂了,还说可以试试带团队,我说大哥,也没几个人呀。他说你还能招兵买马,试试新的角色,体会下不同的视角,很好的机会。坑,绝对的大坑,我他么竟然义不容辞的答应了。


好在,不枉大家这么多年的认可,团队战斗力很强大。


你觉得什么是幸福



  • 有独处的时间

  • 有生活的追求

  • 工作能给你带来乐趣


颐和园.jpg


前些日子,给娃拿药请了半天假,工作日人不多,十点多就完事了,看看时间地铁回去差不多到公司刚好中午饭。医院出来看到很多小黄车,美团那种新式的自行车,看着很不错,还没体验过,特别想兜几圈。查地图,距离公司有22公里,按照骑行的速度推算,70分钟也差不多到了。打定主意后,书包里翻出俩水煮蛋(鬼知道我为什么早上去公司拿了俩鸡蛋)和一瓶水(鬼使神差的早上往书包放的),算是吃过早饭了。于是一个人,一条狗,开局一把刀,沿着滨河路,经过木樨地,二里河,中关村南大街,北大街,信息路,上地西路回来了。您还别说,就是一个地道。竟然还路过玉渊潭,还遇到了封路限行,静悄悄的圆明园东路,过国图,还有数不清的大学,附中,有那么一瞬间好想回母校去看看,总之,重点是顺路吃到心心念的煎饼果子。


路上给媳妇打电话,这小妞竟然说我疯了,疯了?你懂个屁,这叫幸福。


人生的乐趣


人生的乐趣何在?你的答案和我的答案可能不一样,作为打工人,我知道,肯定不是工作。但似乎又不能没有工作,不工作我们怎么活着?怎么在这个社会上,换取资源,立足于当下,着眼于未来。说回工作,最后悔的事,曾经有那么一小段,人际关系没有处理好,可能造成误会,当时来自于我对某些事情的不表态,默许的态度,十周年前修复它。最快乐的时光,是和大家一起沉浸在技术点的探讨,Bug的跟进定位,发现问题解决问题的成就感;参与产品的规划,出谋划策,影响他人;挑灯夜战,专注于产品的 DDL,为上线争分夺秒的努力前行,感受团队的力量。


这个春天,爬过许多京郊的小山头,站在山顶,凝视着壮丽的景色,总以为自己是秦始皇。不惑之前,去征服贡嘎雪山。


总之,故事太多讲也讲不完,作为一个九年的老东西,我是不会爆金币的。


到结尾了,给点建议吧


建议?给不了给不了,我自己还没活明白。


历史的滚滚车轮中,每个生命都很渺小,时代一直在变,抓住机遇,让自己成长,多读书,沉下心,慢慢来。


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

程序员如何给变量起名字

程序员如何给变量起名字 在编写代码时,为变量命名是非常重要的。良好的命名习惯可以提高代码的可读性和可维护性,使得其他开发者能够更容易地理解你的代码。在这篇文章中,我们将讨论程序员如何为变量选择合适的名称。 规范 首先,需要了解所用编程语言和项目的命名规范。不同...
继续阅读 »

程序员如何给变量起名字


在编写代码时,为变量命名是非常重要的。良好的命名习惯可以提高代码的可读性和可维护性,使得其他开发者能够更容易地理解你的代码。在这篇文章中,我们将讨论程序员如何为变量选择合适的名称。


规范


首先,需要了解所用编程语言和项目的命名规范。不同的编程语言和团队可能有不同的命名约定。例如,Python 中通常使用下划线分隔单词(snake_case),而 Java 和 JavaScript 则倾向于驼峰式大小写(camelCase)。遵循一致的命名规则会使得整个代码库更具统一性,降低学习成本。


见名知意


一个好的变量名应该尽可能描述它代表的实际含义。换句话说,当其他开发者看到变量名时,他们应该能够猜测出它表示什么以及如何使用。


好例子



  • user_name 代表用户名;

  • password_hash 表示经过哈希处理的密码;

  • email_list 是一个邮件列表。


不好的例子



  • x, y, z 这样的简单字母命名无法反映变量的实际含义(除非在特定场景下,如表示坐标或数学公式中);

  • tempdata 等过于泛化,无法直接理解其用途;

  • string1array2 只提供了数据类型信息,但未说明其用途。


避免冗长


虽然应该让变量名具有描述性,但同时需要避免使用冗长的名称。太长的名称可能会导致代码难以阅读和维护。通常情况下,选择简洁明确的单词组合更为可取。


好例子



  • index

  • user_count


不好的例子



  • the_index_of_the_current_element_in_the_list

  • the_total_number_of_users_in_the_database


使用专业术语


如果你正在编写涉及某个领域知识的代码,可以使用该领域的专业术语作为变量名。这将使得对该领域能较好理解的开发者更容易理解你的代码意图。


好例子



  • 在计算几何领域,变量名 centroid 表示多边形的质心;

  • 在密码学领域,变量名 salt 代表加密时混入的额外值。


处理复数


当变量包含一系列对象时,最好使用复数名称。这样可以让读者知道它是一个集合类型(如列表、数组、集等),而不仅仅包含一个对象。


好例子



  • users

  • files


避免重名和相似命名


为了提高代码的可读性,应尽量避免在同一作用域内使用相似或容易混淆的变量名。


不好的例子



  • user_listusers_list

  • convert_to_stringtransform_to_string


结论


良好的命名习惯对于编写高质量的代码至关重要。请确保你所选择的变量名既简洁明了,又具有描述性,并且遵循项目规范。这将使得其他开发者能够更容易地理解和维护你的代码。


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

为什么开发者应该多关注海外市场

在上一篇《单枪匹马程序员,月营收从 0 到 1 万刀,近 90% 的毛利》里有掘友评论,这样的产品只有国外有,国内缺乏生态。 这篇文章主要是分享一下为什么我认为作为国内的开发者,应该多关注海外市场、做面向海外用户的产品。 早在 2000 年(点 com 泡沫...
继续阅读 »

在上一篇《单枪匹马程序员,月营收从 0 到 1 万刀,近 90% 的毛利》里有掘友评论,这样的产品只有国外有,国内缺乏生态。


这篇文章主要是分享一下为什么我认为作为国内的开发者,应该多关注海外市场、做面向海外用户的产品。




早在 2000 年(点 com 泡沫那阵),国外就有了 indie hacker / indie maker 这个名词来称呼做“独立”产品的人。这里的 indie 是 independent 的意思,意在独立(解脱)于各种束缚,比如:朝九晚五的工作时间、固定的办公室、领导、或者是投资人。


而国内在最近几年也涌现了一拨独立开发者,多数以工程师为主,当然做的产品也是面向国内的市场。有做地不错的,像 Baye 的熊猫吃短信、vulgur 的极简时钟、Kenshin 的简阅等;但综合我这两年来对海外一些独立产品的研究,海外市场或许是更好的选择。


当然凡是都有个前提,就是你没有一个豪华的创始团队或者是顶级投资人的背书,就是个人或者两三人的小团队。这个条件我觉得可以覆盖 90% 的中国的开发者;对于另外 10% 的拥有资源或者金主爸爸靠山的个人或者团队,不仅“可以”还“应该”去磕中国市场。但这不是今天要讨论的主题。


在 BAT TMD 等巨头和背靠资源的精英创业者们的夹缝里,我觉得只有做面向海外市场的小产品是更有胜率一点;做国内市场面临的四个问题:


第一、不存在足够的空间给个人/小团队做独立产品存活。


Slack 大家应该都知道,在美国已经上市了,市值 200 亿刀。Slack 一直是被 qiang 的,但是为什么国内没有出现 Slack 这样的产品作为一个信息中心来连接各个办公工具?


其实有,还不少,但都没活太久。一部分原因是腾讯阿里都非常重视这个“商业流量入口”,不想有可能被对方占有了。另外是国内互联网生态,从 BAT TMD 巨头到小软件公司,都太封闭;不仅不开放,还相互制约,都想把自己流量的守住,所以就同时出现了三个 Slack:



  • 微信出个企业微信(还封杀了 wetools)

  • 阿里出个钉钉

  • 字节出个飞书


在这种巨头虎视眈眈且相互对抗的格局里,作为三缺(缺钱、缺资源、缺核心门槛)的个人或者团队是无法存活的。或许在 2010 年至 2016 年间还有草根产品团队依靠“热钱”注入有爆发的可能性,时至今日,特别是这个蜜汁 2020 的局势,是不太可能的了。


即使,你找到了一个空白的利基市场(niche),你接下来面对三个问题:需求验证(试错)、推广、和商业化。


第二点、需求验证或者叫“试错”成本高。


由于国情不同,咱们需要经过一些不可避免的审核流程来保证互联网的干净。这个没话说,在哪做事就守哪的规矩。但这“需求验证”的门槛可就提高了不少。


比如要做个网站吧,备案最快也两周。做游戏?有没有版号?做 app ?有没有软著?小程序(从用户端来讲)是个不错的创新,但是你最烦看到的是不是“审核不通过,类目不符合”?稍微做点有用户互动的功能都需要公司主体。公司注册、银行开户、做帐、以及各种实名制等;这些虽然都不是不可达到的门槛,但是去完成这些要耗费大量的精力,对于本身就单打独斗的开发者来说 - 太累了。


再看看海外,简直不要太爽。做 app 还是需要经过苹果和谷歌的审核,但几乎不会对程序本身以外的东西设置门槛。网站注册个域名,30 秒改个 DNS 指到你的 IP,Netlify 或 Vercel 代码一推,就自动构建、部署、上线了。哪怕你不会写代码或者会写代码但是想先验证一下需求,看看潜在用户的响应如何,国外有不少非常值得一样的 no code 或 low code 平台。这个以后可以单独写一篇。


OK,国内你也通过重重难关项目终于上线了,你面临剩下的两个问题:推广和商业化。


第三点、推广渠道少 && 门槛高。


海外市场的推广渠道更多元,比如 ProductHunt, IndieHackers, BetaList 等。这些平台不仅国内没有,我想表达的更重要一点是,这些平台用户都比较真诚和热心会实在地给你提建议,给你写反馈。国内也有几个论坛/平台,但是用户氛围和友好度就和上述几个没法比了。


在付费推广方面,国内门槛(资质、资金)都挺高,感觉只有大品牌才能投得起广告,这对于缺资金的团队来讲,又是闭门羹。而国外,facebook 和 google 拿个 50、100 刀去做个推广计划都没问题。


可以以非常低的成本来获取种子用户或者验证需求。


行吧,推广也做得不错,得到了批种子用户并且涨势还不错;就最后一步了,商业化。


第四点、商业化选择少。


说商业化选择少可能说过了。国内是由于巨头间的竞争太激烈,出现各种补贴手段,导致互联网用户习惯于免费的互联网产品,甚至觉得应该倒贴给他来使用;伸手党、白 piao 党挺多;付费以及版权意识都还有改善空间。


想想你都给哪些浏览器插件付费过?“插件还需要付钱?!”


而海外用户的付费意愿足够强烈,在以后的案例分享中就能体会到。一个小小的浏览器插件,做得精美,触碰到了用户的购买欲望,解决了他一个痛点,他就愿意购买。


下一篇就分享国外浏览器插件的产品案例。


顺便再说一个「免费 vs 付费」的问题,这个不针对哪个国家,全世界都一样。免费(不愿意付费)的用户是最难伺候的,因为他们不 value 你的产品,觉得免费的就是创造者轻易做出来的、廉价的。如果依着这部分不愿意付费的客户来做需求,产品只会越做越难盈利。

作者:强生
来源:juejin.cn/post/7224400777216720952

收起阅读 »

感情、事业双丰收的2022年

大家好,我是雄雄。 前言 今天是2022年12月31日,明天就是2023年了,时光如白驹过隙,在这对马上要过去的一年做个总结~ 有网友调侃整个2022年的总结: 1月-11月:做核酸 12月:阳了 其实确实也是如此,印象中,今年的疫情比2020年的疫情...
继续阅读 »


大家好,我是雄雄。



在这里插入图片描述


前言


今天是2022年12月31日,明天就是2023年了,时光如白驹过隙,在这对马上要过去的一年做个总结~


有网友调侃整个2022年的总结:



  • 1月-11月:做核酸

  • 12月:阳了


其实确实也是如此,印象中,今年的疫情比2020年的疫情还要严重,一年下来,唯一刻在闹钟挥之不去的就是做核酸和封控,光是封控,就封了两周,最后接憧而至的阳人遍地,继续居家,前前后后算下来,一个月的居家时间肯定是绝多不少!今天借此机会,做个简单总结吧。




事业上


依稀还记得三月份的第三个周,离开学校,步入公司搞研发,当时接受的项目是一个别人开发完一版的一个半成品,因为需求的重大变更,所以需要重新开发;于是我和几个人人就开始着手写了,由于对业务没有特别熟悉,且需求也在反反复复的变,所以也是费了不少精力去整;


项目周期短,任务重,于是团队里面的成员就没日没夜的去干,那时候基本上没有下班,没有周末,只有不断修改的Bug和不断完善的功能,这个项目一直持续到了5月份才算是基本完成。


期间还做了个项目,这个项目别的没有给我留下什么映像,反而映像最深的是,近几年来唯一一次干的通宵,就是干在了这个项目上;从第一天的7点多去了公司,开始忙活,因为第二天要上线,所以我们两一直干一直处理问题,一直干到了第二天早上8点多,也没觉得有多少困意。忙完后,赶紧各自回家补觉,心中有事睡不安稳,没睡两小时,又回公司干活去了......


在这里插入图片描述


7月之际,由于其他原因,从原来干活地儿离开,开始步入医疗行业;刚开始接触医疗行业,所以没有直接上手动项目,而是先熟悉了一周的国家政策,红头文件,法律法规。之后开始接受第一个项目。


在这一个项目上,我和团队学到了许许多多的新技能点,以前我们以为微服务高深莫测,在这个项目,我们直接上了微服务;以前我们觉得小程序怎样怎样,现如今,这款小程序已经上线运营;以前我们觉得软硬件结合多么多么麻烦,现在感觉也就那样。技术在不断的变化,而我们,也在不断的学习应对,使得各自能力不断提升!


团队比较给力,只要需求明确,一个项目一两个月基本就完事儿。在技术不断提升的过程中,我们的业务能力也在提升,和三方对接、和其他企业老总沟通商务等,啥都干,只要对自己有帮助的,啥都学!


感情上


今年万幸的是,遇到了我的另一半~


我们从今年3月份开始,到现在已经经历了278天的日子,还是和当初那样的互相欣赏彼此~


当时正好有事儿需要回老家,我们两就一起回去了,我爸妈很喜欢,喜笑颜开。我们回去一起做了好多好吃的~


在这里插入图片描述


后来,我也去了她们家一趟,叔叔阿姨对我也很好,每周都让我去她们家吃饭;给我做了好多好多好吃的,姥娘还给我缝了一件特别特别暖和的棉袄,纯手工打造,穿着很舒服~


自从见过了叔叔阿姨后,感觉他们就把我当成他们的孩子一样,无微不至的关爱,使得我在济南这个无情无故的地方体会到了些许的温暖~


在这里插入图片描述


生活上


今年生活上的空余时间少之甚少,基本都在忙着搞项目和处理项目延伸出来别的事宜,导致之前有些习惯都没有坚持下来。


锻炼吧,偶尔~
练字吧,从不~
看书吧,经常~


可能也就是看书坚持下来了,但也不是坐下来看,而是路上骑车的时间得有半个小时到40分钟,我嫌这个时间空着浪费,于是就每天上下班听书。


翻了下微信读书的年度总结,得出来了如下数据:


看书时长:573小时。
读完图书:28本。
读过的书:41本。
写了笔记:906条。




除了读书,平时还写写博客啥的,而写博客也让我拿到了很多奖励和荣誉,光CSDN给的书包就有三个,什么马克杯、衣服、鼠标垫、奖牌以及飞盘啥的,更是多如牛毛!除了CSDN给的东西外,还有阿里云给的奖牌、奖品,键盘。还有华为云的鼠标垫,平板……还有微软的奖品,掘金的奖品.......
在这里插入图片描述


临近年底,还阳了....不过好在症状不重,喉咙不舒服了几天就痊愈了,基本上不耽误啥事儿......


在这里插入图片描述


作者:穆雄雄
来源:juejin.cn/post/7183965673494675513
收起阅读 »

接受平庸,三年前端2022年总结

2022年即将结束,这一年尤为特殊,对每个人来说都是一次新的开始。 我以前很爱给自己定很多目标,似乎定得越多越能缓解我的焦虑,让我能有种不再碌碌无为,虚度光阴的错觉。尤其是在过了某个年龄段后,开始觉得时间流逝得近乎疯狂,感觉才刚习惯填写日期时填上2022,突然...
继续阅读 »

2022年即将结束,这一年尤为特殊,对每个人来说都是一次新的开始。


我以前很爱给自己定很多目标,似乎定得越多越能缓解我的焦虑,让我能有种不再碌碌无为,虚度光阴的错觉。尤其是在过了某个年龄段后,开始觉得时间流逝得近乎疯狂,感觉才刚习惯填写日期时填上2022,突然间就这么结束了。自己这一年好像在原地踏步,并没有做出太多改变。


我之前很长一段时间都不开心,一直在尝试着自救,以前觉得自救是拼命努力,踏出自己的舒适圈,一旦过得舒服点就会开始焦虑和自责。我不停地在学习新东西,这样似乎能缓解我的焦虑,确实学习能让我变得更好,但是这种心态会让生活质量变得很低。


现在慢慢开始觉得自救是接受自己的平庸,不要给自己定太高的目标。多去尝试一些一直想做但没有去做的事情,比如我一直想去学冲浪,去跳下伞。后悔的事情往往不是那些已经做过的,而是想做但没有去做的事。


1.工作


我做的最好的一次选择就是进入这个行业,这是我真正热爱的事情,其实实际算起来我从事前端开发才三年,但我每天上班不会再觉得煎熬,甚至有时还会有点期待。


这三年里心态也经历了几次变化,一开始觉得只有技术好才能到达一个更高的位置,后来一段时间找工作发现,包装也很重要,把简历改好点,多刷点题,进入好公司起点就和别人不一样了。


后来开始带了四五个组员,汇报变成我的工作之一,这时觉得,汇报好像更加重要。其他人幸苦完成的功能,变成了我PPT里的一个亮点,领导和其他人的赞赏,好像全变成了我的功劳,这时我总会惶恐地加一句也是大家的努力。


其实汇报也并不简单,它需要你更了解项目,掌握所有细节,当一个问题答不上时,其他人就会紧攥着不放,以此来否定你的工作。而且听汇报的往往都是不懂技术的人,需要把一个技术难点用通俗易懂的话讲清楚,这更加考验功力。


这段时期我没别的进步,表达能力上倒是突飞猛进,而且不会怯场。


现在我不会再排哪个最重要,每个时期都会有不同的侧重点,更应该要看的是自己的职业规划,想当架构师,那就更加注重技术。想转管理,就多提高下表达能力。


2.学习


第一次是刚开始工作的时候,那时候对一切都好奇,每天都在看各类教程,不停地在折腾东西,觉得要学习的东西实在太多了。但这段时间仅仅在学习怎么用,浅尝辄止,对很多框架的理解仅仅停留在表面,虽然曾经试图去读下源码,但很快就因为看不懂退缩了。


或许这也是当时我学习热情高涨的原因,我学了Vue、Spring Boot,自己摸索着把博客的前后端搭建起来,又去买了台服务器,配置好nginx,挑了个心仪的域名,去备案。一切都搭建好后,在浏览器输入自己的域名,看到博客打开的那一刻,那种感觉我到现在还记得。


在工作一段时间后我用了很多框架,写了足够多的代码,我渐渐碰到很多奇怪的问题,虽然在一番搜索后我解决了,但没有明白为什么,这时候我知道自己需要更加深入了。


我开始尝试去读源码,去学习优化,去动手实现一些封装好的功能。这时候,我终于从会用到大概知道为什么。


学习go是今年的事情,契机是我用Spring Boot搭建的博客服务挂了,再加上小程序的云开发开始收费,我迫切需要搭建起两套web服务,这时候就选中了正当红的编程语言Go。学语言其实还是挺快的,js、java、go,都有很多相似的地方。


有了以前的经验,用Gin搭建的web服务很快就起来了,我的博客和小程序得以满血复活。


截屏2023-01-05 21.17.31.png


开发这个小程序的初衷是想学习下云开发,当时自己正好很焦虑,迫切想改变,就决定开发一款能监督自己培养习惯的工具,但现在并不这么想了,现在更多是希望它能记录下这个过程,即使失败也没关系。


WechatIMG51.jpeg


3.健身


如果说这几年感触最深的事是什么,那一定是健康,人有时真的很脆弱,别奋斗了大半生最后化为乌有。


我开始重新去健身房,这次很顺利,坚持了很长时间,直到中间封城和后面放开才没再去,但在家的时候也会用哑铃继续练。


目前深蹲80kg,卧推50kg,其实可以更进一步,但我经常是一个人练,老害怕受伤,尤其是腰,如果受伤了还不如不练。所以暂时停在这两个重量,更多的是练习动作和感受发力,直到感觉对了再往上冲一冲。


从开始去健身房到现在,身体的变化也挺明显的,甚至因为背挺直了一些让我长高了一厘米,精神也更好了,不再像以前一样混混沌沌,也开始喜欢上运动。


23年我仍然会把健康放在第一位,除了去健身房外还会拓展更多运动项目。


4.英语


今年看了两本原版书,比预计的数量差好多。分别是 Wander 和 The twilight saga,非常推荐给词汇量不多的人,语法简单,故事精彩,很容易就能读下去。


WechatIMG57.jpeg


从以前英语就一直不是很好,已经成为我的一块心病。总结了以前学英语失败的经历,发现就是太追求速成,越追求速度反而越容易有挫败感,在认识到这应该是一个长期的过程后,就开始放慢脚步,从简单的读书和对话开始,避免背太多单词。


5.最后


接受了平庸并不是躺平,而是不再给自己设一些虚无缥缈的目标,2023年我还是会继续学习更多知识,解锁新的技能。


作者:Nothlu
来源:juejin.cn/post/7185347261683990565
收起阅读 »

工作 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 块钱生活费家里都拿不出来;高考志愿填报,填学校看心情想去哪,填专业看专业名字的的村里娃,走到现在在北京有个不错的工作,组建了幸福的家庭,买了个不大不小的房子的城里娃。不管怎么样,也算给自己立足打下了基础,留在了这个有更多机会的城市;也给后代一个更高的起点。


但是,我也知道,现在的状态并不稳固,互联网工作随时可能会丢,家庭成员的一场大病可能就会导致整个家庭回到解放前。


所以,主业上,我的规划就是,尽力提升自己的技术能力和管理能力,争取能在中型公司当上管理层,延迟自己的下岗年龄;副业上,提升自己的写作能力,尝试各种不同的主题,尝试给各个自媒体投稿,增加副业收入。


希望自己永

作者:六七十三
来源:juejin.cn/post/7173506418506072101
远少年,不要下岗~


收起阅读 »

辞职卖烤肠

前景 为35后做准备 找到一个合适的位置 周末出门多转转,找个人多的地方、并且容易饿的地方 营销策略 制定一个LOGO,视频中up的摊子叫公路商店 准备个小黑板 带个好看的围裙 头套啥的也备上 装备 必要 载具(小电车、自行车) 制作台 (可以展开...
继续阅读 »

前景


为35后做准备


找到一个合适的位置


周末出门多转转,找个人多的地方、并且容易饿的地方


营销策略



  • 制定一个LOGO,视频中up的摊子叫公路商店


image.png



  • 准备个小黑板

  • 带个好看的围裙

  • 头套啥的也备上


装备


必要



  • 载具(小电车、自行车)

  • 制作台 (可以展开的箱子、桌子)

  • 厨具(卡式炉、各式烤盘、酱料瓶子)

  • 收钱码(零钱)


可选



  • 投币机小玩具


卖什么


烤肠



  • 淀粉肠

  • 沙拉酱

  • 番茄酱

  • 黑胡椒酱

  • 孜然

  • 辣椒面

  • 油壶

  • 小刷子

  • 食品袋子
    image.png


润奶宝


甜筒、奶油、棉花糖、小熊饼干的组合


image.png


章鱼小丸子



  • 原材料 (面粉、鸡蛋、奶油)

  • 配菜(洋葱、芝士)

  • 定价 (12元/4个、15元/6个)


周末机车露营节集市,章鱼小丸子依旧是游客的宠爱,现场歌舞助兴_哔哩哔哩_bilibili


image.png


手工冰淇淋



  • 保温桶

  • 学习制作

  • 脆皮桶

  • 定价(3元/个)

  • 要用动物奶油


接完女儿放学,再一起骑着二八大杠去摆摊赚钱,多少人儿时的回忆_哔哩哔哩_bilibili


image.png


刨冰



  • 刨冰机


30℃的天气,我用樱桃小丸子刨冰机贩卖快乐_哔哩哔哩_bilibili


image.png


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

今天,我终于写了我大学时候想写的代码了

前言 最近心情不是很好,然后就开始回忆以前大学的时光,好想和大学的朋友再吃一顿饭啊。 然后想到一个月黑风高的晚上,我的宿友和我讨论多线程的问题: “假如有一个非常大的文件,要入库,你怎么将这个文件读取入库?” 当时我说:“很简单啊,就这样读文件然后入库啊。” ...
继续阅读 »

前言


最近心情不是很好,然后就开始回忆以前大学的时光,好想和大学的朋友再吃一顿饭啊。


然后想到一个月黑风高的晚上,我的宿友和我讨论多线程的问题:


“假如有一个非常大的文件,要入库,你怎么将这个文件读取入库?”


当时我说:“很简单啊,就这样读文件然后入库啊。”


他说:“我当时也是这样说的,然后面试官叫我回去等通知。”


想想还是太菜了,然后他和我说可以用多线程去操作。我当时由于技术原因不知道怎么操作,只知道大概思路。而今天也是有空去实现当时的遗憾了。


思路


思路也挺简单的,就是多条线程共同操作一个变量,这个变量记录了这个大文件读取的进度,也可以理解为文件行数。各个线程读取一定的数据然后记录mark,分段入库。


image.png


代码


餐前甜品


此处模拟从数据库读取大量数据原理和分批插入相同,每条线程循环500次,偏移量为500条,使用AtomicInteger来进行线程变量共享。


public class myThread implements Runnable {
private volatile int num = 0;
private AtomicInteger val = new AtomicInteger();
@Override
public void run() {
for (int i = 0; i < 500; i++) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("select id,name from user limit ");
stringBuffer.append(val.get());
val.addAndGet(500);
stringBuffer.append(",").append(val.get());
System.out.println(stringBuffer);
}
}
}

    public static void main(String[] args) {
myThread myRunnable1 = new myThread();
Thread thread1= new Thread(myRunnable1);
Thread thread2 = new Thread(myRunnable1);
thread1.start();
thread2.start();
}

每条线程是500x500,也就是250000,此处开了2条线程,最终结果应该是500000。控制台输出如下


image.png


ok,不错,证明方向是正确的,接下来是模拟读取大文件入库。

正餐


线程类


@Component
public class myNewThread extends Thread {
@Autowired
private IUserService userService;

private static AtomicInteger val = new AtomicInteger();

public myNewThread(){
}
public void run() {
List<User> list = new ArrayList<>();
for (int i = 0; i < 500; i++) {
User user = User.builder().wxName(val.get() + "").build();
SoftReference<User> stringBufferSoftReference = new SoftReference<>(user);
list.add(stringBufferSoftReference.get());
val.incrementAndGet();
}
userService.saveBatch(list);
}

}

@Test
void contextLoads() throws InterruptedException {
Thread thread3 = new myNewThread();
Thread thread4 = new myNewThread();
thread3.start();
thread4.start();
}

每条线程插入400条数据,wxName这个字段记录第几条数据
启动后发现控制台什么都没输出,数据库也没插入数据,很纳闷。然后经过一番思考后找出来问题所在。
在线程启动后加入以下两行代码


thread3.join();
thread4.join();

原因是,主线程在创建这两个线程后就结束了,子线程还没来得及操作数据库主线程就已经死亡了导致子线程被迫停止。


join表示主等待这线程执行结束,这样子就不会出现主线程创建完子线程就死亡导致子线程都没来得及执行线程体就死了的情况。


ok!启动!!
坏啦,空指针异常


image.png
经过调试发现,是service类在线程里面为空,导致能空指针异常,看来是spring捕获不到线程体。


既然捕获不到那我就传一个给线程体吧。


修改后的线程体


@Component
public class myNewThread extends Thread {
private IUserService userService;

private static AtomicInteger val = new AtomicInteger();
public myNewThread(IUserService userService){
this.userService = userService;
}
public myNewThread(){
}
public void run() {
List<User> list = new ArrayList<>();
for (int i = 0; i < 400; i++) {
User user = User.builder().wxName(val.get() + "").build();
SoftReference<User> stringBufferSoftReference = new SoftReference<>(user);
list.add(stringBufferSoftReference.get());
val.incrementAndGet();
}
userService.saveBatch(list);
}

}

修改后的单元测试


@Autowired
private IUserService userService;
@Test
void contextLoads() throws InterruptedException {
Thread thread3 = new myNewThread(userService);
//Thread thread4 = new myNewThread();
Thread thread4 = new myNewThread(userService);
thread3.start();
thread4.start();
thread3.join();
thread4.join();
}

简单来说就是使用构造函数给线程体传递一个非空的service类。


启动单元测试


image.png


证明是可以的刚刚好800条数据


总结


启动线程时要注意主线程和子线程的关系,然后操作数据库时,要注意传入的类是否空指针。


分段插入就到这里了,在高并发的情况下还没测试过,明天再说吧,已经是下午5点58了,下班!!!


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

五一在即:有哪些办法能阻止票贩子和我们一起抢票?

背景 五一就要来了,本来准备去淄博吃烧烤,结果发现根本抢不到机票。了解了一下原因,原来是黄牛的恶意爬虫把票都抢完了,现在买票,只能通过黄牛的渠道,多花几倍的钱来买了。 有鉴于此,想试试能不能针对这种爬虫防止相关问题,当然是站在航空公司的角度,就个人而言,躺平任...
继续阅读 »

背景


五一就要来了,本来准备去淄博吃烧烤,结果发现根本抢不到机票。了解了一下原因,原来是黄牛的恶意爬虫把票都抢完了,现在买票,只能通过黄牛的渠道,多花几倍的钱来买了。


有鉴于此,想试试能不能针对这种爬虫防止相关问题,当然是站在航空公司的角度,就个人而言,躺平任嘲就得了。


恶意爬虫的相关特征


对于恶意爬虫的特征,航空公司自己有总结:


1、访问的目标网页比较集中:“爬虫”代理人目标明确,主要是爬取班次、价格、数量等核心信息,因此只浏览访问几个固定页面,不访问其他页面。


**2、查询订票等行为很有规律:**由于“爬虫”是程序化操作,按照预先设定的流程进行访问等,因此呈现出毫无思维、但很有规律、有节奏且持续的行为。


3、同一设备上有规模化的访问和操作:“爬虫”的目的是最短时间内抓取最多信息,因此同一设备会有大量离散的行为,包括访问、浏览、查询等。


**4、访问来源IP地址异常:**正常情况下用户在查询、购买时,用户的IP地址比较稳定,而且访问来源IP比较;“爬虫”、“虚假占座”等操作时,IP来源地址呈现不同维度上的聚集,而且浏览、查询、购票等操作时不停变化IP地址。


5、设置UA模拟浏览器和频繁使用代理IP:很多“爬虫”程序伪装成浏览器进行访问,比如在程序头或者UA中默认含有类似python-requests/2.18.4等固定字符串;并且通过购买或者租用的云服务、改造路由器、租用IP代理、频繁变更代理IP等进行访问。


6、操作多集中非业务时间段:“爬虫”程序运行时间多集中在无人值守阶段。此时系统监控会放松,而且平台的带宽等资源占用少,爬虫密集的批量爬取不会对带宽、接口造成影响。以下是顶象反欺诈中心监测到,凌晨1-5点是恶意“爬虫”的运行高峰时段。


浅谈防范措施


1.设备指纹的应用


设备指纹单独用的话,在恶意爬虫面前,会稍微较弱一些。因为攻击者会使用其他技术手段来绕过设备指纹的检测,例如使用虚拟机、代理服务器等来隐藏真实设备的指纹。所以可以考虑结合IP地址限制一起使用:


import fingerprintjs2
from flask import Flask, request, abort

app = Flask(__name__)

# 创建一个新的Fingerprint2实例
fp = fingerprintjs2.Fingerprint2()

# 白名单IP地址
IP_WHITELIST = ['127.0.0.1', '192.168.0.1']

@app.route('/book-flight')
def book_flight():
# 获取设备指纹和IP地址
device_fingerprint = fp.get()
ip_address = request.remote_addr

# 检查IP地址是否在白名单中
if ip_address not in IP_WHITELIST:
abort(403)

# 其他业务逻辑代码...
return "Flight booked successfully!"

if __name__ == '__main__':
app.run()


2. 人机验证


人机验证肯定是一个阻挡办法,但是在这种恶意强攻击的情况下,我们可以试试语音验证码(但是可能对用户体验不大友好):


from flask import Flask, request, jsonify
import random
from io import BytesIO
from captcha.audio import AudioCaptcha

app = Flask(__name__)

# 生成随机字符串作为验证码
def random_string(length):
pool = 'abcdefghijklmnopqrstuvwxyz0123456789'
return ''.join(random.choice(pool) for i in range(length))

# 生成语音验证码
def generate_audio_captcha():
captcha = random_string(4)
audio = AudioCaptcha().generate(captcha)
return captcha, audio

# 创建一个全局变量,用于保存已生成的语音验证码
captcha_cache = {}

@app.route('/audio-captcha')
def audio_captcha():
# 生成新的语音验证码
captcha, audio = generate_audio_captcha()

# 将验证码保存到缓存中,以便后续验证
captcha_cache[captcha] = True

# 返回语音验证码
response = BytesIO(audio.read())
response.headers['Content-Type'] = 'audio/wav'
return response

@app.route('/book-flight', methods=['POST'])
def book_flight():
# 获取表单中的验证码
captcha = request.form['captcha']

# 检查验证码是否正确
if captcha not in captcha_cache:
return 'Invalid captcha!'

# 其他业务逻辑代码...
return "Flight booked successfully!"

if __name__ == '__main__':
app.run()


因为对用户体验不大友好,研发同学在设计的时候,最好考虑一下它的易用性和可访问性问题。需要权衡用户体验和恶意爬虫。


结语


“天下熙熙皆为利来,天下攘攘皆为利往。”因为这一块存在着巨大的利益,也就一直吸引着无数黑客从中牟利,而我们能做的,是“魔高一尺道高一丈”,希望能为安全世界尽一份力。


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

我的30岁,难且正确的事情是什么?

过去这两年里完成管理角色转型,完成了移动端工程化建设,养成了早睡早起的习惯,还戒了烟,也看了不少书,学会了羽毛球,但这些都不是最重要的。 3月意料之中的最后裁员到来了,在充分了解个人意愿后留下两个不想看新工作的小伙伴,IOS Android各一个。我把自己也...
继续阅读 »

过去这两年里完成管理角色转型,完成了移动端工程化建设,养成了早睡早起的习惯,还戒了烟,也看了不少书,学会了羽毛球,但这些都不是最重要的。



3月意料之中的最后裁员到来了,在充分了解个人意愿后留下两个不想看新工作的小伙伴,IOS Android各一个。我把自己也写进了名单,跟其他能力相对强一点的一起出来了。回顾过去2年我们做的事情,我对大家还是蛮有信心的。同时基于对《钱》这本书的学习,我从前两年开始就一直留有1年以上的备用金,所以暂时也没太大经济压力,不至于因为囊中羞涩着急找一份谋生的工作。


刚离开公司的前两周,先花了1000多找了两个职业咨询师,了解目前的招聘环境,招聘平台,招聘数据,以及针对性的帮助我修改简历。都准备好以后,开始选公司试投简历,认真看完大部分JD后大概清楚自己的能力所匹配的公司,薪资范围。机会确实不多,移动端管理岗位,架构岗位就更少,尤其是像我这样工作不到10年,架构跟管理经验都还未满5年的人,选择更是寥寥无几。


先后参加了两个2面试,一个是小团队的移动 TL,在了解后双边意向都不大。另一个是 Android 架构方向。虽然拿了offer,薪资包平移,但我最终没去。一是发生了一点小误会,发offer前电话没告诉我职级,我以为架构岗过了其实没有,差一点点到P7。回看面试记录,提升并不困难,有能力冲一冲的,这一次并不会影响我的信心。


另一个则是我真的冷静下来了,也就有了这篇文章。


在这两周里,陆续写了一些文章,做了一些开源项目。完全是出于助人为乐回馈社区,没想到也因此结识了几个做阅读业务的同学,纷纷向我抛来橄榄枝。其中包含一个已经在行业内做到Top3的产品。这让我有些受宠若惊,毕竟我觉得我给的技术方案并非有很大门槛,只是运气好站在巨人的肩膀上想到了不同的方案而已。


正是这些非常正面的反馈,帮助我消化了很大一部分所谓的焦虑(难说我本身一点不受环境影响)。在Zhuang的帮助下,我大概做了两次自我梳理,最后在前几天我从地铁回家大概3km的步行中想明白了很多事情。


每次出去旅游时,比如我躺在草原上,看着日落,说实话我欣赏不了10分钟。因为我的思绪停不下来,我就会去想一些产品或者是管理方面的问题。我很爱工作,或者说喜欢工作时可以反复获取创造性的快乐,比如做出一个新的技术方案或者优化工作流程解决一个团队问题,都让人很兴奋。但现在,我想强迫自己来思考一些更长期的事情。


我的30岁,难而且正确的事情是什么?


是找一份工作吗?这显然不难,作为技术人,找一份薪资合理的工作不难,这恰恰是最容易的


是找一份自己喜欢的工作吗?这有一点难,更多的是需要运气。职业生涯就十几年,有几次选择的机会呢?这更多的是在合理化自己对稳定性,舒适性的追求,掩盖自己对风险的逃避。


是找一个自己喜欢的事情,并以此谋生吗?这很难,比如先找到自己长期喜欢长期坚持投入的事情就很难,再以此谋生就需要更多的运气与常年积累去等待这个运气出现,比如一些up主。这可以是顺其自然的理想,但不适合作为目标。


上面似乎都是一个个的问题,或者说看到这些问题的时候我就看到了自己的天花板了。因为我可以预见我在这些方向上的学习能力,积累速度,成长空间,资源储备。


这半年涌出了太多的新事物,像极了02年前后的互联网,14前后的移动互联网。我从去年12月5日开始使用GPT,帮助我提高工作,学习效率,帮助我做UI设计,帮助我改善代码,甚至帮助我学习开网店时做选品,做策略,可以说他已经完全融入我的工作学习了。


开发自己的GPT应用要仔细阅读OPEN AI 的API,我再次因为英语的理解速度过慢严重影响学习效率,即使是有众多实时翻译软件帮助下丝毫不会有所改善。


翻译必然会对原文做二次加工,翻译的质量也许很高,甚至超过原文,但这样意味着阅读者离原文越远。


比如我在Tandem上教老外“冰雪聪明”这个词的意思,我很难解释给她,更多的是告诉她这个词在什么场景用比较恰当,比“聪明”更高级。但是如果用翻译软件,这个词会变着花样被翻译成“很聪明”,美感全无。


在Tandem跟人瞎聊时以涉及复杂事件就词穷,直到认识了一个 西班牙的 PHD 与另一个 印尼的大学生,她们帮我找到了关键点,基础语法知识不扎实,英语的思维不足。有些时候他们会说我表达的很棒,口语也行,有些时候他们会说我瞎搞。其实很好理解,就像他们学中文一样,入门也不难,难的是随意调动有限的词汇自由组织句子进行表达,而不是脑子里先想一个母语再试着翻译成外语,难的是在陌生场景下做出正确的表达,能用已经学的知识学习新知识,也就是进入用英语学习英语的阶段。


另外一个例子就是做日常技术学习的时候,尤其是阅读源码的时候,往往是不翻译看懂一部分注释,翻译后看懂一部分,两个一结合就半懂不懂,基于这个半懂不懂的理解写大量测试去验证自己的理解,反推注释是否理解正确,这个过程非常慢,效率极低。


这就是为什么很多东西需要依赖大佬写个介绍文档,或是翻译+延伸解释之后才能高效率学习,为什么自己找不到深入学习的路径,总是觉得前方有些混沌。


记得在刚入行的前几年写过一篇学习笔记,把自定义view 在view层测量相关的代码中的注释,变量名称整个都翻译了,备注2进制标记位变化结果,再去理解逻辑就非常简单了。跟读小说没啥区别(读Java代码就像读小说,我一直这么觉得),很快就理解了。但这个过程要花太多时间了,多到比别人慢10倍不止。


所以这第一个难而正确的事情是学习英语


达到能顺畅阅读技术资料与代码的地步,才能提高我在学习效率上的天花板。


第二个是有关生活的事情,增加不同的收入手段,主业以外至少赚到1块钱


裁员给我最大的感触就是,我很脆弱,我的职业生涯很脆弱,我的生存能力很脆弱,不具备一点反脆弱性。如果没有工作我就没有任何收入,只要稍微发生一点意外,就会面临巨大的经济压力,对于我和家庭都会陷入严重的经济困难中。


市场寒冬与我有关但却不受我影响,我无法改变。同时平庸的职业经历在行业内的影响微乎其微,大佬们是不管寒风往哪吹的,他们只管找自己想做的方向,或者别人找到他们。


我就认识这样的大佬,去年让我去新公司负责组新团队,连续一两周持续对我进行电话轰炸,因为当时正负责的团队处于关键期,我有很深的“良知”情节,我婉拒了,这是优点也是缺点。


而我只有不断提高自己的能力,让人觉得有价值才能持续在这个行业跟关系网里谋生。


但是我知道,大风之下我依然是树叶,我不是树枝,成为树枝需要天时地利人和。就像在公司背小锅的永远都是一线,因为如果是管理层背锅那公司就出了决策性的大问题了,对公司而言已然就是灾难。


这几周陆续跟很多人聊了各种事情,了解他们在做什么。有双双辞职1年多就在家做私活忙得不亦乐乎,有开网店有做跨境电商的,也了解了很多用Chat GPT,Midjourney 等AI工具做实物产品在网上卖的。包括去年了解的生财有术知识星球等等,真的花心思去了解,打开知识茧房确实了解到非常多不同的方向,有一种刘姥姥进大观园的感觉。


自己做了一些实际尝试,跑了下基本流程,确实有一些门槛但各不相同。同时在这个过程中,又因为英语阅读效率低而受阻,文档我也是硬看,不懂的词翻译一下,理解不透再整句翻译,再倒回来看原文。


比如网上midjourney的教程一大把,其实大多数都不如看midjourney官方文档来的快,我从看到用到商品上架,不过几个小时,这中间还包括开通支付跟调整模型。


至于赚到1块钱,有多难呢,当我试了我才有所体会。


种一棵树最好的时间是在10年前,其次是现在。


继续保持在社区的输出,保持技术学习。休假我都不会完全休息,Gap 中当然也不会。


后记


去年公司陆续开始裁撤业务线,有的部门直接清零,公司规模从几千人下降到千人以内不过是几个月的事情,有被裁的,也有为了降低自身风险而主动走裁员名单,这也是双赢的解决方案,公司能精简人员个人可以拿到赔偿。管理层的主要工作是尽力留下核心成员,温和的送走要离开的成员,最大程度降低团队的负面情绪,做人才盘点,申请HC做些人力补充,减少团队震动保障项目支撑。没错,一边裁员一边还会招人。


彼时我个人也才刚刚在管理岗上站稳脚跟不久,团队里没有人申请主动离职算是对我挺大一个宽慰。有的团队人员流失率接近70%,相比之下我压力小得多,但我依然要交出一个名字给到部门负责人。我当然很不舍同时也为他们担忧,过去一年多大家一起相互成长,很多人也才刚刚步入新职级。


我努力寻找第三选择,功夫不负有心人,之前做过的一个项目独立出去了,成立了独立的子公司运营,新团还没搭建完。当时跟那个项目团队的产品,后端负责人配合得相当不错,我便以个人的背书将一个曾重点负责过这个项目的成员推荐过去,加上直属上级的帮助,最终在所有HC都要HRD审批的环境下平滑的将裁员变成了团队调配。现在即使我离开了母公司,他们小团队依然还不错,没有受到后续裁员影响。这位小伙伴人特别实在,他是我见过执行里最强的人,他值得这样的好运气。


作为管理者,我有些单纯的善意,不满足于工作层面的帮助。因为我觉得个人能量实在是太小了,而未来无人知晓。


作为核心部门虽然裁员的影响波及较为滞后,但明显的感觉还是研发压力骤减,加上公司为了早点达到账面盈亏平衡,对部分薪资采取缓发,在这样的背景下整个部门的氛围变了,需求评审得过且过,项目质量得过且过,此类情况比比皆是,工作的宽容度也一再升高。


作为个人来讲这真是躺平型工作,工作任务骤减但薪资还照样发,绩效照发,每天到公司跟去上学一样。我心里就出现了一个声音「你喜欢在这里继续混吗?这里如此安逸」。


今年3月意料之中的新一轮裁员到来,我几乎没有犹豫就答复了部门负责人。团里谁想留下谁不想留我很清楚,过去我们一直也保持比较健康的氛围,始终鼓励能力强的人出去看看,也明确告知留下来与出去将面临的不同风险。大家都有心理准备,但大家都没有懈怠自己的学习,技术目标按部就班,丝毫没有陷入负面漩涡,偶尔还会因为讨论技术问题忘记下班时间。


这一次,我把自己放在了名单上,当然这并不突然。我与部门负责人一直保持着较高的工作沟通频率,就向上管理这一点上,我自认做得非常不错。


离职后大家都积极找工作,我对他们非常有信心,抛开头部大厂,中厂依然是他们的主阵地,他们在各自专精的领域里技术都很扎实,尤其是去年大家一起补足了深层次的网络层知识。不出意料部分人都很快拿了offer,有的更是觉得不想面试了匆匆就入职了,这我就不行使自己好为人师的毛病了。




滑到底部可点赞评论



浏览橘子树其他文章:橘子树的飞书写作记录


作者:橘子没
来源:juejin.cn/post/7224068169341763643

收起阅读 »

2023年,我从北京回到了东北

(背景应景吗铁铁们) 🎤: 可以讲讲在北京这几年的经历吗?   🙍‍♂️:5年多,算是大小厂都经历过了,大概是小-大-中的一个顺序,刚毕业的时候去了一家做线下教育的小公司,现已倒闭。   后来去到了阿里的一个边缘业务,当不当正不正吧,那段时间我尽可能的提升自身...
继续阅读 »

(背景应景吗铁铁们)


🎤: 可以讲讲在北京这几年的经历吗?


  🙍‍♂️:5年多,算是大小厂都经历过了,大概是小-大-中的一个顺序,刚毕业的时候去了一家做线下教育的小公司,现已倒闭。
   后来去到了阿里的一个边缘业务,当不当正不正吧,那段时间我尽可能的提升自身的认知水平,想要跟上各位大佬们的思维,讲真,有的时候P8领导给我们开会,我get不到大部分会议内容的核心点和他表达的东西,最后让我明白了人和人之间的差距真的可能这一生都追赶不上。
   再后来就去到了一家中小厂吧,老板较有知名度,做知识服务的,在这里度过了我最后的北漂时光。


🎤: 在北京一定学习到了很多东西吧,最大的收获是什么?


  🙍‍♂️:这倒是不假,毕竟是帝都,确实让我见识到了很多很多新的东西和形形色色的人们,这是不曾在老家可以看见的。
   至于学习吧,我本身是一个很少会去主动学习的人,更多的情况是在工作需要,我才会去学习。所以不能说没有长进,只能说略微缓慢,但是我并没有觉得自己很差劲。还有一些生活技能,最多的就是做饭
   除了自身的成长以外,要说最大的收获,我必须要很诚实的说,是一些精神问题,曾经有很长一段时间,甚至是到至今,我被自己内心的焦虑所控制,对自我有无数个疑问。我曾经因为一个需求难搞以至于我做梦都在梦我如何去写它的代码;无数次的凌晨钉钉或是飞书群的@消息,我一般是第二天起床才看到,但是看到那些的瞬间我头疼欲裂胸口紧缩。我的内心会一直问:“为什么?为什么不能让我睡一个好觉或者是起一个好早。”,大城市的节奏之快让我睁眼的第一件事就是想到工作,或者是带着工作入眠,开玩笑,入不了,根本入不了。种种原因吧,可能是我心态的问题,所以决定回到老家也是为了尽可能的调整一下自己的心态。


huabu.webp

(自己做的炒鸡蛋和葱爆肉)


🎤: 在北京一定有攒钱吧?


  🙍‍♂️:攒钱是攒了一些,但是没有很多。当我真正开始月薪过万的时候,对于一个从来没有见过5位数进账的人来讲,我开始了一种报复性消费,我把之前不敢买的东西几乎都买了,游戏也充了很多钱,每个月都会买衣服和鞋,甚至如果有的东西我想要但是手里的钱不够,我也会分期买,前两年的消费很夸张,而且从来不记账,现在回想起来那时候真的是虚荣的、丑陋的。(仅对我个人而言)
   真正开始攒钱的时候是从我的女朋友来到北京找我开始,我们感情很好,所以就像两个人正常的在一起生活一样,总是要为生活和未来买单的,于是我每个月发完工资都会经过她的计算后留下基本的生活费,然后全部转给她,她掌管家里的财政,很让我安心。就这样后几年算是攒下了一笔小钱。
   在我的理解是爱情更多还是要责任更多一些吧,所以我不会觉得让我不再乱花钱也是一种约束


🎤: 真正让你决定离开北京的原因是什么?


  🙍‍♂️:没有能绝对决定的原因,只有能压垮的最后一根稻草。
   从刚来北京的奋斗b到现在只想摆烂躺平的我是一个长期的心态上的变化。我最终得出一个结论:这里不适合我,或者说,我不适合它。 影响比较大的几件事都集中在了22年,三件事:
   1. 回家过年
   2. 奶奶过世
   3. 公司裁员
   这三件事贯穿了我整个2022年,可以说是一连串的事情打得我措手不及。于是经过了多次自我内心的审视、对答后,在过完23年的春节后,我做了这个决定,我要离开这里了。 电影的主角们总会说:“What does not kill me, makes me stronger.”,但是对于我来说,可以打倒我的东西太多了,我自认普通且平凡。



I just wanna be free.



🎤: 离开后你都做了些什么呢?


  🙍‍♂️:2月下旬开始处理离职交接的一些事情,同时还有面试一些老家那边的公司,然后租房子,收拾行李。每天真的是累到倒床就睡,感觉这次跨省搬家元气大伤、身心俱疲,掉了半条命一样。
   好在和女朋友的规划下,把时间节点安排的刚刚好,2月末把这些事儿都处理好了之后,3月初我和女朋友就开始了一周的云南之行,我俩称之为:心灵救赎之旅
   路线是丽江-大理-西双版纳,选择去云南是因为我们马上要回到东北,以后像这种东北到西南斜跨全国的旅游机会应该没几次了...让我印象最深刻的是丽江,我最大的感觉就是:纯净(我着实是没有文本功底)。无论人、山、水、云,大家生活在这里,仿佛一片世外桃源


huabu.webp

(丽江的云,是让我觉得离自由和奶奶最近的时候)


🎤: 回到东北后感觉怎么样?


  🙍‍♂️:先说工作吧,我目前在大连一家做车载车机的小公司,因为之前没有做过这类工作,所以最近也是在学习一些相关的知识,在这里真的要特别感谢一位大佬:林栩link,他的文章对于我来说很有帮助。然后工资对于我来讲还算可观,因为对大连这边的就业环境不是很了解,先在这里稳一稳吧。
   我租的房子和公司在一条街上,距离不到300m,每天中午还可以回家吃口饭歇一歇。工作时间的话是早8点半到晚5点半,目前一个月我没有加过班,到点就走了(而且是同事们几乎都这样),晚上和女朋友一起做饭,之后可以去市中心或者是海边溜达一圈,时间非常充足,周末的话会叫上朋友到家里吃饭或者是一起出去玩。
   距离我的老家鞍山也更近了一些,我妈说我自从回来了之后,她总有一种心里的石头落地了的感觉,我没事儿的时候就会和女朋友在周五晚上坐3个半小时的绿皮回去,然后周日的晚上再坐回来,回家吃自己爱吃的东西。
   算是找到了那种安安静静上班,认认真真生活的感觉。
   说这么多是因为这是我在北京这么多年从未体会过的生活,实在是没有发现生活的多样性(可能也是因为没钱吧hhh)。


huabu.webp

(星海广场的灯光秀)


🎤: 未来有什么样的规划?


  🙍‍♂️:哈哈,想在2年内和女朋友领证结婚,首付买一套小房子和一台小鹏G3i或者是零跑C11。然后多去了解了解这边的市场,在这么多空余的时间去计划搞一些副业(万一以后能干成主业呢)。


🎤: 想说的话。


  🙍‍♂️:嗯...看了很多大佬的年终总结,收获颇多,于是也想自己去写出一些东西,表达一下,哈哈哈。
   如果让我来总结自己的每一年的话,我好像只能说:还行、凑合、就那样,又不温不火的过了一年。但是我很喜欢一句话:空想都是问题,落笔皆为答案。不论好坏对错,都是我选择的答案,可能以后还会遇到相同或者不同的问题,只要不会停滞不前就好了。
   最后欢迎大家来找我一起讨论玩耍摸鱼~ 祝好!



我们生來自由,所以希望我们都有勇气选择自由。



作者:啊是小鱼快来摸摸
来源:juejin.cn/post/7222897518517551141
收起阅读 »

五一在即:有哪些办法能阻止票贩子和我们一起抢票?

背景 五一就要来了,本来准备去淄博吃烧烤,结果发现根本抢不到机票。了解了一下原因,原来是黄牛的恶意爬虫把票都抢完了,现在买票,只能通过黄牛的渠道,多花几倍的钱来买了。 有鉴于此,想试试能不能针对这种爬虫防止相关问题,当然是站在航空公司的角度,就个人而言,躺平任...
继续阅读 »

背景


五一就要来了,本来准备去淄博吃烧烤,结果发现根本抢不到机票。了解了一下原因,原来是黄牛的恶意爬虫把票都抢完了,现在买票,只能通过黄牛的渠道,多花几倍的钱来买了。


有鉴于此,想试试能不能针对这种爬虫防止相关问题,当然是站在航空公司的角度,就个人而言,躺平任嘲就得了。


恶意爬虫的相关特征


对于恶意爬虫的特征,航空公司自己有总结:


1、访问的目标网页比较集中:“爬虫”代理人目标明确,主要是爬取班次、价格、数量等核心信息,因此只浏览访问几个固定页面,不访问其他页面。


**2、查询订票等行为很有规律:**由于“爬虫”是程序化操作,按照预先设定的流程进行访问等,因此呈现出毫无思维、但很有规律、有节奏且持续的行为。


3、同一设备上有规模化的访问和操作:“爬虫”的目的是最短时间内抓取最多信息,因此同一设备会有大量离散的行为,包括访问、浏览、查询等。


**4、访问来源IP地址异常:**正常情况下用户在查询、购买时,用户的IP地址比较稳定,而且访问来源IP比较;“爬虫”、“虚假占座”等操作时,IP来源地址呈现不同维度上的聚集,而且浏览、查询、购票等操作时不停变化IP地址。


5、设置UA模拟浏览器和频繁使用代理IP:很多“爬虫”程序伪装成浏览器进行访问,比如在程序头或者UA中默认含有类似python-requests/2.18.4等固定字符串;并且通过购买或者租用的云服务、改造路由器、租用IP代理、频繁变更代理IP等进行访问。


6、操作多集中非业务时间段:“爬虫”程序运行时间多集中在无人值守阶段。此时系统监控会放松,而且平台的带宽等资源占用少,爬虫密集的批量爬取不会对带宽、接口造成影响。以下是顶象反欺诈中心监测到,凌晨1-5点是恶意“爬虫”的运行高峰时段。


浅谈防范措施


1.设备指纹的应用


设备指纹单独用的话,在恶意爬虫面前,会稍微较弱一些。因为攻击者会使用其他技术手段来绕过设备指纹的检测,例如使用虚拟机、代理服务器等来隐藏真实设备的指纹。所以可以考虑结合IP地址限制一起使用:


import fingerprintjs2
from flask import Flask, request, abort

app = Flask(__name__)

# 创建一个新的Fingerprint2实例
fp = fingerprintjs2.Fingerprint2()

# 白名单IP地址
IP_WHITELIST = ['127.0.0.1', '192.168.0.1']

@app.route('/book-flight')
def book_flight():
# 获取设备指纹和IP地址
device_fingerprint = fp.get()
ip_address = request.remote_addr

# 检查IP地址是否在白名单中
if ip_address not in IP_WHITELIST:
abort(403)

# 其他业务逻辑代码...
return "Flight booked successfully!"

if __name__ == '__main__':
app.run()


2. 人机验证


人机验证肯定是一个阻挡办法,但是在这种恶意强攻击的情况下,我们可以试试语音验证码(但是可能对用户体验不大友好):


from flask import Flask, request, jsonify
import random
from io import BytesIO
from captcha.audio import AudioCaptcha

app = Flask(__name__)

# 生成随机字符串作为验证码
def random_string(length):
pool = 'abcdefghijklmnopqrstuvwxyz0123456789'
return ''.join(random.choice(pool) for i in range(length))

# 生成语音验证码
def generate_audio_captcha():
captcha = random_string(4)
audio = AudioCaptcha().generate(captcha)
return captcha, audio

# 创建一个全局变量,用于保存已生成的语音验证码
captcha_cache = {}

@app.route('/audio-captcha')
def audio_captcha():
# 生成新的语音验证码
captcha, audio = generate_audio_captcha()

# 将验证码保存到缓存中,以便后续验证
captcha_cache[captcha] = True

# 返回语音验证码
response = BytesIO(audio.read())
response.headers['Content-Type'] = 'audio/wav'
return response

@app.route('/book-flight', methods=['POST'])
def book_flight():
# 获取表单中的验证码
captcha = request.form['captcha']

# 检查验证码是否正确
if captcha not in captcha_cache:
return 'Invalid captcha!'

# 其他业务逻辑代码...
return "Flight booked successfully!"

if __name__ == '__main__':
app.run()


因为对用户体验不大友好,研发同学在设计的时候,最好考虑一下它的易用性和可访问性问题。需要权衡用户体验和恶意爬虫。


结语


“天下熙熙皆为利来,天下攘攘皆为利往。”因为这一块存在着巨大的利益,也就一直吸引着无数黑客从中牟利,而我们能做的,是“魔高一尺道高一丈”,希望能为安全世界尽一份力。


说个事情:滑动验证码 免 费

收起阅读 »

俞敏洪:我曾走在崩溃的边缘

大家在人生的经历中遇到过很崩溃的事情吗? 我遇到过,遇到这类事情的时候,我会读读名人传记,看看他们有没有遇到我和我类似的事情;他们是怎么处理这些事情的;或者说他们的心路历程是怎么样的。他们的应对方式可能会对我有所启发。 长时间下来,这个习惯让我对名人的苦难经历...
继续阅读 »

大家在人生的经历中遇到过很崩溃的事情吗?


我遇到过,遇到这类事情的时候,我会读读名人传记,看看他们有没有遇到我和我类似的事情;他们是怎么处理这些事情的;或者说他们的心路历程是怎么样的。他们的应对方式可能会对我有所启发。


长时间下来,这个习惯让我对名人的苦难经历或者处理棘手问题的经历有强烈的好奇心。最近,读了俞敏洪的自传《我曾走在崩溃的边缘》,感觉挺有意思。


俞敏洪是新东方的老板,在“双减”政策之后,新东方转型做了直播,也就是大家熟知的东方甄选,可能很多人还买过他们直播间的大米。当然,我没有买过,因为理智促使我很少为情怀买单。


离开北大


俞敏洪曾经是北大的老师,他的梦想是出国留学。但老师的工资低,很难赚够出国的学费。作为南方人的他,天生的商人基因让他找到了赚钱的路子——开英语培训班。这条路子获得的收入比工资高十几倍,利润十分丰厚。


于是,他打着北大的招牌私下招生,这意味着和北大“官方”的托福培训班形成了竞争关系。学校当然不会允许北大老师和北大抢生意,况且学校禁止老师私下办培训班。俞老师无法避免地和校领导发生了冲突,并因此被处分。


图片


处分的通告在学校的高音喇叭上足足播了一个礼拜,这件事情闹得人尽皆知,对俞敏洪名声的伤害极大。后来,学校分房自然没有俞老师的份了。在中国的社会体系下,名声对一个人来说极其重要。这种“德治”社会虽然在人口大国里对秩序起着巨大的作用,但也给一些人带来了巨大伤害。一遭名声败坏,要背一辈子,这对当事人是多大的打击。


那时俞敏洪已经结婚,本可以在大学教书过安稳的生活,但这一纸处分,让他决定从北大离职。最后,他骑着三轮车拉着家当离开了北大,开启了新东方的事业。


图片


死磕办学证


办培训班需要办学证,类似于现在的牌照。如果没有就无法公开招生,这意味着无法扩大规模。俞敏洪没办法,找了当时一个叫东方大学的机构联合办培训班,条件是支付总收入的25%给东方大学。


东方大学不参与招生、培训等所有事情,却要分掉一大笔钱。随着培训班的规模越来越大,俞敏洪意识到这不是长久之计,他决定就算再难,死磕也要把办学证拿到手。


要拿到办学证要符合两个条件:一是必须有大学副教授以上职称,二是要经原单位同意。


俞敏洪在北大只是讲师,没有副教授职称,而且北京大学处分了他,不可能同意他办学。两个条件都不符合,教育局直接拒绝,并叫他不要来了。


不得不说,俞老师的脸皮是够厚的,每隔一两星期就去教育局和办事的人聊天,久了大家就混熟了。


大概耗了半年,教育局放低了办学的要求,只要他能够在人才交流中心拿到允许办学证明就放行。可是人才交流中心的工作人员根本不给他开证明。直到遇见他一个在这里工作的学生,在她的帮助下才拿到证明。


办学证到手后,俞敏洪离开东方大学,开始独立办培训班。原来的“东方大学外语培训部”这块招牌积累了相当的名气,新东方成立后,大量学生还去那边报名。为了顺利切换品牌,新的培训机构起名叫新东方,而且从东方大学买断了“东方大学外语培训部”三年的使用权,每年支付20万。


这一系列的操作,可见俞敏洪有相当不错的商业头脑。


被赶下董事长的位置


中国是一个人情社会,比如亲情、友情、同学情。在这种社会成长起来的人,自然会想到找自己熟悉的人一起做事业。俞敏洪也不例外。新东方的培训班办得风生水起,俞敏洪开始寻找人才。


除了拉亲人朋友入伙,他还出国把大学同学王强、徐小平拉回来一起跟他干事业。这三人被称为“东方三驾马车”,也就是电影《中国合伙人》的原型。


image.png


亲人、同学、朋友之间,天然有信任感,在事业的初创阶段一起工作沟通效率非常高,而且为了共同的目标,凝聚力非常强。


当公司到了一定的规模,这种人情关系构建起来的团队,会使公司的人事关系变得非常复杂。


一是,团队没有组织架构,决策效率低下;二是,老板没有话语权,下面的人不知道该听谁的,却谁都不敢得罪。


后来,在新东方改革期间,创始团队出现各种矛盾,俞敏洪无法短期内处理好这些矛盾,被管理层认为是不合格的董事长。于是,俞敏洪从位置上退了下来。


退位期间,其他几个领导轮流做主,也无法处理好团队的矛盾。俞敏洪开始大量阅读公司管理、股权管理的书籍,积累比其他领导更丰富的管理知识。两三年后,他重新回到董事长的位置上。


他能回到位置上,管理知识是一方面,我斗胆猜测,运气的成分占比很大。毕竟被自己的公司赶走的大有人在。


结尾


除了上面3个故事,俞敏洪还有很多非常精彩的故事,比如“被抢劫险些丧命”、“知识产权侵权风波”、“新东方上市”、“遭遇浑水公司做空”等等。


语言是思想的外衣。他来自农村,《我曾走在崩溃的边缘》这本书语言坦诚,像他本人一样。他的人生非常精彩,展现了他强大的韧性。


他的成功,有时代的机遇,也有个人的努力。我们可能无法准确把握时代的机遇,但可以学习他的努力和韧性,在崩溃之时屹立不倒。


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

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

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

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


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


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


1、他的问题


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


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


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


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


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


2、几个建议


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


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


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


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



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

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

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


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


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


3、写在最后


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


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


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


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

2023年,我从北京回到了东北

🎤: 可以讲讲在北京这几年的经历吗?   🙍‍♂️:5年多,算是大小厂都经历过了,大概是小-大-中的一个顺序,刚毕业的时候去了一家做线下教育的小公司,现已倒闭。   后来去到了阿里的一个边缘业务,当不当正不正吧,那段时间我尽可能的提升自身的认知水平,想要跟上各...
继续阅读 »

🎤: 可以讲讲在北京这几年的经历吗?


  🙍‍♂️:5年多,算是大小厂都经历过了,大概是小-大-中的一个顺序,刚毕业的时候去了一家做线下教育的小公司,现已倒闭。
   后来去到了阿里的一个边缘业务,当不当正不正吧,那段时间我尽可能的提升自身的认知水平,想要跟上各位大佬们的思维,讲真,有的时候P8领导给我们开会,我get不到大部分会议内容的核心点和他表达的东西,最后让我明白了人和人之间的差距真的可能这一生都追赶不上。
   再后来就去到了一家中小厂吧,老板较有知名度,做知识服务的,在这里度过了我最后的北漂时光。


🎤: 在北京一定学习到了很多东西吧,最大的收获是什么?


  🙍‍♂️:这倒是不假,毕竟是帝都,确实让我见识到了很多很多新的东西和形形色色的人们,这是不曾在老家可以看见的。
   至于学习吧,我本身是一个很少会去主动学习的人,更多的情况是在工作需要,我才会去学习。所以不能说没有长进,只能说略微缓慢,但是我并没有觉得自己很差劲。还有一些生活技能,最多的就是做饭
   除了自身的成长以外,要说最大的收获,我必须要很诚实的说,是一些精神问题,曾经有很长一段时间,甚至是到至今,我被自己内心的焦虑所控制,对自我有无数个疑问。我曾经因为一个需求难搞以至于我做梦都在梦我如何去写它的代码;无数次的凌晨钉钉或是飞书群的@消息,我一般是第二天起床才看到,但是看到那些的瞬间我头疼欲裂胸口紧缩。我的内心会一直问:“为什么?为什么不能让我睡一个好觉或者是起一个好早。”,大城市的节奏之快让我睁眼的第一件事就是想到工作,或者是带着工作入眠,开玩笑,入不了,根本入不了。种种原因吧,可能是我心态的问题,所以决定回到老家也是为了尽可能的调整一下自己的心态。


huabu.webp

(自己做的炒鸡蛋和葱爆肉)


🎤: 在北京一定有攒钱吧?


  🙍‍♂️:攒钱是攒了一些,但是没有很多。当我真正开始月薪过万的时候,对于一个从来没有见过5位数进账的人来讲,我开始了一种报复性消费,我把之前不敢买的东西几乎都买了,游戏也充了很多钱,每个月都会买衣服和鞋,甚至如果有的东西我想要但是手里的钱不够,我也会分期买,前两年的消费很夸张,而且从来不记账,现在回想起来那时候真的是虚荣的、丑陋的。(仅对我个人而言)
   真正开始攒钱的时候是从我的女朋友来到北京找我开始,我们感情很好,所以就像两个人正常的在一起生活一样,总是要为生活和未来买单的,于是我每个月发完工资都会经过她的计算后留下基本的生活费,然后全部转给她,她掌管家里的财政,很让我安心。就这样后几年算是攒下了一笔小钱。
   在我的理解是爱情更多还是要责任更多一些吧,所以我不会觉得让我不再乱花钱也是一种约束


🎤: 真正让你决定离开北京的原因是什么?


  🙍‍♂️:没有能绝对决定的原因,只有能压垮的最后一根稻草。
   从刚来北京的奋斗b到现在只想摆烂躺平的我是一个长期的心态上的变化。我最终得出一个结论:这里不适合我,或者说,我不适合它。 影响比较大的几件事都集中在了22年,三件事:
   1. 回家过年
   2. 奶奶过世
   3. 公司裁员
   这三件事贯穿了我整个2022年,可以说是一连串的事情打得我措手不及。于是经过了多次自我内心的审视、对答后,在过完23年的春节后,我做了这个决定,我要离开这里了。 电影的主角们总会说:“What does not kill me, makes me stronger.”,但是对于我来说,可以打倒我的东西太多了,我自认普通且平凡。



I just wanna be free.



🎤: 离开后你都做了些什么呢?


  🙍‍♂️:2月下旬开始处理离职交接的一些事情,同时还有面试一些老家那边的公司,然后租房子,收拾行李。每天真的是累到倒床就睡,感觉这次跨省搬家元气大伤、身心俱疲,掉了半条命一样。
   好在和女朋友的规划下,把时间节点安排的刚刚好,2月末把这些事儿都处理好了之后,3月初我和女朋友就开始了一周的云南之行,我俩称之为:心灵救赎之旅
   路线是丽江-大理-西双版纳,选择去云南是因为我们马上要回到东北,以后像这种东北到西南斜跨全国的旅游机会应该没几次了...让我印象最深刻的是丽江,我最大的感觉就是:纯净(我着实是没有文本功底)。无论人、山、水、云,大家生活在这里,仿佛一片世外桃源


huabu.webp

(丽江的云,是让我觉得离自由和奶奶最近的时候)


🎤: 回到东北后感觉怎么样?


  🙍‍♂️:先说工作吧,我目前在大连一家做车载车机的小公司,因为之前没有做过这类工作,所以最近也是在学习一些相关的知识,在这里真的要特别感谢一位大佬:林栩link,他的文章对于我来说很有帮助。然后工资对于我来讲还算可观,因为对大连这边的就业环境不是很了解,先在这里稳一稳吧。
   我租的房子和公司在一条街上,距离不到300m,每天中午还可以回家吃口饭歇一歇。工作时间的话是早8点半到晚5点半,目前一个月我没有加过班,到点就走了(而且是同事们几乎都这样),晚上和女朋友一起做饭,之后可以去市中心或者是海边溜达一圈,时间非常充足,周末的话会叫上朋友到家里吃饭或者是一起出去玩。
   距离我的老家鞍山也更近了一些,我妈说我自从回来了之后,她总有一种心里的石头落地了的感觉,我没事儿的时候就会和女朋友在周五晚上坐3个半小时的绿皮回去,然后周日的晚上再坐回来,回家吃自己爱吃的东西。
   算是找到了那种安安静静上班,认认真真生活的感觉。
   说这么多是因为这是我在北京这么多年从未体会过的生活,实在是没有发现生活的多样性(可能也是因为没钱吧hhh)。


huabu.webp

(星海广场的灯光秀)


🎤: 未来有什么样的规划?


  🙍‍♂️:哈哈,想在2年内和女朋友领证结婚,首付买一套小房子和一台小鹏G3i或者是零跑C11。然后多去了解了解这边的市场,在这么多空余的时间去计划搞一些副业(万一以后能干成主业呢)。


🎤: 想说的话。


  🙍‍♂️:嗯...看了很多大佬的年终总结,收获颇多,于是也想自己去写出一些东西,表达一下,哈哈哈。
   如果让我来总结自己的每一年的话,我好像只能说:还行、凑合、就那样,又不温不火的过了一年。但是我很喜欢一句话:空想都是问题,落笔皆为答案。不论好坏对错,都是我选择的答案,可能以后还会遇到相同或者不同的问题,只要不会停滞不前就好了。
   最后欢迎大家来找我一起讨论玩耍摸鱼~ 祝好!



我们生來自由,所以希望我们都有勇气选择自由。


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

写在入职九周年这天,讲讲这些年的心路历程

往前翻翻才意识到已经很长很长时间没有写文章,大概具体有多长?感觉上有一光年那么长。 今天,刚好是入职九周年,竟然遇到周末,省了奶茶钱。是的,没错,我在一个窝里面趴了九年。 这些年,彷徨过,迷茫过,孤独过,也充满热血的奋斗过,激情的追求过,有犹豫,有脆弱,也有失...
继续阅读 »

往前翻翻才意识到已经很长很长时间没有写文章,大概具体有多长?感觉上有一光年那么长。


今天,刚好是入职九周年,竟然遇到周末,省了奶茶钱。是的,没错,我在一个窝里面趴了九年。


这些年,彷徨过,迷茫过,孤独过,也充满热血的奋斗过,激情的追求过,有犹豫,有脆弱,也有失落。在悠悠岁月中,能及时不断做出调整,让自己学会享受工作带来的乐趣,学会慢慢成长。在当下浮躁的时代,写些闲言碎语,给诸君放松下心情,缓解压力。


过去的那些年


入职那天,阳光明媚,清风柔和,大厦旁边的道路开满迎春花,连空气都是甜的,让人不由自主地深呼吸,可以闻到花香草香,还有阳光的味道。


那一天也是为数不多来上班较早的一天,哦吼有大草坪,哦哟还有篮球场,这楼还波浪线,牛批,B座这个大厅有点大,有点豪华,牛批牛批,头顶上这看着怎么像熊掌,12345,设计真不孬啊。慢慢的大厅上聚集了很多人,有点吵,咋也没人组织一下呢,大家都很随意的站着等待,陆陆续续有员工来上班。


“XXX”,听到有人喊我名字,吓我一跳,还以为偷看小姐姐被发现了。


“站到靠近电梯入口的最右一列,第一个位置上”,“XX,去站在他后面”,“大家按我叫名字的顺序排好队,咱们准备上楼了”。


那会儿,AI 还不会人脸识别过闸机。


呦呵,这公司真牛批,还有扶手电梯。跟着带路的同学来到三楼五福降中天会议室,一个挺老大的屋子,还有各种数不过来的高大上仪器电子设备,一周后,也是在这里,我和厂长面对面聊聊人生。坐稳扶好后,HR 同学开始入职培训,我摸摸新电脑,摸摸工卡牌,心里美滋滋,想到未来几年,将在这样美妙的环境中度过,喜不胜收,甚至我都闻到了楼下食堂啵啵鱼的香味。


培训刚结束。


“我叫到名字的同学,跟我来。XXX,XX……”,纳尼???中午还管饭??这福利也太好了吧,真不用吧,我自己能找到食堂,再说,你知道我喜欢吃什么吗?“跟着我走,咱们去北门做班车,去另一个办公楼,你们的工位不在这儿。”不在这?还坐班车?what?被外包了?她刚刚喊我了吗???差不多六七个同学,跟着楼长鱼贯而出,下楼,走小路,几分钟后,上了班车。司机大哥,一脚油门,就带着我远离啵啵鱼。


大约10分钟,也有可能是5分钟,或者15分钟,按照现在萝卜快跑无人车的速度,是7分钟。来到一栋圆了咕咚的,长的像长南瓜的楼,它有一个很科技感的名字,“首创空间”,就是这个空间,不仅给我带来技术的成长,还有十几斤的未来多年甩也甩不掉的肥肉。没有啵啵鱼的日子,相见便成为世上最奢侈的愿望。


大约是两年后的初春 ,准确的说,不到两年,记得是二、三月份,北京的PM2.5比较严重的时候,鼻子还不会过敏,也没学会发炎,眼睛也不知道怎么迎风流泪,总之,我们要搬家了。


“科技园”\color{#333333}“科技园”,听听,听听,多好的名字,长得像无穷大与莫比乌斯环,楼顶带跑道,位置也牛批,毗邻猪厂、鹅厂、渣浪,北邻联想,西靠壹号院,远眺百望山,低头写代码,啧啧,美滋滋的日子又来了。当时还没有共享单车,晚饭时蹭着班车和一群小伙伴过去看新工位,喏,不错不错,挺大,位置离厕所不远,不错不错,会议室安静舒适好多个,不错不错。重点来了,食堂大的离谱,还有很多美食,连吃几个月,基本不重样。吃过几次啵啵鱼,与大厦简直天壤之别,怀念。


机会说来就来,几个月后的一天,发生了一件大事。我回到了梦开始的地方,那让人朝思暮想的啵啵鱼,那让人魂牵梦绕的味道,那让人无法忘怀的美妙口感。


清醒一下.gif


命运说变就变,国庆休假回来,食堂换了运营商,我他么……¥#%@%#!@#@!&%


一直没变的:不忘初心,砥砺前行。


曾经觉得自己无所不能,可以改变世界,总幻想像蝴蝶一样扇扇翅膀,亚马逊的雨林就会刮起大风。食堂吃的多了,越来越认识到自己的影响力微乎其微,我们能做到,是把交代的工作做好,做到极致,应该就是对公司最大的回馈了,也对得起日渐增多的白发。


早些年,搞视频直播,课程学习,每天研究各种编解码技术,与视频流打交道,看过不少底层技术原理书籍,探索低延迟的 P2P 技术,枯燥,乏味,也跟不上时代变化,觉得自己会的那些早晚被淘汰,技术乏陈革新的速度超乎想象,而你所负责的,恰恰不是那些与时代贴合度较高的业务,边缘化。


怎么破?


从来没有人限制你,不允许你去学习。\color{red}从来没有人限制你,不允许你去学习。


因为恰巧在做课程的直播、录播,需要特别关注课程内容,主要担心出现线上问题,刚好利用这个契机,了解到很多跨专业,跨部门的业务,当时给自己的宗旨是,“只要有时间,就去听课”,“凡是所学,皆有收获”。前后积累近千小时的学习时长,现在想想,觉得都有些不可能,怎么做到的,是人吗?这是人干的事?


日常工作,专心不摸鱼,积极努力提高工作效率,解决研发任务,配合 peer 做好产品协同。晚饭后,专心研究 HTML大法,通勤路上手机看文档,学 api 用法,学习各种牛批的框架,技巧,逛各大论坛,写博客做积累,与各种人物斯比,每天晚上十点,跑步半小时,上床睡觉,生活很规律。


机缘巧合下,我终于从一个小坑,成功跳到一个大坑,并至今依然在坑中。那天,我想起了啵啵鱼。


16797732_0_final.png


一直在变的


团队在变,用两只手数了数,前前后后换了七次 leader,管理风格比五味杂陈还多一味,有的事无巨细,有的不闻不问,有的给你空间让你发挥,有的完全帮不上忙。怎么破?尊重,学习,并努力适应,不断调整心态,适应环境的变化。


业务在变,这么多年数过来,参与过的产品没有一百也有八十了,真正能够长期坚守下来的产品不多,机会可遇不可求,能得一二,实属幸运。把一款产品从零做到一,很容易;再做到十,很难但能够完成;再从十到百,几乎不可能。互联网公司怎么会有这样的产品存在,少之又少。


技能在变,经历过前端技术栈井喷的同学都深有体会,学不动的感受。


时代在变,社会在变,人心也在改变。


曾经多次想过换个环境,换一个坑趴着,毕竟很多机会还是很诱人的。印象最深的一次,是在某年夏天,对手头的工作实在是感到无聊。由于前一年小伙伴们的共同努力,产品架构设计相当完美,今年的工作接近于智力劳动转变为纯人力的重复的机械的体力劳动,对产品建设渐失激情,每天如同行尸走肉般的敲键盘,突然意识到,自己到了职业发展瓶颈期。如何抉择,走或留,临门一脚的事,至于这一脚踢向何方,还未知。


忧思几天后,去找 leader 沟通,好家伙,他让我呆在这里别动,帮他稳住团队,他要撤,一两个月的事。好家伙,你不殿后掩护我们,自己先撂了,还说可以试试带团队,我说大哥,也没几个人呀。他说你还能招兵买马,试试新的角色,体会下不同的视角,很好的机会。坑,绝对的大坑,我他么竟然义不容辞的答应了。


好在,不枉大家这么多年的认可,团队战斗力很强大。


你觉得什么是幸福



  • 有独处的时间

  • 有生活的追求

  • 工作能给你带来乐趣


颐和园.jpg


前些日子,给娃拿药请了半天假,工作日人不多,十点多就完事了,看看时间地铁回去差不多到公司刚好中午饭。医院出来看到很多小黄车,美团那种新式的自行车,看着很不错,还没体验过,特别想兜几圈。查地图,距离公司有22公里,按照骑行的速度推算,70分钟也差不多到了。打定主意后,书包里翻出俩水煮蛋(鬼知道我为什么早上去公司拿了俩鸡蛋)和一瓶水(鬼使神差的早上往书包放的),算是吃过早饭了。于是一个人,一条狗,开局一把刀,沿着滨河路,经过木樨地,二里河,中关村南大街,北大街,信息路,上地西路回来了。您还别说,就是一个地道。竟然还路过玉渊潭,还遇到了封路限行,静悄悄的圆明园东路,过国图,还有数不清的大学,附中,有那么一瞬间好想回母校去看看,总之,重点是顺路吃到心心念的煎饼果子。


路上给媳妇打电话,这小妞竟然说我疯了,疯了?你懂个屁,这叫幸福。


人生的乐趣


人生的乐趣何在?你的答案和我的答案可能不一样,作为打工人,我知道,肯定不是工作。但似乎又不能没有工作,不工作我们怎么活着?怎么在这个社会上,换取资源,立足于当下,着眼于未来。说回工作,最后悔的事,曾经有那么一小段,人际关系没有处理好,可能造成误会,当时来自于我对某些事情的不表态,默许的态度,十周年前修复它。最快乐的时光,是和大家一起沉浸在技术点的探讨,Bug的跟进定位,发现问题解决问题的成就感;参与产品的规划,出谋划策,影响他人;挑灯夜战,专注于产品的 DDL,为上线争分夺秒的努力前行,感受团队的力量。


这个春天,爬过许多京郊的小山头,站在山顶,凝视着壮丽的景色,总以为自己是秦始皇。不惑之前,去征服贡嘎雪山。


总之,故事太多讲也讲不完,作为一个九年的老东西,我是不会爆金币的。


到结尾了,给点建议吧


建议?给不了给不了,我自己还没活明白。


历史的滚滚车轮中,每个生命都很渺小,时代一直在变,抓住机遇,让自己成长,多读书,沉下心,慢慢来。


16795669_0_final.png


作者:水鳜鱼肥
来源:juejin.cn/post/7222509109948989501
收起阅读 »

你可能想了解的开源开发者两年经历

前情提要 2021年初时写过一篇《三年 三本 BAT 要素齐全 | 2021年终总结》 的年终总结,正如上文所说,我离开了广州来到深圳鹅厂,阴差阳错之下我从一个业务切图仔变成了一个开源开发者。 彼时我的心情是那么忐忑,我向往开源工作,但又害怕自己不成熟的想法会...
继续阅读 »

前情提要


2021年初时写过一篇《三年 三本 BAT 要素齐全 | 2021年终总结》 的年终总结,正如上文所说,我离开了广州来到深圳鹅厂,阴差阳错之下我从一个业务切图仔变成了一个开源开发者。


彼时我的心情是那么忐忑,我向往开源工作,但又害怕自己不成熟的想法会给别人带来负担,而不敢向开源仓库提PR。


两年下来我已经习惯了常态化的开源开发生活,是 libpag 的核心开发兼 Web 端 owner。但因为生活的变动,我将要离开现在的团队,所以想在最后记录一下这两年的开源开发经历。



本文不会有很多技术细节的分享,更多的是经历的分享与一些建议。



参与


2021年中加入PAG团队,从了解 PAG 的工作流,PAG 文件格式开始参与到团队的开发工作中,慢慢地完成了Web上简化版本的渲染SDK,再到基于 WebAssembly + WebGL 架构适配了 Web 平台,完成了 libpag 在主流平台的最后一块版图。


时间来到2022年1月14日, libpag 完成 4.0 重构与 Web 平台的适配后在 GitHub 上正式对外开源,也完成了从内部开源到外部开源的转变。


讲到这里我希望能给想要参与开源的同学一些建议,开源团队都是希望有尽可能多的人能够参与到开源社区中来,所以不要害怕提PR。 开发者一般都会把开发流程和注意点记录在 README 中,只要仔细阅读完仓库中相关的文档,就可以大胆地参与共建。当有不确定的想法时,也可以先提一个 issue 与开源团队探讨,确定思路之后,提出 PR,开源团队 Code Review 有问题时也会提出 comment,修改问题无误之后就会合入主干了。


参与开源库的共建可以给你的简历留下浓墨重彩的一笔,对找工作也是有一定帮助的。(打工人狂喜


蜕变


从2022年1月14日对外开源以来,业务接入量也从最初的40个迅速扩大超过 600 +,其中包含微信、手Q、王者荣耀、小红书、知乎、B站、京东等知名APP。


随着对接业务数量的增加,大家的交流也多起来,搭建了专门用于交流的PAG 论坛 bbs.pag.art/,团队的工时也有很大的一部分开始被对接工作所占用,同时我们也收到了很多不同的场景需求。


根据开发者们提供的这些不同的场景需求,我也规划了 Web 端的 Roadmap,比如 4.1 版本中完成了微信小程序的适配,4.2 版本中支持了 WebWorker,还有数不完的优化。


寒冬


随着互联网寒冬的到来,降本增效的浪潮开始席卷各大公司。在这个环境下对于开源工作的开展是十分困难的,人员的骤减让以往免费的即时对接无法继续延续。成本、收益等问题被重新拿上台面,开源几乎只剩下为爱发电。为了生存,也为了还有机会继续维护这个开源仓库,大家都被迫走上商业化的道路。


无关团队,说一些自己的看法。其实国内的开源环境并不好,虽然有很多优秀的开发者前仆后继地投身其中,不停的优化着开源这块土壤。当维持社区 SDK 功能不变,探索一些新的商业化道路谋求生存时,就会有一些奇怪的声音出现。“准备捞钱了”、“吃相难看”等等,但其实开源 SDK 并没向使用者收费过一分钱,开发者也希望在不影响社区的情况下谋求生存。


希望在这个寒冬里,大家少一点戾气,多一点包容,都是为了生存。


后记


原本想写最近很火“前端已死”的话题,聊聊这个寒冬中面试的建议,还想写写 libpag Web源码的解析。


但最后还是选择在这个时间点,写一写关于开源工作的一些记录。


如果你对其他话题有兴趣,欢迎点赞评论,请求加更。


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

我又写了一堆烂代码

“我又写了一堆烂代码!” 这句话我经常对自己说,目的是为了督促自己不断地思考所写的代码是否足够可靠。 不要觉得代码通过了 QA 的测试就万事大吉了,如果你为了实现某个功能,而破坏了原有系统的规则,或者让代码变得耦合,那么这就是一件糟糕的事情。 我通常在实现某个...
继续阅读 »

“我又写了一堆烂代码!”


这句话我经常对自己说,目的是为了督促自己不断地思考所写的代码是否足够可靠。


不要觉得代码通过了 QA 的测试就万事大吉了,如果你为了实现某个功能,而破坏了原有系统的规则,或者让代码变得耦合,那么这就是一件糟糕的事情。


我通常在实现某个功能后,我都会问自己几个问题。


第1个问题:我刚刚做的工作是让整个系统更容易改变还是更难改变?


优秀的代码设计都满足一个原则:ETC原则。即 Easier To Change,更容易变更。


我们学过的任何其他设计原则,其实都是 ETC 的一个特例。



为什么解耦很好?因为通过隔离关注焦点,可以让每一部分都容易变更——此谓ETC。
为什么单一职责原则很有用?因为一个需求变化仅体现为某个单一模块上的一个对应变化——此谓ETC。
为什么命名很重要?因为好的命名可以使代码更容易阅读,而你需要通过阅读来变更代码——此谓ETC!



当你在思考自己写的代码是否可靠时,ETC 就是一个很好的向导。


如果需求变更,你的代码是否能轻易的做出改变,以适应这种变化,甚至是可以被替代。如果不能,那么你的代码就成了一种障碍。


所以,ETC 它更像是一种价值观念,能够帮你在不同的方案中,选出正确的那一个。同时,也能让你的代码不断进化。


第2个问题:有没有为了偷懒,写了很多重复的表达?


要让项目更容易理解和维护,唯一的方法是遵循这条原则:系统中的每一部分,都必须有一个单一的、明确的、权威的代表


这个原则被称为 DRY 原则(Don't repeat yourself 不要重复你自己)。也可以叫 OAOO(Once and only once 一次且仅一次)。


来看一个违反 DRY 原则的例子:


void calculate(int money){
if (money >= 400) {
print('打折后的价格为¥:${money*0.7} RMB');
}else if(money >= 300){
print('打折后的价格为¥:${money*0.8} RMB');
}else if(money >= 200){
print('打折后的价格为¥:${money*0.9} RMB');
}else{
print('打折后的价格为¥:${money} RMB');
}
}
复制代码

这个例子就是典型的重复。


假如价格的单位变更了,改成卢布,或者其他货币,那一共需要修改 4 处 RMB。


再比如,'打折后的价格为¥' 这个文案有调整,改为 '折后价',那么也需要修改 4 处的内容。


所以,平时写代码时,一定要避免这样的写法。


第3个问题:我写的代码有没有破坏正交性?


“正交性”是几何学中的概念。若两条直线相交后构成直角,它们就是正交的。


“正交性”在计算科学中,表示独立性或解耦性。


对于两个或多个事物,其中一个的改变不影响其他任何一个,则这些事物是正交的。


举个例子,在项目中,如果你改动了 UI 相关的代码,而不影响其他业务逻辑(比如数据库操作,网络访问逻辑等等),那么这样的系统,就属于设计良好的系统。


相反,如果你发现自己改动其中一处的代码,会影响很多地方,那么你就得思考一下,是否需要重构代码了。


一般来说,保持代码的正交性有以下几个实用的方法:



  • 使用最少知识原则(迪米特法则)来保持代码的解耦性。

  • 避免全局数据。只要代码引用了全局数据,就会将自己绑定到共享该数据的其他组件上。


希望你也养成不断质疑代码的习惯。只要有机会就重新组织、改善其结构和正交性(重构)。



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

低代码平台是否会取代程序员?答案在这里

上图是一张机器人或者自动化系统取代人工的图片,您看了有哪些感想呢? 故事 程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD 架构师老李: 多个大型项目经验,精通各种屠龙宝术; 程序员小张和架构师老李是同事,在一家科技公司工作。他们的团队负责开发和...
继续阅读 »

上图是一张机器人或者自动化系统取代人工的图片,您看了有哪些感想呢?


故事


file


程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD


file


架构师老李: 多个大型项目经验,精通各种屠龙宝术;


程序员小张和架构师老李是同事,在一家科技公司工作。他们的团队负责开发和维护公司核心数字系统,但最近他们经常因为应对新需求而焦头烂额。


有一天,老李向小张提出了使用低代码平台来加快应用开发的建议。小张听完后不太理解,认为低代码平台会取代程序员,使开发工作变得简单和机械化。


老李解释说低代码平台并不会取代程序员,而是让专业的开发人员从简单、重复的开发需求中解放出来,让他们能更好地投入到更有价值的事情上,比如梳理系统架构、理清业务逻辑等等,并且低代码平台仍然需要由程序员开发和维护。


小张听后开始思考,认为这个建议确实有道理。他决定利用低代码平台来创建一些敏捷运营类应用,以减轻自己的工作量,并利用更多时间进行系统分析和优化。


于是,小张按照老李的建议利用低代码平台创建了一款敏捷运营类应用,并与老李一起进行了测试和上线。在此过程中,他们深刻领悟到低代码平台的优势,如快速开发、易于维护和扩展等等。


最终,他们成功地为公司创造了一个具有高效性和可扩展性的应用程序,并受到了同事们的好评。小张也明白了使用低代码平台并不是把程序员取代掉,而是让他们更好地利用时间和技能,为团队带来更多价值。


问题


越来越多的企业进行数字化转型,信息化升级。


系统的统一性和集成一直是一个难题,传统模式需要通过多套系统才能满足企业整体的信息化需求,想要统一打通非常困难。


程序员的高薪一直是企业高昂的成本,当出现新的生产工具,必定会对生产关系产生一定影响。


低代码在企业应用开发中的场景?


市场上有哪些种类的低代码平台呢?


低代码到底是怎么降本增效的?


低代码取代程序员怎么破局?


低代码


低代码平台的热度可谓风头无两,


那么低代码是什么呢?简单给它下一个定义。


通过可视化、模块化、拖拽式代替了传统的开发方式,达到了“降本增效”的目的,加速了企业数字化转型的进程的工具平台;


file


1 低代码的使用场景有哪些?


一般来说,核心的业务系统不会使用低代码从0到1搭建,低代码适合搭建基于核心数字系统之上的创新类应用,敏捷运营类应用。
这类应用使用低代码可以极大提升技术研发和系统交付的整体效率。
低代码当前处在技术成熟度曲线中的创新阶段,后面模板会越来越丰富,生态越来越完善,低代码的适用范围也会不断扩大。
下面五类应用是比较适合用低代码来实现的。





































种类说明点评
企业门户包括App、小程序、PC门户等等,数据都来自中台、后台,企业门户只是做展示,以及简单的互动。xxcube正在覆盖
数据操作和展示应用通过连接企业的数据库,把生产经营的数据进行编辑删除查询等操作。可预研
基于表单的应用基于数据库的表单收集、处理、统计类应用。xxcube正在覆盖
业务流程类应用定义复杂的工作流,跨部门协作流程,复杂审批流程,比如:OA、人力、财务等系统。xxcube正在覆盖
移动端应用基于已有核心生产经营系统,进行移动化的应用场景。xxcube正在预研和了解

以上5类应用已经覆盖了企业数字化的80%的场景了,低代码的使用范围非常的广泛。


3 低代码平台的分类


目前低代码属于蓝海市场,以中国IT企业的创新速度,未来的竞争会非常激烈。
按照低代码的应用场景,可分为4类。列表对比一下。
































种类说明xxcube的对比
原生低代码即面向通用型企业软件的低代码厂商,你可以从0构建一个企业经营系统,使用低代码平台将它实现出来。代表企业: 数睿数据、奥哲、轻流,国外的Mendix、OutSystems等等。具备能力
云平台低代码软件作为云平台生态其中的一环,是云原生一体化的企业解决方案,企业云平台的能力补充。比如阿里云(宜搭,氚云,简道云),腾讯云(微搭),微软(Power Platform)具备能力
行业软件低代码平台本身是非常成熟的行业软件,他们积极拥抱低代码,借助低代码解决企业个性化的需求,拓展软件应用场景。金蝶(企业管理,财务)、明道云(地产物业)、网易数帆(游戏)、销售易(CRM)、Airtable。聚焦游戏发行,游戏开发细分领域
软件开发工具做软件开发工具的,借助低代码实现功能模块化,帮助开发人员进行快速开发。Zion、葡萄城、ClickPaaS具备低代码扩展能力

3 低代码是怎么降本增效的?


file


**低代码,将传统软件开发的6个环节,缩短到了3个环节。**即通过把“需求设计”、“架构设计”、“编码”,聚合为“模块搭建”。


简单来说,低代码的开发模式,就是在需求梳理清楚后,用“拖拉拽”的方式把功能实现出来。


以一个10人天的软件开发需求为例:


传统软件开发模式,总共需要5个人,即:1个产品、2个开发、1个测试、1个运维,开发周期8天。


低代码开发模式,总共需要3人,即:1个产品,1个开发,1个测试,开发周期2天。


也就是说,使用低代码开发模式,同样的需求,节省开发周期70%,减少技术人员40%。


这只是一个粗略的估算。总之,低代码能够用更短的时间、更低的成本,实现软件产品的交付。


4 低代码平台的出现真的会取代程序员吗?


答:不会取代程序员,低代码的优势是可以让专业的开发人员从简单、重复的开发需求中解放出来,把精力投入到更有价值的事情上,比如梳理系统架构、理清业务逻辑等等。
首先,低代码平台不也是程序员开发的吗?再说了,使用低代码进行软件开发的,不还是包含程序员吗?
低代码虽然是“低”,也还是有代码的,除非是无代码平台,在适合的业务场景之下,确实不需要程序员了,可以由业务人员直接搭建应用,但那毕竟是特定场景。
低代码虽然不会干掉程序员,但是对程序员、产品设计人员提出了新的能力要求。越来越多的程序开发工作,将会通过低代码来完成。


技术人员必须到一线中去,跟业务人员在一起,跟最终用户呆在一起,打造更便捷易用的软件产品给业务赋能,用新的科技手段帮助业务转型、业务创新,使企业具备敏捷反应的能力。
否则,企业将会很快被时代抛弃,连打声招呼的机会都没有。


对广大程序员来说,可以按照下面的要点进行应对。
































招数说明自查
1. 警惕重复性编码工作CURDboy请多学一些硬核技术。比如梳理系统架构、理清业务逻辑。低代码已经能够完成复杂业务流程类开发工作,能够基于表单驱动、模型驱动的方式进行软件开发工作。最先被替代的就是那些技术含量低的重复性编码工作。聚焦架构设计,云原生,物联网,大数据热门领域的学习和实践
2. 错位竞争,在低代码不擅长的领域深耕对于界面效果要求特别高、复杂的算法和数据挖掘、高性能和复杂系统架构、要求较高的底层开发等方面工作还不能胜任。低代码首先模板,生态,可扩展性限制。聚焦架构设计,云原生,物联网,大数据热门领域的学习和实践
3. 重视企业数字化的建设方法论学习随着低代码的不断成熟,越来越多的业务系统研发工作将由低代码平台来完成,很多企业的老板会看到这块的价值企业运营和建设相关的知识学习中
4. 终生学习,时刻准备职业B计划顺应潮流,学习最先进最高效的生产工具和技术,往往可以对同一赛道的保守选手降维打击;职业B计划是应对职场风险的最佳途径;持续学习技术和管理,持续输出,职业B计划酝酿中

一个心酸的故事,希望能给广大程序员一点启发:



在工业革命时代早期,有工厂主发现纺织机经常在夜里遭到破坏,就派人躲在角落里观察,看看到底是谁在使坏。因为当时没有监控摄像,只能用人肉监控。
结果他们发现,是一些小作坊的纺织工人在搞破坏,原因是他们认为先进的纺织机抢走了他们的工作,而织布是他们赖以生存的手艺,不甘心这几十年修炼出来的一身本领,一夜之间被一台机器所取代,所以破坏机器泄愤。



现在的chatgpt也是影响力类似低代码的先加生产工具,作为程序员应该要主动拥抱他,利用它;



























工业时代IT时代启发
工厂IT公司资本或者资本机构: IT时代要重视低代码,作为程序员,要积极拥抱低代码,这是新的生产工具,可以成为自己的武器。低代码时代已来,不必焦虑,冲过去大力拥抱它,相信这一次,时间会站在变革者这一边。一些行业资深人士,视低代码为“毒瘤”,不仅暴露了自身的无知,也误导了部分从业者,也引起了无谓的恐慌。
纺织机低代码生产工具-静态
工人程序员\业务人员生产工具-动态

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

裸辞一个月备考事业编所历所思

3.7日正式离职离现在也一个月了,这一个月里人类该有的情绪或大都尝了一遍。浅聊一下这一个月里干的事及一些感受。 原计划与现实 原本计划三月中旬提离职,四月 深圳-〉重庆-〉云南 半月游,五月开始刷题、下旬回到武汉。 计划永远赶不上变化。 2.23像往常一样坐在...
继续阅读 »

3.7日正式离职离现在也一个月了,这一个月里人类该有的情绪或大都尝了一遍。浅聊一下这一个月里干的事及一些感受。


原计划与现实


原本计划三月中旬提离职,四月 深圳-〉重庆-〉云南 半月游,五月开始刷题、下旬回到武汉。


计划永远赶不上变化。


2.23像往常一样坐在工位吃早餐。打开手机微信,看到一条订阅关于湖北事业单位招考的。于是,点进去看了看报考单位,那时就开始在想要不要试试。好嘛,我和一些朋友说了这个打算,好几个也一起加入备考大军。


第二天周五我调休了。算上周末三天,我开始了解事业单位考试及确定报考的岗位(实则,啥也不知道,随便选了一个我们小县城的岗位试试看)。


周一去到公司就提了离职。最后走的那天晚上请了几个同事吃了散伙饭,道了告别。


离职.png



我:拜拜,下辈子再见~ (人生中很多人再见就是再也不见了)



IMG_1089.png


备考


报名.PNG



  • 前期


离职后,当然是要给自己放松一下。于是,给自己放纵了两天。


接着开始备考。朋友分享了一套粉笔课程,每天也就看1-3个职测基础视频。


开始还是感觉蛮新鲜的。特别是一些逻辑、图形推理。哇,原来有这些套路。还记得以前面试一家公司让我做的题和这些差不多,当时觉得这都是些啥啊,和我做前端有关系吗。


其实期间除了看视频学习,其他时间基本都是在刷手机。那段时间B站推给我的全是大龄找不到工作、工作不好找等等让人致郁的视频。每天除了不专心学习就是无止尽的焦虑感。



  • 中期


后面把理论攻坚里的职测看完之后,更加放飞自我,每天也就打开粉笔app做几道题,然后就去手机里吸收消极情绪。很好笑,每天都在继续做前端、转行、摆摊、回家种地无限循环,当然包括现在偶尔也会是这样。


第一天:


等我考完这个破试回去武汉还是先找前端工作看看。


第二天:


刷了下B站,刷到说程序员找不到工作了,大龄了更加没人要了。那就考完试回来把后期视频好好学习下,回去找个剪辑师工作试试。


第三天:


打开Boss,搜索剪辑师;很多都是招流媒体,然后要求:会剪辑、会策划、会写脚本、会拍摄、会运营,还需要有工作经验。


又是那个无解的问题。


公司:我们需要有经验的。


我:我就是没有经验才找工作积累经验啊。


总结:转行不易。


第四天:


发现现在摆摊很火,去B站刷别人摆摊分享。了解了很多,常见的烤肠,还有之前没听过的热奶宝。这里可以推荐一个up主蜻园,还蛮不错的。


第五天:


算了,先考完试再说吧,实在不行就回家种地。刷B站,哎,这个剧还不错搜索全集cut,花几天看完。


这段时间差不多一个多星期,情绪就在这些上面循环往复,每天凌晨1、2点开始睡,但是得翻来覆去,差不多4、5点才能睡着,第二天起来已经中午了,再做个饭,差不多下午了,一天也差不多了。每天都是致郁的一天。



  • 后期


要考试了,得突击一下,把考前冲刺视频看了看,一天做几题。裸考综应和公共基础,其他随缘吧。


备考.png


参加考试



  • 去到酒店
    IMG_1258.png
    酒店备考.png


IMG_1271.png



  • 考试当天


考试的人真多,看起来很多都不是很大。


考试当天.png


考试当天听到一个女生对另外一个说:考试前几天整晚整晚都睡不着。(现在的人都不容易啊,很多大学生毕业即失业,都在卷考研、考编;白天准备考研,晚上准备考编。)


去到考场,安检然后需要手机关机,真是尴尬,第一次用苹果手机不会关机,当时迟迟关不了机,监考老师一度怀疑我有问题。


说:哎,你怎么回事,关机关这么久。


最后我问了旁边考生怎么关机,然后老师教了我,接着说:不会你早点说啊,一点都不谦虚。


我尴尬而不失礼貌的微笑。


快要考试了,我去上了个厕所,毕竟连续考三个半小时,时间也紧张,压根做不完,上厕所时间都得把握的好(喂,能不能在学习上多花点功夫哈)。


离谱,去厕所路上经过一个教室,外面三个女生都还在看书复习,我上完厕所出来,还在看,然后监考老师对她们说,快进来安检了,不要看了。


进考场看过来,可以看出很多女生都是那种很爱学习的人,就感觉我一个是来碰运气的。



  • 考试中


职测真做不完,之前和朋友说语文我完全不行,只能靠数学,结果数学计算相关压根没时间做。做题顺序不是按考卷顺序来的,开始也直接跳过常识题,直接言语开始啥的。


记得等我计算完资料分析的第一题后,我一看时间,我的妈,只剩下半小时了,数学运算直接放弃,当然不止数学运算,还有几十道都没有做,都是选择题,最后都是闭眼涂。


最无语的是我的综应都没有做完。作文十年没有写过了,我TM全抄的给的素材,离大谱;字写的也丑,唯一记得是以前老师对我说:一笔一画写清楚就行,不要连笔。感觉不连笔我字都不会写了,反正做的特慢,作文还大篇幅抄,最后来个总结,离大谱。



  • 考完试


考完试我就感觉自己是废物,感觉可以另谋生路了,这辈子估计是指望不上了。
考试结束.png


然后回酒店收东西,准备回家。退完房出来,下着瓢泼大雨,就像我的心情一样。


打了个的,准备去南站坐车,司机说好像只有北站有车去我那个地方;好嘛,又绕了老远了。在车上和司机聊了好多。


司机说也是回来考试的啊,然后说了我是从深圳回去考。


司机:这么远回来要是考不...没说完,算了,不说了,要是考的不好,还花了这么多钱。


我:笑了下,考不上就算了呗,还能怎么办。


然后说了很多,说她女儿也是搞计算机这行的,当时要她找个稳定的工作,不带编也行,她不干,现在在广州...叭叭叭,一起说了一路。


回家,晚上老妈回来一起聊了好多。很多时候我们焦虑,需要一个情绪缺口去宣泄。


返程


考完这次试,再加和老妈聊的许多,完全没有玩玩休息下的心情,第二天就准备返回深圳。


到深圳后就把自己后期AE中级课程开启了,开始学习(AE好难啊)。


打个小/广/告,这段时间把PR初/中级,AE初级视频录屏上传百度云完成;pr高级在录,AE中级在学在录。有兴趣的可以联系我,骨折价出售。


后面准备一边上课学习一边背前端八股文,偶尔出去拍拍照,积累些剪辑素材,之后回湖北后剪视频纪念用。


最后


最后想说:想的多了都是问题,做的多了都是答案。当你一直在消极情绪里时,可以找一些喜欢的事情去做,从不好的情绪里脱离出来,不必想的过多、过远,毕竟65岁退休都“太早了”。


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

人生是一个长期的均值回归

到了现在这个阶段,总想说点什么。 我一直觉得记录并收藏每个阶段的状态是一件很有意义且奇妙的事,尤其是多少年后还能清晰地回忆其当初的心境,联想到曾经所设立的一些目标以及为之做出的努力,这些人生经历的脉纹清晰而完整,形成的回荡激扬的动力循环让人长久受益。 所以在...
继续阅读 »

到了现在这个阶段,总想说点什么。



我一直觉得记录并收藏每个阶段的状态是一件很有意义且奇妙的事,尤其是多少年后还能清晰地回忆其当初的心境,联想到曾经所设立的一些目标以及为之做出的努力,这些人生经历的脉纹清晰而完整,形成的回荡激扬的动力循环让人长久受益。


所以在即将进入下一个更长远的阶段之前,纪念珍贵的经历,留存美好的记忆,时间是个单向的旅程,在未来的某一刻回忆曾经,挺不错的。


真正的大师,永远怀着一颗学徒的心


尽管计算机科班出身的自己学习了这么多年,对于本专业的某些领域知识却仍然处于浅尝辄止的状态。不过庆幸自己的做事态度,由于存在一些偏执,对于一些方向的学习还做到了令自己满意的成绩。只要认定一个方向,只要开始着手做一件事,那就先做完,不然已经做的努力就白白浪费了。


究天人之际,通古今之变,成一家之言


jinengshu.png


还记得最早接触的是Android开发,曾经,2010年后的5年掀起了移动互联网的热潮,跟随着校科研团队的步伐,开始触碰这个方向。15年到17年初,从eclipse到andorid studio,从控件使用到自定义view,从Holo到曾盛极一时的Material Design,从原生开发到跨平台weex、flutter,又了解学习了性能调优、热修复、组件化、插件化、mvp、mvvm等技术,还记得在这个过程中,小程序小游戏也曾盛行一时,不过这个倒是比android简单多了。对于面向用户的终端应用,与服务器进行数据交互自然不可避免,我也因此了解了诸如xutils,httpclient,okhttp,retrofit和glide等库,在学习优雅android设计模式以及极致代码优化的同时,我永对设计这些工具库的Jake Wharton等大神致以最崇高的敬意!


记得16年暑假的时候,我用了两个多月的时间来调试一个andorid与服务端通信的bug,期间辛酸一言难尽,因为没有经验,服务器一直是一个黑盒的存在,这因此促使我去了解网络通信原理和后端开发流程。我也就开始了服务端研发的学习。一个是框架和工具的应用,诸如SSH、SSM、SpringSecurity、SpringCloud、MySQL、Redis、Tomcat、Nginx、Kafka、RocketMQ、Xxl-Job、Docker、Kubernetes、Jenkins等等,一个是设计模式的理解和应用以及代码架构MVC到DDD的理解、迁移与应用,还有架构方面的学习,包括从单体架构到分层架构到微服务架构再到云原生架构以及DevOps的实践等,最后是为了系统稳定而进行的监控系统设计包括用于日志监控的ELK、用于链路监控的Skywalking以及用于指标监控的Prometheus和Grafana等。19年的时候,还和技术大佬川哥一起讨论当年最新的FAAS,这个过程也将我的技术理解和视野带到了一个新的高度。当然,分布式也是后端不可逃脱的重点内容,这里要感谢MIT6.824课程,受益良多!


最早的服务端开发是没有前后端分离这一概念的,所有的前后端资源都集中由一个项目部署,那个时代还是JSP和Thymeleaf的天下。但随着移动互联网的普及以及当今应用复杂性和对实际生产的高性能要求,逐渐产生了诸如SOAP等协议和Restful架构风格,原来的单体项目才开始拆分。但,不论是早期还是架构设计理念有所进步以后,搞后端的人都避免不了对于web基础内容的学习,毕竟最常见的业务还有开发一个常见的管理系统。为此,我又乐此不疲的学习了JS、Html5、JQuery、Vue等技术。不过前端自己了解的都很浅很浅了,在这个过程中遇到的问题还是要请教各位前端大佬,此时,我要感谢我的老同学——房哥,一个人很好的前端开发者,曾一度帮我解决很多问题。


冰冻三尺,非一日之寒


工程领域技术庞大繁杂,所以我对所进行的工作一直在不断的思考和总结,为了更好的于他人分享我的经验以及对诸如高可用、高性能、稳定系统的认识,我对服务端的核心内容以自己的理解进行了总结归纳。跳出技术细节的桎梏,全面考虑问题并有针对性的进行解决。


zongjie.jpg


算法是每个计算机人不可忽视的重要一课,除了可以更好的锻炼思维能力和编码能力,通过算法来学习一些代码的优化设计思想常常也可以用于实际生产之中。比如,我已经和不止一个师弟或同学讨论到某一个具体业务或者问题的解决方案,发现这些本身就是一个个经典的算法问题,如果有所总结和沉淀自然得心应手。所以硕士期间,我除了重新补充了对于专业课操作系统和计算机网络的学习,我还坚持刷了一些算法问题,主要是在LeetCode上。我要感谢我曾经看到的一个博主,奔跑的蜗牛,是他在坚持刷题的过程中不断总结并以录制Vlog的方式来分享才促使我坚持刷题并不断输出,而这一过程让我受益匪浅。


leetcode.png


bzhan.png


博学而笃志,且问而近思


一开始自己还是很浮躁的,总是想把很多内容都搞懂。虽然作为一名技术人,我们要构建一个广泛的知识体系,但技术领域的学习本质应该是一个专注钻研的过程,我们终归是要克制住诱惑,将某个领域做到精深。正如杨老师曾经说过的,“水桶装水量取决于最短板,但是大多数情况下,我们在工作中获取的回报,更多来源于自身的长处”。我在后来也逐渐认识到这一点并及时做出了调整,不过我还是非常庆幸有一段学习过不同领域各种技术的经历,这对我技术眼界的开阔有很大的提升,一个是服务端本身就是要为前端和移动端等平台来提供服务的,如果能对其他平台有一定的认识自然会对自己的编码设计有一定的科学指引,另一个是其他领域的设计思想也可以借鉴到当前领域的许多工作中。博观而约取,厚积而薄发!


感谢一路走来所遇到和知道的前辈,包括做安卓时的郭霖、张鸿洋、赖帆、任玉刚等,做前端时的Vben维护者金毛、在爱奇艺和快手工作过的老同学房哥等,做服务端时的LinkedBear、松哥、Mrbird、小林、汤兄、传奇大佬Robert Tappan Morris等。


大胆与礼貌



记录毛姆所著小说《刀锋》里的一段文字:


我并不怕犯错,搞不好会在其中一条冤枉路上,找到人生的目标,人生从来就没有白走的路,每一步都算数。


我们这一生,都怕走冤枉路,都想找到一条捷径,好用最快的速度接近自己的目标。


但事实上,当你并不清楚自己内心最真实的声音的时候,你只有不断尝试,才可能知道什么是适合自己的,就算尝试过后你还是不清楚自己想要什么,但你最起码知道一点,这不是自己喜欢的。



谦逊是青年人进入社会的一种必须常备的状态,但谦卑不是。


这些年的经历,我逐渐感受到因为自己缺乏勇气与自信导致自己失去了很多的机会。自己出身平凡,在见识了很多优秀的大佬后更觉自己渺小,时间长了开始优柔寡断,总觉得自己目前学的做的不充分,不敢去尝试更怕去竞争,患得患失。


鹏哥是我的一个舍友,我们也是七八年的同学了,他是一个性格很好的人,也是一个相当聪明的人,他的逻辑思维非常强,学习能力也很强,经常帮助我们周围很多同学解决很多我们查了很多资料都解决不了的硬件和软件方面的疑难杂症。如果把我们计算机相关专业的同学都放在一起,把我们的生活学习环境比作一个武林,那鹏哥绝对是一个深藏不露的世外高人,他很爱折腾技术,会主动学习一些技能来解决现实生活中的很多问题,比如只要我们去看他正在做的事,看看他的手机或电脑,总会发现很多实用的小工具,有些是他自己写的,有的也不知道是从哪些渠道获取的,但这些工具就是那么的神秘且好用!


鹏哥是我认为周围人里面绝对很出众的一个同学了,但很多时候他得到的往往与他的实力不够匹配,究其原因,也是不够自信,很多事不敢去尝试,总觉得自己的实力有限而不敢有过多的想法,但实际上呢?据我的经历以及我一些朋友跟我分享的一些事看来,总会有很多出身不如你、头脑也不会比你更聪明、技术能力不如你的人做出了非常好的成绩。他们当然很优秀,但如果仅从硬性技能出发而言,他们可能很多还比不上我们,比如我们学的时间更长,积累的编程经验或者理论基础都要超过很多入门才一两年的学生,之所以我们还停留在原地,是很多时候我们忽视了软性技能的培养,我们缺乏那一点初生牛犊不怕虎的干劲和勇气。我们都是普通人,又会有多少人有“秀美的容颜”、“聪颖的天资”、“出众的才华”、“骄人的学业”?如果不能改变自己的心态,即便我们的实力达到了某项任务需要的标准,我们的软实力还是会限制我们的发展。我们出身不如名校学生,如果还一直畏手畏脚,那就更不能在社会上与他们相竞争了。


生活、学习和工作中的很多事,其实本没有那么难,往往是自己不自信的心态为之蒙上了一层恐惧的阴影,之后面对机遇就会胆怯。这些年给我最深的感触就是,我们已经因为缺乏自信和勇气失去了好多机会,而如果有新的机遇让我们来尝试,那我们一定要敢闯,敢干,不怕失败,不畏周围可能存在的偏颇眼光,如果不去尝试那一定不会成功,即使尝试失败了也会成为下一次成功的经验砝码,人生从来就没有白走的路。


自信很重要,大胆一些,礼貌的去问就好了。


愿为江水,与君重逢


江水.jpg


这些年的读书过程中,我结识了与之相处时间最久的谭同学,我们认识了八年,在一个寝室生活就有六年多,自然对于双方的认识是无比的熟悉。谭兄一个非常优秀的人,他头脑聪明、思维敏捷,对于新知识和未知领域永远充满兴趣且会一直不断地探索和求知。做事具有极强的目标性,凡事绝不囿于当前的状态,以最大的自信来追求最接近完美的极致,我经常对他说,“你是我们周围同学中我认为最富有极客精神的那一位”,事实上,谭兄作为全院最优秀的学生同时也是最努力的那一位。


作为良师益友,我们在这八年的过程中,最多的讨论就是关于专业知识学习、技术提高、发展规划等方面的内容。在过去的五六年里,我们进行着不同方向的工作,在自己擅长的领域深耕厚植,当遇到涉及对方领域的问题时,我们都十分乐意交流双方的观点与经验。更为重要的,我十分崇尚开源精神,而谭兄也是非常重视学术交流和论点探讨的人,我们都会毫无保留的分享自己的知识及经验,即使对一方在不擅长某个领域时仍会给予尊重并提供最大的帮助,实现真正的成长。十分荣幸遇到了一个优秀的同学,不仅是在学业上得到了很多帮助,因为熟悉互相脾气秉性,我们也在日常的生活中得到了性格的磨合,在做人做事上也有了很大的进步。


我们终将分别,但想想,我的一生能和几个人共同生活达八年之久呢?一切都是命运,愿为江水,与君重逢。他将到昆士兰去继续自己新的学术研究,我也将准备进入我的下一个阶段。正如谭兄经常说的,我们还要经常保持联系,多交流学术问题,以科研会友,期待能够在KDD等顶会上能够见到对方来参会。而我则希望我们在追求理想的道路上还能相互引为知音,就像一条清澈的小溪在流向大海的途中遇到了另一条清澈的小溪,碰巧这两条小溪还是朝着同一个方向流向大海。祝我们都能实现自己的理想,成为自己想成为的那个人!


这是个拥挤的地方,而我却很平凡


在我读研的这几年里,开始逐渐将自己的精力和工作重心从工程转向科研,尽管如此,我仍然会时常关注工程界大致的一些动向,关注互联网职场人以及北漂青年的一些生活和境况,我喜欢他们忙碌的状态、积极的生活态度以及日常努力生活而表现出的韧性。


鼓楼.png
 


北漂人都是可爱的,不管生活有多少苟且都能够坚持自己的理想,在压力中求生存,平凡而生活更显真实。每个人都有自己选择的生活方式,不管遇到什么挫折与不顺,总要挺过去,毕竟生活总要继续,方向总会有的!


飞鹏各自远,且尽手中杯


友情是散落四处的点点温馨,平时想起一座城市,先会想起一些风景,到最后必然只想起这座城市里的朋友,是朋友,决定了我们与各个城市的亲疏。


很荣幸这些年遇到了一些很好的朋友,曾经的本科同学、如今的研究生同学、工作中认识的朋友以及各种社区交流技术和求职过程中遇到的朋友,不管是校内还是校外,不论是在济南还是在北京、南京、深圳......,他们都在我的人生中的不同阶段提供了极大的帮助。更为重要的是,他们分别从事不同领域的工作,分别在不同地域以不同身份生活,所得到的社会经验和生活感悟对我而言更是弥足珍贵的。


还记得东哥曾经给我分享他从周围人学到的做人之道。如何做一个高情商的人,其实就是与人的交往中要擅于交流,而擅于交流的前提在于你知道的很多,眼界开阔,你能够从容温和的和很多人聊,和不同阶层的人聊相应的话题,打破周围人对你的刻板印象,让自己成为一个有内涵又有趣的人。你的知识储备,你的形象以及谈吐都作为以上的评判标准。


听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,思维与际遇有交集亦有合集,见得多了,站得高了,自然也就看的远了。


我们终将生活在不同的城市,即使不能时常相见,我们也会随时在对方身处困境或者黑暗时及时的带去援助和光亮。所谓朋友,也只不过是互相使对方活得更加温暖、更加自在的那些人。


时空是个圆圈,直行或是转弯,我们总会相见!


最后


仅以上文来记录我当前阶段的状态与生活。《圣经.启示录》中写道:“我又看见一个新天新地,因为先前的天地已经过去了,海也不再有了”。是的,过去已经过去,未来终将来到,这是一个新的开始。


王小灏

开始于2023年4月1日

完成于2023年4月18日

作者:Gopher
来源:juejin.cn/post/7223374346094329911
收起阅读 »

低代码平台是否会取代程序员?答案在这里

上图是一张机器人或者自动化系统取代人工的图片,您看了有哪些感想呢? 故事 程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD 架构师老李: 多个大型项目经验,精通各种屠龙宝术; 程序员小张和架构师老李是同事,在一家科技公司工作。他们的团队负责开发和...
继续阅读 »

file


上图是一张机器人或者自动化系统取代人工的图片,您看了有哪些感想呢?


故事


file


程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD


file


架构师老李: 多个大型项目经验,精通各种屠龙宝术;


程序员小张和架构师老李是同事,在一家科技公司工作。他们的团队负责开发和维护公司核心数字系统,但最近他们经常因为应对新需求而焦头烂额。


有一天,老李向小张提出了使用低代码平台来加快应用开发的建议。小张听完后不太理解,认为低代码平台会取代程序员,使开发工作变得简单和机械化。


老李解释说低代码平台并不会取代程序员,而是让专业的开发人员从简单、重复的开发需求中解放出来,让他们能更好地投入到更有价值的事情上,比如梳理系统架构、理清业务逻辑等等,并且低代码平台仍然需要由程序员开发和维护。


小张听后开始思考,认为这个建议确实有道理。他决定利用低代码平台来创建一些敏捷运营类应用,以减轻自己的工作量,并利用更多时间进行系统分析和优化。


于是,小张按照老李的建议利用低代码平台创建了一款敏捷运营类应用,并与老李一起进行了测试和上线。在此过程中,他们深刻领悟到低代码平台的优势,如快速开发、易于维护和扩展等等。


最终,他们成功地为公司创造了一个具有高效性和可扩展性的应用程序,并受到了同事们的好评。小张也明白了使用低代码平台并不是把程序员取代掉,而是让他们更好地利用时间和技能,为团队带来更多价值。


问题


越来越多的企业进行数字化转型,信息化升级。


系统的统一性和集成一直是一个难题,传统模式需要通过多套系统才能满足企业整体的信息化需求,想要统一打通非常困难。


程序员的高薪一直是企业高昂的成本,当出现新的生产工具,必定会对生产关系产生一定影响。


低代码在企业应用开发中的场景?


市场上有哪些种类的低代码平台呢?


低代码到底是怎么降本增效的?


低代码取代程序员怎么破局?


低代码


低代码平台的热度可谓风头无两,


那么低代码是什么呢?简单给它下一个定义。


通过可视化、模块化、拖拽式代替了传统的开发方式,达到了“降本增效”的目的,加速了企业数字化转型的进程的工具平台;


file


1 低代码的使用场景有哪些?


一般来说,核心的业务系统不会使用低代码从0到1搭建,低代码适合搭建基于核心数字系统之上的创新类应用,敏捷运营类应用。
这类应用使用低代码可以极大提升技术研发和系统交付的整体效率。
低代码当前处在技术成熟度曲线中的创新阶段,后面模板会越来越丰富,生态越来越完善,低代码的适用范围也会不断扩大。
下面五类应用是比较适合用低代码来实现的。


种类说明点评
企业门户包括App、小程序、PC门户等等,数据都来自中台、后台,企业门户只是做展示,以及简单的互动。xxcube正在覆盖
数据操作和展示应用通过连接企业的数据库,把生产经营的数据进行编辑删除查询等操作。可预研
基于表单的应用基于数据库的表单收集、处理、统计类应用。xxcube正在覆盖
业务流程类应用定义复杂的工作流,跨部门协作流程,复杂审批流程,比如:OA、人力、财务等系统。xxcube正在覆盖
移动端应用基于已有核心生产经营系统,进行移动化的应用场景。xxcube正在预研和了解

以上5类应用已经覆盖了企业数字化的80%的场景了,低代码的使用范围非常的广泛。


3 低代码平台的分类


目前低代码属于蓝海市场,以中国IT企业的创新速度,未来的竞争会非常激烈。
按照低代码的应用场景,可分为4类。列表对比一下。


种类说明xxcube的对比
原生低代码即面向通用型企业软件的低代码厂商,你可以从0构建一个企业经营系统,使用低代码平台将它实现出来。代表企业: 数睿数据、奥哲、轻流,国外的Mendix、OutSystems等等。具备能力
云平台低代码软件作为云平台生态其中的一环,是云原生一体化的企业解决方案,企业云平台的能力补充。比如阿里云(宜搭,氚云,简道云),腾讯云(微搭),微软(Power Platform)具备能力
行业软件低代码平台本身是非常成熟的行业软件,他们积极拥抱低代码,借助低代码解决企业个性化的需求,拓展软件应用场景。金蝶(企业管理,财务)、明道云(地产物业)、网易数帆(游戏)、销售易(CRM)、Airtable。聚焦游戏发行,游戏开发细分领域
软件开发工具做软件开发工具的,借助低代码实现功能模块化,帮助开发人员进行快速开发。Zion、葡萄城、ClickPaaS具备低代码扩展能力

3 低代码是怎么降本增效的?


file


**低代码,将传统软件开发的6个环节,缩短到了3个环节。**即通过把“需求设计”、“架构设计”、“编码”,聚合为“模块搭建”。


简单来说,低代码的开发模式,就是在需求梳理清楚后,用“拖拉拽”的方式把功能实现出来。


以一个10人天的软件开发需求为例:


传统软件开发模式,总共需要5个人,即:1个产品、2个开发、1个测试、1个运维,开发周期8天。


低代码开发模式,总共需要3人,即:1个产品,1个开发,1个测试,开发周期2天。


也就是说,使用低代码开发模式,同样的需求,节省开发周期70%,减少技术人员40%。


这只是一个粗略的估算。总之,低代码能够用更短的时间、更低的成本,实现软件产品的交付。


4 低代码平台的出现真的会取代程序员吗?


答:不会取代程序员,低代码的优势是可以让专业的开发人员从简单、重复的开发需求中解放出来,把精力投入到更有价值的事情上,比如梳理系统架构、理清业务逻辑等等。
首先,低代码平台不也是程序员开发的吗?再说了,使用低代码进行软件开发的,不还是包含程序员吗?
低代码虽然是“低”,也还是有代码的,除非是无代码平台,在适合的业务场景之下,确实不需要程序员了,可以由业务人员直接搭建应用,但那毕竟是特定场景。
低代码虽然不会干掉程序员,但是对程序员、产品设计人员提出了新的能力要求。越来越多的程序开发工作,将会通过低代码来完成。


技术人员必须到一线中去,跟业务人员在一起,跟最终用户呆在一起,打造更便捷易用的软件产品给业务赋能,用新的科技手段帮助业务转型、业务创新,使企业具备敏捷反应的能力。
否则,企业将会很快被时代抛弃,连打声招呼的机会都没有。


对广大程序员来说,可以按照下面的要点进行应对。


招数说明自查
1. 警惕重复性编码工作CURDboy请多学一些硬核技术。比如梳理系统架构、理清业务逻辑。低代码已经能够完成复杂业务流程类开发工作,能够基于表单驱动、模型驱动的方式进行软件开发工作。最先被替代的就是那些技术含量低的重复性编码工作。聚焦架构设计,云原生,物联网,大数据热门领域的学习和实践
2. 错位竞争,在低代码不擅长的领域深耕对于界面效果要求特别高、复杂的算法和数据挖掘、高性能和复杂系统架构、要求较高的底层开发等方面工作还不能胜任。低代码首先模板,生态,可扩展性限制。聚焦架构设计,云原生,物联网,大数据热门领域的学习和实践
3. 重视企业数字化的建设方法论学习随着低代码的不断成熟,越来越多的业务系统研发工作将由低代码平台来完成,很多企业的老板会看到这块的价值企业运营和建设相关的知识学习中
4. 终生学习,时刻准备职业B计划顺应潮流,学习最先进最高效的生产工具和技术,往往可以对同一赛道的保守选手降维打击;职业B计划是应对职场风险的最佳途径;持续学习技术和管理,持续输出,职业B计划酝酿中

一个心酸的故事,希望能给广大程序员一点启发:



在工业革命时代早期,有工厂主发现纺织机经常在夜里遭到破坏,就派人躲在角落里观察,看看到底是谁在使坏。因为当时没有监控摄像,只能用人肉监控。
结果他们发现,是一些小作坊的纺织工人在搞破坏,原因是他们认为先进的纺织机抢走了他们的工作,而织布是他们赖以生存的手艺,不甘心这几十年修炼出来的一身本领,一夜之间被一台机器所取代,所以破坏机器泄愤。



现在的chatgpt也是影响力类似低代码的先加生产工具,作为程序员应该要主动拥抱他,利用它;


工业时代IT时代启发
工厂IT公司资本或者资本机构: IT时代要重视低代码,作为程序员,要积极拥抱低代码,这是新的生产工具,可以成为自己的武器。低代码时代已来,不必焦虑,冲过去大力拥抱它,相信这一次,时间会站在变革者这一边。一些行业资深人士,视低代码为“毒瘤”,不仅暴露了自身的无知,也误导了部分从业者,也引起了无谓的恐慌。
纺织机低代码生产工具-静态
工人程序员\业务人员生产工具-动态


原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。



作者:李福春
来源:juejin.cn/post/7222832297854287929
收起阅读 »

git stash 用过嘛?

各位在摸鱼的时候...不是... 各位在写代码的时候离不开的git其实发现有很多小技巧,老铁们,今天咱们就来唠一唠 笔者由于能力水平非常高...不是... 笔者的司由于前端人手紧缺,不得不自己负责多个项目,同时存在一个项目中多个更新迭代同时开发的情况,所以笔者...
继续阅读 »


各位在摸鱼的时候...不是...


各位在写代码的时候离不开的git其实发现有很多小技巧,老铁们,今天咱们就来唠一唠


笔者由于能力水平非常高...不是...


笔者的司由于前端人手紧缺,不得不自己负责多个项目,同时存在一个项目中多个更新迭代同时开发的情况,所以笔者每天的工作状态就是切分支,切分支...


当一个分支的内容还没开发完,不得不切换分支去改造另一个线上bug时,此时当前分支的内容一定要推到远程分支嘛,答案,不一定


这时,我们应该想到git stash


# 保存当前未commit的代码
git stash
# 保存当前未commit的代码并添加备注git stash save "订单详情"

#
应用最近一次的stashgit stash apply

#
应用最近一次的stash,随后删除该记录git stash pop

#
删除最近的一次stashgit stash drop

删除stash的所有记录git stash clear

#
查看所有记录git stash list
#还原某个版本git stash apply stash@{stash_id}

所有的命令我都罗列于此


所以话不多说,开干


git stash save '订单详情组件封装完成'

//此时我们可以切换分支
经过一系列的操作之后
//切换到当前分支

1.懒人操作
- 如果不想麻烦and墨迹,直接操作
git stash apply

2.如果想秀一波
- 那么好,操作
git stash clear

啊......

其实我想操作git stash list

来吧,继续操作~

当误操作git stash clear时,我们应该打印所有的提交列表
git log --graph --oneline --decorate $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )
如果在这个输出的内容中可以找到你提交 那么可以通过提交的id来找回

当内容无法找到时间,我们继续操作
git log --graph --oneline --decorate $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' ) >1.txt
这个命令是将输出内容输出到1.txt文件中,在文件中可以通过搜索你保存时的关键字来进行找到id

再次执行
git stash apply id

3.当我们手不抖~

执行找到stash的列表
git stash list

还原某个版本
git stash apply stash@{stash_id}
大功告成

各位这波操作怎样,哈哈哈


其实就是日常工作(mo yu)的小技巧,希望对各位有帮助!


作者:凌云空间
来源:juejin.cn/post/7221825086667014205
收起阅读 »

踏平坎坷成大道---前端还有希望吗

最近在头条还有一些其他平台经常会看到一些论调“前端已死”,各种找工作难之类的信息,同时在自己身边也有不少朋友、同事持有同样的看法;作为前端开发接近10年的老菜鸟也想谈谈自己的一些看法【个人拙见,欢迎喷,喷的时候给出建议】 先说观点,前端未死 要知后续情节请...
继续阅读 »

最近在头条还有一些其他平台经常会看到一些论调“前端已死”,各种找工作难之类的信息,同时在自己身边也有不少朋友、同事持有同样的看法;作为前端开发接近10年的老菜鸟也想谈谈自己的一些看法【个人拙见,欢迎喷,喷的时候给出建议】



先说观点,前端未死



要知后续情节请看下面分解,如有雷同实属巧合;头条或一些平台的网友言论有很多带节奏的成分,而不是真实的!



为什么很多人说前端已死


找工作难



  • 不可否认的是这两年受疫情影响、国际国内经济形式的影响,我们身边能看到、能感受到各行各业的日子都不好过,各种内卷、各种无奈;我所在的公司在年前也进行了一波人员的精简,组内成员减半,这个已经是不争的事实;




  • 我们发现刷BOSS、刷智联看到的岗位似乎比前几年同期少了很多,发信息得到回复的次数也在减少,似乎简历就像石头一样沉入招聘的大海,隔壁王奶奶就跟我吐槽过多次;




  • 发现身边、各种论坛、网络上充斥着各种悲观的论调,讨论的热度不比36度的夏天差多少;




面试要求高



  • 隔壁王奶奶经常说,前几年简单问问Vue\React原理、生命周期、JS基础,聊聊项目经验就能收到几份Offer,自己还在选择哪家公司更有钱景; 而现在呢? 一上来就问源码、算法、数据结构、还有让直接手写源码的,就问各位看官慌不慌、惊不惊?




  • 说实话,在前端岗位摸打滚爬接近10年,感觉自己老了却还是个菜鸟,很多原理性的东西真的很弱,计算机基础也很差(早期培训了),上班干活也就每天那一、二、三3板斧;诸位有没有跟我一样的,面试很没底呢!




有没有核心技能

既然面试要求那么高,那么卷,这个时候就要问问自己到底有没有核心竞争力呢?很庆幸目前我{ age: 36 }目前尚有一份可维持生计的工作(可能也快了),短期还能跟大家一期扯淡;自我感觉10年下来我并没有掌握核心技能,诸位呢?如果一定要回答自己有什么信心敢出去面试,大概有这么几点吧:



  1. 脸皮够厚,不怕被拒绝,能怼人

  2. 得益于早些年坚持锻炼,现在加班熬夜还能和年轻人一战

  3. 长期的积累,基础还行,目前还学得动

  4. 得益于长期的积累,对待产品、项目有一些心得和自己的看法


前端的路在哪?



在回答该问题之前我想说的是:当下的局面对刚刚入行、初级前端是很不友好的,对于已经在行业内站稳了,有几年工作经验的前端朋友而言,处境并没有那么悲观;所以,这里只聊聊已经有几年经验的情况;





  • 首先、我们通常讲的前端大部分还是停留在HTML + CSS + JS的模式,与后端相对, 那前端就是在画页面,调数据,写交互,诸位的工作是这样吗?




  • 其次,前端在项目中、在团队中的核心价值是什么?




  • 最后,面对当下日益复杂的业务,前端能抢谁的饭碗,而谁又会抢前端的饭碗?




前端在团队、项目中的核心价值是什么?


要回答上面的问题,需要先弄清楚前端在团队、项目中的核心价值是什么,我个人认为,前端的核心价值在于:【用户体验】【用户体验】【用户体验】,前端不是页面仔,也不是接口仔,更不是切图仔!前端应该是一个胶水性质的岗位,哪里有漏堵哪里;在产品经理-设计师、UI设计师-UE交互设计师、UI\UE - 前端、 前端-后端、 后端-测试、
产品经理-项目经理,这些诸多环节之间做一个适配器的角色,在项目的全程去理清开发的每个环节,为项目的高质量交付发挥不可替代的作用;



说了那么多,前端就是要充当适配器的角色呀,那么是不是就意味着我们需要掌握的技能就要很多呢?要接触很多的面呢? 答案是肯定的;合格的前端技能至少是一超多强的,一精多能的,这也就是在面试中对初级不友好,对老鸟相对友好一点的根结!而这些技能的积累,产品、项目的把握能力需要一定的积累,短期怕是无法达到的;三点,重新审视自己的岗位:



  1. 【站在产品经理的角度去理解前端】

  2. 【站在项目经理的角度去理解前端开发的过程】

  3. 【站在用户的角度去理解前端的产出】


前端能抢谁的饭碗? 谁又来抢前端的饭碗?

这个嘛....(⊙o⊙)…,の,打败自己的从来都不是自己的同行,想这些是无意义的,把眼光盯在本公司同事的身上是无意义的;有个很好笑的现象是:很多人总是气不过自己身边的同事、朋友比自己每个月多几千块钱,而不生气身价百万、千万、甚至过多的成功人士; 所以我说,如果真的要抢,那应该从其他与之(前端)有关联的行业找出路;


如何破局?


如何提高薪资,如何不被抛弃? 这个问题思考了很久,反复拷问自己接下来该怎么走?最近几年也做了一些尝试,有的放弃了,有的没下文了;在划水之余关注了BOSS招聘一年多时间,看到了一些信息,供大家参考;





  1. 如果已经有多年的经验,前端架构师是不错的选择(最近1年在BOSS上看到,架构师的需求在不断增加),建议:一定要会NodeJS,最好学学其他后端语言、服务器、数据库,可以不写,但是一定要知道之间的区别,能做什么,适合做什么,如何选择;




  2. 大前端方向现在还有很大空间: Vue\React + Flutter(或类似) + 小程序,这里有个高的要求:建议去学一下原生的Android、IOS开发,至少知道是如何运行的,和混合式开发等区别是什么,如何同前端交互;




  3. 前端 + GIS 方向,这个是很推荐的!(最近1年看到gis岗位的招聘增加非常多)




  4. 前端 + 3D + GIS (各位看官,去看看BOSS吧,如果这些你同时拥有,还会担心工作岗位吗)




以上的都是硬实力,也就是面试时候绕不开的; 接下来的软实力,就是作为适配器角色的核心:



  • 沟通能力;

  • 对产品的理解能力;

  • 项目把控能力;


这个需要积累,决定前端的尽头最终走向哪的,前端最终的出路就是不是前端,可能是?


....


...


..


.


BOSS!
谁说前端出生就不能成为老板呢? 前端走向产品经理一定要强于一出来就是做产品的产品经理(当然其他岗位也可以),总之方向很多吧!


聊到

作者:风雪中的兔子
来源:juejin.cn/post/7220220100384817210
这里吧,该撸代码了!

收起阅读 »

有趣的futu android面试体验

futu面试算是我面过的最特殊的了,大部分问题都是智力或者算法题,幸好我平常有刷算法的习惯,即使是项目相关的题,也是非常开放式的,几乎没看到八股 整体体验面试官还是比较专业的,其中的实现队列题和概率题我没有考虑到的点都和我进行了友好讨论,提醒了我,尤其是三面的...
继续阅读 »

futu面试算是我面过的最特殊的了,大部分问题都是智力或者算法题,幸好我平常有刷算法的习惯,即使是项目相关的题,也是非常开放式的,几乎没看到八股


整体体验面试官还是比较专业的,其中的实现队列题和概率题我没有考虑到的点都和我进行了友好讨论,提醒了我,尤其是三面的那道概率题,挺有意思,也是多亏面试官提示


不算难,但是需要扎实的基础,大家可以作为参考


一面:


项目


recyclerview刷新设计,分页,复杂布局,网络流量 刷新包含整个刷新,单个item刷新, 局部刷新策略,diff对比后台刷新id


MVVM的viewModel与android中的ViewModel的区别


如何分享一个抽象列表框架(如recyclerview)技术给客户端同事,包含pc, ios等


如何做一个需求,输入框可以输入,输入字符串变化时都会有回调产生对应效果


算法/智力




  1. 数组实现队列,入队出队


    增加扩容功能,


    修改为循环队列







  1. 9个砝码,一个轻的,最少次数称出来?


    称的次数与砝码数量有什么关系?






  1. 数组中和大于等于target的长度最小的连续子数组


二面:




  1. 多线程


    static a = 0;

    thread1: a += 1;

    thread2: a += 1;

    最后的结果区间







  1. 已知公司OA数据库有一个员工信息表,


    包含员工ID,员工姓名,入职月份(如201801),和离职月份。


    财务审核时发现 201803 到 201808 这6个月,


    当时所有在职员工都少发了工资,


    现在老板需要了解有多少人受影响需要获得补偿。


    请写出查询语句。




  2. a b c 轮流投掷一个硬币,直到正面出现即胜利,求c获胜的概率




  3. 在一个字符串中,找出不包含重复字符的最长子字符串的长度




aa => a => 1


abcdaf => bcdaf => 5


abcd => abcd => 4


abacad=>bac=>3


afbcdef => afbcde => 6


三面



  1. 编码:输入有字符串s1和s2,判断s2是否包括s1的排列 例如, 输入s1=abc,s2=abcd, 输出True; 输入s1=abc,s2=acbd, 输出True; 输入s1=abc,s2=ambnc, 输出False; (排列的解释:字符串abc,则abc的排列包括abc、acb、bac、bca、cab 和 cba)


先用了排序,复杂度


然后用数组,空间换时间




  1. 90% 返回0,10%返回1,如何包装此方法让返回0与1都是50%




  2. 做过的最难/有挑战性的项目


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

【2023】22届前端程序员毕业一年的心路历程

没有任何光环的,一个普通人的前端之路 启程 要讲是如何对前端感兴趣的,我大约可以从大一的C语言讲到大四的微信小程序,想了想这不是本篇文章的重点,所以掐住话头(。 自觉大学过得十分散漫,临近毕业我才开始认真对待自己的前途,好在专业选的不错——计科,啥也不会又啥都...
继续阅读 »

没有任何光环的,一个普通人的前端之路


启程


要讲是如何对前端感兴趣的,我大约可以从大一的C语言讲到大四的微信小程序,想了想这不是本篇文章的重点,所以掐住话头(。


自觉大学过得十分散漫,临近毕业我才开始认真对待自己的前途,好在专业选的不错——计科,啥也不会又啥都懂一点。


大四那年寒假我从学校建的就业群里参加了一个线上面试培训班(虽是商业但全程免费),从接触前后端的概念到决定学前端只用了十分钟,那个时候我连html都不太会写,就被拉去接触企业级的前端开发流程,可想而知有多手忙脚乱,“蓝湖、禅道、yapi...”,这些现在习以为常的东西对于当时的我来说根本形不成概念,中途跟老师提了一次退出,理由是不想拖大家后腿,好在老师十分鼓励我继续跟进。于是我一边跟着培训进度一边在b站学习前端基础,虽然到结课也没学完,培训课也因为人数不够被腰斩。


留下来的同学被打包送进面试背题班(没错就是背八股文),明确的目的使得效率突飞猛进,回想起来仍觉得那一个月过得十分抓马,但也是在那里我真正叩响了前端的大门。


实习前夕


培训课一个月结束,寒假还剩半个月,对就业十分心虚的我决定提前返校,由于疫情学校不提前开放,我便借住在同学的校内公寓里,那段日子每天一睁眼就是打开电脑看视频课,跟着敲代码,直到学完vue以后,我才有了些许底气面对我的简历(培训老师倾情指导,洋洋洒洒写了好多我根本不懂的技能,只能硬着头皮一个一个学。


寒假前我在班级群里保存了一份招聘实习生的材料,负责人说我联系的时间有些晚,但还是接受了我的简历并通知我去面试,面试前一天培训老师和我通了电话,告诉我可能会遇到哪些提问,以及怎么答。


人生第一次求职面试就这样顺利结束,虽然实习工资近乎于倒贴上班hhh(长沙的行情令人闻之落泪)


经验之谈


入行前端于我而言是一段兵荒马乱的时光,给后来者的建议就是早做准备!早点实习!真的会少很多焦虑与迷茫。


另外,学校的资源一定要充分利用,出了社会就更没人为你操心了。


实习阶段


实习的过程中我写了一个门户网站,也参与了一个大型管理后台的需求迭代


内容少而简单,三个月时间就是夯实基础以及查漏补缺,不过很大一个原因就是我学的刚好是我要用的,真真是一点新东西都没有出现,也是很神奇_(:з」∠)_

大概是以下这些:


html + js + css

vue2 + webpack + axios + vuex

element-ui

git


这段阅历虽然浅薄但也不可或缺,让我明白学过跟真正会用是两码事,也真正实践了企业级的开发流程。
临别前负责人找我谈话,语重心长地建议我去大城市发展,我点点头,但对于自身的实力十分不自信,并没抱太多希望。


春招的末班车


因为考研错过秋招,又因为实习错过春招,在确定不转正后我才把精力放到了春招末班车上。

不得不承认机会真的所剩无几,为数不多的几场招聘会一眼望去全是销售,偶尔有前端岗位也不对本校学生开放,简历改了又改,真正能投出去的屈指可数。


当然也不是全无机会,要是我当时甘心留在长沙,从我实习能接触到的技术与眼界来看,也许就不会有这篇文章了。


转折点就在那些不对本校学生开放的前端岗位上,招聘摊位的人并没有接我的简历,但我本着排队都排了那么久的心态还是扫了易拉宝上的企业春招二维码,投递了线上的简历。


大约是幸运女神的眷顾,一面二面终面,耗时近两周,最终一路绿灯拿到了深圳的offer,后来从导师那里得知,我投递简历的那一天,也是春招通道关闭的最后一天。


真正的修炼之路


一个事实是,即使抓住了机会,我也时常焦虑,放眼同期入职的都是双一流的研本,说没有压力神都不信。


疏解压力的办法只有比别人加倍努力。


试用期三个月,第一个月vue2就被公司淘汰了,前端技术更新迭代的速度令我咋舌,那段时间我几乎把所有的技术栈都更新了一遍。


稳定下来的vue技术栈大致如下:


html + js + ts + css + less

vue3 + vite + axios + pinia

ant-design-vue

git + docker + nginx + devops


学会这些大致能跟上团队的开发速度,但代码依旧不优雅,知识也不成体系。
转正后我忙于一个又一个需求,新技能的学习基本依托于业务,例如被动学习了fabric、echarts、g2plot等等。


要是组织架构没有变动,身边的同事没有被优化,我大约会持续这样状态很久,直到遇到下一个瓶颈。


变动带来了不安,也推动了新一轮的自我学习,转到新的业务线后,自己明显感觉能控制开发节奏了,独立完成的需求越来越多,遇到知识盲区的次数也越来越少,部门的业务和技术栈大差不差,好处是不用花费精力去适应另一套生态,坏处也很明显,没办法从工作中学到技术层面的新东西了。


也是在这段时间,我能够抽出时间自主学习,先是用hexo搭建了个人博客,又尝试着用react自己设计开发,期间去重修了nodejs,补充了一些后端的技能。我导师说他初中就开始做这些事情了(我发誓我初中对网络的概念还停留在4399...( _ _)ノ|


技术之外


从我转正到22年年底,一共参加过两次答辩,一次是转正答辩,一次是年终述职答辩,两次的结果都不错,刚毕业的我很喜欢从一些虚无缥缈的事情上寻找价值,比如被领导夸了两句就觉得自己像一个快乐的小陀螺,到现在还是如此。


与此同时,工作带给我的精神内耗一直很严重,总觉得自己什么都不会,也不聪明,不懂表达,追求不高,喜欢给自己也给别人画饼。


唯一的优势大约是我尚且年轻,仍然对无垠的未来充满期待,并且愿意为之付出努力。


23年的flag


1、系统学习前端,不再浅尝辄止;

2、继续学习英语,关注前沿技术,坚持博客产出;

3、早睡早起,饮食规律,平凡且健康就很好。


写下这篇文章更多的是记录自己曾经和当下的状态,期冀今后的每一年我都比现在更加从容。


作者:兀米米
来源:juejin.cn/post/7216223889487511608
收起阅读 »

“勇敢的去走自己的夜路”——走出我的“浪浪山”

引子 2022年,经历过太多太多的故事,也发生了太多太多的事故。 这一年,迷途失措且努力,未来可期却恍惚,我错失了太多的机会,幸然遇到了大家,让我们一同努力见证Cool(小陈同学)的改变,这一年我经历过比赛失利,国奖失之交臂,也遇到了求职季的滑铁卢。但有幸的是...
继续阅读 »

引子


2022年,经历过太多太多的故事,也发生了太多太多的事故。


这一年,迷途失措且努力,未来可期却恍惚,我错失了太多的机会,幸然遇到了大家,让我们一同努力见证Cool(小陈同学)的改变,这一年我经历过比赛失利,国奖失之交臂,也遇到了求职季的滑铁卢。但有幸的是遇到了一堆可爱的掘友,利用掘金的资源也找到了一个工作。


这一年,我走了很远的路,吃了很多的苦,踩了很多的坑,才将这份年终总结交付与星球大伙。也曾有幸与掘友一起分享只属于我们的“情书”


第一节:对你,同样对自己说


今天是 2023年1月1日,这一年,半分努力,半分浑噩,忽隐忽现的理想,支撑着自己踽踽独行。几年前,他应征入伍,算不上什么好选择,也或许并没有选择的权利。北方干冷的空气,窗前停驻的麻雀,以及战友豪迈的言语曾一度让我觉得,南京或许会是我最终的归宿。


在南京的第二个年头,这一年我21周岁,报国的赤心和热血似乎都正热时,我做出了人生的第一个计划,“退役复学”。


感恩军旅生活,让我真正的热爱祖国与持续学习,在二零年上旬,新冠疫情爆发了,一个八十八线小城市的我,除了紧张的气氛外,到也没受到多大的影响,在家依旧忙碌,直到2022年2月10日,我记得非常清楚,写了一天前端(三件套的弱鸡)代码的我,结束了当天的笔记小结,打开了B站,悄然间随机看见了关注了好久的鱼皮居然真的开了学习圈子(编程导航),这让一个对编程说不上爱的萌新,从此爱上了coder与share,(一个利他的博主谁又能不爱呢?),曾经把编程视为作业的我,我发现我能用他code出一个全新的世界,我便一发不可收拾爱上了它(这里的它指的是编程)。


(一)身体是革命的本钱


but 「熬夜 + 不规律的作息 + 不健康的饮食」+ 「年轻」= 无事发生


“年轻人”,似乎总是有一种得天独厚的优势,有精力,有体力。而这对于我这个退役选手更是easy了,这些不太好的习惯也似乎在年轻一代的大水潭中泛不出多少涟漪,凭借着这份“本钱” ,自然能更加心安理得,反正:我还年轻,我还可以熬。


(2) 继续战斗,也请先照顾好自己


疫情消耗掉了大半年的时间,大学断断续续的锻炼,把熬夜换成了早起,开始按时吃早餐,解封后的日子,趁着南方冬天来的很晚,与几个战友开始了跑步的活动,这一阶段体能上确实有了很大的提升,我很享受跑步后,被风吹过的感觉(皮一下:我也曾吹过未来女朋友曾吹过的风)。


说来也很神奇,每次当我没什么精神,只要去跑步,回来冲个澡就会精神百倍,所以我一般傍晚的时候有空就会去跑跑,然后就可以再晚上全身心的写代码,整理笔记(当然最后就是发到星球上面,感受大家阅读后的“指责与指导,哈哈哈”)。


运动本不应被当做一种应该做的任务,而应被看作一种休闲的方式,没必要与别人比较强度,组别,只有自己舒服就是最好的标准。


所以,不管是真的热爱也罢,苦于生计也罢,即使继续战斗也请先照顾好自己


(二) 随波逐流只会让你接近平均值


普通人的危机感总来自他人,而想要成为一个优秀的人,危机感必须来自自身,随波逐流只会让你靠近平均值,总有一种恍惚感,懂得越多,越觉得自己像这个世界的孤儿,与同龄人格格不入,总是自负的认为他人幼稚,就像鲁迅先生说过:“人类的悲欢并不相通......”。听着他们谈论着我 “早就走过的路”,“早就见过的风光”,我也只觉得他们吵闹。


可惜,我在某些时候,总是小气的,心中惰于学习,更不愿将自己的 “财富” 与他人分享,总忧虑别人以己为石,跳向远方,患得患失的一种矛盾,让自己无奈又颓靡。
后来我遇到了鱼皮,我发现分享的乐趣后我便不再随波逐流,持续性努力,以下是我在星球这一年输出的笔记



(ps:请大佬过目,记得留赞)如下:



大数据笔记:wx.zsxq.com/dweb2/index…


运维Devops笔记:wx.zsxq.com/dweb2/index…


低代码Lowcode笔记:wx.zsxq.com/dweb2/index…


yarn的学习:wx.zsxq.com/dweb2/index…


软件设计师:wx.zsxq.com/dweb2/index…


NodeJS笔记:wx.zsxq.com/dweb2/index…


机器学习方面:wx.zsxq.com/dweb2/index…


Vue+pinpa笔记:wx.zsxq.com/dweb2/index…


MySQL笔记:wx.zsxq.com/dweb2/index…


华为鸿蒙认证:wx.zsxq.com/dweb2/index…


软件工程笔记:wx.zsxq.com/dweb2/index…


力扣刷题攻略:wx.zsxq.com/dweb2/index…


ES6模块暴露笔记:wx.zsxq.com/dweb2/index…


ACM算法思维导图:wx.zsxq.com/dweb2/index…


Bootstrap笔记:wx.zsxq.com/dweb2/index…


网络安全资源贴:wx.zsxq.com/dweb2/index…


(三) 不被枯井遮住双眼,保持谦虚及自尊


目光短浅带来的问题是致命的,当你有一天觉得自己好像还不错,好像已经登到峰顶了。那就需要反思一下自己或许已经陷入了“枯井”中,你会这样想,那大概率是被枯井遮住了双眼,你看不到枯井之外的世界,为了一点点成就就沾沾自喜,虽然阶段性的成功也很值得高兴,但千万不要走进这份舒适区中,温水煮青蛙的例子也不少见,走出枯井后,你就会发现外面的世界还是在一个枯井中,你要做的就是不断的往上爬。


永远不要看不起任何人,即使一位在你眼中普普通通的人,他的技术或许逊色你不少,但是他在思想和创造性上总能给你意想不到的惊喜。即使我的学校很普通,但是我的身边仍然有着一批充满韧劲的朋友,希望能通过考研,亦或者对于技术的钻研,弥补自己高考的遗憾,我记得大二那年,我常常在凌晨一点半两点收到微信弹窗大家一起交流一些问题。备战比赛的三点一线生活,学技术的通宵达旦,为了目标不断努力,这样的人仍然值得我尊重与学习,我认为他们拥有了一名大学生应该有的“灵魂”


除此之外,请千万保持自尊,自尊并非别人给的,而是自己给的,如果遇到比自己弱的人就有“自尊”,遇到比自己强的人就畏畏惧惧,没有“自尊”,那么这种自尊就没有任何意义了,闻道有先后,术业有专攻,应当尊重任何在某个方向的前辈,但是也没必要过于拘束,见贤思齐,见不贤而内自省即可。


(四) 远离总是给你负面情绪的人


但是如果你遇到了一些人,总时时刻刻,在学习以及生活上给你一些负面的观点,这种人会严重影响你坚定往枯井上爬的信念,不管你们是什么关系,我给你一个建议——赶快跑(这里现代化的叫法喊:润),有多快,跑多快,如果你们不幸要发生必要的交互,请将这段关系限制在最小范围内,切勿投入感情


(五) 传道授业:若要学知识,必得为人师


这一年我很喜欢读一本书,那就是《软技能:代码之外的生存指南》(下面我会提到)其中有一个章节给我印象很深,即第33章,传道授业:若要学知识,必得为人师,下面我摘了一段:



在你传道授业的时候都会发生什么 当我们初次接触某个课题的时候,我们对于自己对此了解多少往往都会高估。我们很容易自欺欺人,以为已经对某样东西 了如指掌,直到我们试着去教会别人的时候,才能发现事实并非如此。你有没有被别人问过一个非常简单的问题,却震惊地发现自己不能清晰地解答。你刚开始会说:“这个,很明显……”,接下来只有“哦……”。这种情况在我身上屡屡发生。我们自认为已经透彻理解了这个话题,实际上我们只是掌握了表面知识。这就是传道授业的价值。在你的知识集合里面,总有一部分知识你并没有理解透彻到可以向别人解释,而“教”的过程能够迫使你面对这一部分。作为人类,我们的大脑善于模式识别。我们能够识别模式,并且套用这些固定的模式去解决许多问题, 而没有做到“知其然”也“知其所以然”。这种肤浅的理解力无碍于我们完成工作,因而不易被察觉。然而一旦我们试着向别人解释某件事情的运作原理或背后的原因的时候,我们在认知上的漏洞就会暴露出来。不过这并非坏事。我们需要知道自己的弱点,然后才能对症下药。在教别人的时候,你迫使自己面对课题中的难点,深入 探索,从只知皮毛变成完全理解。学习是暂时的,而理解是永久性的。我可以背诵九九乘法表,但是一旦理解了乘法的运算原理,即使突然记性不好,我也可以重做一张乘法表。



我已经记不清很多年前我初中亦还是我高中的一位任课老师曾经说过这么一句话:能教会别人,自己也就没问题了。可惜那个时候的自己压根没提起学习的欲望,当然了,也或许与我自己根本不喜欢枯燥的应试教育有点关系。我也没理解这句话的意思。大学这几年,我很喜欢与朋友交流技术方面的事情,每个人都有很多我意想不到的理解与想法。还有更多时候我更加喜欢帮助朋友解决一些问题,当你什么时候可以将别人的一个问题,用通俗的解释说明 + 简洁却又富有代表意义的实例 + 补充一些自己的理解与看法,说给别人听得时候,最起码,我认为你对于这块内容就真的入门了。当你能够滔滔不绝的讲解给别人一块内容,能合理的安排讲解的引子与顺序的时候,这说明这一块的知识已经在你脑海中有了一条清晰的体系。同时你通过与别人交流的时候,再根据别人对你提供的一些方向好好反思斟酌一下,不断的修改。相信我,当你成功与他人讲解/交流你的知识后,你会爱上这种感觉的。


但是老板和老师可不会等你,很多时候我们都不得不 “填鸭子” 式的学习一些内容,例如根据老师的要求,强制使用一些指定的框架或者技术,或者根据业务/项目组长的需要和安排,你需要快速的学习一些你并不熟悉的内容,凭借我们多年 “应试” 的本事,大家总能很快的就找到这种套路,例如怎么快速搭建环境,怎么配置,如何快速的用起来。但是千万别止步于此,不然终究只是一个CRUD工程师,这也不一定是坏事,当你熟悉如何用一款框架或技术后,再去看一些源码,或许会事半功倍。



作为人类,我们的大脑善于模式识别。我们能够识别模式,并且套用这些固定的模式去解决许多问题, 而没有做到“知其然”也“知其所以然”。



(六) 别让情绪扼杀你状态


(1) 所谓迷茫,都不过是想的太多


总在独处时,开始怀疑自己,我是谁,我在干什么,以后该怎么办......在我理智的那两天,我都会把这种状态归咎于闲的蛋疼。但是确确实实在那种状态下,什么事情都没法下手,最严重的的一种状态,就是会有一种深深的无力感,感觉距离目标实在太远了。这种无力感,会瞬间摧毁你的勇气,让你不敢下手去做些什么。就像是一场噩梦,你明知道应该醒来,却无法挣脱。



鼠鼠我啊是家里唯一的大学生,大学入了党,工作也没有让家里操心,家里人都认为我有出息了,只有鼠鼠觉得鼠鼠是个废物,鼠鼠以前也会想着让妈妈为自己骄傲,让家里人可以开心的生活,可是浪浪山不如鼠鼠所愿,鼠鼠在浪浪山清楚的认识到了阶层的差距,身边的人正活着曾经难以想象的生活,鼠鼠也才知道人生可以那么精彩,它就在我眼前,又好像远在天边。鼠鼠在家里是最强天赋,在浪浪山却是擦锅布,我好像永远走不出浪浪山了,鼠鼠想回下水道,鼠鼠下辈子不想做鼠鼠。



这种状态,都不过是因为想的太多,我们总是在刚起步的时候,就想着终点在哪里;总是在刚学习一项技能的时候,就想着攻克技术难题;总是在与人初次见面之后,就想推心置腹;总是在今天都没有过好的时候,就想着明天该怎么办。我就是这样一个人,常常纠结于各种各样的学习路线上,每次在学习不同的技术的选择上,进行纠结,但其实这两者我明明是有足够的时间兼学的,还有时候明明知道基础要一步一步走扎实,但是却想到后面还有各种各样的新式技术,高级技术等着我,就会又开始所谓的迷茫。


其实这种所谓的迷茫,很多时候都是源自于我们想的太多了,路要一步一步走,饭要一口一口吃,想的太多,就会感到迷茫和焦虑。最好的办法就是,立足当下,安于寂寞,不要太着急看到极大的成果,放平心态,只有你的心里想通了,你的状态就会迅速回归,重振旗鼓


(2) 你总需要一个人走一段路


孤独伴随着,几年前来到几百公里外上学的我,亦或是年后即将开始找实习,找工作的我。


我想我总会有一段时间感觉到莫名的孤独,想找个人聊聊天,却又不想去找,自己戴着耳机,漫无目的的走在路上。以及每次晚上或者凌晨写完东西,躺在床上有一种说不出的感觉,特别的是,我并不感到忧伤,只是感觉空落落的,也不想认识新的朋友,也不想联系家人,却也不知道有些话该和谁说。


即使你人缘很好,常常有三五好友一起相伴,但是总会有一些空隙感到孤独,这源自于你的内心还是不够强大,有的人独行却乐在其中,有的人三无成伴却又内心孤独,因为孤独的人心中并无足乐者,灵魂还是被空虚填满。


所以,请充实自己的生活,多出去走走,多与人交往,给自己多找点自己感兴趣的事情去做,即使感到孤独,也没必要太过沮丧,只需要告诉自己,沮丧,孤独,都是正常的,我们要在自己走的这段路上,让自己成为一个更加闪亮的人。走过自己的一段夜路,终将会有柳暗花明又一村的“闹市”。


(七) 恋爱的本质是「撞」而不是「寻」


(1) 你真的想要谈恋爱吗?


有时候总会想,谈恋爱是「一定要」还是「可以要」亦或者 「没必要」。


总有那么几天,好似陷入了爱情的怪圈。让你平淡无奇的生活荡起了阵阵涟漪,打破了你安稳的生活轨迹。


大部分时候,或许只是你想要摆脱这种“孤零零”的状态,又或者看着别人的“幸福”与“快乐”,激起了你的那份欲望,而欲望总会在你的忍耐中冲昏你的头脑,让你开始憧憬爱情,并且费力的去「寻」去「找」,试图去接触不同的人,试图找出哪一个是适合自己的,或许你会觉得,主动去寻找自己的幸福是一件很美好的事情,不过于我而言,这并不是爱情,我只能把它叫做权衡利弊后的一个选择。


或许有的时候,你只是想找一个人陪你,那也或许并不是爱情。你结束了一天的忙碌,合上了笔记本电脑,关掉了手机,疲惫的倚靠在椅子上,狭小的房间中,只有那盏台灯在一片死寂中发出微弱的光。连点一只烟的动作都觉得多余,他只想一个人安静的待一会,也不知道在想什么。但如果无由头的想起了一些事情,一些人,这个引火线,就会瞬间将情绪点燃,无尽的孤独涌上心头,这个时候,你渴望有一个人陪在你身边,陪你说说话,哪怕陪着你坐一坐,起码让你知道你并不是一个人。自此以后,你开始标榜自己「需要人陪」,看似高尚的理由,其实只是你害怕寂寞的一种借口,就算你真的找到了一个陪着你的人,那你真的爱她吗,可能你只是在你漆黑的房间中又添置了一盏台灯,这样能让你的眼中看起来更加明亮。


(2) 三观一致真的很重要!


这几年也接触过一些异性,或许也有动心过,但是你会发现,不同人看待,处理事物的方式会有截然不同的结果,你认为简直不可理解的事情,在其眼中似乎也稀松平常,或许你不懂她,也许她不懂你,三观这个词的定义实在太模糊,最简单的方法就是看你们在一起的感觉,给你的感觉如果是很舒服的,那么可以进一步了解一下,害,没什么好说的了, 希望你可以找一位能符合你心中期望的另一半。


(3) 顺着人生轨迹走吧,别为了一个人停下来


千万不要陷入单恋的漩涡中,这是致命的,对的人是不需要主动找的,你只需要顺着人生轨迹走,在合适的年纪做合适的 “正事” ,自然而然就会遇到那个人了,如果等到七老八十,也没有遇到,或许这也就是命。或许说的太悲观了,但我仍认为,与其让自己为了追求一个不确定,也或许没有回应的爱情,不如自己欣赏自己孤岛中的美丽。但话也不能太绝对,或许有一天我就会因为所谓的爱情,陷入盲目。爱情这东西,谁说的好呢。但我只要不断告诉自己,一定不要停下来


第二节 这一年我都做了些什么


(一) 学习 + 技术输出


(1) 行百里者半九十


按照原来的计划,从 Java --> JavaWeb --> SSM --> SpringBoot 这个主线就算结束了,其中夹杂着 SQL,Linux,Web,小程序,设计模式等等的一些支线。不过,根据自己的情况和具体需要吗,其实我已经做出了一些重点的调整,我会在后面的目标中去提到。


(2) 一年和球友一起 输出了一百多万字的笔记



先放地址【Java全栈方向】:http://www.yuque.com/icu0/wevy7f


欢迎大佬们关注一下小弟。



一年中,一边学习,一边做总结,做整理,陆陆续续一年也写了200来篇笔记(也可能是文章或者感悟)(不一定纯后端/前端,还有 Linux ,计网等等)记得某个大佬说过写博客和笔记不一定能做到对别人有帮助,但起码对自己有帮助。但是我一直通过大白话概括 + 做图 + 简单示例 + 官方说明的方式写文章,也在努力希望能对别人也有帮助。



(二) 超爱买书的购物狂


这一年买了不少书(买了 == 看了),还有好多想买的都在我的购物车里吃灰,再买我真怕自己变成一个光收藏的 “读书人” 了,来盘点盘点这一年我看了比较有感觉的书(没感觉的和没怎么读的就不提了,如果给我多一点时间,我争取出一篇介绍自己读的书籍的文章)




一件恐怖的事情:我利用一年时间看过了这些书



第三节 明年今日,记得要回头看看



We already walked too far, down to we had forgotten why embarked. ——纪伯伦《先知》


译文:我们已经走得太远,以至于忘记了为什么而出发。



2022年度回顾



2023年新的目标


技术上:


只有写1-2月的,所以我放一个链接,欢迎大家监督我学习



http://www.yuque.com/icu0/qeowns… 《Cool的三两事》



生活上:


  1. 孝敬父母

  2. 勤运动

  3. 照顾好自己的身体

  4. 不要熬夜

  5. 与人交谈,沉稳思虑而后动

  6. 多读书,多出去走走,善待他人


学业上:


  1. 英语四级

  2. 拉取开源项目,为开源项目提PR

  3. 持续输出技术型文章

  4. 专升本上岸


总而言之,2022喜忧参半,有“春风得意马蹄疾,一日看尽长安花”的喜悦,也有“停杯投箸不能食,拔剑四顾心茫然”的忧愁,但我希望我的2023能有“长风破浪会有时,直挂云帆济沧海”。



个人独白:


以上内容皆是一名专科生的自白,感谢自己在大专三年没有一天是“浑浑噩噩式”学习,也没有一天因为当前的荣誉而骄傲满足,同时感谢部队两年的栽培,让我站在低谷依旧能仰望天空,扎根大地,心有猛虎,细嗅蔷薇。


作者:Cool
来源:juejin.cn/post/7187012953659899965
收起阅读 »

异地技术团队管理的三大模式六项注意

1 为什么会有异地团队 当一个企业成长到一定程度后,往往会在多地建立研发中心或者业务中心,这里企业的考量可能会有如下的一些点: 人才资源:不同的城市和地区可能具有独特的人才资源,通过在多个城市建立研发中心,公司可以吸引和招聘到更多具有不同技能和背景的优秀人...
继续阅读 »

1 为什么会有异地团队


当一个企业成长到一定程度后,往往会在多地建立研发中心或者业务中心,这里企业的考量可能会有如下的一些点:




  1. 人才资源:不同的城市和地区可能具有独特的人才资源,通过在多个城市建立研发中心,公司可以吸引和招聘到更多具有不同技能和背景的优秀人才。这有助于公司在保持竞争力,并确保能够获取到足够的人才来支持研发和业务需求。
    比如深圳是中国的高新技术产业中心,其在硬件制造、消费电子、通信技术等方面具有很强的竞争力,对硬件制造、物联网、人工智能等领域拥有丰富经验的工程师较多,并且由于深圳地理位置优越,靠近香港,拥有国际化的人才环境,因此在跨境项目和多元文化沟通方面具备优势;
    又如北京是中国的政治、文化和教育中心,拥有众多顶级高校和研究机构,拥有大量理论研究和技术创新方面的顶尖人才,北京的互联网行业较为成熟,尤其是在互联网+政务、在线教育、大数据等方面有较多经验的人才。




  2. 市场覆盖:在多个城市设立研发中心有助于公司更好地了解和适应不同地区的市场需求。这可以让公司更迅速地响应市场变化,提供更符合客户需求的产品和服务。




  3. 成本优化:不同地区的劳动力成本、房地产成本和生活成本可能存在差异。在多个城市建立研发中心可以让公司充分利用各地的成本优势,降低整体运营成本。如一些深圳/北京的公司,会把一些研发中心放到西安、成都、武汉、长沙等城市。




  4. 政策支持:一些城市为了吸引优秀企业入驻,可能会提供各种政策支持,如税收优惠、低息贷款、用地优惠等。在多个城市建立研发中心可以让公司充分利用这些政策优势,降低研发成本。




除此之外,还有风险分散的考虑,技术合作与创新等等,最终都是帮助公司获得更多的资源和优势,提高整体竞争力。


2 异地团队会有什么问题


以技术团队为例,当有多个技术团队在不同的城市后,与所有技术团队在同一个地方相比,会有一些问题出现,主要分为以下的 4 个方面:


2.1 团队建设和凝聚力打造困难


由于缺乏面对面交流和互动,异地团队成员之间可能难以建立信任和凝聚力。而团队建设和凝聚力是影响团队绩效的重要因素。当技术团队分布在不同城市时,团队建设和凝聚力可能受到以下方面的影响:




  1. 面对面交流机会少
    当团队成员分布在不同城市时,他们的面对面交流机会将大大减少。面对面交流有助于加深团队成员之间的了解、建立信任和加强团队凝聚力。例如,共同参加团队活动、庆祝生日等场合,能增强团队成员之间的情感联系。而分布在不同城市的团队成员可能很难享受到这些互动的机会。




  2. 困难的团队文化塑造
    一个健康的团队文化对于团队建设和凝聚力至关重要。在异地团队的情况下,公司需要付出更多的努力来塑造统一的团队文化。例如,各地团队可能在工作习惯、价值观、沟通方式等方面存在差异,这些差异可能导致团队凝聚力降低。




  3. 时空的隔阂
    异地团队面临地理距离的挑战,以及各地工作安排导致的时间不一致的问题。这种情况下,团队成员可能较难以达到理想的实时沟通,而在中国实时沟通是大部分公司的必备品,大家更习惯于实时的沟通,而不是异步的非实时沟通。




  4. 缺乏有效的团队认同感
    异地团队成员可能会感到自己与其他团队成员的联系较弱,这会导致他们缺乏对整个团队的认同感。例如,一个异地团队成员可能对其他城市团队的工作情况和成果了解较少,难以形成归属感和共同的目标。




2.2 项目管理及实时协同难度大


异地团队成员可能难以实时协作,尤其是涉及紧急问题或需要即时反馈的情况。项目管理及协同难度增大主要表现在以下的 3 个方面:




  1. 沟通成本上升:当团队成员分布在不同城市时,团队之间的沟通成本会显著增加。团队成员需要通过电话、电子邮件、即时通讯等工具进行沟通,这可能导致信息传递的延迟和误解。例如,一个团队成员在深圳提出一个需求变更,另一个团队成员在上海可能需要数小时甚至一天后才能了解到这一变更,从而影响项目进度。




  2. 快速应对变化的能力变弱:异地团队可能在应对突发事件和变更需求时存在局限。假设一个重要客户要求对产品进行紧急修改,跨城市的团队成员可能需要在短时间内协调资源和安排工作,而地理隔离使得这一过程变得更加困难。




  3. 时间管理和跨团队协调困难:不同城市的团队可能存在不同的工作时间和节假日安排(比如某个城市因为办公场地原因而全员居家),这可能导致某些任务在协作过程中出现延迟。例如,在一个紧急 bug 修复的情况下,由于一个城市的团队正在度假,另一个城市的团队需要独自解决问题,可能导致修复速度变慢。




2.3 监督和管理困难


在异地团队中,监控和评估团队成员的绩效可能较为困难。管理者需要找到合适的方法和指标,以便对团队成员的工作成果进行公平、准确的评估。监督和管理困难主要包括以下的一些情况:




  1. 工作状态难以掌握:由于地理隔离,管理者可能无法直接了解团队成员的工作状态和情况。例如,一个城市的团队可能遇到了技术难题,导致项目进度受阻,但管理者由于无法亲自与团队成员交流,可能难以及时发现问题并采取相应措施。




  2. 绩效评估困难:在异地团队中,评估团队成员的工作绩效可能变得更加困难。由于缺乏面对面交流,管理者可能无法准确评估团队成员的工作质量和效率。例如,一个城市的团队成员可能在某个任务上花费了较长时间,但管理者无法确定这是否是由于技术难题还是工作效率低下。




  3. 难以建立信任和团队凝聚力:地理隔离可能导致管理者难以建立与团队成员的信任关系,从而影响团队凝聚力。例如,一个城市的团队成员可能对管理者的决策表示质疑,由于无法进行面对面沟通,管理者可能无法充分解释决策背后的原因,从而导致信任度降低。




  4. 协调和调动资源困难:异地团队的管理者可能在协调和调动资源方面面临挑战。当项目需求发生变化或出现紧急问题时,管理者需要快速协调各地团队的资源,但地理隔离可能使这一过程变得更加复杂。例如,在一个紧急项目中,管理者需要从多个城市的团队中调集人力资源,但由于异地情况,这可能导致资源调配的速度和效果受限。




整体来说,主要是由于沟通与协作问题导致的各种延展性问题。缺失的面对面沟通、缺少肢体语言、表情语言等,可能导致信息传递不畅、误解和沟通成本的增加。我们无法彻底解决这些问题,但是能通过一些手段来缓解。


3 三大模式


为解决上面这些问题,我们在工作中发现了一些在不同的环境和场景中具有普遍适用性的解决或缓解问题方法,以模式的形式表述出来。


3.1 代理模式(Proxy Pattern)


代理模式在团队管理中可以被用于创建一个协调人或代表角色,负责处理某个团队或多个团队之间的沟通与协作。代理角色在此情景下充当一个中介,处理跨团队的需求、问题解决和资源协调。代理模式有助于简化沟通流程,提高团队协作效率。


具体实施方案:



  • 为每个团队或职能领域设立代理角色,如前端代理、后端代理、QA 代理和移动端代理。

  • 代理角色负责处理跨团队的需求和问题,同时将反馈和解决方案传递给相应团队。

  • 组织定期的代理角色会议,让代理们相互沟通和协作,以确保团队目标的达成。

  • 建立代理角色的沟通汇报机制,如定期晨会、周报和项目维度的回顾会。


3.2 门面模式(Facade Pattern)


门面模式提供了一个统一的接口来访问子系统中的一组接口。在团队管理中,可以创建一个统一的协调角色(如项目经理或技术负责人),该角色负责协调团队成员的工作,并充当各个团队之间的沟通桥梁。这有助于确保团队之间的沟通更加高效,降低沟通成本。


具体实施方案



  • 设立项目经理、技术负责人或者某个业务模块的 DRI 角色,负责跨团队协调和沟通。

  • 为每个团队成员分配具体的职责和任务,以便在项目经理或技术负责人的协调下高效协作。

  • 定期召开跨团队会议,确保团队之间的沟通畅通,及时解决问题。


门面模式和代理模式看起来有一点相似,其本质上是有区别的,区别在于授权的范围,门面模式不用太关注其内部实现,而代理模式在管理上要更深入细节一些。


在实际应用中,我们通常在各职能和各业务模块中使用代理模式,而针对不同的区域使用门面模式,由当前地区的负责人提供统一的输出。


3.3 观察者模式(Observer Pattern)


观察者模式在团队管理中可以应用于实时通知和信息共享。当一个团队成员对项目状态或任务完成情况进行更新时,其他相关成员可以作为观察者实时收到通知。这种模式有助于保持团队成员之间的信息同步,提高沟通效率。


具体实施方案



  • 为团队成员创建一个共享平台,如任务管理工具、项目管理系统等。

  • 当某个团队成员更新任务状态或项目信息时,系统自动通知其他相关成员。

  • 通过观察者模式,确保团队成员之间的信息同步,减少冗余沟通。


4 六项注意


4.1 相互信任


信任是团队协作的命脉。要想促进并保持长久的关系,你就必须信任他人,他们也必须信任你。与此同时,他们还必须相互信任。


信任来自相互理解对方的价值观、个人经历和立场。为了实现这一目标,我们必须承认自己的弱点,我们必须开放。这样我们才能够建立起共同的价值观和彼此信任。


信任在异地团队中有如下的好处:



  1. 提高团队凝聚力:信任关系有助于增强团队成员间的默契,从而提高团队凝聚力。当团队成员信任彼此时,他们更愿意携手合作,共同解决问题。

  2. 提高工作效率:信任关系可以促使团队成员更加开放地分享信息、资源和建议,从而提高整体工作效率。当团队成员相互信任时,他们更可能分享自己的想法和专业知识,共同解决问题。

  3. 降低沟通障碍:信任有助于消除团队成员间的沟通障碍,提高沟通效果。当团队成员彼此信任时,他们更愿意倾听对方的意见,以开放的态度接受建议和批评。

  4. 降低管理成本:信任关系有助于减轻管理压力,降低管理成本。当团队成员相互信任时,他们更可能自我管理,减少管理者的介入。

  5. 增加创新和风险承担:信任关系有助于创造一个安全的环境,使团队成员更愿意尝试新的想法和承担风险。当团队成员彼此信任时,他们更可能勇于创新和承担失败的风险。


建立相互信任关系的方法,以下是一些常见的方法:




  1. 增加沟通



    • 定期开展团队会议,让团队成员分享项目进展、遇到的困难和解决方案。

    • 鼓励一对一交流,让团队成员有机会深入了解彼此的工作、兴趣和需求。

    • 举办团队活动,如团队建设、庆祝活动和知识分享,促进团队成员间的互动和信任。




  2. 增加透明度



    • 使用项目管理工具,让团队成员能够实时查看项目进度和任务分配。

    • 定期分享业务战略、目标和团队绩效,让团队成员了解公司的发展方向。




  3. 赋予责任和权力



    • 根据团队成员的专长和兴趣分配任务,让他们在完成任务时有更大的自主权。

    • 鼓励团队成员在解决问题时提出建议和改进方案,展现对他们的信任。




  4. 鼓励支持和合作



    • 创建一个支持性的氛围,让团队成员在遇到问题时不惧于寻求帮助。

    • 鼓励团队成员互相学习、分享经验,以解决共同面临的问题。




  5. 表扬和认可



    • 在团队会议上表扬团队成员的优秀表现和努力。

    • 为表现突出的团队成员提供奖励,如奖金、晋升和表彰。




  6. 建立公平的环境



    • 确保团队中的决策过程透明,鼓励团队成员参与讨论和决策。

    • 设定明确的激励和奖惩




4.2 仪式感


在异地管理中,仪式感是一种有意识地营造正式或非正式场景,以传递重要信息、强化文化价值观、增强团队凝聚力和提升员工信任感的方式。


在异地团队中,恰当的仪式感具有以下好处:



  1. 增强团队凝聚力:仪式感有助于让团队成员感受到归属感和团队精神,从而增强团队凝聚力。

  2. 传递公司文化和价值观:通过仪式感,可以传递公司的文化和价值观,帮助团队成员更好地理解和认同这些价值观。

  3. 提升员工士气和信任感:仪式感可以激发团队成员的积极性和参与感,从而提高员工士气和信任感。

  4. 建立清晰的期望和目标:仪式感有助于确立团队成员的期望和目标,提高工作效率和执行力。


那如何建立恰当的仪式感呢?



  1. 定期召开团队会议:固定时间、地点召开团队会议,让团队成员汇报进展、分享经验、讨论问题。如每周一召开全体成员参加的在线例会,或者对于管理团队,定期如开包含问题同步和处理,学习分享的管理例会。

  2. 庆祝重要节点和成就:为团队的重要成就和里程碑设立庆祝活动,以增强团队成员的归属感和自豪感。如在项目完成时,举办在线庆祝活动,表彰优秀团队成员。

  3. 组织团队建设活动:定期组织线上或线下的团队建设活动,增进团队成员间的联系和互动。如每季度举办一次线上游戏比赛,增强团队成员之间的合作和交流。

  4. 激励和认可:对团队成员的努力和成果给予表扬和认可,提高他们的信任感。如每月颁发「最佳团队贡献者」奖项,表扬表现优秀的团队成员。

  5. 传递公司文化:通过仪式感传递公司文化,帮助团队成员理解和认同公司的价值观。如每年举办一次公司文化分享活动,邀请公司领导和团队成员分享公司文化和价值观。


4.3 严格目标管理,注重结果


在异地技术团队管理中,严格的目标管理和注重结果至关重要,因为这有助于确保项目按时完成、质量达标,并提高团队成员的工作效率和执行力。


以下是实行严格目标管理和注重结果导向的好处:



  1. 明确工作目标:设定清晰的目标和期望,帮助团队成员明确工作重点,避免资源浪费和目标模糊。

  2. 提高工作效率:明确的目标和期望有助于团队成员更高效地完成任务,降低拖延和低效的可能性。

  3. 便于评估和改进:结果导向的管理使团队可以通过衡量实际成果来评估工作效果,从而找出不足并进行改进。

  4. 激发团队成员积极性:目标明确、注重结果的管理方式有助于激发团队成员的积极性和责任心,鼓励他们为实现目标而努力。

  5. 有利于项目按期完成:严格的目标管理和注重结果有助于确保项目按计划进行,按时完成,避免延期。


那么如何实施严格的目标管理和注重结果导向?有如下 7 个方法



  1. 设定明确的目标:为项目和团队设定明确、可衡量、可达成的目标。如在项目开始时,为团队设定一个明确的项目交付日期,并明确交付内容的具体要求(也就是大家常说的 deadline 是第一生产力)。

  2. 制定详细的计划:为实现目标制定详细的计划和进度表,包括任务分配、时间安排等。如使用项目管理工具(如Trello、Jira等)制定详细的任务列表和时间表,如果没有这些工具,搞个在线表格也是极好的。

  3. 定期检查进度:定期与团队成员沟通,了解项目进度和遇到的问题,确保项目按计划进行。如定期的项目晨会(可以按周,或按天,也可以一周两次,根据实际情况调整),让团队成员报告各自的任务进展和遇到的问题。

  4. 强调结果导向:鼓励团队成员关注实际成果,以实现预定目标。在管理过程中对团队成员的绩效评估更注重实际完成的任务和贡献,而非工作时长或其他表面指标(不要卷加班)。

  5. 及时反馈和调整:根据实际进度和成果,及时给予团队成员反馈,调整目标或计划。如当发现某个任务进度落后时,及时与相关成员沟通,分析原因,并调整计划或提供支持。如当发现某个任务进度落后时,及时与相关成员沟通,分析原因,并调整计划或提供所需资源,以确保项目仍能按时完成。

  6. 定期总结和复盘:项目结束后,与团队成员一起总结经验教训,分析成功与失败的原因,以便在未来项目中持续改进。如项目结束后,组织团队进行复盘会议,总结项目的优点和不足,制定改进措施。或者迭代结束后做一些回顾。


我们在团队管理中,目标管理是一个非常重要的点,一定要自己主导,不能授权,作为一个技术团队的负责人,方向是你来定的,未来在你的手里


4.4 扁平、弹性的组织架构


在异地技术团队管理中,组织架构至关重要,因为组织架构会影响团队的沟通效率、决策速度、责任分配和协作。适合异地技术团队的组织架构应具备以下特点:扁平化、模块化、弹性和高度协作。




  1. 扁平化:扁平化的组织结构有助于提高沟通效率,减少信息传递过程中的失真和延迟。扁平化组织中,每个成员能够直接向上级汇报,决策速度更快,执行力更强。




  2. 模块化:将工作划分为具体的、相对独立的模块,有助于提高团队的协作效率。每个模块可以由一个或多个团队负责,这样可以减少跨团队协作的复杂度,降低沟通成本。




  3. 弹性:适应不断变化的项目需求和团队规模,组织架构需要具备一定的弹性。弹性的组织架构可以快速调整资源分配和团队规模,以满足项目发展的需要。




  4. 高度协作:鼓励团队成员之间的协作和互助,以提高工作效率和质量。高度协作的团队可以更好地应对复杂问题,减少重复劳动和资源浪费。




以下是如何实现适合异地技术团队的组织架构:



  1. 利用技术手段优化沟通:使用沟通和协作工具(如钉钉、企业微信、飞书、Microsoft Teams等)提高沟通效率,方便团队成员跨地域、跨部门协作。

  2. 决策下放:授权团队成员在其负责领域做出决策,提高决策速度。如将需求评审的决策权下放至小组 leader 或 DRI,甚至一线开发,让他们根据自己的专业知识对需求进行评估和调整。

  3. 设立技术负责人或项目经理:在每个地区或团队设立技术负责人或项目经理,负责协调团队成员的工作,确保项目顺利进行。如在各城市的团队中各设立一名项目经理,负责当地团队的项目进度和资源协调。

  4. 定期进行跨团队沟通:组织定期的跨团队会议,让各个团队分享进展、问题和解决方案。这有助于提高团队间的了解和协作。如每两周组织一次跨团队分享会议,让各个团队汇报自己的进展和挑战,共同寻找解决方案。

  5. 提供培训和支持:为团队成员提供技能培训和支持,以便他们更好地适应组织架构变化。如提供关于敏捷开发、跨部门协作等方面的培训课程,帮助团队成员提高工作效率和协作能力。

  6. 鼓励创新和变革:建立一种鼓励创新和变革的文化,让团队成员敢于尝试新方法,优化工作流程。如设立创新奖励计划,对于提出改进方案并成功实施的团队成员给予奖励。或者团队负责人亲自来参与或推进一些创新的事项,如最近的比较热的 AI。


4.5 统一的技术栈


在异地技术团队管理中,统一技术栈非常重要,因为它能为团队带来以下好处:



  1. 提高协作效率:统一技术栈能确保团队成员之间更容易进行技术交流和协作,避免因技术差异导致的沟通障碍和额外工作量。

  2. 降低维护成本:使用相同的技术栈,使得维护、调试和优化工作更加简单,减少因为技术差异导致的额外成本。

  3. 增强团队能力:统一技术栈有助于团队成员互相学习,提高整体技术能力,使得团队在面对复杂项目时更具备应对能力。

  4. 简化招聘和培训:统一技术栈使得招聘和培训过程更加简单,因为公司可以针对特定技术栈进行招聘和培训,提高招聘效率和培训质量。


为实现统一技术栈,我们可以采取以下方法:



  1. 制定技术规范和标准:制定统一的技术规范和标准,确保各地团队遵循相同的技术实践。如制定统一的编码规范、代码审查标准和自动化测试要求。

  2. 组织上增加架构设计的职能或者技术通道的职能组织: 通过组织的方式构建技术栈统一的土壤。

  3. 搭建技术共享平台:创建内部技术分享平台,让团队成员分享技术心得、问题解决方案和最佳实践,有助于统一技术理念和实践。如搭建一个内部的技术博客平台,鼓励成员撰写和分享技术文章。

  4. 统一基建和开发流程中的系统: 通过使用工具的统一达到技术栈的统一。

  5. 选型时充分调查和论证:在技术选型阶段,充分调查并论证各种技术方案的优缺点,确保选择的技术栈适合公司的业务需求和发展战略。

  6. 定期评估和调整:定期评估技术栈的合理性和有效性,根据项目需求和团队能力进行调整,以保持技术栈的统一性和先进性。如每年定期组织技术栈评审和审查,了解目前所使用的技术栈是否仍然满足业务需求,或者是否有新技术可以更好地支持业务发展。


通过以上方法,异地技术团队可以实现技术栈的统一,从而提高协作效率、降低维护成本、增强团队能力,并简化招聘和培训过程。这将有助于提高团队整体的研发效能,使得公司在面对市场竞争和业务挑战时更具备优势。


4.6 高效的沟通机制


异地团队最突出的问题是沟通问题,在我们平常的沟通过程中需要选择合适的沟通渠道和做有准备的沟通。良好的沟通有如下的好处:



  1. 能提高沟通效率:采用合适的沟通方式可以确保信息准确、及时地传递给相关人员,避免因沟通不畅导致的误解和冲突。

  2. 增强团队凝聚力:良好的沟通方式有助于增进团队成员之间的理解和信任,提高团队凝聚力。

  3. 减少资源浪费:有效的沟通方式能够减少不必要的会议和重复工作,降低资源浪费。

  4. 支持项目管理:清晰的沟通方式有助于确保项目进度、需求和问题得到及时解决,保障项目顺利进行。


我们可以通过如下的一些方式达到比较高效的沟通机制:



  1. 明确沟通目标和内容:在沟通开始前,明确沟通的目的、内容和预期结果。如:在项目会议开始前,列出讨论议题、相关人员和预期决策。

  2. 选择合适的沟通渠道:根据沟通内容和参与人员,选择合适的沟通渠道。如:对于紧急问题,可以使用电话或即时通讯工具(如微信、钉钉等)进行沟通;对于团队日常工作,可以使用邮件或者项目管理工具(如Jira、Trello等)进行沟通。

  3. 建立沟通规范:制定团队沟通规范,确保沟通有效进行。如:要求团队高效会议,或者要求团队成员在邮件中使用清晰的主题行、合理的收件人列表以及简洁明了的正文。

  4. 鼓励开放和诚实的沟通:营造一个鼓励团队成员开放、诚实地表达观点和需求的氛围。如:在团队会议上,鼓励成员提出问题、建议和想法,避免惩罚性的反馈。

  5. 定期进行沟通培训:为团队成员提供沟通技巧培训,以便他们更好地进行沟通。如:提供关于有效沟通、团队协作等方面的培训课程。


值得注意的是,异地的沟通中尽量少用邮件,邮件适用于传达信息和事实,撰写时还需要注意措辞,以防误会的发生。


单纯的文字无法传递情绪,如果要传达你的想法时,最好拿起电话进行视频,通过视频也能制造多次「见面」的机会更有利于建立信任。


现在用 IM 类工具也比较多了,在清晰的文字表达的基础上,多用表情包。


5 后记


上面说了这么多,有点啰嗦,简单点来说就是:多见见,多一起喝点酒,多一起搞定一些事情,保证基本的机制、流程、标准、工具和系统,也就差不多了。


异地的问题表象是见不着,核心要解决的是效率的问题。


技术团队的管理更多的还是人的问题,还是需要有情感的交流和因为长时间的一起工作而产生的向心力。
我们所做的这些仅能缓解这些问题。


当然,可能有同学会更喜欢异地/远程的工作协同模式,此处因人而异,从个人的角度来看:从团队的角度,从效能的角度,本地化团队会是更高效的选择。


当然以上的模式和注意事项在非异地团队的情况下也是可以使用的,而且效果会更好,因为这些的本质是授权管

作者:潘锦
来源:juejin.cn/post/7219651766707044389
理和过程管理的逻辑。

收起阅读 »

思考:如何做一名合格的面试官?

背景 关于招聘,在最近一段时间有幸又参与到了面试工作。这次面试也包含一些相对高级一点的岗位,如何招到合适的人成为了最近一段时间一直在思考的一个点。 整体上感觉自己还是没有章法,没有清晰的思路(做不到因人而异),这种情况对自己对他人都是不负责任的。 因此,简单做...
继续阅读 »

背景


关于招聘,在最近一段时间有幸又参与到了面试工作。这次面试也包含一些相对高级一点的岗位,如何招到合适的人成为了最近一段时间一直在思考的一个点。


整体上感觉自己还是没有章法,没有清晰的思路(做不到因人而异),这种情况对自己对他人都是不负责任的。


因此,简单做一些总结思考,边面边想边改进吧。


image.png


招聘者的目标


首先,作为招聘者,都希望能找到一些厉害的人,成本不应该是他要考虑的问题。但现实总是相反。


面试官:这是我这次招聘的需求,要这个...... 那个...... 总之,能力越强越好。


公司:这次招聘成本范围已发给你了,注意查收。


面试官:......


所以,在成本有限的情况下,面试官要做的就是找到那些会发光的人。对面试官来说,招到一个即战力(不亏),招到一个高潜力(赚翻了)。


因此,招聘者的目标都是希望能够招到 能力 > 成本 的人。


image.png


梳理招聘需求


招聘的需求是需要面试官提前梳理好的,面试官作为团队的组建者,一定要提前规划好招聘需求。比如:



  1. 我要找技术强的。(我不懂的他来)

  2. 我要找态度好的。(我说啥都听)

  3. 我要找有责任心的。(不用我说就把活干得很漂亮)

  4. 我要找学习能力强的。(自我提升,啥需求都能接的住)

  5. 最好还能带团队。(这样我就轻松了)

  6. 最后一定要稳定。(这样我就一直轻松了)


哈哈,先开个玩笑。虽然我真的想......


image.png


现实就像上边提到的,招聘者希望的求职者模样。虽然知道不可能,但还是忍不住想要(我控制不住我几己呀!),所以在有限的面试时间内,问了很多方方面面的问题......


面试结束后:我问了那么多才答上来那么几个问题,不行,下一个......


面了几天后:人怎么这么难招呢?


image.png


所以真正的招聘需求应该是下边这样的:



  1. 我要招一个领导者还是执行者:这个一定要想清楚,两者考察维度完全不一样。

  2. 我要技术强的:想好哪方面技术强,不要妄图面面俱到。

  3. 我要找有责任心的,学习能力强的,稳定的:想好怎么提问,如何判断。


如果能够做到上边的三点,相信招进来的人应该都是OK得。PS:先做到不亏。


领导者Or执行者


为什么把这个作为第一点,上边也提到过,两者考察维度完全不一样。一场面试,时间就那么点,所以要有针对性。


先说领导者


如果招聘领导者。试想一下领导者有哪些特点,什么样的人你愿意让他成为领导者。



  1. 业务理解程度深,不仅限于产品规划的业务需求,还要有自己的理解和看法。

  2. 技术能力强,通常一个技术方案便能提现出来,方案好不好,考虑全面不全面。

  3. 抗压能力强,能够承担工作压力,这里不是指加班(当然加班也算),更多的是来自于技术,业务的困难和挑战。


以上三点并不代表全部,仅做参考。那么如何在面试中确认呢?




  1. 业务理解程度主要通过追问细节的方式来确认。在你不了解的情况下,依然能够给你讲明白,这个业务是做什么的,关键核心点是什么,核心点有什么难度和挑战,最后是怎么解决的,解决的是否完美,不完美的原因。如果能够回答的不错那就基本合格了。最后可以再多问一下: 有没有哪些产品提出的需求,你认为不合理或者不适合当前产品现状的?这个问题只要回答的有一定高度,那就完美了。


    ps: 如果面试者认为没有什么难度和挑战,只能证明他自己没有深度参与或主导该业务。再简单的系统,也不可能一点问题都没有,如果真的没有,那么完全没有必要安排团队去专门负责。没有简单的系统,只有简单的思考。


    举个栗子,用户管理(用户CRUD)系统我们一听可能都觉得很简单,早期,用户注册要填一堆的东西,现在都是各种登录渠道,非常的方便。站在现在的角度,对于早期的用户管理来说,如何提升用户注册效率,增加用户量就是一个有难度有挑战的事情。




  2. 技术能力,我简单分为有效技术能力和无效技术能力。无效技术能力代指无用且无聊的八股,当然也不是所有的八股都无用。有效技术能力我理解就是解决问题的能力,而解决问题不在于使用的技术手段与否高明,是否先进,只要贴合业务场景,我都会认为有技术能力。反而那些八股回答的头头是道,解决实际项目问题无一用到的会严重减分。




  3. 抗压能力,项目经验是能反应出来一些信息的:有难度,有挑战的事情你不会交给一个不合适的人来做的,所以如果简历的项目经验中有类似的经验那么就证明别人已经帮你筛选过了。PS:别忘了鉴别一下。




再说执行者


还是试想一下,好的执行者有哪些特质:



  1. 注重细节,考虑问题全面。

  2. 责任心强,不会随便应付了事。

  3. 技术OK,至少基础没有问题。


同样,上述三点仅做参考。




  1. 注重细节,直接体现其实跟方案的完善程度有关,所以问问技术方案的异常情况是如何考虑的。另外,直接体现其实就是BUG比较少,当然这个一般人肯定不会说自己BUG多,所以可以问问,对于如何减少BUG量,有没有心得。(这个问题目前来看基本没啥用,哈哈)




  2. 责任心强。责任心如何体现的我也说不太清楚,思考以后认为加班算一方面,有加薪、晋升算一方面,面试中很难直接体现,只能凭感觉。和第一条注重细节一样,我面试全凭聊完之后的直觉,这种大家都会有,而且一般来说准确率也不错。


    PS: 其实在面试沟通过程中,一问一答,很多事情靠直觉、面向也能猜个七七八八,玄学的东西这里不多说。说一点有科学依据的,人的性格简单分为外向、内向,两者都有其各自的特质,通常来说,内向者的特质更多时候适合于执行者。感兴趣的可以去了解一下两种性格特质,有益于团队管理。




  3. 技术OK。这个不做多说了,一定要多问实际使用的,不用的就不要问了,可能用的适当问一下,实际使用的也可以拔高一下往深了问问。比如:mysql都在用,mysql的八股可以多问几个。JVM这种开发基本不用的,简单问一下得了(我一般是不问的)。






这一篇先到这里把,关于技术强、责任心其实也简单提了一下。关于这两点,后续结合实际情况再更新吧。


作者:FishBones
来源:juejin.cn/post/7219943233799323704
收起阅读 »