作为你职业生涯中的首席执行官,作为一名软件工程师

作为你职业生涯中的首席执行官,作为一名软件工程师

原文:https://medium.com/hackernoon/being-the-ceo-of-your-career-as-a-software-engineer-d29cb2cbb637

“没有什么比错过的机会更昂贵了”——小 h·哈克森·布朗

我认为自己是一个相当成功的软件工程师/架构师,我决定与你分享对我的职业发展贡献最大的态度和行为。与其写一篇“listicle”(我讨厌这个名字:),我决定讲一点我的故事和我一路走来学到的教训。

11 年前,我 21 岁开始了我的职业生涯。我非常兴奋终于成为一名开发人员。我觉得如果我没有账单要付,我就可以免费做我想做的事情。我对一切都很好奇,事实上,我能够整天学习对我来说是一个巨大的补偿。不久,我开始不仅被视为技术熟练的人,而且被视为具有良好判断力的人,能够做出好的设计选择。

成为一名开发人员不仅是我的谋生之道,也是我生活的一部分。我非常认真地对待代码,我对此非常兴奋,以至于我不能把它藏在心里。我开始成为优秀设计的倡导者,指导他人,因为我花了太多的空闲时间来更新,我开始有坚实的论据来领导和建议我所从事的项目的技术方向。为了推销你的想法并成为创新的驱动力,你必须充满活力和激情。认真对待你的想法,相信你自己和你卖的东西。人们会感觉到你的能量和技能,这将建立你的信任。我见过很多优秀的开发人员没有成为焦点,因为他们太害羞,不与人交往。

第一课:不要害羞,分享你的知识,传播你的想法,写下你的想法,最重要的是为你相信的东西努力奋斗。能够把自己推销成一个好的开发者和成为一个好的开发者一样重要。不要害怕说出你的想法,不要等待别人给你一个高级/技术领导的职位。先做好这个人。

一路走来,我做的一件非常重要的事情是建立一个在线形象。我没有花太多时间,但我所做的对我的职业发展非常重要。

为了让你学习技术,你必须创建项目,如果你打算在自己的空闲时间创建项目,为什么不做一些可能对他人有用的事情并在 GitHub 上分享呢?除了开源,Stackoverflow 对我也很重要。那里的人们是如此的(抱歉这么说,但我找不到更好的描述)当他们开始接受你的观点时,这是对你知识的巨大认可。当然,一份扎实的 SO 简介不会对你的简历有任何影响,而且你会在这个过程中学到很多。

第二课:建立在线形象。普通的简历很少展示你的真实身份,人们很容易在简历上撒谎。与其他职业不同的是,在 IT 行业,建立一份在线个人资料真的很容易,这将支持你的简历,并提供更多关于你是谁以及你擅长什么技术的信息。在 GitHub 上建立项目,在 Stackoverflow 上回答问题,在 Twitter 或 Medium 上写作,建立个人网站成为你职业生活的枢纽。你会对结果感到惊讶。

我面临的一个挑战是,我觉得你们中的许多人都会产生共鸣,作为一名开发人员,我做得越好,建立的信任越多,我就越开始对重要的功能“负责”。我对特性负责得越多,我参加的会议就越多,最终,在我意识到之前,我花在架构决策和工作评估上的时间比花在编码上的时间还多。是的。我已经成为一名软件架构师。

这是开发人员一生中的一个重要时刻。如果你做的每件事都是正确的,如果你可以被信任,如果你开始被视为一个领导者,你会自然地被拖到一个架构师的位置上(如果你没有成为经理,当然,这是我从未考虑过要做的)。现在你必须停下来做决定。

如果你选择成为一名建筑师,你会在公司的阶梯上往上爬,变得有影响力,赚更多的钱。但是,从另一方面来说,你可能会失去对编码的理解,除非你非常努力地与之斗争。如果你走得够远,你会发现自己大部分时间都花在了开会、做 PowerPoint 演示和项目管理上(包括工作/成本估算、资源管理、风险管理、截止日期……),曾经实用的东西现在都变成了积木和箭头。现在你必须停下来问问自己:这是你真正想要的吗?我并不是说,无论如何,成为一名软件架构师是一个糟糕的职业决策,或者不可能成为一名实践型的架构师。我只是说,如果你选择这条路线,它必须是有意识的,你必须意识到利弊。

优点:

  1. 对项目和公司整体方向的影响。
  2. 公司内部的地位以及随之而来的一切。
  3. 钱。

缺点:

  1. 你可能会失去对编码的理解,随着时间的推移,这将使你不太可能找到一份开发人员的工作,如果这是你想要的。你可以像我一样阻止这种事情发生,但这并不容易。
  2. 软件架构师比软件工程师更难转换工作。首先,因为对建筑师的需求减少了,其次,因为建筑师从伟大的工程师发展而来是很常见的,所以你更有可能被提升为建筑师,而不是被雇佣为建筑师。
  3. 你的知识将开始更多地是关于你工作的公司的内部流程和技术,而不是对其他公司有价值的行业标准技能。你将成为你工作的公司的宝贵资产,而不是其他公司的宝贵资产。

第三课:有意识地决定是否要成为一名建筑师。如果你选择成为一名架构师,尽你最大的努力,保持编码和与新技术和趋势同步。失去对编码的掌握将会令人沮丧,并极大地降低你的工作流动性。不要这样做。如果你像我一样喜欢做一名开发人员,你可以协商条件或者成为一名技术领导者,这将赋予你影响力,同时仍然允许你做自己喜欢的事情。

回到我的职业生涯…

我最终成为了一家跨国巨头公司的跨国团队的架构师,我学到了很多东西。我是说,真的。我真的很感谢这个机会和我所有的美好经历。然而,这不是我想要的。我想成为一名高级软件工程师,这将我带回了找工作的话题,以及本文的最后一章。

12 个月前,我决定利用 Stackoverflow Jobs 寻找一份工作,这份工作要么离我很远,要么能支持我移居欧洲(我住在巴西)。我特别喜欢 Stackoverflow Jobs ,因为:

  1. 它有一个非常好的 CV 编辑器,集成了 Stackoverflow 和 GitHub。它还建立了一个非常酷的时间线,他们称之为“开发者故事”。它还允许您将您的简历导出为 PDF 文件。
  2. 对于大多数工作,你只需点击一下就可以申请。
  3. 它可以让你设置过滤器,如“签证赞助”或“远程”,以及你想使用的技术,如“javascript”和“react”,他们会给你发送电子邮件,告诉你工作机会。再说一次,对于他们中的大多数人,你可以一键申请。

我从这次求职中学到的最重要的事情是擅长算法和数据结构有多重要。不管你喜欢与否,在你通过白板或自动编码挑战之前,大多数公司甚至不会和你谈论你的背景和技能。我发现我真的很差劲。说实话,不管你有多优秀,你一生中有多少次去平衡一个二叉查找树呢?但事实就是这样,所以你最好做好准备。

我花了几个月的时间训练。我已经用 JavaScript 和 Python 实现了我自己的数据结构和最常见的算法,过了一段时间,我变得越来越擅长,这比我想象的要重要得多。

第四课:如果你认为有一点点可能你需要再找一份软件开发的工作,保持你解决问题的能力。注册一个 HackerRank 账户,深入研究算法和数据结构。你应该从出色的破解编码面试挑战开始。

最后,由于我的算法技能是最新的,加上我的在线个人资料的建立,我能够收到来自世界各地多家公司的优秀报价。我很快就要换工作了,一旦一切都结束了,我会让你知道我的经历。

最后一句忠告…

第五课 : 如果你现在不开心,不要安定,不要害怕。不要让恐惧阻止你实现梦想。当你老了,你永远不会原谅自己。

我祝你一路顺风。

“当你不喜欢一件事时,你应该做的是改变它。如果你不能改变它,那就改变你的思考方式。不要抱怨。”― 玛娅·安杰洛现在不会为我的旅程拿走任何东西

关于作者

我是安德烈·佩纳,我喜欢写作和建筑。最近我建了: https://remoted.io ,一个面向开发者的远程作业聚合器,看看吧!💗

黑客中午是黑客如何开始他们的下午。我们是 @AMI 家庭的一员。我们现在接受投稿并乐意讨论广告&赞助机会。

如果你喜欢这个故事,我们推荐你阅读我们的最新科技故事趋势科技故事。直到下一次,不要把世界的现实想当然!


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除