首页 > 其他分享 >和斯坦福博士写代码的第 8个月

和斯坦福博士写代码的第 8个月

时间:2024-06-19 13:55:29浏览次数:21  
标签:社会 规训 合作 博士 代码 他们 斯坦福 自己

不知不觉,和斯坦福博士在一起合作了 8个月,记得在 和斯坦福博士写代码的一个月 这篇文章中,我谈了自己和他们合作第一个月的感受,今天再来聊聊和他们合作了 8个月后最大的 2个感受。

语言是文化侵略的最好武器语言是文化侵略的最好武器

在这 8个月的合作中,感受最深的是语言是文化侵略的最好武器,为什么这么说?

合作期间,有两名博士出差中国 2周,给他们困惑最深的是:为什么大部分中国人不会讲英文?

一名同事的解释是:我们学英文是为了考试和分数。

作为程序员,不说英语,如何和顶尖的技术人接触?

一名同事的解释是:我们 996大厂里面优秀的人才绝大多数都说中文。

后来,我们聊到了他们在 Google的工作经历,为什么 Google,Facebook喜欢印度籍的程序员?

他们的解释是:印度以前一直是英国的殖民地,所以英语文化已经渗透到印度人的骨髓里,尽管他们的口音有浓浓的咖喱味,但是他们敢于表达,善于表达,而且,长期殖民地的文化使得谈们更听话,这个也许就是微软、谷歌、推特CEO都是印裔的根本原因。

为什么 微软、谷歌在中国的招聘人数越来越少?

他们的解释是:一个主要的障碍是沟通,在和很多国内的技术人员讨论时,感觉他们对英文的理解总是差一点火候,因此,种高质量的沟通会很少。

记得曾经看过一个纪录片,印象最深的一句话是:征服一个名族,最彻底的方式就是消灭他们的语言。现如今,要超过这些西方强国,首要之事就是学习他们的语言,只有学会了他们的语言,才能明白他们的文化,懂得他们的思维方式,只有懂他们才能更好地超越他们。

所以,学习英语,并不是某些人眼里的崇洋媚外,更不是不爱国,而是超越的第一步。

做事风格

在项目的合作中,做事风格是第二个感受深刻的点,感觉他们似乎对什么都会锱铢必较,小到标点符号,大到架构设计,有时候他们甚至会为了一个命名开会 1小时,然后综合每个人的意见,分析利弊,这里列举印象最深的几点。

  1. 用户至上:在设计和开发产品时,始终把用户体验放在首位,为了提供最佳的用户体验,他们会和真实用户沟通,甚至推翻前面设计的方案。
  2. 重视代码质量:不得不承认他们对于代码质量的重视度比我在国内呆的任何一家大厂都严格得多,而且严格执行 Code Review(这个是国内普遍缺失),并且编码规范也是高标准,比如和他们合作 python项目,严格按照 black风格,一开始很不适应。
  3. 面向未来的架构设计:在设计系统和架构时,会注重考虑长远的可扩展性和灵活性,对于临时的将就他们总是不太乐意。
  4. 重视安全与隐私:非常注重安全和隐私保护,会定期进行安全审查,采用各种技术手段防止安全漏洞,确保用户数据的安全。
  5. 项目进度:在他们的眼里项目就是艺术品,需要精雕细刻,而不是日夜兼程的迭代,以至于他们在一个开发周期中功能点特别少,可以毫不夸张的说,他们一周的工作量在国内一天就可以搞定,也正是因为这种项目进度,使得他们可以把很多问题想得很深,很细!

另外,还有很多东西是在潜移默化的微妙变化中,同时这里也发现了一些我个人觉得不太好的点。

总结

经历这 8个月的合作,看到了很多国内程序员身上没有的东西,也看到了很多因为文化和环境导致的差异,比如国内互联网行业的卷,35岁危机,很多牛人长期处于卷的内耗状态,不能发挥其更大的价值。

最后,借用清华大学 刑法学教授 劳东燕教授的一段话:

在我们这个社会,有太多的无形枷锁,太多的有形规训,总之就是要你服从与随大流,安于社会对你的定位。这样的氛围中,很多人也会自我设限,给自己戴上“纸手铐”,成为囚禁自己的看守。作为自己看管的囚徒,认同自己不配有梦想,不配痴心妄想去追求自身地位看起来难以企及的东西。

可是,社会的不公与偏见,不可能会因为个人的循规蹈矩而得到改变;相反,循规蹈矩地安于社会对自己的定位,恰恰就是在为社会的不公与偏见添砖加瓦。勇于尝试与付出才可能突围而出,也才有可能改变自己的人生,改变社会既有的不公与偏见。对个体而言,我们虽然难以使自己免于被社会规训,但至少可以保有不接受规训结果的自由。也就是说,接不接受社会的规训结果要由自己来决定,不因社会对我们的定位而在心理上自我设限。你有权活成自己想要的样子,也能够活成自己想要的样子。

 

 

--转自猿java 稀土掘金 

标签:社会,规训,合作,博士,代码,他们,斯坦福,自己
From: https://www.cnblogs.com/jiminlu/p/18256085

相关文章

  • Jquery ajax加载等待执行结束再继续执行下面代码操作
    Jquery等待ajax执行完毕再继续执行下面代码的效果,具体代码如下,其实就是将jqueryajax函数的async参数设置为false即可,该参数默认为true:$(document).ready(function(){loadphpernote();window.open('http://www.phpernote.com');});functionloadphpernote(){......
  • 如何使用csproj构建C#源代码组件NuGet包?
    一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。至于打包和分发C#源代码文件的做法,比较少见。那么这种打包源代码文件的做法,有什么优点和缺点呢?优点:方便阅读源代码。方便断点调试。减少Assembly程序集模块加载个数。更利于发布期间的剪裁(PublishTrimmed选项)。......
  • 如何使用csproj构建C#源代码组件NuGet包?
    一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。至于打包和分发C#源代码文件的做法,比较少见。那么这种打包源代码文件的做法,有什么优点和缺点呢?优点:方便阅读源代码。方便断点调试。减少Assembly程序集模块加载个数。更利于发布期间的剪裁(PublishTrimmed选项)。......
  • 如何使用csproj构建C#源代码组件NuGet包?
    一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。至于打包和分发C#源代码文件的做法,比较少见。那么这种打包源代码文件的做法,有什么优点和缺点呢?优点:方便阅读源代码。方便断点调试。减少Assembly程序集模块加载个数。更利于发布期间的剪裁(PublishTrimmed选项)。......
  • 如何使用csproj构建C#源代码组件NuGet包?
    一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。至于打包和分发C#源代码文件的做法,比较少见。那么这种打包源代码文件的做法,有什么优点和缺点呢?优点:方便阅读源代码。方便断点调试。减少Assembly程序集模块加载个数。更利于发布期间的剪裁(PublishTrimmed选项)。......
  • 如何使用csproj构建C#源代码组件NuGet包?
    一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。至于打包和分发C#源代码文件的做法,比较少见。那么这种打包源代码文件的做法,有什么优点和缺点呢?优点:方便阅读源代码。方便断点调试。减少Assembly程序集模块加载个数。更利于发布期间的剪裁(PublishTrimmed选项)。......
  • SQL SERVER 动态行转列代码
    在实际的项目操作中,数据统计偶尔会用到SQLServer的行转列,数据表MG_TicketsHistoryData如下:列名数据类型描述TicketDatedateTicketCodenchar(10)TicketADJClosedecimal(18,2)使用SQLServer动态行转列,代码如下:CREATEproc[dbo].[PIVOT_TicketsHisData]@start_datevarch......
  • 如何使用csproj构建C#源代码组件NuGet包?
    一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。至于打包和分发C#源代码文件的做法,比较少见。那么这种打包源代码文件的做法,有什么优点和缺点呢?优点:方便阅读源代码。方便断点调试。减少Assembly程序集模块加载个数。更利于发布期间的剪裁(PublishTrimmed选项)。......
  • 如何使用csproj构建C#源代码组件NuGet包?
    一般我们构建传统的NuGet包,都是打包和分发dll程序集文件。至于打包和分发C#源代码文件的做法,比较少见。那么这种打包源代码文件的做法,有什么优点和缺点呢?优点:方便阅读源代码。方便断点调试。减少Assembly程序集模块加载个数。更利于发布期间的剪裁(PublishTrimmed选项)。......
  • .NET C# 八股文 代码阅读(一)
    .NETC#八股文代码阅读(一)目录.NETC#八股文代码阅读(一)1两种获10000个数的方式,哪种效率更高?为什么?2请说出以下代码AB谁先打印,AB打印的值分别为多少?3关于值类型与引用类型、装箱与拆箱,以下代码会输出什么?4关于变量作用域,以下代码会输出什么?1两种获10000个数......