关于个人成长与职业规划的思考

2024-03-01 03:52

本文主要是介绍关于个人成长与职业规划的思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1.为什么离职?
  • 2.过去的成长?
  • 3.关于技术的思考
  • 4.个人的产出
  • 5.个人职业规划
  • 6.思考

1.为什么离职?

选择离开曾经努力想去的公司,主要有两点:
一是业务方面。公司发展与业务受限,看不到未来的增长。
二是技术方面。如果业务没有增长,那么对于技术的要求也就不会加深,长期来看,对个人成长也是不利的。

2.过去的成长?

  • Owner 意识。

一个需求,一个模块,甚至整个系统,在推动落地的过程中,会出现一些边界不清晰的工作,如果时间允许,力所能及,要主动承担。如果涉及多个依赖方,那么要积极主动去推动,作为多方的粘合剂,打通阻塞点。日常运营维护的过程中,经常也会有一些线上的告警问题去跟进,即使不是自己的模块,也要以主人翁的心态,第一时间去暴露、推进、解决问题。

  • 敬畏发布,做好代码测试与发布观察。

线上 90% 的故障都是发布带来的。即使一个非常小的改动,那么也要做好测试。

系统是一个整体,多个功能特性会相互交织。即使自己的代码没有问题,也不能保证不会影响到其他模块。有时,线上潜在的问题,可能因为新的特性变更被暴露出来。即使你发布的特性是没有问题的。

再如仅仅升级一个依赖库的版本,也会引入问题。再权威的官方,也不能保证他们的代码没有问题。

比如之前遇到 GORM 的一个升级,作者在新版本中引入 bug,并发调用 Save 保存记录会出现主键冲突。

所以需要做好验证与发布观察。

  • 产品意识。

技术服务于产品,做好产品是最终的目的。当面对多种多样的需求时,我们既要从技术角度给出建议,也要多从用户的角度去思考,和产品同学一起,做出更受欢迎的产品。

3.关于技术的思考

  • 没有银弹,没有最好的技术方案,只有最合适的技术方案。

在软件开发领域中的一个重要观点,即没有一种万能的解决方案,也没有绝对最好的技术方案。相反,选择的技术方案应该是最合适的,根据具体的需求、情境和约束条件来决定。

这也告诉我们,脱离业务场景谈技术方案都是耍流氓。

需求多变:软件开发项目的需求通常是多变的,可能会受到市场、用户、技术和竞争等因素的影响。因此,没有一种技术方案能够适用于所有情况。

技术发展迅速:技术领域的发展速度非常快,新技术不断涌现,旧技术也在不断演进。因此,当前最好的技术方案可能会在未来被取代或者改进。

项目约束条件:每个项目都有其独特的约束条件,包括时间、成本、人力资源、技术栈、安全性等方面。选择最合适的技术方案需要考虑这些约束条件。

团队技术栈:团队成员的技术背景和经验也会影响技术方案的选择。选择与团队熟悉的技术可以减少学习成本和风险。

因此,在选择技术方案时,需要综合考虑以上因素,权衡利弊,选择最适合当前情况的方案。最终的目标是在满足项目需求的同时,尽量减少风险、提高效率、保证质量。

  • 不要过度设计。

不要执着于高大上复杂的技术,只要完成需求,解决问题的技术就是好技术。

有时,为了解决一个问题,需要引入新的组件。那么这个时候就要小心了,引入新的组件,可能会引入新的问题和维护成本。

换种思路去思考解决,是不是也可以。

假设我们在做个性化推荐服务时,需要从用户中心获取用户的个性化数据,以便代入到模型里进行打分排序。但如果用户中心服务挂掉,我们获取不到数据了,那么我们要自己保存维护一份数据吗?显然增加了系统的复杂性。比如我们可以采用降级兜底的策略,可以在本地 cache 里放置一份热门商品以便兜底。

  • 技术和产品的关系?

产品驱动技术:在某些情况下,产品的需求和愿景是首要考虑的,技术则是为了实现这些需求而存在的。产品定义了技术的目标和方向,技术团队根据产品需求进行技术选型、开发和优化。

技术支持产品:另一方面,产品的实现离不开技术的支持。技术决定了产品的性能、功能、用户体验等方面,技术的选择和实现直接影响了产品的质量和竞争力。

但永远要知道:技术是手段,产品是目的。

4.个人的产出

  • 思考总结方法与经验,输出分享,帮助他人。
  • 团队规范制定,实施与文档总结沉淀。
  • 团队组件、公司组件与外界组件的建议与贡献。

5.个人职业规划

作为一名程序员,我会从以下几个方面来考虑规划职业:

  • 技术深度与广度:首先,你可以思考自己的技术深度与广度。在后台开发领域,可以选择专注于某一种技术栈或框架,深入研究其原理和实践应用,也可以尝试学习和掌握多种技术,提高自己的技术广度。根据自己的兴趣和职业目标,找到适合自己的技术发展路径。

  • 项目经验积累:通过参与各种规模和类型的项目,积累丰富的项目经验。参与项目的设计、开发、测试和维护,提升自己的实战能力和问题解决能力。不断挑战自己,扩展自己的视野和技能。

  • 持续学习与自我提升:后台开发领域的技术变化非常快速,持续学习是非常重要的。通过阅读书籍、参加培训课程、观看教程、参与开源项目等方式,不断提升自己的技能和知识水平。

  • 跨领域合作与沟通能力:除了技术能力外,跨领域合作和沟通能力也非常重要。与产品经理、设计师、测试工程师等其他团队成员合作,学会有效沟通和协作,共同推动项目的进展和成功。

  • 个人品牌建设:在技术社区、博客、GitHub等平台上分享自己的技术见解、项目经验和成果,建立个人品牌和影响力,吸引更多的关注和机会。

  • 职业目标和规划:根据自己的职业目标和兴趣,制定个人的职业规划。定期对自己的职业规划进行评估和调整,根据个人成长和行业发展趋势做出相应的调整和计划。

6.思考

我一直在问自己一个问题,我给他人带来了什么?

这篇关于关于个人成长与职业规划的思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/761136

相关文章

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

【编程底层思考】详解Java的JUC多线程并发编程底层组件AQS的作用及原理

Java中的AbstractQueuedSynchronizer(简称AQS)是位于java.util.concurrent.locks包中的一个核心组件,用于构建锁和其他同步器。AQS为实现依赖于FIFO(先进先出)等待队列的阻塞锁和相关同步器提供了一套高效、可扩展的框架。 一、AQS的作用 统一同步状态管理:AQS提供了一个int类型的成员变量state,用于表示同步状态。子类可以根据自己

一道算法题引发的动态内存管理的思考

在做PKU2762时,需要建邻接表。 于是按部就班写了下面一个插入边到邻接表中的函数: const int VMAX = 1010;typedef struct Graph{int vex;Graph* next;}Graph;Graph ArcGraph[VMAX];void insert(int u, int v){Graph* t = new Graph;Graph*

go 和 java 技术选型思考

背景:       go和java我这边自身都在使用,感受比较深,java使用了有7年多,go也就是今年开始的,公司需要所以就学了使用,发现这两个语言都很好,需要根据场景选择,我写下我这边的看法。 关于go和java语言层面和特性就不说了,网上都有,我这边从我这边实际使用的场景情况来说,供大家参考。 给我最大的感受,php转go的不少,也是符合未来技术大趋势的,目前来看,java转go也比较

思考自己写博客的意义

感想 从今年2月份开始,我就要求自己以每周4篇的速度写博客。然而问题是:每周的空闲时间是不稳定的,这导致我没法保证花费相同的时间去输出稳定质量的博客。当时间不够时,我将面临选择:是减少数量来保证稳定的质量,还是降低质量来保证稳定的数量? 我选择的是——牺牲质量。因为,相比于“质量”,“数量”是准确可见的。我担心:一旦有一次没能完成目标数量,便会出现“破窗效应”,让我潜意识里再也不认同“目标”了

【面试个人成长】2021年过半,社招和校招的经验之谈

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 长话短说。 今天有点晚,因为一些事情耽误了,文章发出来有些晚。 周末的时候和一个知识星球的读者1对1指导了一些应届生的学习路径和简历准备。 因为马上就要秋招了,有些公司的提前批已经启动。2021年已经过半了,各位。时间真是太快了。 正好周末抽了一点时间看之前买的关于面试的电子书,针对校招和社招的面试准备和需要注意的点在啰嗦几句。 校

是时候重新思考你的Google广告策略了吗?

以产品为中心、仅以关键词为焦点的广告活动是 谷歌广告中常见的一种活动类型。 如果你销售复古女式T恤,你可能会设置基于“复古女式T恤”关键词的独立关键词广告活动。 对于许多B2C零售商来说,这种方法效果不错。但是,对于其他一些商家来说,基于产品和关键词的广告活动并不一定是最好的策略。 比如说,我们接手了一个新的B2B客户的谷歌广告账户,其所有广告活动都是以产品为中心、仅关注关键词的广告活动。

【编程底层思考】如何检测和避免线程死锁

一、什么是线程死锁? 线程死锁发生在多个线程因为争夺资源而相互阻塞,导致程序无法正常结束的情况。例如,线程A持有资源2并等待资源1,线程B持有资源1并等待资源2,这样就形成了死锁。 二、如何检测死锁? 使用jmap、jstack等命令行工具查看JVM的线程栈和堆内存情况,jstack可以显示死锁信息。使用VisualVM、JConsole等图形化工具进行排查。例如,JConsole可以连接到