总结前端三年 理想滚烫与现实的冰冷碰撞

总结前端三年 理想滚烫与现实的冰冷碰撞

大家好,我是500佰,技术宅男 目前正在前往独立开发路线,我会在这里分享关于编程技术独立开发技术资讯以及编程感悟等内容

6月3日的一篇《一个普通人的30岁 他经历了什么》介绍一篇自己的碎碎念、即回顾自己以前的成长经历,那么再接着说下这3年来的工作经历,2022年1月,我以一名前端新人的身份开始了职业生涯。每当看到浏览器中运行的网站、手机里流畅的APP,或是点击按钮后转动的loading图标,都会想到这些产品背后凝聚着无数开发者的心血。我既期待能成为这个创造数字世界的一员,又难免担心:自己的技术储备是否足够?会不会被身边优秀的同事远远甩在身后?
怀揣着对未来的憧憬与一丝忐忑,我正式踏入了职业生涯的第一站。

不断尝试和调整的前两年(2022 ~ 2024)

我的职业生涯始于一家颇具特色的企业。原本以为会从事移动应用或网站开发,没想到公司专注于打造一款独特产品——我们开发了一系列可复用组件,配合自主研发的拖拽式平台,能够快速搭建Web站点。这种模式与后来流行的低代码平台颇有相似之处。
作为一名Java工程师加入公司后,却发现实际工作内容与预期有较大差异。当时还不了解’前端开发’这个概念,只是困惑于为何很少接触Java开发,反而需要维护各种组件。初期内心十分抗拒–既没有相关技术储备,又担心长期从事前端工作会导致Java技能生疏,更忧虑职业发展路径的偏离。

随着对前端技术的深入探索,我逐渐发现了这个领域的魅力所在。Chrome浏览器提供的强大调试工具、SublimeVs Code等现代化编辑器的流畅体验,与Java开发中IDEA那种修改代码后需要漫长重启的繁琐流程形成鲜明对比,更加轻量。这种高效愉悦的开发体验,让我逐渐转变了最初对前端工作的抵触情绪,最终不仅接受了这个方向,更开始享受其中的乐趣。

这是一家规模很小的创业公司,办公环境简单明了:公司高管和技术经理、PM等各自有独立办公室,其余员工则集中在一个大开间的办公桌,按职能划分为Tech Team 研发和质量保证团队。由于公司产品以客户端软件为主,版本发布节奏稳定规律,员工们保持着朝九晚六的规律作息。印象中,整个任职期间仅有一次加班到晚上10点,工作氛围轻松,鲜少感受到压力。

在这里插入图片描述

小黄牛总认为安逸是种罪过(总会有种莫名的焦虑感),朝九晚六的稳定工作会让人失去竞争力。在这种想法的驱使下,我开始考虑跳槽。通过梳理日常工作内容,我发现自己从事的工作其实有个专业名称——前端工程师,于是便将这个职位作为新的职业目标。

第一次内推机会来自一家名为鱼无极的公司。面试经历让我记忆犹新:原本以为日常工作涉及的技术已经覆盖前端领域,我信心十足地前去面试,却遭遇了滑铁卢。面试官提出的CSS布局问题让我措手不及——需要在纸上画出一个圆形图片和右侧文字排版的实现方案。由于平时工作中主要使用现成组件,通过组件API来调整样式,这种需要手写CSS解决实际问题的场景完全超出了我的经验范围。

不出所料,这次面试以"回去等通知"告终,但也让我清楚地认识到自身技术上的不足。

这次面试失利让我意识到自己在前端领域的知识储备严重不足,于是决定暂缓求职,转而开始系统性自学。我采取了多种学习方式:研读前端专业书籍、分析H5模板站的实现原理、在博客园研读技术大牛的文章。

在学习过程中,我发现一位博主的前端技术文章质量极高,恰好他的签名栏附有一个vx号。大佬带我入圈,为了达到入群要求,我专门注册了GitHub账号并撰写了几篇技术博客,最终成功加入该群。这个技术交流群后来成为了我学习成长的重要资源库,为后续的进步提供了关键支持。

经过几个月的刻苦自学,我自认为已经掌握了前端开发的基础技能,于是开始在智联\BOSS招聘上投递简历。很快,我收到了一家公司的面试邀请。这次面试过程异常顺利,我成功以前端工程师的职位加入了这家公司。

然而命运似乎总爱开玩笑。入职后我才了解到,公司之所以招聘前端开发,是因为原先的前端工程师突然离职,留下了一堆未完成的项目和一个只有美工背景的同事。这个出人意料的局面,成为了我职业生涯中又一个意想不到的转折点。 还记得入职第一天,用card:nth-of-type(3n+1) 选择器精确控制特定位置的元素样式,避免了使用额外的类名或复杂的JavaScript操作 ,在内心安慰自己:可以了,至少你现在在做正常的前端工作了。

在接下来的几个月里,我逐渐意识到公司对前端工程师的定位与我的预期相去甚远。除了常规开发工作外,我甚至需要协助客户端开发同事完成从Adobe Photoshop软件将设计稿中的元素切割导出为可用于网页或App开发的图片资源切图这样的基础工作。不过值得庆幸的是,公司保持着9:00-18:00的稳定工作时间,这让我有充足精力投入到技术研究中。在这段时期,我成功将LessReduxaxios请求库引入老旧项目,显著提升了开发效率。更令人欣喜的是,我业余开发的一个图片旋转小游戏意外获得了公司的认可,被采纳为公众号的日常互动小游戏。这些小小的成就让我一度觉得工作还算顺心。

然而好景不长,当我在技术方案上与担任Java开发的老板产生分歧时,一句"这是最佳实践方案"的武断决策,彻底浇灭了我的工作热情。这种缺乏技术依据的专断让我倍感无力,也再次萌生了寻找新机会的念头。

职业发展的重要转折出现在一次偶然的社群招聘中。从传统IT企业到互联网公司的面试经历形成了鲜明对比:开放式办公环境、创意装饰、完善的休闲设施展现了完全不同的企业文化。技术面试环节,当被问及技术愿景时,我提出了云端同步工具的开发构想。这次成功的面试使我顺利加入,完成了从传统软件到互联网行业的关键转型。

互联网大潮中的探索与突破 (2025)

入职前已通过技术预研和作业考核(涉及Nodejs、React、nextjs、Koa、Express、Redis、MySQL、RocketMQ、RabbitMQ等技术栈),为后续工作打下坚实基础,使得入职后能够快速适应互联网开发节奏。

“我们不是在建造流水线,而是在培育热带雨林。”–产品的团队leader力还是可以的,业余时产品经理从零食柜能掏出两打啤酒,入职互联网公司后的氛围感让我一个从传统软件行业过来的人觉得非常棒,虽说互联网公司的工作氛围是非常轻松愉快的,但工作内容实打实的带给我了压力,App 功能的迭代是非常迅速的,从项目需求介绍,产品设计、技术选型、技术架构图、业务流程设计这些工程工作量是非常大的,第一次接触到了工程化,当时工程内处于 grunt、gulp 并存的状态,工程又被构建升级为了 webpack,也是经由这些工程能够有场景实际使用 React 来进行开发,在这里第一次接触到了工程上线,H5 也都是采用的 SSR,因此工作中不可避免的接触到了 Node。非常感谢这份工作带给我的成长。在机缘巧合下,总是有机会出现在自己的眼前,每次也都能比较好的抓住,每当重要机会出现时总能及时把握,加上领导的信任,让我的工作成果始终保持在第一梯队,很幸运在职业发展关键节点遇到重要机会。

总结

回顾来看这3年:

  • 记得最初两年就像在迷雾中摸索前行,每次尝试都带着不确定
  • 踏入互联网领域,那些熬夜啃文档、周末泡技术文章的日子,硬生生逼自己一把

我是500佰,技术宅男 目前正在前往独立开发路线,我会在这里分享关于编程技术独立开发技术资讯以及编程感悟等内容给500佰点个赞吧 ~

#前端 #程序员 #编程 #经验

往期推荐

< 上一篇· 程序员都知道日志记录重要,为何还有人在这基本功上栽跟头?

Read more

禹神:一小时快速上手Electron,前端Electron开发教程,笔记。一篇文章入门Electron

禹神:一小时快速上手Electron,前端Electron开发教程,笔记。一篇文章入门Electron

⚠️注意: 1️⃣原视频打包时,是使用electron-builder打包,使用electron-builder打包,打包时要访问github需要修仙术才能访问。 2️⃣本笔记,使用Electron Forge进行打包,使用Electron Forge不需要访问github更友好。在Electron 官网中也推荐使用这种方式 👉Electron 一、Electron是什么 简单的一句话,就是用html+css+js+nodejs+(Native Api)做兼容多个系统(Windows、Linux、Mac)的软件。 官网解释如下(有点像绕口令): Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux—

前端组件库:别再重复造轮子了

前端组件库:别再重复造轮子了 毒舌时刻 这组件写得跟拼凑似的,一点都不统一。 各位前端同行,咱们今天聊聊前端组件库。别告诉我你还在手动编写所有组件,那感觉就像在没有工具的情况下盖房子——能盖,但效率低得可怜。 为什么你需要组件库 最近看到一个项目,每个组件都要手动编写,样式不统一,维护困难。我就想问:你是在做组件还是在做重复劳动? 反面教材 // 反面教材:手动编写组件 // Button.jsx import React from 'react'; function Button({ children, onClick }) { return ( <button onClick={onClick} style={{ padding: '10px 20px', backgroundColor: '#007bff', color: '

Rust WebAssembly开发实战:构建高性能前端应用

Rust WebAssembly开发实战:构建高性能前端应用

Rust WebAssembly开发实战:构建高性能前端应用 一、引言 💡WebAssembly(Wasm)是一种二进制指令格式,旨在提供一种可移植的、高效的编译目标,允许开发者使用多种语言(如C、C++、Rust)编写代码,并在Web浏览器中以接近原生速度运行。它填补了JavaScript在性能密集型任务上的空白,使得在Web端开发高性能应用成为可能。 Rust语言以其内存安全、零成本抽象、高性能和良好的工具链支持,成为开发WebAssembly的首选语言之一。Rust编译器可以直接将Rust代码编译成WebAssembly,并且Rust的标准库提供了对WebAssembly的良好支持。此外,Rust生态系统中还有许多专门为WebAssembly开发的库和工具,使得开发过程更加简单。 本章将深入探讨Rust WebAssembly开发的核心原理,介绍WebAssembly的概念、优势和应用场景,讲解如何使用Rust编译器将Rust代码编译成WebAssembly,以及如何在Web浏览器中调用WebAssembly模块。同时,本章还将通过实战项目演示如何构建一个高性能的前端

前端大数据导出优化:解决Chrome内存崩溃的实战方案

前端大数据导出优化:解决Chrome内存崩溃的实战方案

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[[email protected]] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? * 专栏导航: 码农阿豪系列专栏导航 面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️ Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻 Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡 全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀 目录 * 前端大数据导出优化:解决Chrome内存崩溃的实战方案 * 引言 * 问题分析 * 1. 为什么 Chrome 会崩溃,而 QQ 浏览器正常? * 2. 常见崩溃场景