Axıs
目录

对工作的思考

第一份实习

回顾

第一份工作在大三下学期,做的是前端开发

公司在余杭,每天在路上来回都要两个小时,但是过了入职的兴奋期,就进入了疲倦期就比较累

也算是体验了一下给别人干活的早出晚归是什么状态

越干越觉得自己工资太低了点,应该是综合福利比较低,除去交通、饮食这最基本的,综合下来其实一天不剩下多少钱,如果是要考虑公司,还是得看看综合福利如何,关系到切身的热情

关于多人协作开发:团队作战和单兵作战自然不同;因为是多人,所以需要调和;因为是团队,所以需要规范

在修复bug的过程中,用到了非常多的debugger语法,大幅提高debug能力;

同时,之前学习的VIM也派上了很大的用处,配合我的调教过的VIM键盘,相当舒服

期间,mentor写了一个技术分享,关于sharedState,通过发布订阅来实现数据的多层面的通信,非常好用,在写自定义组件时也用到了sharedState

内部代码中,基于条件的样式添加,大量用到了classnames组件,以及基于CSS Module的内部样式

对待复杂的逻辑,在完成功能与符合回报的前提上,需要考量算法复杂度

我前一个半月,都搞不太清楚git分支;无可厚非,这确实是需要实际场景下去学习

理解到了何为解耦:通过API分段调用,达成不同限制下的统一使用

总结

永远保持初学者的心

我做了

  • 主业时间
    • 实习记录
    • 养成了喝初级农产品中药茶的习惯,感觉还好
  • 业余时间
    • 背部 && 中段锻炼
    • 做视频
    • 学习摄影知识
    • 做学校项目:LLM && RAG;分享知识
    • 开始徒步,学习登山知识
    • 个人文档库总结
  • 通勤时间
    • 瓦尔登湖
    • 君主论
    • 深入浅出NodeJs
    • 登山装备宝典
    • 薄迦梵歌
    • 黑客与画家
    • 孙子兵法

工作特点

  • 基本信息

    • 岗位:前端开发,实习岗
    • 地点:杭州
    • 公司规模:中型,非初创,互联网,民企
  • 性质

    • 无需考虑向浏览器兼容问题

    • 主要是纯web端的项目

    • 依赖线上协作

  • 待遇

    • 大小周
    • 打卡 && 日报
    • 薪资一般
    • 无补贴
    • 综合待遇一般
  • 环境

    • 技术氛围:较好
    • 交流氛围:较好
    • 硬件配置:差,但公司要搬迁地址,应该会提高很多
    • 综合工作强度:中
  • 项目组

    • 文档相关
    • 架构:全结构型(产品+UI+前后端+测试)

思考

思考我的工作

这是一个需要用脑子的工作
经验固然重要,但是逻辑不会自然而然浮出水面
谋定而后动为上,谋不定身先起为其次,无谋为最下

怎么快速上手陌生的代码?

从最外部结构先理解,逐层扫描

总地来看,最快的方法就是慢慢来

1. 看基础的配置性文档、项目的直接文档、核心的文件夹逻辑
2. 从小任务开始写代码,首先是优先级低的bug,然后过渡到开发

最重要的是在写代码的期间去熟悉,但是不能断开自己陌生的技术的学习以及相关文档的查看,学习时间和干活时间应该有意识地划分开

什么叫做性能开销?

对计算机来说,性能开销主要是硬件开销,即算力的消耗与效率,包括CPU、主板、内存、显卡、外设等寿命的消耗,单位时间内CPU的利用率,CPU的实际执行能力
对开发者来说,性能开销包括了对开发时间、认知精力、心态等的消耗
对用户来说,性能开销意味着用户体验

如何理解单页应用? 如何理解SPA | FPA?

单页应用对应的是多页应用,即往往是一个HTML对应一个CSS和一个JS,难以实现代码复用;
在代码逻辑和组织管理上都比较差

怎么理解开会?

本质上是过一遍已经确定了99%的流程
剩下的1%的问题放到会上暴露出来,并将其100%的信息尽可能流通

经营一个产品的必要岗位?

整体上,部门包含了:
	1. 后端
	2. 前端
	3. 测试
	4. 产品
这里并没有运营和营销的考量,因为对于分部门来说,运营和营销包在了其它部门中

所以,经营一个产品,本质上是六个方向:
	1. 产品
	2. 销售
	3. 运营
	4. 后端
	5. 前端
	6. 测试

其中,按重要性来排列:
	产品前期;
		营销 && 销路 >= 产品 >> 运营 >= 后端 >= 前端 > 测试
	产品中后期:
		营销 && 销路 >= 运营 >> 产品 >= 测试 > 前端 >= 后端

去除掉无关紧要的,其实只需要三个方向:
1. 需求捕获
2. 开发
3. 运营
借用现代的各种效率工具,三个职责方向完全可以由一个人来做

如何理解技术公司的成员组成?

技术公司也是公司,脱离不开团队协作,本质上也是团队作战

只是技术驱动的公司,其组织结构与技术本身的关系很大

而技术本身是快速迭代的,所以不同的公司组织架构可能从最传统到最先进都会存在

分组式:
总开发部 <- 前端组 <- 分组
				 <- 分组
				 <- 分组
			后端组
			测试组
			运维组
			...

如何对待分配的任务?

早上充电——下午干活的模式确实很好,但是我不能小看项目的难度,我目前对于项目的熟悉度还很低,不能贸然采用我的模式在工作上

应该循序渐进一些

期间,我思考了路由应该的样子

包括通用路由和业务路由

通用路由
	- user  			用户
	- auth				权限
	- org				品牌
	- utils				主题 & 辅助功能
	- system constant	系统常量
	- version			版本

业务路由
	- 资源型,获取资源数据
	- 任务型,对任务进行调度
	- 展示型(监控 && 数据大屏 && ),数据进行实时更新
	- 辅助型

业务组件和通用组件的区别?

目前的理解是,业务组件属于定制化程度高的组件,复用性低,需要特殊处理

通用组件是通用程度高的组件,复用性高

工程与设计的关系?

工程要实现设计的根本目的
设计要考虑工程的现实问题

如何理解协调、Buffer、排队?

由于各种协调上的原因,包括

  • 个人原因请假导致的延期
  • 排期顺序不恰当(请假导致的排期不合理,比如前端的排期放到了UI之前,测试的排期放到了开发之前
  • 沟通导致的理解误差(比如
  • 意料之外的插队(比如突发决定的排期,突发的需求需要近期优先完成且之前没有

其导致的结果就是排期这件事需要重新来一次,那么看一看排期包括了哪些部分,需要消耗什么

1. 各个成员的开会时间,多为45min左右,少见情况有30min
2. 状态重新进入导致的时间
3. 精力分散 && 任务分散带来的工作效率降低
4. 后续的不确定性的沟通带来的工作中断
5. 说笑 / 缓解氛围 && 争吵带来的额外时间
6. 员工的不满情绪
7. 回顾先前项目 && 经验带来的记忆混淆

其结果就是一损俱损

解决这种问题是不现实的,真正意义上只能减少这种事件发生的频率和带来的影响

  1. 减少事件发生频率

    围绕排期本身进行
        - 已确认
        - 不准确
        - 待确认
    
  2. 减少带来的影响

    增加团队责任感 && 提高获得感
    
    增加有效沟通
    

对于其它人向自己反馈问题时,自己如何应对

反馈问题,说明有问题
但由于沟通、语言上的误导作用,我个人容易先入为主
其实是需要仔细思考对方想表明的模糊概念,其指向的范围大致在哪片区域
它是一片水域而不是一个水滴

以开发为例:关于信息提示,应该基于真实情况来提示,而不是理应情况

具体地说,前端的提示应该基于后端提供的状态来考虑,而不能忽略状态,成为孤岛

修复bug的时候,按什么顺序来做?需要注意什么?

基础分类
	1. 确定是自己的职责的范围之内的
	2. 不确定具体是哪里有问题的
按重要性分类
	1. 重要程度高
	2. 重要程度低
要多去思考,已有的重构,或者改的bug,除了原本的目的之外,还会带来哪些副作用;比如我现在改bug,但是又基于我改的代码产生了新bug,那么这时候改的代码是否值得就有待商榷了

如何理解排期

关于排期:根据需求排日期的基础上 +  给自己buffer时间

其它

前端分为接口层和视图层;后端分为接口层和服务层

前端的接口层用于Request,后端的接口层用于Response,这是典型的CS架构下的REST请求方式
而到核心任务,即前端的视图层和后端的服务层时,需要完成对应的显式或隐式的需要
比如前端的视图层,隐式上需要对用户隐藏相关逻辑操作,并让用户直觉上感到可行

第二份实习

回顾

第二份工作在大四上学期,名义上是开发自动化程序,实际上还是做了前端

这份工作比较糟心,这段感悟也是我在离开公司后两个月写的

整体的环境比较压抑,光是那个空无一物的长走廊就够我心跳加速的

虽然名义上是照顾员工感受、正常上下班,但可能是因为公司性质的原因,我周围的人大部分比较...僵硬

收获也有,但大部分是我自己争取的,比如看了微软的Power Apps、Automate之类的文档,基本上了解了这种"短应用"怎么捏出来的以及如何捏,至于微软官方给的这些应用的语法我就不敢恭维了,和Excel操作起来一个德行

除此之外,收获最大的是借着干杂活的机会,我系统地学习了一下C#,我还是挺喜欢这个语言的,包括整个实习期间还自己学习到了一些游戏开发相关的知识

我初次实习的经验派上了用场,至少给我带来了健康,比如泡茶;还有协作开发的方式、日常记录的习惯

然后就是我的前端开发内容

注意: 以下有较多主观情绪输出

我中途"犯"了几次错误,第一回是用公司的电脑,安装数据库,安装错位置了,导致电脑的安全模块自动锁文件夹,最后需要返到甲方公司里重做系统,我承认确实是自己的疏忽,不过我也发现我对Windows下的权限了解的不够清楚

第二回是周四下班前给邻座的后端用邮件发工程文件 (已经无力吐嘈这开发环境),后边显示发送了,但是对面没收到,周五请了个假,下周再来发现我的电脑被寄回甲方去了;原因是开不开机...他们甚至不跟我说一声,我不否认也是有我的问题,我是知道这个打不开是为什么的,我用的2.4G插到电脑里,这客户电脑启动的时候应该有什么安全检查,只要插着这个就会反复启动,拔出来就好了;最终是,我重新写了遍前端的功能,用另一台电脑

我真的很不喜欢这位带我的前辈,我尊重妇女,但几乎所有事情她给我的感觉就是"你自己看着办",以及大部分决定都是拍拍脑袋,给我一种日本人那种和善的冷漠

可能是年纪比较大,这种环境待久了各种思维都比较迟钝吧,我只能说尊重了

在前端方面,她确实没有我懂,但是一直想指导我; 我一个人干了产品+UI+前端+后端的活,虽然我能力还可以处理起来没什么大问题,但是她一和我沟通可能就忘记了之前的要求,开始随意地让我修改,我是真不爽啊(一个思考记录要写这么多情绪宣泄的话,想想就要黑化了

最后一回是最后一周,我在按着她的安排做,修改一些样式问题、做一些常规的业务模板处理以及写交接文档;最后一天的下午快下班了才跟我说"你SSR路由做一下",这项目前后端的项目路由都不兼容,前端当时是纯SSG的 一开始很生气,后来默默做到了晚上十一点,然后那就是我在这家公司的最后一天了

不过她日常应该是位好母亲,我听到过她和女儿的聊天,非常温柔,但绝对称不上是什么好工程师,我到如今回想起来才开始怀疑是不是她故意要这么做的,我只能说我不会主动怀疑任何人,我相信大部分人都是心存善意的,可能只是她有些天然呆吧

总接下来,影响我心态的有这么几个方面

  • 封闭过度的环境,这是根本原因,下面全是诱因
  • 随意的邻座前辈;而且一个办公室都是各自干各自的,几乎没有交流,他们聊起来天的感觉也是彼此不熟
  • 实际上的加班
  • 对了,这工作刚开始上来就让我打电话咨询甲方公司授权远程填写密码,我还是挺震惊的
  • 技术大牛或许不存在;就前端来讲我可能是整个办公室里最懂的一个?
  • 没有活力;不过值得一提的是,这大概率是环境的问题,我在一场小型活动里看过,其实如果环境允许他们是很愿意聊聊天说说话的,很温和
  • 福利等同于无
  • 面子工程
  • 繁琐的"走流程"让我感觉在虚度人生
  • 名存实亡却只在无关紧要的地方需要遵守的繁琐规定
  • 厕所太小了吧?
  • 我为什么会在办公室门口的?
  • 我写到最后才想起来每天有来回3小时的地狱通勤,我体验到了人生中第一次甚至第二次低血糖 无能狂怒中orz

我第一段实习从来没加过班,那还是私企;而这段实习居然让我因为莫名其妙的原因加了至少5次班,比如你的前辈让你在下班之后清干净她从gitee上下的脚手架里的copyright以及其它所有耦合组件,因为我手搓的脚手架效果"呈现"的太慢,而关键在于用网上的脚手架又是违反公司规定的事情?

这段经历让我彻底对外企祛魅了,规章制度表面福利一大堆,真正进去了发现真是金玉其外败絮其中 为数不多的好处是这苦差事至少是双休的,底薪也可以但被玩文字游戏了,我也认了

最后HR敷衍地说了几句原因,电话里听到了从不说话的主管在窃窃私语

...这段经历除了这位前辈之外,公司还有两位学长,我也是面试之后才知道 我还是很感谢在公司的两位学长,他们比我早一届,我能感觉到他们真的在为我考虑事情,节假日还和其中一位学长爬了山 对了,我特别喜欢那边的一家20块的自助馆子,那是我一天的慰藉

这份工作属于人际交流很舒服,但是工作内容我很讨厌的那种;对比第一段实习,第一段实习是属于人际交流很少,但是工作内容我很喜欢的那种

我也重新思考了一下,我发现我对成长性和自由性的要求还是挺高的,吃一堑长一智

以后老了的时候,回想这经历大概也会戴上痛苦面具吧

总结

公司挑选你的同时,也是你在挑选公司

我做了

  • 主业时间

    • 实习记录(纸 + 电子)
    • 喝茶
    • 偶尔吃早餐
  • 业余时间

    • 每天通勤都太累了,锻炼的频率大大减少
    • 继续做视频
    • Emo(正值冬天
  • 通勤时间

    • 希腊神话
    • 浮士德
    • 沉思录
    • 深入浅出密码学
    • 无限可能的身体

工作特点

  • 基本信息

    • 岗位:前端开发(实际上),实习岗
    • 地点:杭州
    • 公司规模:子公司,互联网,外企
  • 性质

    • 封闭
    • 无人带, 无过渡期
    • 纯web端 无法使用自己的电脑以及配置
    • 无法使用常规开发工具
    • 依赖线下协作走流程
  • 待遇

    • 双休
    • 要求打卡
    • 要求刷课、遵守公司规章制度
    • 薪资中,补贴和扣税抵消了和预期差了些
    • 福利等同于无
  • 环境

    • 技术氛围:无
    • 交流氛围:一般
    • 硬件配置:客户电脑不敢恭维; 自家公司网络进不了自家官网有些抽象
    • 综合工作强度:低 但痛苦
  • 项目组

    • 架构:双人开发(前后端)

思考

思考我的工作

这是一个颇为煎熬的工作,我不喜欢这份工作
它没有明确的安排和目标的同时职责不清,成长度很差、待遇一般、归属感全无
还是得靠自学
最大的收获是这句:良禽择木,不要轻易把自己卖了

这份工作我来了第二个月就感到此地不宜久留,待久了人会麻木掉
我中途经常会想到这么一句话: "如果你发现这个办公室没有比你技术更好的了,那你就是时候离开了"
确实,这份工作成长性太差了,久待是对自己的不负责
我喜欢自己的电脑,喜欢自己的配置,喜欢自己端着自己的饭碗的踏实
而且,中途我也细致考虑了一下,这家公司我目前在做的份工作可取代性太强了,其实 随便找个了解一些开发的,你只要不反抗按着他们给的节奏来,用不了多久就可以为他们"创造价值"然后泡在这温水里

通勤我一般是没什么抗拒的,不过这次实习来回有3个小时通勤,一天下来确实太疲倦了,不知道在地铁上睡着过多少次,属于身体比脑子还累的那种,我最多接受的通勤时长可能也就每天3小时了,太长的通勤到后边我连书都看不下去了

工作当中有好伙伴会让自己更加幸福,遇到不合的人也会让自己更加痛苦

周围找到一个喜欢的饭馆真的可以让自己的疲劳感-100

保持学习,终身成长——"富在术数,不在劳身"