欢迎访问shiker.tech

请允许在我们的网站上展示广告

您似乎使用了广告拦截器,请关闭广告拦截器。我们的网站依靠广告获取资金。

程序员的成长与转型攻略
(last modified Nov 30, 2024, 5:26 PM )
by
侧边栏壁纸
  • 累计撰写 190 篇文章
  • 累计创建 65 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

程序员的成长与转型攻略

橙序员
2024-11-30 / 0 评论 / 0 点赞 / 105 阅读 / 3,592 字 / 正在检测百度是否收录... 正在检测必应是否收录...
文章摘要(AI生成)

本文是一篇读书笔记,总结了《程序员的成长课》中关于程序员生涯规划的内容。文章提到了选择技术方向的三阶段模型,包括专项能力提升、技能体系构建和融合创新。此外,文章还讨论了如何综合考虑多方面因素选择技术方向、判断发展前景、持续精进工作、提升自己以及如何成为一名优秀的管理者。此外,文章还提到了跳槽的时机和简历优化等内容。总的来说,本文全面探讨了程序员们在职业发展中需要考虑的方方面面,包括技术发展、个人成长、管理能力等。

本文为一篇《程序员的成长课
的读书笔记,主要探讨程序员的生涯规划。

如何选择技术方向

技术成长拥有三阶段模型,分别为专项能力的提升、技能体系构建以及融合创新。其中,融合创新意味着跳出细枝末节,从框架和逻辑的角度去剖析真正的问题究竟是什么、问题的目的何在、问题的现状怎样以及该如何去解决。

在选择技术方向时,我们需要综合考虑众多因素,例如就业机会、难易程度、个人兴趣、薪水高低、发展前景、他人推荐,还有与已掌握知识的相近性、互补性以及所在团队的知识技术图谱。判断发展前景有两种策略,其一为林迪效应,即一项技术存活的时间越久,其预期剩余寿命就越长;其二是卡位策略,也就是看到某种技术在未来会具有稀缺性且非常有价值,从而选择提前介入,让自己在未来具备竞争优势。与已掌握知识的相近原则和互补原则能够为我们构建起技能树。

此外,方案选型要考虑问题最适用的技术、新技术的成熟度、生态、团队的技术图谱以及技术引入的成本。

如何在技术上持续精进

工作的维度可以分为三类:数据和信息处理、人际交往、事务性操作。

找到适合自己的工作维度,分析自己的成就感来源,并预想自己未来的样子,以此来判断自己是继续做技术还是转向管理。

提升自己有两种方法。一种是对标管理法,可以从优秀的人、一般性规律、技术本身的知识层次(基础开发-内核原理-框架优化)、项目指标中寻找标杆;另一种是拿来即用,包括阅读别人的文章、学习优秀的源码、参与开源项目、撰写技术博客等。

设定目标时可以遵循 SMART 原则,即目标必须具体(Specific)、必须可以通过数量和行为等方式得到衡量(Measurable)、目标必须可实现(Attainable)、与自己的其他目标有一定的相关性(Relevant)、目标必须有明确的截止期限(Time-bound)。

在制定目标的实现计划时,有四个秘诀:动词开头,内容清晰,描述结果,设定时间节点。

持续精进的四个习惯包括对标管理、思考三个问题(我昨天完成了什么,遇到了哪些问题,我今天做什么)、刻意练习(目标、专注、反馈、修正)、复盘(事件触发型复盘或周期性复盘)。

习惯的养成需要找到内在驱动力、降低改变的难度、让改变可视化、给予奖励,并允许偶尔一两次例外。

资源、应用流程、价值观是一个人的核心竞争力。资源包括知识、技能、时间、金钱、人脉、天赋等;应用流程即解决问题的方法、思维的框架、分配资源的方式、自我管理的模式等;价值观则是判断什么是重要的,明确要什么不要什么以及如何决策。

软件开发有两个层次:体力化的代码编写与思考层面的创造。决定程序员是否有优势的,是应用流程方面的能力。

成为技术管理者

程序员的发展有五大职能定位:专业技术者、自由职业者、管理者、创业者、投资者。管理者通过他人工作,把组织目标拆解成执行层面的任务,委派给专业技术者等执行人员。作为管理者,要把更多的精力放在人身上,通过让人来完成事情。

要想做好管理者,必须做好四方面事情:了解每个人的性格特长和原则诉求,拆解团队目标为小的任务,为每个人制定 OKR 或 MBO,及时给予下属反馈。

管理者负责技术、项目、人事三方面的职责。而技术管理比普通开发更需要以下几种能力:

  1. 共情,尊重并体谅下属;

  2. 以交付为目标,以人人满荷为策略委派任务;

  3. 能够统合目标,即将上级目标没有误差地转换为自己团队的目标,一方面需要具备解释公司目标、团队目标的能力,能够将团队目标准确地表述出来,另一方面又能共情,理解每个团队成员的诉求;

  4. 反馈,从感谢、建议、评估三个方面入手,做好对下属的反馈;

  5. 辅导,协助下属完成工作,可以遵循 GROW 模型:设定目标(Goal)、分析现状(Reality)、选择方案(Option)、该做什么(What),何时(When),谁做(Who),意愿(Will)。在辅导过程中多共情,多反馈,多提出开放性问题;

  6. 选择,围绕着你的目标进行选择,识别关键要务,要事优先。只有顶住压力,做好团队隔离墙,才能更有效地实现目标;

  7. 复盘,分析现实和目标的差距,项目管理做得好与差的方面,团队成员做得好的原因和不好的原因以及改进措施,自己的管理,上司的满意程度,以及与上司的沟通等。

成为管理者的方式有:技而优则管,从打杂到管理,从大公司跳到小公司。作为开发者,有极大可能通过第一种方式走到管理岗位,如果技术能力一般,就必须通过别的方式让别人意识到你是有管理能力的,这种方式就是跳出职责范围去打杂、为领导分担他不愿做又必须完成的工作。

管理新人面临的挑战

管理新人挑战时,可以采用以下措施:

  1. 角色转变:一定要把更多的精力放在人、流程、项目上。可以和信任的同级别小伙伴沟通、阅读、参加培训、寻找导师来顺利完成角色转变。

  2. 被动管理:即问题驱动的管理方式。一方面要主动在项目前期花费更多时间明确任务目标、资源、风险。另一方面也要多与下属沟通,对其工作和生活都有所了解。

  3. 弄不清职责:可以与有经验的同事多沟通,与上司多沟通,和支持部门多沟通。

  4. 委派任务:既要让某位成员做其擅长的,又要给他一些超出能力范围带些挑战的;既要给某位成员愿意做的,又要给一些他不是很乐意的任务。要做到让大多数人满意,而不是所有人满意。

  5. 目标管理:搞清项目的意义,通过 SMART 原则指定一个有效的目标。

  6. 资源管理:物资和时间。时间方面要做好排期,不要把开发人员的时间排满,只排 70%;安排工作不要计算加班时间;遵循串行工作原则,不要同时安排多个任务,即使有多个任务,也要按优先级给出时间划分。

  7. 压力管理:换个角度看问题,寻找情绪宣泄的合理方式。沟通不畅时学会暂停,思考解决问题的其他办法。

  8. 冲突管理:竞争、回避、退让、妥协、合作。

  9. 有效的反馈机制:自我评估、下属反馈、同级反馈、上级反馈。

  10. 他人议论:观察结果是否达到预期;和下属定期一对一沟通;定期和上司沟通。

  11. 和下属沟通:在开始时阐明目的,为沟通定调;分享事实经过和你的想法;征询对方观点,鼓励对方做出尝试。

  12. 怕犯错:勇于承担责任,时刻牢记公司、团队、项目目标,差异化管理,重视思想和认知改变,建立反馈机制。

  13. 时间管理:时间管理的重点就是管理下属占用的时间。学会授权:“XXX 由你来决定,我完全不参与;XXX 设计好找我确认,其他方面的问题你可以随时找我,除非你觉得有用,我才乐意帮助你。”

  14. 激励他人:经济刺激,大棒政策,动因理论,以及工作的隐形价值。了解员工为什么在这工作,让每个人都有参与感。

  15. 向上管理:有意识地配合上级一起工作,理解老板,了解老板的处境为他排除困难,把老板当成鲜活个体,了解老板的强项和弱点,让老板知道你打算做什么,珍惜老板的时间和资源,管理双方的预期和目标。

疲惫了?是否要跳槽

跳槽的最好时机就是你觉得真的该离开了,一天也不愿意再呆下去了。

与目标相关的跳槽就是好的跳槽,反之就是坏的跳槽,持续性积累非常重要。

跳槽的一个重要考量是下一个岗位提供给我们什么发展空间和成长机会。

选择之前,可以判断这个机会是否符合你的职业目标;选择之后,你可以观察自己的感受。

如何进行简历优化

简历优化分为以下几步:明确你想要的工作特征,盘点你的价值和亮点,寻找机会,招聘信息分析,进行简历优化。

分析一下你对当前工作有什么不满,把你的不满列出来,这些不满的反面,可能就是你想要的工作特征。

盘点自己知识和技能时,可以从技术、管理(组织力、委派任务、目标整合)、通用(演讲、反馈、时间管理、目标管理)等方面考虑。

结合应聘岗位突出自己某方面的能力,隐去其他方面的能力。在项目经历优化时,可以突出项目中用到的与目标职位匹配的技能,描述你做的事情,量化取得的成绩。项目经历可以参考 STAR 原则:情景(项目描述和项目背景)、任务(项目目标)、行动(做到的事项)、结果(项目成果)。

可以对自己感兴趣的公司分类:最想去、想去、一般想去的公司,按照倒序顺序投递简历。

如何获得想要的薪水

首先明确自己想要的工作特征,盘点自己的价值点,寻找与价值点相匹配的工作机会,然后了解市场行情,根据市场行情做好自我评估,最后搜索目标岗位的薪资水平,根据职位描述有针对性地优化简历,并搜集常见的面试题精心准备。

能决定给你发多少薪水的是招人部门的领导或者他的领导,而不是 HR。在应聘时绝对不要主动提薪水,而是等他们主动来问你,你要给出自己期望的薪水范围,这个薪水范围正好夹住他们薪水范围的上限。

厌倦了?是否转型

开发者的行业属性有两种:计算机软件和软件所属行业。而转型则有三种情况,行业不换,职能转换;职能不变,行业转换;行业、职能都转换。

如何确认你想做的职业,可以通过下面几步:罗列感兴趣的或印象深刻的人事物;分析他们关联到的职业,形成清单;对清单进行信息搜集分析,筛选出感兴趣的职业;选择某个职业,学习相关的知识技能;业余时间做做看。

转型时可以采用双职业策略:保持当前工作,业余时间丰富目标职业所需知识、技能,尝试用技能变现,当新技能带来的收益超过生存线或者新技能可以帮助你找到新工作时,再切换到目标职业。

转型充满了不确定性,不要在乎他人的看法,切记:你不是你的工作;你不是你的标签;你不是别人对你的评价;而别人的评价不会改变已然发生的事实。

0

评论区