我在一家梦想公司担任专业开发人员的头四年。以及我离开的原因。

2025-05-27

我在一家梦想公司担任专业开发人员的头四年。以及我离开的原因。

你是否好奇开发者职业生涯的最初几年是什么样的?又或者,你已经是一名开发者,但却发现很难更上一层楼?嗯……我想说,这完全正常。在这个视频中,我将带你回顾我在一家快节奏的初创公司担任开发者的最初几年,向你展示我学到了什么、我是如何学习的,以及这一切的感受。

在开始之前,我想说,这段视频是为我自己未来的发展准备的日记。它很长,但也很有必要,因为它概述了我作为开发者的最初几年,以及那段时间我真实的思考过程。我希望它能起到一个示范作用,告诉大家,晋升之路并非一帆风顺,前进的道路上有所犹豫完全没问题。

我是如何在爱沙尼亚最酷的初创公司之一找到工作的?

加入之前,我已经做了多年的自由职业者。这份工作很有趣,但到了一定程度,也开始感到孤独。就在那时,我决定是时候提升我的开发技能了,于是我开始寻找开发工作。有了扎实的作品集,我更容易获得面试机会和录用通知。最好的录用通知来自一些规模较小的机构,他们看中了我精通WordPress的能力。但我的目标并非获得高薪,而是不断成长。当Pipedrive公司的面试官告诉我,我掌握了一些初级技能,但也列举了许多可以改进的地方时,我被深深吸引。

加入后,我立刻就明白了这家公司为什么如此优秀。我获得了为期两周的正式入职培训,同事们都很聪明、乐观,并且充满“我能行”的积极态度。通过每周定期的一对一交流,我获得了快速的反馈,这帮助我成长为一名优秀的个人和开发者。最棒的是——我们玩得很开心!各种团队活动、公司聚会和传统活动都是 Pipedrive 的重要组成部分。

虽然公司环境很棒,但我很快就明白,要想成功,必须提升自己的编程和解决问题的能力。我的旅程就这样开始了。

第一年——学习我并不像我想象的那么聪明

我加入 Pipedrive 时,以为会很轻松。起初,我以为只会待一年,积累一些专业经验,但没想到。我的 CSS 和 JavaScript 技能其实很肤浅。我懂写代码,但代码维护和性能都不太好。我尤其记得一次前端任务,代码审查结束后,同事告诉我,光是做好事情是不够的,我们必须把事情做好。最初的震惊让我幡然醒悟,并激励我全力以赴。

通过结对编程,我成长了很多。我还进行了非常棒的一对一交流,他们推荐书籍,指导我关注哪些方面,并分享我的担忧和疑问。所有这些都激励着我继续前进。

在我任职的第一年,我还几次设法搞垮了我们的网站。一开始,我真的很生自己的气,不停地问自己,我怎么会这么做。但之后,他们又问我学到了什么。从那以后,我一直努力保持这种心态——不去责怪别人,而是去解决问题,并教育他人。

在第一年结束时,我想证明我已经变得更好了,并决定承担在 NodeJS 中重构我们的路由系统的任务。

回想起来,我的第一年就像在陌生的环境中学习游泳一样。我加入的时候非常自信,但当我发现之前的技能不够用时,我彻底崩溃了。我很高兴,因为这真的让我想要提升自己。除了技术技能之外,我还学到了关于开发流程、产品思维以及创业公司运作的新知识。

第二年——升职了。也意识到爱上自己的想法有多危险。

我第二年的工作是从完成路由系统的大规模重构开始的。我感到非常自豪,因为在代码审查期间,我的一位同事兼导师告诉我,初级开发人员不会写出这样的代码。

不久之后,在一次 1:1 会面中,好消息传来——我因为自己所希望的确切原因而获得晋升——积极主动、能够真正完成任务、展现出我可以进步并拥有寻求挑战的态度。

虽然我期待升职,但我并不认为自己完全配得上这个职位。但后来发生了一件意想不到的事情——一些更有经验的开发人员离开了团队,这促使我和我的团队成员更加积极主动。

其中一个项目是使用 Redis Sentinel 构建内存数据库编排系统。这个项目完全超出了我的舒适区,我几乎是日以继夜地埋头苦干。

在我们团队与其他团队合并,并引进一些经验丰富的后端开发人员后,这个项目才刚刚起步,我花了大约四个月的时间才完成。说实话,我记得当时很开心,因为我可以深入学习 Consul、Docker Swarm、编写 Shell 脚本和 Redis,还能拿到报酬。我还有机会和我们的 DevOps 团队结对编程。

但最大的教训是什么?首先,我们必须不断质疑自己的工作究竟能带来多少价值?其次,如果成本最低,选择简单的解决方案也无妨。

随着时间的推移,我更加专注于FE,并开始指导实习生。这是一个很好的机会,不仅能让我理清自己的知识,还能对他人的职业生涯产生影响。

总而言之,我认为我在 Pipedrive 的第二年是最有收获的一年。从技术角度来看,深入探索未知的概念很有趣,尽管它并没有带来任何商业价值。我很感激,因为我学会了倾听周围人的意见、倾向于简单的解决方案以及在必要时做出妥协的重要性。

第三年——软技能和技术改进之间的反复

第三年开始进展缓慢。我仍然参与导师项目,然后加入了一个项目,继续构建我们新网站的 FE(VueJS)。由于我过去做过很多 VueJS 开发,所以感觉很自在。

我们的新网站上线后,我加入了一个纯后端项目,深入了解后端的运作方式。我亲眼见证了创建使用事件驱动架构连接数十个其他微服务的系统需要经过多少讨论和规划。随着公司转向使用 Kafka,我们的项目也成为了该技术的先驱之一。最终,我获得了后端相关的技术知识,并向自己证明了,除了后端之外,我也可以轻松地在后端系统中工作。

在后端项目期间,我还加入了前端委员会,致力于改善我们的开发者社区。这让我有机会组织聚会和工程训练营,我非常喜欢这些活动,因为我可以锻炼我的沟通和组织能力。现在回想起来,我相信这让我成为了一名更优秀的项目经理。

下半年,公司萌生了在公司设立实习项目的想法。我们和另外两位开发人员一起,采纳了这个想法,制定了切实可行的计划,并确保我们能构建实际的项目。回想起来,我认为我们做得非常出色——一切都经过深思熟虑,所有实习生都找到了真正的工作。从我个人角度来看,这也是一个绝佳的机会,因为我有机会领导该项目中最大的项目,同时也能提升我的 React 技能,因为我团队的大多数项目都是用 Vue 开发的。

那一年以一场精彩的圣诞派对结束。那段时间我非常享受在公司的时光,尽管我记得自己越来越想成为一名高级开发人员。

第 4 年——产生影响,但仍然不快乐

第四年初,我的经理告诉我,我将晋升到中级的最后一个级别。下一步就是成为一名高级开发人员。
我既高兴又难过——为晋升感到高兴,但又有点沮丧,因为我原本希望成为一名高级开发人员。不得不说,这是一个很难接受的话题,因为我总是把自己和团队里的开发人员以及公司里的其他开发人员进行比较。

经过一番自我反思,我意识到虽然我一直努力超越预期,但总是忙于太多不同的领域。我需要专注于特定的领域,也就是前端开发。由于实习项目仍在进行中,我的首要目标是成功完成它——确保项目顺利完成,并让所有实习生都入职。结果真的做到了!!!他们三个都成了我们公司的初级开发人员(在这里,我必须向所有参与该项目的其他开发人员致以最诚挚的谢意)。

实习项目结束后,我是时候提升我的 FE 开发技能了。幸运的是,当时有人在讨论重组我们公共服务部门的 FE 组件。我毫不犹豫地接受了这个提议,因为我对这件事很有主见,而且我发现无论是底层设计系统还是组件库都存在缺陷,必须由一个既了解设计人员又了解开发人员的人来妥善处理。而我觉得自己可以成为这样的人。

一切似乎都按计划进行。我们与设计师和开发者们就设计系统举行了研讨会,突然间,新冠疫情席卷全球。我不想深入探讨这个话题,但总的来说,这意味着公司不得不做出一些艰难的决定。除此之外,我们还不得不裁员,并冻结所有与推广相关的活动。

对我来说,这意味着我们的设计系统项目被推迟了,我加入了另一个团队的项目,这个项目在业务上更紧急。现在回想起来,对我个人来说,这是一件好事,因为我可以做一些更高级的 React 开发。

大约在同一时间,越来越多的招聘人员开始联系我(也许是因为这个渠道?)。起初我告诉他们我不感兴趣,但后来我突然意识到——这是一个测试我技能的机会,同时也能看看其他公司在做什么。我把它看作是一个机会,让我可以证明,一旦疫情结束,我有资格成为一名高级开发人员。接下来的几个月,我都在忙着 ReactJS。我在家工作,大部分时间都是和我的一位好同事结对编程。

其他团队的项目在仲夏完成了。我休了个短假,之后终于可以开始我们新的设计系统和组件库的项目了。我们有两名设计师和四名开发人员(包括我在内)。不必太深入探讨这个话题,但那段时光真的非常有趣,因为我再次领导了一个团队,对新设计系统的创建产生了影响,同时也提升了我的 React 技能,因为我们团队中一位开发人员的水平确实高出一筹。

我感觉这就是我想做的事情——和优秀的人一起完成重要的项目。话虽如此,我却并不真正快乐。我感觉少了点什么。我有点倦怠,但我知道还有更多的东西。由于我也积极地去其他公司面试,离开这家公司的念头便浮现在我的脑海里。

有一次,一位大学时代的朋友写信给我,说一家初创公司正在招聘一名全栈产品工程师。我当时被深深吸引,因为这家公司涉及人工智能、心理学和政治等主题。我本来以为自己不会通过面试,但后来他们给了我一份工作。起初我拒绝了,但最终我还是决定离开(我将在下一篇文章中分享我当时做决定时的一些分析)。

十月份,我给团队做了一次关于新设计系统及其配套组件库的演示。我觉得我们做得不错。
就在大家准备离开的时候,我让他们多待几分钟,宣布我要离开公司了。

我休了一个月的假,因为我感觉真的精疲力竭了。(我已经在另一个视频里分享了我的经历,我会在视频简介里分享)。假期结束后,我回来待了几天,看看组件库的进展,并向Pipedrive所有优秀的员工告别。在办公室的最后一天真的很难熬。但我很高兴,因为我做了一个决定,让我进入一个既能学习新知识,又能运用我现有技能的环境。

正如你所看到的,在公司的第四年,也就是最后一年,我真正专注于一件事,那就是产生影响并获得晋升(尽管最终我在那之前就离开了公司)

结论

这并不容易。四年后,我敢说 Pipedrive 是一家很棒的公司。产品、技术、愿景都很棒。但最重要的是——这里的人。他们充满动力,拥有“我能行”的态度。如果有人问我,为了成为一名开发者,应该加入哪家公司,我会推荐 Pipedrive。

我在公司里仍然有一些想实现的目标,但我感觉自己已经不再尽力了。所以,接下来……好吧,四个月过去了,我可以说,我的选择是正确的,因为我认识了很多优秀的新朋友,学到了新技术,也能够充分发挥我所有的技能。

关于最终决定离开公司,我分析了多个方面。我的下一个视频将讲述我离开公司时的思考过程,希望大家在遇到类似情况时能从中汲取一些经验。

我希望我四年的历程能让你明白努力工作、保持谦逊和专注的重要性,尽管我有时也会迷失方向。尽管如此,我仍然很高兴,因为我通过公开演讲、组织活动,甚至最终开设了一个 YouTube 频道,获得了新的技能。因此,我想在最后说,保持你的成长心态,寻找机会走出你的舒适区,无论是垂直还是水平方向。


还有一个无耻的宣传 - 如果您对编码、成长心态感兴趣并愿意分享您的经验和想法,那么请在 Twitter 上给我发私信 :)!

DeveloperHabits
📷 Youtube:developerHabits
👉 Twitter: https: //twitter.com/developerHabits
👉 IG: https: //www.instagram.com/developerhabits

文章来源:https://dev.to/kethmars/my-first-4-years-as-a-professional-developer-in-a-dream-company-and-why-i-left-166d
PREV
SOLID——简单易懂
NEXT
使用 Next.js 将 WordPress 配置为无头 CMS