YouTube上的大神们告诉我升为高级的捷径是他们的99美元的课,但它把我带到了这里?
头衔,并不是一切.
但认为它们毫无意义的想法是可笑的。
软件开发人员(包括我在内)对达到高级水平有一种不太健康的痴迷,但确实有其原因:
在开发者职业生涯的一端,我们有初级开发者
他们数量众多,可替代,并且需要很多指导。他们是重要的投资,但也带有一点冒险。
另一端是老年人。
他们能通过影响代码、团队和流程来影响团队的成功或失败。他们的工资可能是初级员工的两倍。
他们把这些特别棘手的“bug”都解决了。
他们犯了一些代价高昂的错误,也知道了怎么避免这些问题。
不管你信不信,你作为开发者的大部分时间将会处于高级职位。我觉得你应该去争取这个头衔。
很遗憾,你可能也犯了我在努力争取渴望得到的高级职位时所犯的错误之一。
雾蒙蒙的通往资深之路。从初级开发者晋升到中级开发者对于大多数开发者来说是一个小步骤。他们从摸着石头过河,不懂如何像专业开发者那样做出贡献,到能够写出基本可用的代码。他们学会了如何通过标准流程将自己的代码发布出去。
这通常得花1到2年的时间。
从中级晋升到高级的过程并不清晰。每个公司的标准都不一样,也没有一个通用的晋升标准。
LinkedIn 上的某位天才告诉你,资深开发者的头衔根本不重要——纯粹为了热爱编程罢了。
好建议!
你的薪酬、奖金和职业道路并不由你的头衔决定。
我敢说,有时候我真的在想这些大聪明有没有真正进过公司干活。
没有明确的路径,大多数开发者会陷入编码泥潭:
- 你加倍专注于你当前的编程语言,以成为一个“专家”
- 你添加更多的工具到你的工具箱,比如一种新的、更令人印象深刻的编程语言,比如说 Rust
- 你对代码质量极其挑剔,追求无错误的代码
- 你开始疑惑为什么你还没被晋升
没想到!我就是你。
我犯了所有这些错误之后,后来还是在多家公司成为了高级员工,尽管我很少在团队中是最顶尖的程序员。
作为一名工程经理,我有幸将开发人员提升为高级,也有尴尬的任务向开发人员解释为何他们未获晋升。
这里有个方法帮助你一步步成为高级开发,让我们开始吧。
第0步:不要代码写得太差
让我们先把这个前提解决掉,再聊那些不太明显的东西。
你不能光靠讨人喜欢但代码很烂就期望升职(但我见过这种情况)。
要提高编程技能,最好的方法是:
- 写很多烂代码
- 阅读优秀的代码并学习有用的代码(不是通过复制粘贴,而是借鉴优秀程序员的写作风格和模式)
- 阅读你所使用的编程语言中的常见设计模式的书籍然后应用到自己的项目中
- 查找你用的框架的设计模式。 例如,如果你使用ReactJS(当然你也用过),则研究流行的组件组合、数据获取和构建大型应用的方法。
令人遗憾的事实是,许多开发人员从未能够通过第一步。
别那样做。
你比这强多了。
第一步:停止自省我帮助职业转换者成为软件开发人员,通过一对一手把手指导和实战项目。这也可以叫做训练营🙄。成为这里每年60名学生之一
我在运营一个在线编程平台Parsity.io,并常问潜在学生他们想学编程的理由是什么。
我常常听到这种回答。
“我真的喜欢独自工作。我想在家写代码,不想和人打交道”
谁告诉他?
编写软件是一项团队运动,管理多个开发者的各种更改是一项艰巨的任务。一个健康代码库的重要标志是内聚性。
很多作者用相似的写作风格写代码。
它流着。
相反,一个没有模式支撑的代码库则存在很大的问题。
当然,这确实可以工作,但当一个开发者想要创建一个新的功能时呢?他们会使用什么样的模式,又为什么使用呢?想象在一个代码库中没有任何明确的做事方法。 每个开发者基本上都在重复造轮子。
比如说,作为新手程序员,你只需要管一小部分代码,你只希望你的代码能跑起来。
到了中层管理,你的工作范围将不再局限于特定职责,你甚至可能指导新人。你的代码不仅有效运行,还会考虑到它如何融入更大的系统。
前辈们创建的代码范例让其他人更快地编写代码。他们看到完成同一任务的三个不同版本的功能,会将这些功能简化合并。他们在意并意识到这些小改进可以带来巨大的好处。
如果我们的代码库像是一本书,它是否感觉像是同一个作者写的? 尽量接近这种理想状况。
步骤2:往火那边跑。对于高级开发者的普遍期望是:
他们把难缠的虫子压扁了。
我实际上就是因为做这个得到了第一次升职。我甚至写过一篇关于这件事的文章,这里:这里(在这里)。
当你的团队遇到重大事件,比如宕机,或者首席执行官在向朋友们展示产品时发现的打字错误——我希望你举手进行调查。
别说“我会修好它。”
“查一查吧。”
每隔一个小时,用简单直白的语言更新你的进度给团队,并说实话。
如果你真的把它搞定,你就是个英雄。
如果你还需要更多帮助,你仍然会感受到与大家一起解决问题的好处。记住,团队合作才是王道。
第三步:少写代码,多写其他内容靠写代码谋生,大多只是在写。
- 文档
- 给市场部那位兄弟的邮件,说明为什么首页上的动画将需要超过一个小时(他肯定要炸了)
- 新建工单并附上必要的需求
- 在代码中添加注释,解释某个代码片段的业务背景(例如,你将日期转换成特定国家用户的格式)
- 拉取请求的说明,以便你的团队成员了解如何测试复杂的测试场景
作为一名资深开发者,你希望提升知识水平,最好的办法就是写下你的知识并与他人分享。
如果你用新技术开发了一个新功能,记得记录一下,这样其他人就知道怎么用了。
写这种类型的文章让其他开发者可以从你的错误中学习,避免踩坑。
写点不太尴尬的LinkedIn动态,关于你感兴趣的话题。
写下来整理你的思绪,从你头脑中的混乱中理出头绪。
严肃地说。
或直接翻译为:Seriously.
学习以清晰的方式写作和表达,并用易于理解的语言阐述技术概念,将对你的职业生涯有很大帮助。
你的组织规模比你那群技术宅大得多。大多数开发者根本不懂如何把技术术语变成普通人能听懂的话。
听我说,这是一项超能力,这可不简单。
唯一变得更好的方法就是开始写作。把你草稿邮件输入到Chat GPT,问它怎么让内容更简洁。
读一本像 《写得优雅》 这样的书,威廉·津瑟所著,学习专业作家如何写出好文章。
我可能得再看一遍。
最后一件事,你可能不会喜欢你可以做这些事情,但是一点忙也帮不上。
如果没有预算增加工资,那么你即使解决了最难的 bug,提前完成了特性,还指导了团队中的其他初级同事,仍然得不到那个光鲜的头衔。
还是去做这些事吧。
成功是不可避免的。时间线可能充满变数。
在您的编程生涯中,“资深程序员”将是您拥有最长时间的头衔。
对于很多软件工程师来说,这通常是他们职业生涯的终点。
那没什么问题。
所以 也许不要急于成为高级。不如慢慢来。打破常规,多学东西,并享受这个旅程。仅仅为了头衔而追逐并不会让你更快乐。
至少对我来说还好。
那时候,在某个时刻,我追着钱和名头来填补自己很久以前挖的坑。我以为更多的金钱和声望掩盖不了它,但这样的坑永远填不满。
我挖得挺深的,不是吗?
我只是说,是的,称号很重要,但它们并不能真正反映你作为一个人或程序员的价值。
现在去拿那个名次吧。
我支持你
共同学习,写下你的评论
评论加载中...
作者其他优质文章