这个系列是《软技能》一书的摘抄整理。这本书名声在外,读过后发现并没有那么好。一来是内容比较水,废话太多;二来掺杂着大量的俗套励志段落,还包含一些不靠谱的建议(理财)。
尽管如此,经过提纯后,书里还是有一些有价值的信息,可以算是程序员基本常识。对刚刚入行,或是打算做程序员的人来说会比较有帮助。
这个系列会有 4 篇文章,分别对应职业、自我营销、学习和生产力 4 个主题。我会抽取书中有价值的部分,适当进行改写和扩充。欢迎评论补充相关信息,或是纠正错误观点。
1. 绝不要做他人都在做的事
- 对待职业的首要原则:程序员要主动管理自己的职业生涯,「工作是属于公司的,而职业生涯却是属于你自己的」。
- 当你为了谋生一头扎进写代码的世界时,其实你和中世纪小镇上开铁匠铺的铁匠没什么差别。
- 把自己当做是一个公司,而不是打工者。把雇主当做是你的软件开发企业的一个客户。你的工作就是出售你提供的服务。
- 集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务。你只有真正专注于一类客户,才能找到非常好的工作。
2. 必须要设立自己的人生目标
- 为了安逸,我们倾向于遵循已经设计好的路线。缺乏对人生目标的具体认知。「死都不怕,就怕不安逸。」
- 大目标必须足够清晰,比如你希望自己 5 或 10 年后在哪里,获得怎样的成绩。最好把大目标写在纸上,放在每天能看见的地方。
- 逆向反推,将大目标分解为每年、每月、每周、每日的小目标。
- 定期检查和调整目标。
3. 选择职业类别
可选项通常有三种:
类别 | 好处 | 坏处 |
雇员 | 稳定的收入;相对轻松的工作 | 固定的收入;不自由 |
自由职业(比如做外包、培训、咨询) | 自由;有赚钱的潜力 | 考验自制力;应付更多的事情;可能会找不到项目 |
创业 | 巨大的赚钱潜力;完全自由 | 风险巨大;需要学习大量的技能,包括市场营销、管理、财务等;可能需要长时间高强度工作 |
通常情况下,你会先做一份全职工作,积累了实力和各类资源后,再考虑尝试自由职业或创业。确保你做好了准备,比如积攒了能够维持数年开支的积蓄,以便应对没有稳定收入的情况。
你可以在业余时间启动你想创建的业务,等能从这项业务中产生足以维持生计的稳定收入时,再考虑辞职。采用这种方式时,确保你和公司签订的劳动合同里没有规定你的所有工作成果(包括业余时间,或是使用公司资源的情况下)都归公司所有,如果有相关条款,可以考虑咨询律师。
4. 选择技术方向
- 对于自由职业 / 创业者来说,通常会选择有潜力的小众市场。这对选择技术栈同样适用,尝试在一个专业方向上拥有专长(专业化),比如 Python 开发、Python Web 开发、Python 特定 Web 框架开发三者的专业化程度逐渐递增。
- 专业化的规则是:专业化程度越深,潜在的机会就越少,但获得这些机会的可能性越大,竞争者也更少。
- 可以尝试发展两个方向,选择这两个方向的交叉点作为职业方向。比如会 Excel 的老师,会英语的导游,会编程的律师,都要比普通的老师、导游和律师更有竞争力。
- 但同时注意不要只会某种语言和专业方向,否则会因为行业变化而被淘汰。先从专业化开始,再拓展分支。
- 避免陷入对某一技术的狂热之中,这会让你在职业生涯之路上走得更远。不要试图寻找最好的语言、框架、操作系统和文本编辑器,更没必要为此浪费大量时间进行争论。
- 对技术保持开放的心态,而不是固守自己已经了解的技术,声称它是最好的,你会发现更多的机会为你敞开大门。
5. 选择公司
类别 | 好处 | 坏处 |
小公司(创业公司) | 面临更多的挑战;容易建立影响力;回报潜力大 | 可能会身兼多职;工作强度大;稳定性差 |
中型公司 | 工作稳定;加班较少 | 变化很慢;没有机会使用前沿技术 |
大公司 | 完备的流程和规范;培训机会多;大型有影响力的项目 | 官僚主义;只负责代码库的一小部分;很难获得关注 |
考虑自己适合哪一种公司,可以在工作前和目标公司的雇员聊一聊。
6. 破解面试之道
- 让面试官对你怀有好感会有助于通过面试。方式有很多,包括:
- 提前建立个人品牌
- 提前熟悉目标公司的员工
- 内推有推荐人的声望背书,会更容易获得面试机会。
- 想办法与公司内部人员建立联系,比如参加本地开发小组和行业会议,在论坛、IM 群聊、社交网站、GitHub 上建立联系。
- 面试的时候,你要集中精力证明自己就是无需监督也能自动自发做好事情的员工;同时还必须要证明:在技术上你确实胜任工作;最好还能说服面试官相信你非常能干,不会被困难阻挡。
7. 获得晋升机会
- 在任何公司里能让你脱颖而出的最重要法宝就是承担更多的责任。
- 没有人愿意涉足的领域是搜寻机会最好的地方。
- 成为团队中其他人的导师,建立声誉。
- 增加自己的曝光度:做内部分享,发表意见,解决技术难题。
- 关于办公室政治:尽管不能完全避开,但至少应该知道会发生什么,哪种人需要避开,那种人永远不要有交集。
- 如果脚踏实地努力后仍然无法晋升,可以考虑换工作。
8. 成为专业人士
成为专业人士能帮你获得更好的工作和更多的客户:
- 遵守自己的原则。
- 专注于正确完成工作。
- 不惧怕承认自己错了,不会文过饰非。
- 持续稳定。
- 勇于承担责任。
- 完善自己,迎接挑战,而不是降低标准。一旦你越多了底线,选择妥协,就很难回头。
9. 成为自由职业者
你为自己工作的时候通常会比为别人工作时更加努力,但热情通常不会持续很久,你每天真正工作的时间也没有你想象的那么多。缺乏监督可能会让你长久的陷入拖延和偷懒的境地,为此你需要:
- 学习时间管理,并建立一系列日常原则。
- 自我激励,培养自制力。尽量排除干扰和诱惑,让它们远离你的工作环境。
- 适应孤独感,并适时的走出去,参见开发者聚合或行业会议,和其他从业者交流。
获得客户的最佳途径:吸引式营销(inbound marketing)。简单来说,就是免费提供有价值的东西。通过写博客、录视频和播客、演讲等方式提供与自己的服务相关的有价值的内容(大多是免费的)。
你的收费标准应该按照全职工作的两倍时薪收取,因为你通常需要自己缴税,购买商业软件。如果你的工作能够为客户带来更大的价值(提高他们的业务或是节省大量开支),你可以根据你能带来的价值来定价。记得向客户说明为什么你的服务值这个价格。
如何创建你的第一个产品:
- 不要在没有找到客户之前就构建产品。
- 一个产品要解决何种问题,以及目标受众是哪些人,这些问题必须在创建产品之前就弄明白。多和目标客户沟通交流,不断检验自己的想法。
- 捷径是提前在对应的领域建立影响力,通过创建博客,演讲等方式发展受众。
- 通过测试市场来验证你的产品,看看你的潜在客户是否真的愿意为它买单。比如进行一场预售,为提前付费的客户打折,看看有多少人愿意买单。
- 如果是创业产品,那么就从小处着手,关注核心功能实现,快速建立产品原型并上线,及时获得反馈并不断改进,想法行不通就及时脱身。你可能需要重复多次这个过程才能创建一个成功的产品。
10. 成为创业者
- 创业拥有巨大的潜在回报,但也极其危险。
- 大多数创业公司的创始人都有所谓的退出策略,比如:
- 当公司成长到一定规模的时候被收购
- 上市
- 当你有了一个好点子,有技术或是有技术合伙人,你最好还要拥有独一无二的知识产权或行业资源,这可以确保你的产品不会被大公司快速复制。而且你的项目要有规模扩张的潜力。
- 除了持谨慎策略的自力更生型创业公司外,大多数初创公司都希望获得外部投资以快速成长。在开始的时候可以尝试申请加入创业孵化器计划。
- 对创业公司来说,第一个重要里程碑就是获得第一笔资金(种子资金),一般天使投资人会投给早期创业者,即种子轮 / 天使轮。拿到天使投资后你可以雇佣员工,开始扩张。
- 种子基金烧光后,如果你的点子仍然可行,将会获得第一轮投资(A 轮),风险资本通常会在这一轮介入(风险投资人 / 风投)。这之后,大多数创业公司还会经过几轮融资,最后成功实现盈利,或者被收购。
本文首发于公众号「李辉的代码厨房」。