Vinchent的博客

真要多付钱,我可不买单

西方国家逐渐意识到战争的代价。舆论开始转向一个问题:我们究竟应该不惜放弃和平来争取正义,还是放弃正义换取和平?

俄罗斯掌握了能源和小麦,这两个至关重要的资源,使得它完全有能力让大部分没有能力的国家不能也不敢违逆俄国的意愿。或许,富裕的西方国家们自己不至于饿死,但是这足以孤立西方阵营甚至引发内讧。

半年前,如果一个政客说我要大力发展农业,绝对会被沦为笑柄。但是到如今,大家才突然意识到,他们曾经觉得完全可以依靠国际市场轻易低价获得的小麦、天然气,到如今竟变得如此昂贵,昂贵到要放弃自己一直引以为豪的价值。

或许这一战能让西方国家意识到,移民问题或许不是全球化的最大问题,而是产业、尤其是核心产业的转移才是最大的主权危机。

这或许能给我们敲响警钟。未来的全球化或许不会再像过去的几十年那样,中国可以成为世界工厂,而全世界其他国家也乐见中国成为世界工厂。而是,很多产业可能会产生不可避免的壁垒,技术上也是。这未必是一件坏事,每一个国家当然可以有自己的所长,但也必须在涉及主权的资源上做足准备,这其中非常重要的一环就是能源、农业和工业生产,这些看起来夕阳的行业。

可是,显然并不是所有的国家都有能力自给自足,这就要求多层次的联盟关系,要不然就待在一个足够大且可靠的阵营,要不然就得建立多边的外交关系。

而欧盟和北约,在证明自己是一个“足够大且可靠”的阵营的道路上还有很远的路要走。

不过这次觉醒未必不是好事,比如欧洲可能会下定决心进行能源转型,Ecologiste的生活方式也有可能得到更大的推广,这同时可能会促使新一轮的观念进步。以及,将重心转向国内,将生产转移回国内的过程可能会提高就业水平,降低贫富差距,降低对外来移民的仇视。这些都是可以观望和期待的。虽然我并不乐观。

而无论如何,对于乌克兰,我只能深表同情,并且希望这样的惨剧不要再发生在其他的土地上。

读过这本书,我不再相信宏大叙事

回想这几年,有几本书读过之后对自己影响很大。

  1. 《生活与命运》——我不再相信宏大叙事,只相信一个个具体的人。
  2. 《V字仇杀队》——我理解了什么是自由,什么是压迫,什么是极权,以及我们为什么应该反抗极权。
  3. 《被淹没和被拯救的》——系统性的恶是不可抵抗的,除非我们选择抵抗。
  4. 《我在伊朗长大》——我对种族歧视更加敏感,并且尽量觉知自己不要因为种族歧视他人。
  5. 《坟·热风·华盖集·华盖集续编》——自由,民主,平等,女权,人权……我们以为的西方观念,其实被鲁迅和那一代人们写在我们的历史之中,只是被我们遗忘和忽视。

谁是弱势群体?

最近两天常听到“弱势群体”这个词,到底什么是“弱势群体”?

英文里最接近“弱势群体”的翻译是“Vulnerable Groups”。在联合国官网中对其的定义是:

非洲人后裔是指跨大西洋贩卖奴隶的受害者的后裔以及后期非洲移民的后裔,他们经常面临种族歧视和偏见

歧视性的结构和体制、不公正的奴役和殖民主义的遗留问题,致使非洲人后裔成为社会中最贫穷和最边缘化的群体,他们还遭受警察暴力和种族定性,频率之高,令人震惊。

除了非洲人后裔和跨大西洋贩卖奴隶的受害者的后裔,种族主义还直接影响了许多其他社区和群体的生活:土著人民,罗姆人,辛提人,游民,民族或族裔、宗教和语言属于少数群体的人,移民,难民、寻求庇护者和国内流离失所者,生活在极端贫困中的人,妇女,男女同性恋、双性恋、跨性别者、性别奇异者和间性者人群。

种族歧视的受害者也可能因其他因素遭受多重、严重、复杂或相互交织的歧视,包括年龄、语言、宗教、政治见解或其他见解、社会出身、财产、残疾、出身或其他身份等。

反犹太主义和仇视伊斯兰等种族主义和歧视性思想,使这些宗教群体遭受到歧视和暴力运动的影响。

妇女和女童还面临基于性别的额外歧视(官方译为“性别歧视”,但此处英语是:additional discrimination based on their gender, 法语是une discrimination supplémentaire fondée sur leur sexe. 我据此改译为此),这让她们更为脆弱。

从以上文字介绍中,我们大体可以得出三条结论:

  1. 弱势群体的概念从种族平权运动生发,而扩展到各个面临着歧视和偏见的群体。
  2. 弱势群体常常遭受来自于社会系统性的暴力,包括来自于公权力的暴力。(虽然反之未必成立,即遭受暴力的不单单是弱势群体,也可能是非弱势群体,但是弱势群体更容易遭受暴力)
  3. 妇女和儿童面临的歧视和暴力是可以在其本身就具有的弱势身份上叠加的,使得她们更为脆弱

“弱势群体”这个词在国内舆论场上传开则是由于时任总理朱镕基在第九届全国人大5次会议上所作的《政府工作报告》中使用了这个概念,其中提及的段落是:

扩大国内需求,首先必须增加城乡居民特别是低收入群体的收入,培育和提高居民的购买力。一是……二是……三是……四是积极扩大就业和再就业。这是增加居民收入的重要途径。努力拓宽就业渠道,增加就业岗位。大力发展就业容量大的劳动密集型产业、服务业、中小企业。扩大社区服务就业门路。实行弹性大、灵活性强、多样化的就业形式。发展劳动力市场,完善就业服务体系。认真落实鼓励自谋职业和促进就业的优惠政策措施。对弱势群体给予特殊的就业援助。五是……


另外,在联合国网站Vulneralble People页面点进Women的链接之后,看到了这么一段话,也一并记录在此:

The intersection of discrimination based on race and gender has the most widespread effects. Although this intersection had long been ignored, the 1995 Fourth World Conference on Women, held in Beijing, recognized that “Many women face additional barriers to the enjoyment of their human rights because of such factors as their race, language, ethnicity, culture, religion, disability or socioeconomic class or because they are indigenous people, migrants, including women migrant workers, displaced women or refugees.”

烤面包

面粉我买的是超市里已经配好的Multi-céréales的面粉,里面有面粉和一些杂粮和坚果碎;酵母我买的是boulangere的酵母(不是instantané或者chimique)。

首先,按照买来面粉袋子上的写的比例来调配。基本上来说:

  1. 称250g面粉,里面洒进去一小佐盐(按照说明的比例大概是5g,我认为有点多,不过可以自己尝试之后调整)
  2. 150ml水,放进去一袋酵母(一般一袋酵母的量正好做250克面粉),搅拌至化开。可能一开始会有点结块,但是慢慢搅拌就会化开。至于是不是温水我觉得问题不太大,只要不是冬天水管里特别凉的水就行。
  3. 然后把水倒进面粉,混合均匀成团,至没有干粉有点粘手为止(可以戴一次性手套弄)
  4. 盖住盆放15分钟左右。
  5. 面团休息一段时间之后,倒入一勺食用油/橄榄油(量可以自己调整,别太多就行),然后开始揉面,揉到油到面里面,面的表面再次变得有点粘手为止。
  6. 盖住放入冰箱过夜/或者早上放进去晚上拿出来。
  7. 拿出来之后撕成两三块回温半小时以上。
  8. 回温之后揉面排气,整成自己想要的形状,然后放在模具里二次发酵(盖上盖子或保鲜膜)
  9. 二次发酵的时间大概是40分钟,可以目测大小是原来的两倍大左右。(比如我放进做Cake的盒子里一开始是左右填不满的状态,发酵完成后左右能填满,高度能和模具差不多高)
  10. 二次发酵结束之后,烤箱里面放进去小半碗水,预热到180度,然后烤35分钟出炉。

关于二次发酵,夏天的时候可以在室温发酵。冬天的时候需要额外加热。有两个思路可以考虑

  1. 在烤箱的烤盘上浇上一盘开水,放进关闭的烤箱底层,然后把放着面团的模具放在中层的烤架上,关上烤箱,让热水提供的温度发酵。
  2. 把烤箱开最低档发酵(如果烤箱最低档不是120度以上的话)

记跳槽

新公司入职一个多星期。简述一下这一次求职的经历。

#

萌生跳槽的想法是因为和不同的朋友吃饭的时候谈到工作,没有比较就没有伤害,越聊越觉得应该换。

原单位的弱点在于:

  1. 薪水低。
  2. 公司福利有限。
  3. 是外包公司,实际工作主要在客户公司。

原单位的优势在于:

  1. 公司的人际环境不错,大家相处比较融洽。
  2. 有一些接受内部培训的机会。
  3. 公司有的项目接触到嵌入式各个方面。

但是,一旦我进入一个项目,去到客户公司工作的时候,我自己公司能够给我提供的东西就变得非常有限。随着自己之前的同事不断离职,又没有太多机会认识新的同事,久而久之,就会觉得自己的归属感变得很弱。

而同时,在客户的公司虽然也能受到比较好的对待,但终究感觉不是他们中的一员,自知随时可能离开,所以也没有很强的归属感。

这样两边不着的时间长了,就会感到一种悬浮的状态。

#

总的来说,推动我跳槽有三个深层因素:

首先是待遇。起薪不高也就罢了,涨薪也实在是非常有限,经济上没有任何促使我留下来的动力。

其次是外包本身。除了我刚刚说的悬浮状态以外,外包的工作往往不会涉及一个公司的核心竞争力,这就注定这个岗位不太可能受到客户公司最大的重视,因为作为客户公司,它也做好了准备这个人随时可能走。

第三,是我之前做的项目本身在我看来不但重复性非常大,而且我只有一个人做,没有更厉害的人带我。虽然这样看起来拥有更大的自由度,但是我在这个状态也很难进步,很难学到什么是更好更正确的实现方法。时间长了不但自己做起来没有动力,更是会有一种危机感,如果不回到一些核心的开发岗位上,自己的能力很快就会退化。

这些因素最终促使我萌生跳槽的想法。

#

接下来就是怎么找工作以及找什么工作。

早在我萌生跳槽想法的一年前(2020年夏天),在和一个前同事聊天的时候他就向我提过他们公司。鉴于我当时的项目开始四个月,还没有走上正轨,我觉得如果我现在离职,那这半年可能基本啥也没干成,所以就没有考虑。

于是在我21年底决定跳槽的时候,首先就找了这个同事和他再聊聊他现在的公司的情况。他表示对公司环境和工作情况还是比较满意的。但是法国人说话一般比较注意,不会用特别安利的口吻来表达,而是处处透露出那种:这只是我个人的看法,完全不代表你可能面对的情况,你一定要谨慎选择。

随后,我发现我公司的一个manager,也是我这位前同事的manager被他挖角去了这家新公司。这为我提供了另一层保障——一位经验丰富的manager认可了这家公司。

再然后,我发现我在客户公司有一个同事,他就是从这家公司跳出来的。和他交流之后,他表示这家公司的C语言水平非常高,虽然他做的测试岗位可能不那么尽如人意。而我想要面试的职位正好是C语言的开发,所以这又是一层背书。

至此,我已经把这家公司作为我的首要目标。

#

圣诞元旦双节假期期间我开始复习C语言和其他的基础知识。复习大概有三个角度:

  1. 在电子书平台上找到C语言面试相关的书籍(程序员面试宝典之类)看基础知识
  2. 在网上找C语言的测试题(选择题)
  3. 在Codinggame和Codewar上写一些编程题

由于我之前没有系统学过算法,还恶补了一下基本的数据结构(在B站上买了一个期末考试临时抱佛脚的视频……发现其实帮助不大,大学期末考不太注重实际的东西,倒是概念的边边角角要搞清楚)。最终我数据结构的学习方式是看动图和Youtube上的短讲解。

经过这些准备之后,我在2022年初收假之后就向我前同时递交了简历。

#

内推或许是找工作最好的方式。入职培训的时候,HR说,内推最后入职的概率是40%,但是海投入职的概率是0.2%……

内推的好处是可以通过熟人充分了解公司的一些内情,比如工作环境,大家的工作状态等等,这些东西往往在面试上不太容易表现出来。从公司的方面,也可以通过私下的途径,了解应聘者是个什么样的人——只是一个熟人的熟人?或者一起共事过等等。

我和我的前同事之前一起做过一年的项目,他对我非常了解,我相信他是替我说了好话的。

面试一共三轮。

第一轮面试是和HR面试。主要的内容是互相介绍,他向我介绍他们公司,我向他介绍我自己的经历。

我事先做了功课,看了他们的网站,所以对于他说的东西,我基本都已经有了了解。而在自我介绍的时候,我也着重从我之前做C开发的经历出发,坦然说了自己为什么不喜欢现在的工作,以及我通过自己前同事的途径了解到这家公司等等。

出乎我意外的是他直接问了我当时的薪水,我也就如实相告了,他告诉了我一个他心目中我应该拿到的“市场价”。最后我实际拿到的就是他报的这个区间的最左边……

第一轮面试比较顺利,和HR一对一沟通我一向不怵。在我看来面试的过程是一个互相考核的过程,不存在谁在上谁在下。我会像对待一个未来的同事一样和他交流,他也应该用这样的态度和我交流,如此我们彼此都能感到比较舒适。如果HR是来给我出难题的,那我不去这家公司也罢。

#

第一轮面试结束之后,HR发来了一道编程题。具体内容我不能说,但是算是写一个工具类的程序。里面涉及了数据结构算法,文件的操作,当然还有指针、数组、字符串处理等等C语言最核心的内容。

这个考核没有严格的时间限制,题干里写了大约是4个小时的工作量,意思是如果你花了太长的时间,要么是你能力实在不足,要么是你把题目理解错了。我实际花了一个晚上一个白天,大概8个小时。

这种考核方式的好处是非常接近实际的工作。它不限制你使用Stackoverflow,不限制你时间,你可以按照自己的节奏来编程。

更重要的是,它除了考察最基本的C语言基础以外,还考验你会不会使用Git来管理自己的代码?会不会用如Python这样的工具来写简单的测试代码?会不会使用Makefile等编译的工具?如何组织程序结构?代码是否可读性强?等等一些在实际工作中非常重要,但在普通面试考核中很难考察到的方面。

对于这个笔试的形式,我感到非常满意。在做的过程中,我先用一种算法写出了一个版本,但是我迅速发现这个算法的效率低下,所以我又换了个算法重写了一个版本,所以多花了一些时间。我用了Makefile,用Git管理了我两个版本的代码,用Python写了测试程序,基本上做到了自己能做到的最好。最后在Readme里我还写了我代码可以改进的空间,以及其他的可能更好的实现方法。

事实上,最后我写下的这些东西可能是最重要的。

#

来到了技术面阶段。技术面我的是两个拥有15年经验以上的架构师,算是公司最资深的技术大牛。