欢迎访问我的博客 👋

你好,我是飞羽,这个博客主要是用来分享和记录我的一些想法和经验。

美国普通人理财简略指南

这篇文章的目标读者是在美国工作的普通打工人,主要收入来源是W2(工资收入)。 身份问题 & 税务问题 理财问题很多时候和税务问题息息相关,可以说是绕不过去的问题,而大部分人的身份问题直接影响了税务,或多或少影响了我们的理财选择。 在学生阶段和工作的早期阶段,大部分人的身份都是NRA,呆在美国超过半年的情况下,NRA的资本利得税是固定的30%,这意味着如果你的income收入达不到30%的税率的话,短期投资收益的税率会更高,长期资本利得(最高联邦税率是20%)更是非常不划算。但是与此同时,NRA的利息收入不会征税,这使得在2024年高利息的背景下购买CD(定期存款)相对更划算一些。 等到成为了RA之后(比如抽中H1B之后),身份问题就不太影响你的理财选择。 退休账户:401(k) & IRA 相信大部分人都大概对401k有所了解,这里就不太过多赘述。一般来说,401k对绝大多数人而言是一个很好的选择,主要原因在其税收的优势。如果你们公司有额外的match,那更是锦上添花。 401k的这个税收优势使得其很适合存放和购买bond之类会产生利息收入的理财产品,因为这些产品按照income的税率来征税。相比之下,股票或股票基金由于其较低的长期资本增值税率和可能的股息税优惠,可能更适合放在普通账户中。 另一个值得一提的是IRA账户和Roth 401k账户。 401k的额度相对有限,作为补充,Roth 401k账户是一个很好的选择,因为其允许after tax contribution,如果公司提供类似in-plan Roth conversion之类的选项,其实也是一个非常好的选择,原因同样是因为其税务上的优势。具体的情况可以搜索Mega Backdoor Roth。 类似的选择还有IRA账户和Roth IRA账户,他们和401k以及Roth 401k形成了对应,而区别在于IRA是个人管理的退休账户。尽管相对来说额度较少,但是能有机会省税,长期积累下来的数额也十分惊人。 长期投资 这个部分可以写很长很长,毕竟这可能指的是大多数人的主要积蓄,如何选择投资,说影响一生一点都不为过。好在世界上的聪明人太多了,已经有了很好的论述,所以我只需要简单说两句就行了。答案就是定投,仅此而已。 定投有很多不同的策略和选择,好在所有这些问题都有人研究过,比如一次性投大笔的钱 VS 分多次投资等等。以及,今天股价这么高了,是不是该等等。这些问题都可以找到明确的答案。 除了简单地定投SP500之类的某一种ETF这一策略以外,一种很流行的策略是:Three-fund portfolio,其本质就是依靠三种基本的共同基金或交易所交易基金(ETF)来构建一个均衡、多元化的投资组合。具体策略可以参考这里,里面有详细的例子和说明,以及无数人的实践。 关于为什么在美国市场下定投是一个很好的策略,可能是普通人不需要太多知识的情况下最好的投资选择等等这些论述,推荐看这本经典之作 A Random Walk Down Wall Street。 不过很少有人能坚持定投,一方面是看到市场波动时的心理波动,另一方面可能就是 “You are the second richest man in the world and yet you have the simplest investment thesis. How come others didn’t follow this?” Warren Buffett: “Because no one wants to get rich slowly....

April 14, 2024 · 飞羽醉月

向内探索的一年

2023年发生了挺多重要的事情,但是还没倒好时差的我,只想简单记录一下向内探索的这一年。 每一年我都会给自己定一个主题,往回看的话,2023年的主题是向内探索,这其实是一个比较意外的主题。年初的时候生活里发生了很多事情,我还记得是在旧金山的海边,朋友跟我说:我应该寻求某种balance,我已经向外探索了很久,应该更关照一下内心的发展。我当时还信心满满地跟她说没关系,我可以很好地处理(忽视)我的内心问题。没想到后来真的出现了不少很难处理的情绪问题,于是接下来的一段时间里,我开始认真考虑这个建议,给自己定了两个探索的方向:向外的关系 & 向内的自我。 我开始双线并行。 年初的时候积极地走出门,认识了一些新朋友。大部分的见面都是coffee chat,和完全不了解的陌生人在随意挑选的地方聊天,大概是我最外向的一面的体现。前前后后见了快20个人,大部分聊天都漫无主题,聊不同人的经历、聊大家想做、在做的事情,足迹遍布了整个湾区,从一两个小时到四五个小时的聊天都有。这个过程我既在练习建立向外的关系,也在向内观察自己。和人聊的越多,我就越清楚自己在关系中喜欢什么、讨厌什么、想要什么,也越了解我的价值观。有时候会觉得如果用某种标签定义自己,自己就受到了某种约束,失去了某种可能性,但是实际上每个瞬间的可能性的自我都是相对确定的。 我很能从书里悟出道理,所以这个阶段也很自然地找了不少书来看。去年看了大概60本书,多半都和relationship、communication有关,无论是爱情、亲情还是工作关系,写了很多笔记,也开始在生活工作里尝试我学到的东西,只能说很多书都是相见恨晚。 下半年的时候我觉得是时候暂停那马不停蹄的social life了,但是很多事情一个人是没办法想清楚的,于是第一次找了心理咨询师。约了一个以life transition见长的咨询师,询问他如何进行生活的转变,我其实并没有抱有什么期待,因为我知道没有人可以真的指导另一个人怎么生活。没想到意外给了我很多启发。他并没有给我什么具体的人生秘诀,只是向我提问。同时也建议我回到最基本的问题,从那里开始探索所有的问题,比如我的基本价值观,比如我的人生的不同维度的评估等等。很多时候人受困于自己的视角,能有人和你真诚地对话、给你启发,真的很棒,再次感谢我那些只和我聊形而上抽象问题的朋友们。 这些对话都成了后来我思考的契机,我开始思考我到底想要什么,三十而立,我想要一个答案。其实我心里一直都有隐约的答案,只是自己的犹豫让我不敢去看。年底的时候总算有时间休了一个长长的假期,在国内的时候我花了很长时间去想这些问题,又和很久不见的朋友们见了面。于是我总算做了一个重要的决定,希望作为来年的主题。 最后引用一段我最近总是看到的话作为2023年的结尾。 你的人生是你体验的总和。也就是说,你人生里做的每一件事——你每天、每周、每月、每年及一生仅一次的所有体验——都决定了你是谁。当回顾自己的人生,你体验的丰富程度将决定你对自己人生充实程度的判断。因此,你理应认真思考自己想要获得何种体验,并努力进行规划。如果没有这种仔细的规划,你注定会跟社会上很多人一样按部就班、随波逐流地过完一生。你最终也会到达终点(死亡),但是,你这趟旅程很可能逊色于那种主动选择的旅程。

January 11, 2024 · 飞羽醉月

30岁的祝福

朋友很快就要过30岁生日了,于是30岁这个词突然又出现在我的生活里。送上什么样的祝福语,让我踌躇良久。 我在内心里总把30岁当作人生中非常特别的一条分割线,当还没有越过这条线的时候,还可以安慰自己说你还年轻,很多事情还有时间,你还能再犯错再折腾;而线的那头仿佛是某种让人惶恐的新生活的开始,尽管那只是又一天的开始,和昨天,和明天,全无区别。人总是会无来由地相信一些东西,新年的时候我会写下New Year Resolution,期待在这个自己觉得特别的时间点上,接下来的生活也许会有某种变化。尽管事后回头看发现每年的Resolution都只是把前一年的日期改了改。 很多时候这一切都被我有意无意地忽视了,而每每又会因为种种契机而想起来。年龄焦虑自从来了美国之后已经淡化了很多,但是更深层次的,对现状的不满却从来没有减轻过。我很喜欢电影《一一》,原因是它一直在提醒我。 你不在的时候,我有个机会去过了一段年轻时候的日子。本来以为,我再活一次的话,也许会有什么不一样。结果……还是差不多,没什么不同。只是突然觉得,再活一次的话,好像……真的没那个必要,真的没那个必要。 我像是在和脑海中幻想的那个风车做斗争,它们仿佛代表着火光渐渐熄灭、生活趋于重复的意象。而越临近三十岁,这种摇摇欲坠的感觉就越强烈。 过去的一两年我都在追问自己,我到底是怎样的一个人,我又想要什么的生活,我依旧没有一个答案。不知道等到我三十岁生日的时候,我知不知道自己想要什么样的祝词呢?

October 7, 2023 · 飞羽醉月

沟通的框架

因为种种契机,偶尔会和同事聊聊职场的一些问题,记录一下,整理思路,也希望能对其他人有所帮助。 沟通是什么? 是以想要的方式把想要表达的信息传达给对方的手段。 好像有一种迷思,觉得人应该如实把内心的想法原样说出来,这样才是真诚的表现。如果由于种种动机,见人说人话见鬼说鬼话,沟通就一下变成了一个道德问题,演化成了关于人到底是不是虚伪或者功利的讨论。 但是沟通其实只是一个手段,运用的方法,存乎一心。核心是你要通过沟通达到你想要的目的,这一点在职场里尤为重要。 职场的有趣之处在于很多利益关系可以摆在台面上来说,每个人都需要主动去争取自己的利益。而在规则之内,谁都想争取到最多的利益。好在这不是一场零和游戏,也不是有限游戏,所以如何既能争取利益,又不做的太绝,能继续把游戏玩下去,也是一门技艺。而沟通,则是这门技艺的核心。 沟通有两个核心部分:内容和方式。 内容主要是在解决是什么的问题。是什么讨论的是你想要传达的内容是什么。假如你们在开项目研讨会,内容可能很明确,就是围绕项目的问题或者计划展开。也有很多时候内容不那么明确,比如和老板1:1,你可以聊的内容有很多,但是要聊什么需要进行挑选。 内容和方式是互相影响的,有很多时候内容也是方式的一种。 方式既指媒介,比如通过面对面交谈,又或者书面沟通。也指表述方式,同样一句话有很多种表述方式,但是效果却截然不同。 方式也是最微妙的部分,好在也不是无迹可续。归根结底,是目的决定了方式。你想要传达什么样的信息,给对方一种什么样的印象,这些问题决定了沟通的方式。 比如在汇报项目进展的时候,你可以平铺直叙地说今天做了xx功能。也可以说,今天遇到了一个什么样的困难,这个困难怎么怎么复杂,你怎么怎么解决了。这两者给人的印象是截然不同的。 这里给出一个简单的框架,背后隐含的是一些基本原则,每一个要点都有很多实际的技巧: 明确你的听众是谁 了解你的听众 知道对方对什么感兴趣(聊对方感兴趣的话题永远是最有效的,比如大领导可能更关心高层次的内容,同事可能更关心执行层面的内容) 知道对方的大概的情况(比如对你们要聊的话题了解多少,需不需要抽时间解释相关的背景知识) 知道对方的沟通模式(比如是喜欢简洁明了,还是喜欢了解细节) 思考你想要达成什么目的 表现自己? 寻求帮助或者合作? 突出困难? 思考怎么样表达能够更好地实现你的目的(很多时候同样的事实可以表述出完全不同的感觉) “侧重” “误导” “夸大” 反馈分析(根据结果调整你的说话策略) 未完待续。 以上更多是框架性的讨论,有了框架,进一步需要的是具体的技巧和实践。框架和技巧就像是道与术的关系。有了考虑整体问题的框架,可以随着时间的推移,慢慢往里面填充更多的具体技巧,再去实践,就可以真正内化和提高自己的沟通能力。

August 18, 2023 · 飞羽醉月

程序员职业发展

从新人到L1 从新人到L1更多是技术能力上的考验,证明你能够把本职工作做好,这个时候需要的更多是硬实力:编程的能力、简单的设计能力。能够把一个定义好的问题妥善地解决,就达到了L1的要求。这个阶段下更多专注于技术解决方案,遇到一个问题,怎么样分解成可以编程解决的问题,在规定的项目期限内完成代码和测试工作,并部署到生产环境里。只要能够证明自己拥有这些能力,就达到了L1的标准。 上面更多是从全局的角度讨论一个L1应该具有哪些能力。 如果拆分开来,技术能力里包含了很多细小而具体的能力,这里试着列举几个: 能够熟练地使用项目需要的编程语言。 学习并掌握公司内部工具的使用,比如内部的测试框架、内部的部署流程等等。 同时这里也有很多隐含的非技术能力,同样也试着列举几个: 准确清晰地说清楚你在做什么,做了什么。 了解提问的智慧。 而加入一个新公司或者初入职场的时候,也有很多重要的事情要做,试着列举一些: 了解组里的概况,首先是本组的职责以及边界,具体拥有和维护哪些代码。 组里目前最重要的项目是什么,每个组员都在从事什么项目。 组里本年度的计划是怎样的,未来的路线图是怎么样的。 同事们性格如何,老板性格如何。 熟悉组里的代码。 熟悉公司的内部工具和Workflow,比如代码的管理 -> 代码的测试流程 -> 代码的审阅 -> 代码的合并和部署的流程。 从L1到L2 从L1到L2相对比较容易,大部分时候工作几年就会自然晋升到这个阶段。而比起上一个阶段,这个阶段的要求也只是稍微提高了一些。 技术上,要能够从独立完成一个定义好的问题 -> 能够自己解决一个中等规模的问题,这类问题往往复杂一些,但这种复杂更多是实现的复杂,而非问题的复杂。问题相对来说还是比较清楚的。在接到这样一个问题的时候,思考如何提出一个解决方案,写出一份技术设计文档,然后实现它。这样的问题通常不会涉及到太多的系统,也不会涉及到太多外部的组。可以看到比起L1来说,了解如何设计一些简单的系统,并且能够把这个设计付诸实践,就是最大的变化。这也是了解[[系统设计]]的开始,这是一条漫漫长路,这个阶段对此要求不高。 从非技术的角度来说,这个阶段沟通的重要性就开始体现了。理清问题,和PM沟通,和其他组沟通,和组里其他同事讨论设计等等,这些都需要沟通。当你完成了代码,你也需要通过沟通,来让其他人了解你的成果1。 另一个重要的能力就是写文档。清楚地描述问题和清楚地解释方案都是非常重要的技能。 从L2到L3 从L2 -> L3是一个非常大的分水岭,大部分公司里都把L3叫做Senior Software Engineer,很多公司会把L3作为terminal level,意即这可能是大部分人职业的终点,公司不再对员工有升职的要求,常年呆在这个级别也不会被开除。不同公司的要求对此可能不同,你不一定需要做到这里说到的所有要求,但是你迟早应该朝着这个方向前进。 第一点是心态上的转变,要从Independent -> Self Guide。意即不要止步于服从命令,而是开始自己思考,形成自己的判断和观点。这些判断和观点很多是从经验而来的,经验需要慢慢积累,需要多经历。但是这个心态和态度的改变可以从这个时候开始。 具体来说,L2的时候你可能更多是按照其他人的需求或者已经设计好的要求做事,比如PM说我们需要实现XX功能,其他人写好了设计文档,让你按照要求进行实现。L3的时候你应该开始问自己,为什么这么设计,这么设计好吗,有没有别的实现。XX功能能够实现,但是这些实现是为了短期还是长期?这背后真正想要解决的问题是什么,有没有可能这个功能其实并不是能解决的问题的办法。你和PM应该是平等合作的关系,你应该提供Engineer的视角的建议、策略、想法2。 进一步地,你应该开始从全局思考问题,有没有可能做得更好,当前的需求有没有可以优化的,当前的日常工作有没有可以提高的。从长远来看,这个功能真的是我们想要的吗,它可以在更长的时间范围内有效吗,如果从更长的时间考虑这个问题,我应该怎么设计。 一个完整的软件开发流程可能包含下面这些步骤。发现问题 -> 找到问题的实质 -> 找到需求 -> 确认需求 -> 协调并领导会议 -> 进行设计 -> 追踪进度 -> 实现功能 -> 测试 -> 上线 -> 后续追踪,级别越高,需要参与的环节越多,实现功能只是其中一个环节,可能反而是花时间精力最少的环节。 因为很多时候你需要给不了解情况的人解释,听众可能是有技术背景的人,也有可能是没有技术背景的人,弄清楚受众是非常重要的。这直接决定了你应该采取什么样的方式解释问题,是技术细节还是全局地解释。 ↩︎ 都行、随便、无所谓,这样的没有态度/观点/偏好其实是不受欢迎的,哪怕这是你真实的想法,你也应该解释背后的理由和动机。 ↩︎

February 25, 2023 · 飞羽醉月