薪资计算器只计算收入多少,编写程序,换算每份工作时消耗的内心热情值,优先推荐热情损耗最低的岗位,而非单纯高薪岗位。
项目名PassionCalc — 内心热情值岗位推荐系统一、实际应用场景描述在心理健康与创新能力课程中有一个被广泛验证却难以落地的命题薪资本身不是动力热情才是可持续创造力的燃料现实场景包括- 高薪岗位让人看起来成功内心却日益枯竭- 职业选择工具只对比薪资、福利、通勤时间- 没有人量化每天上班前你是期待还是抗拒- 长期热情损耗导致职业倦怠Burnout创造力归零心理学与创新研究指出- 内在动机Intrinsic Motivation比外在奖励更能驱动创造力Deci Ryan, Self-Determination Theory- 热情损耗是职业倦怠的早期信号Maslach Burnout Inventory- 长期做高薪但无意义感的工作创新产出反而下降PassionCalc 的目标不是劝你别赚钱而是在职业决策中把内心热情损耗从隐形感受变成可量化、可对比的结构化指标二、引入痛点现有薪资计算工具的盲区维度 薪资计算器 PassionCalc核心指标 月薪、年薪、税后 热情值、意义感决策导向 收入最大化 热情损耗最小化隐性成本 忽略 核心考量输出结果 这份工作值多少钱 这份工作消耗你多少真实痛点- 职业选择 人生最大决策之一工具却只算钱- 高薪 好工作的默认假设无人挑战- 热情损耗是软性的缺乏可操作的记录方式- 创新课程讨论内在动机但学生缺乏个人实验工具三、核心逻辑讲解先讲思想核心隐喻薪水是外在回报热情是内在资本——后者耗尽前者毫无意义程序做了什么1. 定义热情值评估维度- 意义感是否认同工作的价值- 自主性能否主导自己的工作方式- 成长感是否在学习和进步- 社交滋养同事关系是否 energize- 心流频率是否经常进入专注忘我状态2. 每份工作 一组维度评分- 每个维度 1-10 分- 综合计算热情净值3. 引入热情损耗率概念- 不是静态评分而是每天消耗多少- 高薪但低热情 高损耗- 中薪但高热情 低损耗4. 推荐逻辑反转- 传统按薪资排序取最高- PassionCalc按热情损耗排序取最低关键设计原则- 不否定高薪的价值- 不替代薪资计算而是平行增加热情维度- 所有评分主观自评程序只做结构化呈现四、代码模块化设计项目结构passion_calc/│├── README.md├── requirements.txt├── main.py├── core/│ ├── passion_metrics.py # 热情值维度定义与计算│ ├── job_profile.py # 岗位档案│ ├── comparator.py # 岗位对比与推荐│ └── reporter.py # 报告生成└── data/└── job_profiles.json五、核心代码实现Python1️⃣ 热情值维度定义与计算passion_metrics.py# core/passion_metrics.pyfrom dataclasses import dataclassfrom typing import Dict, List, Optionaldataclassclass PassionScore:一份工作的热情值评分全部为主观自评无客观标准meaning: int # 意义感1-10我觉得这份工作有价值吗autonomy: int # 自主性1-10我能自己决定怎么做吗growth: int # 成长感1-10我在变强吗social_energy: int # 社交滋养1-10周围人让我更有活力吗flow_frequency: int # 心流频率1-10我常进入忘我状态吗def validate(self):for field_name, value in self.__dict__.items():if not 1 value 10:raise ValueError(f{field_name} 必须在 1-10 之间当前为 {value})def raw_score(self) - float:热情原始分简单平均values [v for v in self.__dict__.values() if isinstance(v, int)]return sum(values) / len(values)def weighted_score(self) - float:加权热情分意义感和自主性权重更高基于 Self-Determination Theoryweights {meaning: 0.30,autonomy: 0.25,growth: 0.20,social_energy: 0.15,flow_frequency: 0.10,}score 0.0for dim, w in weights.items():score getattr(self, dim) * wreturn round(score, 2)def to_dict(self) - Dict:return {meaning: self.meaning,autonomy: self.autonomy,growth: self.growth,social_energy: self.social_energy,flow_frequency: self.flow_frequency,raw_score: round(self.raw_score(), 2),weighted_score: self.weighted_score(),}class PassionCalculator:计算热情损耗率核心公式热情损耗率 1 / 加权热情分热情分越低 → 损耗率越高 → 越不推荐def compute_drain_rate(self, score: PassionScore) - float:热情损耗率每天上班消耗多少内心燃料范围约 0.1极低损耗~ 1.0极高损耗weighted score.weighted_score()# 避免除零if weighted 0:return 1.0drain round(1.0 / weighted, 3)return min(drain, 1.0) # 上限 1.0def interpret(self, drain_rate: float) - str:将损耗率翻译为可读提示if drain_rate 0.15:return 极低损耗 — 这份工作在滋养你elif drain_rate 0.25:return 低损耗 — 热情可持续elif drain_rate 0.40:return 中等损耗 — 需要主动补充能量elif drain_rate 0.60:return 高损耗 — 长期可能倦怠else:return 极高损耗 — 警惕职业枯竭设计说明热情损耗率 1/热情分这个倒数关系模拟了热情越低每天消耗越剧烈的非线性感受2️⃣ 岗位档案job_profile.py# core/job_profile.pyfrom dataclasses import dataclass, fieldfrom typing import Optionalfrom .passion_metrics import PassionScoredataclassclass JobProfile:一份工作的完整档案包含薪资传统维度和热情值新增维度name: strcompany: strannual_salary: float # 年薪万元passion: PassionScore # 热情评分work_hours_per_week: int 50 # 周工时commute_hours_per_day: int 1 # 单程通勤notes: str def daily_drain(self) - float:每天消耗的热情值from .passion_metrics import PassionCalculatorcalc PassionCalculator()return calc.compute_drain_rate(self.passion)def weekly_drain(self) - float:每周总消耗return self.daily_drain() * self.work_hours_per_weekdef annual_drain(self) - float:年化热情消耗return self.weekly_drain() * 52def salary_per_passion_unit(self) - float:每单位热情消耗的薪资回报类似性价比但反过来你每损失 1 点热情赚回多少万if self.annual_drain() 0:return float(inf)return round(self.annual_salary / self.annual_drain(), 2)def summary(self) - dict:return {岗位: f{self.name} {self.company},年薪(万): self.annual_salary,周工时: self.work_hours_per_week,通勤(h/天): self.commute_hours_per_day,热情加权分: self.passion.weighted_score(),日损耗率: round(self.daily_drain(), 3),年损耗总量: round(self.annual_drain(), 1),万元/损耗单位: self.salary_per_passion_unit(),解读: PassionCalculator().interpret(self.daily_drain()),}设计说明salary_per_passion_unit 是最反直觉的指标高薪岗位如果热情损耗巨大这个比值可能很低3️⃣ 岗位对比与推荐comparator.py# core/comparator.pyfrom typing import Listfrom .job_profile import JobProfilefrom .passion_metrics import PassionCalculatorclass JobComparator:对比多份岗位按热情损耗排序推荐def __init__(self, jobs: List[JobProfile]):self.jobs jobsself.calc PassionCalculator()def rank_by_drain(self) - List[JobProfile]:按热情损耗从低到高排序损耗越低越推荐return sorted(self.jobs, keylambda j: j.daily_drain())def rank_by_salary(self) - List[JobProfile]:按薪资从高到低排序传统方式return sorted(self.jobs, keylambda j: j.annual_salary, reverseTrue)def rank_by_efficiency(self) - List[JobProfile]:按万元/损耗单位排序综合考虑薪资和热情的性价比return sorted(self.jobs,keylambda j: j.salary_per_passion_unit(),reverseTrue)def comparison_table(self) - str:生成对比表文本格式lines []lines.append(f\n{ * 100})lines.append(f{热情损耗排序:^100})lines.append(f{ * 100})ranked self.rank_by_drain()lines.append(f\n{排名:4} {岗位:35} {年薪:8} {热情分:8} {日损耗:8} {年损耗:10} {解读})lines.append(- * 100)for i, job in enumerate(ranked, 1):summary job.summary()lines.append(f{i:4} {summary[岗位]:35} f{summary[年薪(万)]:8} f{summary[热情加权分]:8} f{summary[日损耗率]:8} f{summary[年损耗总量]:10} f{summary[解读]})lines.append(f\n{ * 100})lines.append(f{传统薪资排序对比:^100})lines.append(f{ * 100})salary_ranked self.rank_by_salary()lines.append(f\n{排名:4} {岗位:35} {年薪(万)})lines.append(- * 50)for i, job in enumerate(salary_ranked, 1):lines.append(f{i:4} {job.name} {job.company:25} {job.annual_salary})# 关键对比best_drain ranked[0].name if ranked else N/Abest_salary salary_ranked[0].name if salary_ranked else N/Alines.append(f\n 关键对比)lines.append(f 热情损耗最低{best_drain})lines.append(f 薪资最高{best_salary})if best_drain ! best_salary:lines.append(f\n ⚡ 热情推荐 ≠ 薪资推荐 — 这正是本工具存在的意义)return \n.join(lines)设计说明三种排序损耗 / 薪资 / 效率并列呈现让使用者看到不同价值观下的不同答案4️⃣ 报告生成reporter.py# core/reporter.pyfrom .comparator import JobComparatorclass Reporter:生成岗位热情分析报告def __init__(self, comparator: JobComparator):self.comparator comparatordef generate(self):print(self.comparator.comparison_table())# 额外洞察jobs self.comparator.jobsif len(jobs) 2:returnprint(f\n{ * 100})print(f{ 深度洞察:^100})print(f{ * 100})# 洞察 1薪资与热情的相关性salaries [j.annual_salary for j in jobs]passions [j.passion.weighted_score() for j in jobs]# 简单相关系数教学用avg_salary sum(salaries) / len(salaries)avg_passion sum(passions) / len(passions)numerator sum((s - avg_salary) * (p - avg_passion)for s, p in zip(salaries, passions))denom_s sum((s - avg_salary) ** 2 for s in salaries) ** 0.5denom_p sum((p - avg_passion) ** 2 for p in passions) ** 0.5if denom_s 0 and denom_p 0:corr numerator / (denom_s * denom_p)print(f\n1. 薪资与热情的相关性{corr:.2f})if corr 0:print(f → 负相关薪资越高热情可能越低需要警惕)elif corr 0.5:print(f → 正相关薪资与热情方向一致较为理想)else:print(f → 弱相关薪资和热情基本独立需要综合判断)# 洞察 2万元/损耗比print(f\n2. 薪资-热情综合效率排名)eff_ranked self.comparator.rank_by_efficiency()for i, job in enumerate(eff_ranked, 1):eff job.salary_per_passion_unit()print(f {i}. {job.name} {job.company} — 每单位损耗赚 {eff} 万元)print(f\n 教学提示)print(f 1. 本工具不替代职业决策只提供结构化视角)print(f 2. 热情评分完全主观建议间隔 1-2 周重复评估)print(f 3. 同一岗位在不同阶段热情评分可能变化)print(f 4. 高薪低热情不一定是坏事关键是你要知情选择)5️⃣ 主程序main.py# main.pyfrom core.passion_metrics import PassionScorefrom core.job_profile import JobProfilefrom core.comparator import JobComparatorfrom core.reporter import Reporterdef main():# 定义几份候选岗位实际应由用户输入jobs [JobProfile(name高级后端工程师,company大厂 A,annual_salary65,passionPassionScore(meaning4, # 做业务系统意义感一般autonomy3, # 需求驱动自主性低growth5, # 技术栈成熟成长中等social_energy4, # 团队氛围尚可flow_frequency3 # 很少进入心流),work_hours_per_week55,commute_hours_per_day1.5,notes高薪但重复性工作居多),JobProfile(name独立开发者,company自由职业,annual_salary30,passionPassionScore(meaning9, # 做自己热爱的产品autonomy10, # 完全自主growth8, # 什么都得学social_energy5, # 独处多社交少flow_frequency8 # 经常进入心流),work_hours_per_week45,commute_hours_per_day0,notes收入不稳定但极其充实),JobProfile(name产品经理,company中厂 B,annual_salary45,passionPassionScore(meaning7, # 影响用户生活有意义autonomy6, # 有一定自主权growth7, # 跨部门协调学习面广social_energy6, # 人际密集flow_frequency5 # 偶尔心流),work_hours_per_week50,commute_hours_per_day1,notes平衡型选择),]# 对比分析comparator JobComparator(jobs)reporter Reporter(comparator)reporter.generate()if __name__ __main__:main()六、README 文件# PassionCalc一个内心热情值岗位推荐工具。## 目的- 在职业决策中引入热情损耗维度- 不替代薪资计算而是与之并列- 帮助个人做出知情选择而非盲从高薪## 使用说明### 运行环境- Python 3.8- 仅使用标准库### 启动bashpython main.py### 添加岗位修改 main.py创建 JobProfilepythonfrom core.passion_metrics import PassionScorefrom core.job_profile import JobProfilejob JobProfile(name你的岗位名,company公司名,annual_salary40, # 年薪万元passionPassionScore(meaning7, # 意义感 1-10autonomy6, # 自主性 1-10growth7, # 成长感 1-10social_energy5, # 社交滋养 1-10flow_frequency4 # 心流频率 1-10),work_hours_per_week48,commute_hours_per_day1)### 热情维度说明| 维度 | 问题 ||---|---|| meaning | 我觉得这份工作有意义吗 || autonomy | 我能主导自己的工作方式吗 || growth | 我每天都在进步吗 || social_energy | 同事让我更有活力还是更疲惫 || flow_frequency | 我常进入忘我的专注状态吗 |## 输出内容- 三种排序热情损耗 / 薪资 / 综合效率- 每份岗位的详细指标- 薪资与热情的相关性分析- 教学提示## 适用场景- 职业选择决策辅助- 心理健康课职业倦怠预防模块- 创新能力课程中的内在动机讨论- 个人年度复盘## 核心原则- 所有评分为主观自评- 不替代决策只提供视角- 高薪 ≠ 坏选择低热情 ≠ 不能选- 关键是知情而非正确七、核心知识点卡片去营销化卡片 1内在动机与外在动机- 关键词Self-Determination Theory、Deci Ryan- 要点外在奖励金钱短期有效内在动机意义感、自主性才是创造力的长期燃料卡片 2职业倦怠的早期信号- 关键词Maslach Burnout Inventory、情感耗竭- 要点热情损耗先于身体症状出现是更早、更敏感的预警指标卡片 3多维度决策模型- 关键词加权评分、价值观澄清、知情选择- 要点好决策不是选最好的而是知道自己选的是什么八、总结工程师视角这个程序不是在劝你别赚钱而是在悄悄追问一个更深的问题。技术层面- 用不到 300 行标准库代码构建了一个反主流的职业评估框架- 三种排序并列呈现拒绝唯一正确答案-salary_per_passion_unit 这个指标本身就是一种价值观宣言心理层面- 把上班前的内心感受从模糊情绪变成可观察、可记录、可对比的数据- 帮助使用者从我是不是不够努力的 self-blame转向我的热情在怎样被消耗的self-awareness最终价值不是告诉你别去大厂去追梦而是给你一个安静的工具让你在拿到 offer 的那天能诚实地问自己如果我五年都做这份工作我的热情账户会怎样答案没有对错——但看见本身就是力量。利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛

相关新闻

飞牛NAS打造私人证件照工坊

飞牛NAS打造私人证件照工坊

目录 一、部署 1.启动Docker 2.拉取镜像 3.启动镜像 4.进入应用 二、简单使用 三、进阶使用 四、远程访问 证件照是我们日常生活工作中经常需要用到的。生活在数字时代的我们,当然不会选择去“照相馆”,我们只需用以前的照片或者手机现场拍照,利用电脑、手机上的“应…

2026/7/14 19:15:57阅读更多 →
Bilibili视频下载技术方案:基于Python的异步并发下载架构解析

Bilibili视频下载技术方案:基于Python的异步并发下载架构解析

Bilibili视频下载技术方案:基于Python的异步并发下载架构解析 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader Bilibili视频…

2026/7/14 19:15:57阅读更多 →
【研发类-编程语言Skills】bash-pro 技能

【研发类-编程语言Skills】bash-pro 技能

生产自动化、CI/CD管道和系统实用程序的防御性Bash脚本编写大师。精通安全、可移植和可测试的shell脚本。 技能概述 bash-pro 技能是一个专业的Bash脚本编写技能,专注于生产自动化、CI/CD管道和系统实用程序的防御性脚本编写。该技能深入掌握安全、可移植和可测试…

2026/7/14 19:15:57阅读更多 →
OpenCV三剑客:抠图、光流与物体追踪实战指南

OpenCV三剑客:抠图、光流与物体追踪实战指南

1. OpenCV三剑客:抠图、流光估计与物体追踪实战指南 计算机视觉正在重塑我们与数字世界的交互方式。作为开源计算机视觉库的标杆,OpenCV在图像处理、视频分析等领域展现出惊人的实用性。今天要探讨的三大核心功能——抠图、流光估计和物体追踪&#xff0…

2026/7/14 20:26:02阅读更多 →
PIC18F2458驱动CMT-8540S-SMT蜂鸣器实现嵌入式声音交互

PIC18F2458驱动CMT-8540S-SMT蜂鸣器实现嵌入式声音交互

1. 项目概述:为DIY项目添加互动声音元素在当今的创客和DIY项目中,交互性已经成为提升用户体验的关键因素之一。声音反馈作为最直观的交互方式之一,能够为各种电子项目增添生动的元素。本文将详细介绍如何使用PIC18F2458微控制器和CMT-8540S-S…

2026/7/14 20:26:02阅读更多 →
深度学习全景解析:从核心概念到全球格局与未来趋势

深度学习全景解析:从核心概念到全球格局与未来趋势

1. 深度学习的本质与核心架构深度学习的革命性突破始于2006年Hinton团队在《科学》杂志发表的论文,这项技术本质上是通过多层非线性变换构建的机器学习模型。与传统的浅层网络相比,其核心差异体现在三个维度:层级深度:典型深度网络…

2026/7/14 20:26:02阅读更多 →
GitHub爆火HTML教程:交互式学习与实战解析

GitHub爆火HTML教程:交互式学习与实战解析

1. 项目背景与火爆现象 上周GitHub上一个名为"html-tutorial"的开源项目突然爆火,短短几天内就斩获6100 Star,成为近期最受开发者关注的学习资源库。这个由国内开发者jaywcjlove维护的HTML教程仓库,用最接地气的方式系统梳理了从HT…

2026/7/14 20:26:02阅读更多 →
VS2022+Qt5.14.2+MySQL8.0完美配置指南

VS2022+Qt5.14.2+MySQL8.0完美配置指南

一、在 Qt 中配置 MySQL 1.1 常见问题与解决方法 1.1.1 遇到的问题 没有 Src 目录MSVC 2017 显示黄色感叹号编译时报找不到 cmake.exe 1.1.2 问题原因分析 第 3 个问题可能的原因: 仅安装了 Qt Creator 而未安装 Qt SDK(含 MinGW/MSVC 等编译器&#xff…

2026/7/14 20:21:02阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/14 15:07:30阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →