首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

  • 24-11-11 20:14
  • 3347
  • 670834
juejin.cn

本文是结合自己的工作经历,以及当下的就业形势,来聊聊自己的经历和职业规划。程序员如何延长自己的职业寿命,提示自己的价值。欢迎大家在评论区留言,给出你的见解,我就抛砖引玉,先说说我自己的想法。

为什么考虑做全栈?

来目前这家公司快一年半时间了,目前这家公司是做国产桌面端工业软件的,职责是全栈工程师岗位。今天就来聊聊,我自己从前端到全栈的学习成长经验,和大家一起持续学习,共同成长。
先来说说我认识的前端的角色。前端主要是负责页面逻辑和交互,前端也可以做一些基建。结合我经历过或者我周边同事做工作内容,前端就业方向主要这么几个方向。跨平台移动端方向、 性能优化方向 、交互设计方向(动画)、数据可视化方向、工程化方向、桌面端开发。

为什么会过渡到做全栈呢?

  1. 首先当然是目前的公司业务架构中需要全栈的人员。
  2. 做了这么多年前端开发,对服务端有一定的基础了解,结合当前目前内卷的前端就业环境,也希望自己能在站在一个更大的视野中去发挥自己的能力,给自己后续更多的选择。
  3. 提升综合的能力,有了全栈的开发的经验,看问题和解决问题更加全面,有完整技术链的能力。无论是以后考虑做独立开发者,或者退一步失业后自己接活干都能技术的基础,你总不能说我只开发前端吧。(哈哈,在有主业的情况下不建议接私活,有那时间提升自己才是关键)。

目前形势对比

我目前这份工作是 2022 年投的简历找的,当时还在疫情当中,经济形势也不是太好。但当时我投递以后面试机会还是挺多的,我两周面试了十几家。
其实我每年都有出去面试的习惯,去看看当前的就业市场如何。今年我也面过几家,有两家大厂,5家中小公司。最终收到两个 offer,一份是做 Electron 桌面端开发的,一份是全栈开发。薪资都是平薪。当然我也没有去。主要考虑因素有几个:

  1. 我目前这份工作时间比较短。
  2. 没有行业积累,需要跨行业转。
  3. 确实没必要,当前这份工作其实需要一定的上手难度,但是我已经可以独当一面了。

职业思考

确实工作了六七年的前端以后,我越来越多的思考,前端岗位的价值。前端核心的竞争力到底是什么?开发的同学可能会习惯性的思考,我会什么?

  1. 熟悉 Vue/React 源码。
  2. 熟悉 CSS3,以及各种交互动画。
  3. 前端工程化。
  4. 了解各种工具、规范、lint。
  5. 设计模式、数据结构、算法。

那这些最终产生了什么价值?
会源码可能可以帮你更快的排查出问题所在,会 CSS3 可以让你写出更炫酷的页面交互,会各种基建能帮助你提效,使用各种规范能保证我们项目更加稳定,会设计模式、数据结构算法,可以帮我们写出更高性能可维护的应用。
所以这些最终的目的就是让我们交付给客户的应用更加好,无论是缩短交付时间、提供更好的性能体验、更好的交互方式、更稳定的版本。我们最终服务的还是客户。客户有什么诉求,我们能更好的服务,这就是我们的价值。

未来规划

有了上面的思考以后,我们的重心不完全是放在这些技术实现上,我记得一句印象深刻的话,原话我忘记了,大概意思是,你的能力在解决任何单个问题的时候都不是问题,单个问题的复杂度不会很高,你要有全局的思维,系统性的思考如何解决问题
那如何让自己有全局的思维能力呢,而不仅仅是拘泥于某个技术细节上呢?
我目前的想法是要具备 架构思维 和 组长思维。

为什么要有架构思维

来看看几个场景的场景,你就知道为什么要有架构思维:

场景1

当你维护一个老项目的时候你可能会吐槽,这代码为什么设计的这么烂。明明可以直接xxx,这代码居然需要xxxx才能完成。

由此可见,如果一个项目整体结构设计不合理,对于后续维护的开发者是非常不友好的。明明有更好的实现方式,但由于之前的设计方式,被迫要“降级”写出跟前人一样“香”的代码。

有人问说你可以重构代码呀?重构是有风险和成本的。

  • 可能存在隐性的 bug,例如隐性的依赖关系,调用时机依赖等等,你需要对原来的代码整体梳理一遍。对它有十足的把握。
  • 时间成本,企业没有时间给你动不动重构的时间,你需要尽快完成功能需求。
  • 测试成本,你开发完还需要测试对重构有回归,回归的范围有多大,是否可控,这些你真的清楚吗。

所以综合下来看,在最开始给出好的架构设计是多么的重要。

场景2

假设你去客户现场,需要跟客户讨论下一期的方案和规划,你需要对业务整体有一个认识。面对客户的提问你需要从客户的角度去解释。这可能需要涉及到概念架构或者具备相关的领域知识。否则一个程序员是很难和一个客户有效的沟通的。

也许你会说,程序员为啥要见客户呢。也是大部分程序员是不需要出差的,但我目前这份工作确实需要去客户现场,加上我们需求是分期迭代交付的,客户现场部署和解决问题的时候需要解答客户的疑问。如果没有相关的领域知识和概念架构的了解。也许在沟通上就会造成很大的障碍,我们不仅仅写代码解决 bug,也能作为一个项目负责人,支撑起这个项目。

为什么要有组长思维

小组长作为公司的执行层,起到承上启下的作用,对上接受领导各方面的战略规划,对下将信息传达给组内各个成员,分工协调、做好风险评估、疑难杂症问题救火。

所以小组长一般是一个很复合的人,既需要技能拔尖,又需要懂人性和管理,但其实手中并没有多少实权。所以在有限资源里把小组作为一支队伍管好是一件有调整的事情。

作为小组长你首先具备解决问题的能力、需要有沟通的技巧(向上汇报,向下教导、分配)、需要有协作能力。你就是将老板的或者上级的战略目标拆解落地的人,但这个过程中单靠你一个人的力量是不够的,所以你需要充分发挥团队的力量。

如何打造一个高效、有目标、有质量的团队是非常考验小组长的个人能力的。所以市面上小组长这样级别的技术人的能力是参差不齐的,如果你能遇到这样一个领导,成长和提升也会比较快。

如果你想要做成一件事你必须要有小组长思维,这里说的事指的是从头到尾负责项目落地。而不是只作为流水线上的一环只负责手头上那点内容。这样哪怕有一天你不做一线技术开发,你个人带团队也是一条不错的出路。

行业认知

拿 SysML 公司和支付公司 对比,通过以上表格,可以清楚地看到 SysML 公司和支付公司在市场定位、技术重点、法律法规、商业模式和人才需求等方面的显著差异。

所以在你进入某个行业以后,会发现这个行业特性,如果你深耕某个行业,你会形成对行业更深的理解。对于前端开发人员来说,技术的壁垒其实并不是很高,如果加上你有行业理解的壁垒,你会在这个行业有更长久的发展。

方面SysML 公司支付公司
行业背景- 系统建模语言(SysML):
用于系统工程的建模语言,广泛应用于航空航天、汽车、国防等领域。
- 市场状况:
市场需求主要来自大型企业和研究机构。
- 竞争格局:
市场竞争相对较小,但技术门槛较高。
- 支付解决方案:
提供在线支付、移动支付、跨境支付等服务,广泛应用于电子商务、零售、金融服务等领域。
- 市场状况:
市场需求巨大,尤其是随着电子商务和移动支付的普及。
- 竞争格局:
市场竞争激烈。
技术特点- 建模工具:
开发和维护系统建模工具,如建模编辑器、模型验证工具等。
- 集成能力:
与其他工程工具和管理系统集成,提供完整的解决方案。
- 标准化:
遵循国际标准和规范,如 OMG(Object Management Group)的标准。
- 支付网关:
开发和维护支付网关,处理支付请求和交易。
- 安全技术:
采用先进的安全技术,如 SSL 加密、双因素认证等,保护用户数据和交易安全。
- 移动支付:
开发移动支付应用,支持多种支付方式和设备。
商业模式- 软件销售:
销售建模工具和相关软件产品。
- 咨询服务:
提供系统建模和工程管理的咨询服务。
- 培训服务:
提供系统建模和工具使用的培训课程。
- 交易手续费:
收取每笔交易的手续费。
- 增值服务:
提供数据分析、营销支持等增值服务。
- 合作伙伴:
与银行、商户、第三方服务提供商建立合作关系,拓展业务范围。
法律法规- 知识产权:
保护软件和工具的知识产权。
- 数据安全:
确保客户数据的安全性和隐私保护。
- 金融监管:
遵守金融行业的监管要求,如反洗钱(AML)、了解你的客户(KYC)等。
- 数据保护:
遵守数据保护法规,如 GDPR(通用数据保护条例)。
- 支付标准:
遵循国际支付标准和协议,如 PCI DSS(支付卡行业数据安全标准)。
人才需求- 系统工程师:
具备系统工程和建模知识的专业人才。
- 软件开发人员:
熟悉建模工具开发和集成的技术人才。
- 咨询顾问:
提供系统建模和工程管理咨询服务的专业人士。
- 软件开发人员:
具备支付系统开发和维护经验的技术人才。
- 安全专家:
负责支付系统的安全性和合规性。
- 产品经理:
负责支付产品的设计和优化。
- 市场营销:
负责市场推广和客户关系管理。

最后

经过上面的梳理,我个人确定全栈开发的技术路线,在工作和学习的过程中去储备自己行业认知、架构能力、小组长思维等软实力。这是我对开发者未来规划的看法,欢迎大家在评论区留下你的看法和思路。或者能够给别人带来一些启发。最后祝大家都能在自己的技术开发生涯中走的更加顺利!

注:本文转载自juejin.cn的三只萌新的文章"https://juejin.cn/post/7423577881957777419"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

142
代码人生
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top