跳到主要内容

· 阅读需 20 分钟
Seven Wate
  • 保持一颗解决问题的心
  • 了解你的用户
  • 不要拿自己的尺子去度量别人
  • 保持学习、be open-mind
  • 想清楚,再下手写代码
  • 敬畏用户
  • 跨团队合作是利益交换
  • 用别人的语言交流,会有意想不到的收获
  • 理解前人写的「烂代码」
  • 在技术和工作之间找到平衡点

来源:做了 6 年程序员,我学到的 10 条经验 | Randy's Blog;仅学术引用,著作权归作者所有。

保持一颗解决问题的心

按照我的观察,那些在工作中用技术取胜的人们共同点都在于他们能保持一颗解决问题的心。他们可以率先想到一种更优的手段解决存在的问题(一般是效率问题)。他们不是嗅觉特别灵敏或者技术特别强,而是当他们遇到了问题,不是把它作为抱怨的话题,而是开始思考这个问题为什么没人解决、应该怎么解决,然后把它实现出来。这种心态在职场上特别稀缺。

我在创业公司的时候做一个图文排版的 App, 设计师会设计一些模板,然后交给我来实现。当时我们有很多模板,为了测试这些模板实现在不同的手机屏幕大小会有什么问题,我们要花特别多的精力。可以想象测试的数量 = 模板数量 * 屏幕尺寸的数量。后来我用 puppeteer 写了个自动生成不同屏幕和模板的截图,直接交给设计师一个一个地看。节省了大量的时间。这个事情没什么技术含量,但它解决了很重要的问题。

工作中需要解决的问题不仅仅在代码上,也有可能出现在非技术问题上。工作中我特别喜欢和非技术同事聊天,了解他们的工作。因为我常常觉得影响项目前进的原因不一定出在我们用了不适合的技术或者不够「先进」的技术。了解非技术同事的工作流程让我大有收获,我会发现他们有一些工作是可以通过写一段程序把原本的工作量做到指数级的下降,而通常非技术同事是很难察觉到的。

这样的例子特别多。有次我和一个运营同事聊天,我们当时在开发一个新闻内容的管理后台,他们常常用这个后台对一些内容做分析。聊天的时候了解到他们有一部分的工作就是在上面按条件查询一些内容,再一条条地粘贴到 excel 里面,他说这常常要花一下午。后来我帮她做了一个一键导出成 excel 的功能。

她觉得这很不可思议,但这在技术的角度来说太简单了。我也因此了解到,对于不是做技术的人来说,他们很难察觉到哪一些事情是可以用技术解决的,所以我们不能希望他们主动地提出一个需求,只能我们作为掌握技术的人主动地去了解他们。

有一次我和我们的测试吃饭,聊到他们怎么做测试。我发现他们会用 mindmap 先梳理出来一些测试流程,然后一个个地做。但是痛点在于他们常常要手动维护一个文档列出这些 case 的测试结果,这些结果包括截屏,以及证明测试通过的请求返回信息等等。不但麻烦,还很难追踪。

于是我做了一个小 demo Web App,他们可以直接上传他们做好的 Mindmap, 通过他们的 mindmap 直接生成出

来 case item,在项目的开发环境页面代码里面,只要注入这个 case id,就可以在测试之前开始记录请求日志,结束之后会上传到这个平台,这样在这个平台就能直接看到每一个 case 操作的时候的整个过程的记录。这个小 demo 后来被用于花呗的大部分前端项目,当然听说现在已经做得和我当时做的小 demo 完全不同了。

了解你的用户

我自认为自己还算是一个有那么一些产品思维的程序员,因为经常也会写一些自己的小产品。但在刚出来工作的时候,我在工作中太沉迷于技术本身。把心思都放在了诸如怎么重构,怎么改进构建速度之类的问题。我在阿里 P5 升 P6 的答辩中,我被问了一个我至今印象深刻的问题:你有了解你的用户是怎么用你在做的这个东西吗?

这个问题是我从来没有想过的,我哑口无言。可能它只是一个晋升答辩问题模板中的一个问题,但对我来说这个问题让我清醒了许多。当时我们做的是内部用的新闻内容管理后台,这个后台的用户是一些小编。我们和这些小编有一个群,但基本是用来报 bug 的。我离这些用户这么近,却从来没有了解过他们的使用感受。我想,如果我当时找他们聊一聊,可能也会有意想不到的收获。或许他们会抱怨这个后台的加载速度很慢,我们就可以着手解决加载速度的问题,而不是和同事纠结在用哪种前端状态管理库这种无聊事情上。用户并不关心我们用的是 MobX 还是 Redux.

不要拿自己的尺子去度量别人

我刚出来工作犯的最大的错误之一就是拿自己的尺子去度量别人。我因为从小对编程痴迷,写程序对我来说是人生中最大的兴趣,我把几乎所有的时间都花在了技术上。当时我天真地认为所有程序员都应该像我这样,对待技术也应该有一种理想主义,我在互联网上结交的技术朋友都是这样的。所以我当时对我的同事特别苛刻,甚至对那些把写程序只当成工作的人嗤之以鼻。后来回想起来,这是非常错误的想法。每个人有每个人的追求,技术也只是多个兴趣爱好的其中一种。在当时别人的眼里我可能是个「怪人」,甚至有点「装逼」。

保持学习、be open-mind

我每天都会在 Twitter 和 Hackernews 发现很多最新的技术和思考,我关注了很多开源库的作者,我可以第一时间了解到他们最近在思考什么,在接触什么。这种主动接收会扩大你的眼界,让你在解决问题的时候有更广的思路。

不要只关注自己的领域。我还关注了很多写 Rust, 写 Go, 写 iOS/Android 的人。主要是学习技术背后解决问题的方式,这些解决问题的方式说不准也能应用到你自己的领域。

保持学习一直是和同行拉开差距最重要的一点。

想清楚,再下手写代码

我写代码的速度非常快,因为我已经花了超过十年的时间在写代码了。很多东西想实现,对我来说基本是纯粹的堆代码。导致我非常容易不经过多的思考就开始动手写。我为此吃了不少亏,常常写到一半发现一些没有想到过的问题,导致需要重新设计,重新改写。我的一位前老板很了解我,他也是个多年经验的程序员了。有一次我们在讨论一个新东西,他对我说,「不要着急,想清楚了再写」。这句话我一直记在心里。后来每次动手写代码之前,我都会把整个流程的设计先思考清楚,避免了很多不必要的重写。

敬畏用户

在写自己的一些没什么人用的开源库或者公司内部用的平台的时候,通常不需要过多思考就能把代码发布出去。到了做花呗这种用户基数庞大的产品,才意识到代码发布和以前所体验到的完全不同。

蚂蚁金服有代码发布的「三板斧」,这是从入职培训到实际工作中就会被反复提及的 must-follow rule. 「三板斧」指的是「可灰度」、「可监控」、「可回滚」。在代码发布之前,要先想想自己的代码是不是符合这三个条件。

你的代码发布之后,如果出了问题,是不是可以被监控到的?

你的代码是不是可以灰度发布的,而不是一下子全量被推到线上的?

代码发布以后,出了问题,是不是可以回滚的?如何回滚?

在经历了用户基数如此庞大的产品开发之后,我对代码发布变得尤为审慎。我记得有次只是单纯改了某段 HTML, 但我还是盯着这个 PR diff 看了几分钟,在想这个修改会不会导致什么问题。

虽然蚂蚁的基础建设可以让这三板斧很容易实现(有成熟的发布平台进行灰度和回滚,有成熟的监控库);虽然即使遵守了三板斧,还是会有 bug. 但是这种代码发布的思维模式是好的,即使我到了别的公司,我在代码发布前还是会问自己这三个问题。

跨团队合作是利益交换

在大公司里,有时在做一个事情的时候,需要别的团队一起合作,或许是用到别的团队的接口、或许是需要别的团队开发新的接口,但这通常很难。我以前天真地以为,只要我们做的事情是有利于业务的,别的团队自然就应该一起合作。但实际上,大家更看重的是这个事情对自己的团队有什么好处。

换位思考一下,我们和别的团队合作,对于他们来说,增加了工作量,增加了风险(带来更高的 qps, 写更多的代码会导致更多的维护成本)。决定是否合作,首先取决于这是否是自上而下的要求,其次就是合作对他们的 KPI 有没有好处。

所以我学会了在游说别的团队合作的时候,首先应该想明白合作能给别人带来什么好处,而不是对事情本身夸夸其谈。这样更容易促成合作。

用别人的语言交流,会有意想不到的收获

有研究发现如果你用别人的母语和他交流,他会更容易接受你的观点,对你也会更友好。我发现这个心理同样适用在技术交流中。作为一个前端程序员,在和后端程序员商量技术方案的时候,如果可以更多地使用后端的术语,从后端的角度反推前端的想法,他会更容易接受。

我自己业余是个 full stack 程序员,所以很容易切换到别人的语境,也能从别人的角度去理解他的想法。因此沟通会更加顺畅。

理解前人写的「烂代码」

这里的「理解」不是指理解烂代码的逻辑,而是理解为什么会写成烂代码。我经常会听到同事抱怨他看到的旧代码写得如何烂,但是实际上很多烂代码产生的原因不是因为技术不行,而是受限于技术的发展和业务的复杂性。随着自己写的代码越来越多,就越能理解这些「烂代码」的存在。看出来了烂代码,也不要着急去重构,这些代码很有可能藏着一些你不知道的特殊业务需求。如果你不需要碰这些代码,那就尽量别碰。

在技术和工作之间找到平衡点

在刚出来工作的前几年,我特别陶醉在把自己学到的新东西试图用在工作中。我的想法是,只有我把这个技术用到实际的工作中,我才算学习了这个技术。

其实这个想法是不对的,学习技术并不一定要求你把他用到工作中。工作就是工作,学习就是学习。工作的内容是为了业务服务的。我在创业公司工作的时候,曾经因为把一个我刚学习到的库用在业务中,因为一些我不知道的坑导致业务进度出了点问题。老板生气地说:业务不是你的试验田。

我后来遇到很多「后辈」(我竟然也开始有后辈了) 请教我说觉得自己在工作中不能运用到自己平时学习的技术,因此觉得自己技术没什么长进。我认为这种想法不太正确。

能把学习到的技术运用到自己的工作中当然是最好的,但这是可遇不可求的事。但是这不代表没有用在工作中,就等于没有真正学习到这个技术。我认为很多人对技术学习有错误的理解,对我来说,学习技术的精髓在于理解这个技术的 Why, What, How. 和能不能用到工作中没有太大的关系。

举个例子,我在刚接触到 Redux 的时候,我去学习它,除了了解它怎么用以外,我特别关心的是,Redux 的哲学是什么?是什么启发了 Redux 的作者创造了 Redux? 他和别的库有什么不同?顺着这些问题,我就会了解更多的东西,比如我发现 Redux 是受了 Elm 的启发,我就会去了解 Elm -> 了解 Functional Programming -> 了解 Immutable, 然后关注 Dan (Redux 的作者) 的 Twitter, 看他日常会分享什么,看他对自己做的这个东西的理解是什么。即使我没有把 Redux 用在工作中(事实上我从来没有用过 Redux),当我在学习这个库的时候,我学习到的不仅仅是 Redux 本身,还有它背后的更多东西。我可能很快就会忘掉 Redux 的 API, 但那又如何,那些它背后的知识才是最有价值的,是不会被忘掉的。

而工作则相当于是一个真实的场景,是在你学习新的技术的时候,帮助你进行实际思考的场景。你需要有意识地去想,这个技术如果用到我的工作中,它是否适合?它能解决什么问题?它为什么适合?它为什么不适合。当你在学习新技术的时候,结合这个技术,多思考这些问题,这才是真正的学习。

· 阅读需 4 分钟
Seven Wate

自己一条龙研发的 Halo 博客主题 Redemption 最近也是发布了首个正式版,在博友杜郎俊赏提供的 CleanCSS 工具下麻溜地搞定了,同时又添加了一些自己的想法。主要思路是首页做减法:删减无用代码文件、压缩静态资源体积,同时完全不影响首页的内容展示。

问题场景

整体未优化前

如上图博客首页未优化的加载速度,需要 2.03 秒并且存在可优化的余地。优化方案主要从静态资源、样式表、字体这三个方面出发。整套操作步骤下来,实测速度提升了近 5 倍。

0.内容分发(CDN)

傻瓜式优化就是 CDN,各个云服务厂商都有提供。最简单最省事最有效,CDN 具体优化步骤可根据厂商提供的文档操作。(有的要钱有的不要钱,有的好用有的不好用)

1.静态媒体资源

图片优化效果

首页如果有媒体资源,例如图片、Logo 等。那么最简单的方法就是压缩图片体积,便捷高效的提升首页加载速度。

2.CSS/JS 代码

如果想优化 CSS/JS 代码文件,可以尝试在博友杜郎俊赏提供的 CleanCSS 中一键优化代码。

CleanCSS 第一次直接优化了之后提升明显,但是发现 remixicon.css 字体图标有问题。然而这个优化还是最大问题,毕竟加上字体 1.3s,遂又找了其他方法实现(后来发现是我没用明白 CleanCSS 🤣)。

后来在 GitHub 上找到开源项目 UnCSS ,其提供了简单的在线优化,使用了一下满足需求足够用了。最后再利用在线 CSS/JS 压缩体积工具,就大功告成!

css优化

3.优化字体

常见的优化就是 CDN、静态资源、CSS/JS 代码,这里我为了追求更极致的速度,将字体文件也进一步优化。优化方向稍微偏激了,根据实际情况来。

因为 remixicon.css 的字体图标文件只用了几个,所以我利用 Github 上 font-spider 将无用的字符进行删减。如下图所示可以发现,字体删减优化是质的改变,体积缩减了近 70 倍!

font-spider优化

优化后

整体优化后

在特定问题场景下,通过一套操作优化后的首页体积仅仅 35kB,加载时间 597 毫秒。就连 CDN 都不用套,全国平均访问延时 0.6s。需要注意的地方是,优化字体比较偏激可能导致页面显示不正常。其次我为了避免其他页面出现未知错误,利用代码进行判断仅仅对首页进行了优化。

现在 H5 的 CSS 样式库越来越多了,网页效果越来越优美了,同时也变得臃肿了起来。不过只要网速快,优化个毛线!奥里给!!!

· 阅读需 3 分钟

img

Redemption 一款专注阅读、写作的 Halo 博客主题。主要设计思想即是专注阅读、写作,是一款极简类型的博客主题。

Redemption 部分设计灵感借鉴 Halo 博客 Zozo 主题,感谢各位前辈的无私开源。特意针对首屏加载进行优化,无需 CDN首屏 0.7s 内加载完成。全尺寸媒体自适应查询以及自适应深/浅色模式,让你专注写作,不带感情!

预览

预览

主要功能

  • 专注阅读写作设计
  • 深 / 浅色自适应模式
  • 全尺寸布局媒体自适应
  • Markdown 样式设计
  • 社交链接展示
  • 支持独立页面

安装方法

  1. 远程拉取:https://github.com/7Wate/halo-theme-Redemption 复制地址点击下载
  2. 本地上传:在 Github国内 gitee 下载) 页面,下载压缩包然后上传安装。

主题配置

  • 自定义博客标题以及短语,并填写对应备案号。
  • 自定义显示开往十年之约的 logo。

社交链接

  • 自定义关于页面、Github、哔哩哔哩、邮箱链接。

评论设置

  • 自定义开启评论,默认关闭。

正常启用评论,需要编辑主题在 /source/plugins/comment/halo-comment.min.js 文件中修改 {baseUrl:"https://blog.7wate.com/"} 双引号内的地址为你的博客地址。

为了适配主题风格,Fork 了官方仓库的评论组件。

组件仓库:7Wate/halo-comment-normhalo-theme-Redemptional

图库设置

  • 自定义是否显示图库。
  • 自定义图库页面标题以及短语。

许可证

GPL-v3.0 协议开源,请遵守开源协议。

来源:Halo 主题 Redemption 首发版 - 7Wate‘s blog;非商业引用,著作权归作者所有。

· 阅读需 2 分钟

上学的时候我特别喜欢数理化这些科目,因为这些科目对就是对、错就是错,然而文史类科目需要你 get 到它的点,然后由老师主观的评分;所以我当时偏科极其严重。

生活中也是如此,青少年时代的叛逆、懵懂无知、无畏无惧。固执偏见只坚信自己的“道”,并认为其他都是错的,淋漓尽致的展现着年轻人的棱角。后来的碰壁让我开始思考,并且深刻认识到非黑即白之间还存在无尽的灰色地带。

我停留在这个黑白灰认知很久,以至于深深的认为并不存在所谓的白。一叶障目不见泰山,当我们认定一件事情的时候,我们的思想就会变得很片面。

步入社会以后,随着阅历的增长加上生活的锻炼,开始慢慢的认识并打破了这个观点。生活不仅只有黑白灰,其充斥着各式各样的色彩,更夹杂着无数的中间地带。其没有所谓的标准答案,更没有非黑即白。

唯一能做的就是做一个不那么错的选择,仅此而已。

· 阅读需 4 分钟
Seven Wate

罪恶应该被遗传吗?这个标题还是源自看到的两个视频《四天工作制》、《为什么德国年轻人选择不上大学,直接去工作?》,进而延伸出来的思考。

英国作为老牌强国,曾更是被称为日不落帝国;作为世界上第一个工业革命和工业化的国家,西方资本主义的倡导者,并且是早期议会民主制的诞生地。但在资本主义原始积累阶段它也是罪恶累累,现如今作为发达国家,其国民更是享受发达国家带来的高福利,德国更是如此,那么它们曾经所作下的罪恶应该被遗传吗?

日本于上个世纪对我国进行侵略战争,两千万人的抛头颅洒热血赶走了侵略者。那么现在日本(人)应该遗传曾经所犯下的罪恶吗?清朝闭关锁国是直接导致近现代中国的侵略原因之一,那么现代的中国人就需要承担这些侵略带来的血与泪吗?

小时候村里有很多大沙岗,村里的老书记也是趁着建筑行业的高速发展,私自将全村的公共财产变卖发家;其子孙后代也是享受充分的物质基础所带来的便利,拥有常人所难得的资源与机遇。那么老支书的子孙后代应该遗传他曾经所犯下的罪恶吗?

人类作为智慧动物的一支,站在动物金字塔顶端,期间更是充满了原罪与杀戮;那么其后代应该遗传所犯下的罪恶么?如果动物就因为它母亲是猪,那么它生下来就应该承受将来被吃吗?

就这个问题也与朋友展开了辩论,问题的中线在于遗传;父母给予孩子生命,那么孩子应该遗传父母曾经所犯下的恶么?最后所得的结论是:

客观上:如果孩子享受父母曾犯下的恶所带来的利益,那么孩子是必须要遗传或者继承这份所谓的恶。

但是进而又存在的问题可以推翻这个结论,孩子生下来作为独立个体有选择的权力吗?如果父母就是想通过自己曾犯下的恶让自己的孩子获得利益呢?就如动物生下来是猪,小猪仔说它不想被吃,我能重新投胎吗?很明显这是不能的,也是做不到的。

综上所述,最后还需要再加一条简单粗暴的结论:强者拥有最终解释权,因为我得拳头比你大,所以我的规矩就是规矩。可是我以为我以为的就是我以为的吗?

· 阅读需 6 分钟
Seven Wate

一直以来对大西北都拥有莫名的向往,更是憧憬有朝一日漫步在青海湖。在十一假期的第二天晚上,去打球的路上莫名的想去青海湖。

叔、突然那么一瞬间,咱去青海湖吧?

速度回电话,明天去!

就这样,第二天四个成年人加三个小孩出发了,来了一场自由与热爱的旅行……

一路吃着火锅唱着歌,仿佛自从坐上车那刻已经踏入青海湖了。

导航地图

而且而且,最最最 BT 的事是什么?临出发的时候,旭鹏要骑摩托去,我们都觉得是开玩笑了;我日哦,直接拿着头盔就下楼了……手套也不带,骑行服也不带,总之就是头铁。

毕竟莎士比亚曾经说过:不气盛还叫年轻人么?

聚团吃泡面

疯狂疾驰上千公里后,即将进入甘肃境内;我们在宝鸡服务区稍作歇息,吃着泡面聊着有的没的,此时我们还没意识到角落的大白才是最后的王者。此时旭鹏依旧兴致不减,打算一路干到青海湖;很显然他也没意识到有什么在等着他🐶。

休整好再出发已经是后半夜了,下起了大雨;雨刷器都刮不及的大雨,路上也没有一辆车了。我俩都在心疼旭鹏,这会不会吃席啊哈哈哈,更是一致认定他这辈子是忘不了这次骑行了!!!

<video controls style="width:100%;"><source src="https://static.7wate.com/img/2022/10/10/61949924fde73.mp4" type="video/mp4">您的浏览器不支持 HTML5 视频,请下载Chrome或者Edge浏览器。</video>

原谅我笑得这么没心没肺哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈。

没有办法,自己选择的路哭着也要走完;后续加把劲可算一路干到了西宁。临近青海湖,虽然天气很差很差;但是结合以往的经历,更期待成为欧皇!!!

风景照

风景照

风景照

我们这里暂时不让下高速,请你前往 XXX 高速口下高速!

啊哈,疫情防控办发布的通告,符合规定允许下高速啊。

抱歉,我们这里禁止下高速,请你自行折返!

……

我日哦,就是 TM 这么戏剧化;我们奔袭了 1700km,临近青海湖 15km,禁止下高速。

简单来说,当地省市疫情防控办发布的公告:符合规定可以下高速;当地卡口工作人员无任何正当理由禁止下高速……我们不死心,继续折腾。在折腾了近 4 个小时后,无能为力、无可奈何、无无无,总之就是说破天就不让你下!(但是 TM 的当地有关系的人,你就可以随便下!)

考虑人生地不熟加上无水无粮食,纵有万般不舍也只能原地折返。

<video controls style="width:100%;"><source src="https://static.7wate.com/img/2022/10/10/5c6f5846c43cb.mp4" type="video/mp4">您的浏览器不支持 HTML5 视频,请下载Chrome或者Edge浏览器。</video>

Fuck

就这样,Fuck!!!

我还能有什么好说的呢,来日方长罢了。

最后的最后虽然有时候,我们去经历一件美好的事、尝试做好一件美好的事;哪怕我们竭尽所能,也总是事与愿违。但是终究无论如何,我们终应该死在这自由和热爱里!

· 阅读需 11 分钟
Seven Wate

小鹏

基本信息

年龄:23、性别:男、学历:本科

工作信息

工作时长:一年

工作城市:上海

岗位类型:外包开发(银行业务)

在职状态:离职

离职原因:工作用的技术和目前主流技术栈不匹配且工作氛围不好。

薪酬结构:基本工资+绩效+补贴

缴纳基数:基本工资

绩效考核:无

加班情况:公司和项目紧急程度有关系。

开发流程:新功能会拉新分支,提交给专人,然后将代码提交到分支,出现问题,对应的责任人来修改代码,再次提交。

建议

技术 / 学习建议

  1. 要接触主流技术,学习新技术。
  2. B站学习。

面试建议

  1. 找简历参考。
  2. 使用小程序,可以在线看面试题。
  3. 除非急着就业,否则不要去外包。
  4. 确定是否入职前要了解的公司技术栈,工资结构,工作氛围(是否可以去工作区感受),加班情况,是否有加班调休。
  5. 招聘软件 拉钩、Boss。

避坑

  1. 不要和领导有言语冲撞,有的领导面上不显露,背地会有针对,即便是工作上事,即便是对的。

  2. 学会责任划分,要有推锅意识。不是自己的责任,不要背锅。

  3. 面试的时候期望薪资要高一点,HR有招聘人员转正的提成(他的公司HR大多本地人)。

权衡是否离家工作:没有权衡过,基本上一个月坐飞机回家一次。

小豪

基本信息

年龄:23 、性别:男 、学历:专科

工作信息

工作时长:两年

工作城市:上海

岗位类型:自研开发(供应链业务)

在职状态:在职

薪酬结构:基本工资+各种拆分形式的补助

缴纳基数:全额

绩效考核:无

加班情况:公司和项目紧急程度有关系

开发流程:云效(Alibaba)/ 禅道提需求,或者群里提需求,然后开发,小功能自测后提交,然后 Jenkins 部署,大功能会拉分支。

建议

技术 / 学习建议

  1. SpringBoot,SpringCloud(Alibaba)
  2. 看技术公众号,然后写代码练习。
  3. 工作 2,3 年后要有方向,在某个方向(银行,医院,供应链等业务方向)深耕。

面试建议

  1. 简历上的项目和公司类型要匹配,项目都是一个方向的项目。
  2. 技术要在项目中的业务上有落地点。
  3. 如果写上线的公网项目,有的会要求展示。
  4. 如果一个岗位面试成功,可以联系HR将入职时间延长,把手头的面试面完,尽可能拿到多的Offer做选择入职哪个。
  5. 入职后一周会熟悉代码,然后就给一些简单的功能开发。

避坑建议

  1. 在没确定去哪个公司前,不要先租房,即便租房也要短租。
  2. 通勤不要太长。
  3. 入职前询问工作氛围,福利,社保,公积金,加班是否有额外的钱,薪资涨幅周期和幅度。
  4. 面试的时候期望薪资要高一点,HR 有招聘人员转正的提成(HR 大多本地人)。

权衡是否离家工作:钱

阿里前辈

问题与回答

Java未来的发展方向?未来这个技术的发展方向?

没有人能预知未来,没有东西能一成不变的。Java 只是个工具,Java 岗位的方向有很多,大数据,CRUD。用这个工具只是当前的业务需要,能给业务带来效能。纵使你知道当前的发展方向,可能过几年就变了,你那时候就会有新的认识,新的想法。

当前比较热门的产业?

这个问题属于认知类的问题,每个认知不同的人回答会有不同的答案。比如机器学习,人工智能,包括自动驾驶,隐私计算等各种东西,这些是由认知与信息渠道获取而来。当你专注于一个领域后,你就会获取信息,然后处理,最后总结出来,哪个是朝阳产业,哪个行业比较有潜力。

宏观上来看,朝阳产业或者是未来发展比较有潜力的行业一定是国家在大力扶持的。了解国家政策,拓宽获取信息的渠道,你调查研究后就会知道哪些属于热门行业。当前来看,云计算,包括大数据,还有信息资源这块儿怎么去利用,还有就是数字化,隐私计算这些目前来说是比较热门的行业。

当初如何进入阿里巴巴?

运气,试错,努力。首先是运气,其次是 985 的学历的背景加持和 985 学校环境给自己带来的成长,然后疯狂输入面经。

面试角度: 也招外包,这种大专,本科研究生,硕士之类的,各种学历都会招,而且也会面试。很多时候大专,本科基本上第一轮面试就挂了,不是说技术不行,那些没有办法量化的地方,是最致命的缺点。比如说你的学习能力、沟通能力、协作能力,基本上给你聊几句话,然后去面试,就能把这个东西给摸的很清楚。学历只是一种外在表现,当你在更好的环境里面,你就能去培养你的学习能力、沟通能力,然后还有协作能力。教育资源像水,像土一样,你没有办法改变的,因为你在那个环境里面,环境造就了你。所以说还是必须要有很清晰的认知,你知道自己的能力,你也能认清这个大环境,当然你能跳出去是最好的。

毕业这么多年实现自我价值了吗?

没有,什么自我价值,只要我每个月上一个月班,给我按时发工资就好,不要给我绩效打很低就好,自我价值会变,一直与和现实和解。理想很丰满,现实很骨感,有时候我们所认为的技术理想,所认为的自我价值,所认为的很多东西最终是会被现实所磨灭的,我们很难去坚守自己曾经所认为的自我价值。而且,可能说你 20 岁认为的自我价值是 A,但是到了 25 岁,你的自我价值就变成 B 了,它也是在不断变化着。

如何平衡工作和生活,能达到平衡吗?

做不到,我的大老板也做不到。你在工作里面,你想要做出成绩,你要你要多付出;你在生活里面,你想要去照顾好家庭,照顾好父母,也需要多付出。精力与时间都是有限的。人无完人,平衡工作和生活,就跟鱼与熊掌一样不可兼得。

指导建议

这里的指导建议是结合笔者当前背景提出,笔者背景或许以后会写出来

生活 / 工作

  • 重拾自信,找一份称心的工作,至少找一份工作骑驴找马。大环境不好,要有面试很多次不通过的准备,找一个能静下心提升的,符合自己能力的,不要太简单也不要太难的工作。在工作中去实践,然后,去建立自己的自信心,然后再去尝试做更大更难的事情,持续的一个正反馈特别重要
  • 工作生活无法平衡,总要有取舍,看侧重哪一边。
  • 公司技术栈比较老,要跳走。
  • 北上广工作的话生活压力也很大,日常开销也很多。

个人

  • 要不断跳出认知圈,认知不同,会存在巨大差异。

· 阅读需 7 分钟
Seven Wate

最近践行早起、阅读、写作、运动、冥想、子弹笔记近两个月了,简单复盘并针对现有问题提出对应解决方案。

早起

我所认为的早起并不是成功学所定义的早起,每日早上四点啊,五点啊,弱弱的感觉这种成功学大部分都有病……

早起可以延申为规律生活,规律作息,并不是单纯意义上的四点起床,五点起床。结合个人实际情况,我所定制的休息时间为 23:00 休息,6:00 左右自然醒。不过大多时候都是 7:00 左右起床,偶尔 6:00 左右,一般只要醒了就不会再睡了,否则我是越睡越困、越困越睡……

这两个月总体来说,坚持得不错,相对于之前有较大的改善,不过还是偶尔会被外部原因所打乱作息。下一阶段性目标:继续坚持,非必要不打破作息。

阅读

每周阅读一本书还是完全 ok 的,但是吸收归纳产出的话,一个月可能才会啃烂一本书,有些书真的需要细嚼慢咽,慢慢回味。

读书这件事真的会上瘾,但是感觉很拉闸的一点就是,目前为止还没有找到比较有效利用碎片化时间的方法。所以虽然每日都在阅读,但是需要最少 15 分钟以上的空闲时间,才可以进入沉浸式阅读。

目前暂时停止了读书计划,因为前几本书的产出还未完成,所以打算再产出后再开始新书阅读。下一阶段性目标:提高产出效率,保持阅读频率。

写作

产出效率较低一直是我比较头疼的地方,也许是没有找到正确的方法论,感觉也是写的太少想得太多。不想写流水账感觉有点敷衍,未来还是需要不断尝试,寻找适合自己的方法。

曾经完成过一次500日写作,如今又开始新一轮500日写作的人帮你总结道:写作开始的时间,并不是你准备、收集、思考、规划、大纲等等过程,写作开始的时间就是你开始写下第一个字的时间,然后继续下去。

—— ONO

目前还是参考 ONO 的建议,但是先写在 wiki 上,然后每周甄选一篇博客发表,暂时就这样尝试。下一阶段性目标:实现每周产出。

运动

运动还是需要保持,在生活中留出一部分时间去运动、散步,然后继续坚持。不能这几天猛怼接下来几天偷懒,要把运动当成吃饭一样 ~

工作日的时候,早起的话就会去跑跑步,晚上下班也会在宿舍撸撸铁,不追求马上看到成绩,主要还是培养习惯。同时搭配良好的饮食习惯,拥有一个健康的身体才士革命的本钱呐。

下一阶段性目标:继续保持,争取早日养成运动习惯。

冥想

浅尝了一下,这玩意真不是玄学,YYDS!!!

子弹笔记

子弹笔记也可以理解为复盘总结,目前每日、每周、每季度都会进行工作生活的复盘。本来是一提起日记就会头痛的,但是结合自己的情况,尝试了多种方法,最终找到了适合自己的工具和方法。

日志总结归纳在 wiki 上边了,可以点击打开浏览。最重要的就是每日任务、复盘、习惯养成,有想法的朋友可以尝试一番。目前发现的几个问题是:任务完成效率不高、习惯养成容易被打破、子弹笔记容易中断。首先必须肯定这两个月来的进步,但是仍然需要继续保持,直至习惯的养成。

任务完成效率不高同时带有拖延,主要原因还是对任务难易的估量偏差过大。目前针对此情况的解决方法是:主线任务、支线任务、其他任务;主线任务是具有一定难度和时间成本的,但是无论如何必须完成;支线任务相对主线任务较简单的,所以最少完成一个;其他任务则是换脑子的,很容易就完成的,可以在疲惫的情况下换换脑子。

这样的话每日都能切实感受到自己的进步,并且持续保持正反馈!

子弹笔记和习惯养成容易被打破这方面,主要还是降低心理预期,毕竟都不是圣人。

Take easy,慢慢来 ~

· 阅读需 9 分钟
Seven Wate

最近临近天朝高层会议,公司也迎来了网安大队的检查,网安大队来了不少人,掺带着三方公司的技术员。简单询问了一些问题,并告诫临近会议不要出乱子,随后三方公司的技术员象征性的扫了扫漏洞。

其中一位警长深有意味说道,我们来不是吃拿卡要的,是为了保护人民、企业信息财产安全。有点那种去嫖娼不是犯法,而是为了救济失足少女,挽救背后成千上万的家庭哈哈哈。因为我们上了等保,所以问题不大。

前辈说 2019 年以前公司信息安全一度是裸奔状态,只有简单的杀毒和域控。后来国家《网络安全顶级保护 2.0》标准实施,集团信息总部将其列入了工作重点后;于 2021 年 12 月开始试点上线等保 2.0,并于 2022 年 6 月份正式上线。

等保 2.0 是什么

简单来说等保就是国家对于信息安全出台的一项标准,等保 2.0 是于 2019 年开始正式实施,其简单来说有 5 个等级,主要基于信息系统受到破坏后,所造成的影响来划分的。

  1. 自主保护级:一般适用于小型团体,信息系统遭到破坏后不损害国家安全、社会秩序和公共利益。
  2. 指导保护级:一般适用于对信息安全有要求的中大型团体,信息系统遭到破坏后对社会秩序和公共利益造成损害,但不损害国家安全。
  3. 监督保护级:一般适用于地市级以上国家机关、企业、事业单位内部重要的信息系统,信息系统遭到破坏后会对社会秩序和公共利益造成严重损害,或者对国家安全造成损害。
  4. 强制保护级:一般适用于国家重要领域、重要部门中的特别重要系统以及核心系统。信息系统受到破坏后,会对社会秩序和公共利益造成特别严重损害,或者对国家安全造成严重损害。
  5. 专控保护级:一般适用于国家重要领域、重要部门中的极端重要系统。信息系统受到破坏后,会对国家安全造成特别严重损害。

内网与外网

内网就是内部专用网络,简单理解家里的 wifi 就是内网,仅限于当下环境的网络通讯,外网可以简单理解为互联网;互联网的雏形就是基于内网衍生出的。虽然互联网精神自始贯彻开放、平等、协作、快速、共享,但是现如今越来越拉闸。

微信与小程序

微信是国民级通讯工具,小程序现在哪里都是,遍地都是,干啥都离不开这俩。微信还算好,可是这小程序究竟是什么鬼……

大部分浏览器下运行开发者工具就可以看到该网站的全部源码,做了什么操作都一览无余。这也秉承了互联网的开放精神,可是你微信一个通讯工具,有啥功能放在网页不好吗?再内嵌一个小程序浏览器,美名其曰方便用户,扫个码点开就能用,可是我以前打开浏览器输入网址什么都可以访问啊!

小程序违背了互联网的精神,产品经理一拍桌子就做出来的东西,感觉好牛批,背地里强奸用户。这种内网不要也罢,微信公众号也是,就连很多网站也是最基本的注册都不提供了,必须微信登录。

各大网站的跳转 APP

手机上打开个网站,就连 TM 的颜色网站也请你安装 APP,然后继续访问。就不说各大流氓厂商了,更是毛都没有,你有毛么?

例如知乎、CSDN 等等,内容难道不是各位创造的?各位既然都无私地放在互联网上了,我 TM 看还得下载个 APP,然后注册用户否则无法享受全部功能。商业产品是为了挣钱,这啦哪啦,毕竟都不能靠爱发电是吧?

这都别提互联网精神了,妥妥的互联网流氓、碧池。敢问你们当初不就是靠着互联网起家的吗?

公网 IP 与 ICP 备案

各大网站提供地平台确实方便,大家可以相对自由的分发、共享互联网资源。可是运营商你给我开放个公网 IP 不就完事了?我自己搭个博客,搞个聊天室,整个论坛不也是香饽饽的?

现在是你就算买了云服务、申请了 ICP 备案,也是这不能说,那不能说。还不如回到原始人时期,让我站在山头吼两嗓子。

抖音推送和信息茧房

抖音也是喜欢看什么就给你推什么,也是存在内网与外网。例如你是上海人估计挺难刷到新疆人的抖音,公共热点外网也是每个人都能刷到的。

权威媒体的推送,更是让我们没有了思考能力,更不提理解力了,说什么你听着就好了。

天朝网与世界网

不多 BB 了,我最痛恨至极的就是访问 GitHub 和 Google 以及包管理器拖库,哎西吧,毁灭吧世界!!!

最后的最后

我只是简单发一下牢骚,并不是抨击祖国,任何事情都是具有多面性的;

最初互联网的诞生带来了生活方式的改变,但是现如今商业化公司的跑马圈地与互联网精神越来越背道而驰;原本互联网精神带来的信息资源本就是开放的、无限复制、随处共享的,但是某些人似乎并不想让我们享受这些。

不仅仅是因为在天朝这种《特色》意识形态下,孪生出了无数《特色》的事物。就连外部的互联网世界也在发生着巨大的改变,大部分信息资源紧紧攥在少部分人手中!

· 阅读需 2 分钟
Seven Wate

这次 0.2.1 版本是基于博友的发现,简单处理了以下两个问题、并添加适配了文章页 Markdown 渲染 CSS 样式。

点击打开 Git 仓库下载主题

自适应媒体查询无法正确适配屏幕

基于 870px 作为阈值,划分了移动端和桌面端;移动端暂未发现明显问题,未修改 ~

桌面端现在 8K 分辨率以下的无障碍阅读(可能存在未知错误),5K 分辨率及以下完美阅读;同时支持任意百分比缩放不失真。

评论区适配存在部分问题,因为需要调用 Halo 官方的评论组件,所以简单适配了一下。

如果存在问题请告诉我 ~

适配了文章页 Markdown 样式

基于开源的 Github CSS 样式,二次修改得到 Redemption 原生文章样式,根据系统自适应浅色 / 暗色模式。

关于 Redemption

Redemption 比较符合个人审美,核心理念是回归阅读;来日方长期待日后更加精进。