BeingtheCEOofyourcareer,asasoftwareengineer
成为你职业生涯的CEO(以软件工程师为例)
作者:KUAndréPena
(翻译:海归找工作)
“Nothingismoreexpensivethanamissedopportunity”?“没有什么能比错过机会更宝贵”-H.HacksonBrown,JR.
我认为自己是一个相当成功的软件工程师/架构师,所以我决定与你分享在我职业发展中贡献最大的态度和行为。我不是在写一个“指南性质的列表”(我讨厌这个:)),我决定告诉你一些关于我的故事和我学到的经验教训。
11年前,在我21岁时,我开始了我的职业生涯。对终于成为了一名开发人员,我感到非常兴奋。我可以获得薪水去做我自由喜欢的事情。我对所有事情都很好奇,而且我能够整天不停学习的简单事实对我来说是一个巨大的优势。不久之后,我开始被公认为技术熟练,也被认为是具有良好判断力的人,可以做出良好的设计选择。
作为一个开发者,这不仅仅是我为谋生所做的,而且是我自己生命中的主要部分。我写代码非常认真,也很激动。我不能忍受只把这些体验保留给我自己。于是,我开始拥护优秀设计,教导他人,而且因为我花了这么多空闲时间跟踪最新技术潮流,所以我开始有坚实的论据来指导和建议我所从事项目的技术方向。为了销售你的想法并成为创新的驱动力,你必须花费能量和激情来做到这一点。认真对待自己的想法,亲自相信自己以及你所销售的产品。人们会感受到你的能量和技能,这样可以建立对你的信任。我看到很多很好的开发人员,因为他们太害羞,不能放开自己,所以不能把自己放到聚光灯下去展示。
第1个经验:不要害羞,分享你的知识,传播你的话语,写下你的想法,最重要的是,为你所相信的而努力。能够把自己当做一个好的开发人员卖出去,就和成为一个好的开发者一样重要。不要害怕说出你的想法,不要等待某人为你提供高级/技术带头人的职位。你要成为推销自己的人。
我一直所做的一件非常重要的事情就是建立一个线上的存在。我没有花太多的时间,但它最终对于我的事业发展来说非常重要。
为了学习技术,你必须创建项目。如果要利用自己的业余时间创建项目,为什么不做可能对他人有用的东西,并在GitHub上分享?除了开源,Stackoverflow对我来说也非常重要。那里的人们非常固执坚持(对于这个表达很抱歉,但我找不到任何更好的描述);当他们开始接受你的观点,这是一个很好验证你的知识的机会。当然,一个扎实的SO记录将不会对你的简历造成任何伤害,而且你将会学到很多东西。
第2个经验:建立在线存在。常规简历很难表达真正的你,而且简历很容易作假。与其他行业不同,在IT业,建立一个在线的个人资料非常简单。它可以作为你的简历的备案,并提供更多信息关于你是谁以及你熟练掌握的技术。在GitHub上构建项目,回答Stackoverflow的问题,在Twitter或Medium上写作,并以你职业生涯为中心建立一个个人网站。你会惊讶于它带来的结果。
我所面对的一个挑战是(我觉得很多人会产生共鸣),我作为开发人员做的越好,建立的信任度越多,我就开始越多的对重要功能“负责”。我对功能负责的越多,参加的会议就越多,最后,相比编写代码,我花了更多的时间参与架构决策。是的,我已经成长为软件架构师。
这是开发人员生命中的重要时刻。如果你做的一切正确,如果你可以被信任,如果你开始被视为一个领导者,你将被自然地带到一个架构师的职位(如果你不成为一个经理的话,当然,我从来没有考虑过当一个经理)。现在你必须停下来作出一个决定。
如果你选择成为一名架构师,你就会爬上公司的职位阶梯,变得有影响力,赚更多的钱。但是另一方面,你可能会失去对编码的掌握,除非你非常拼命。你会发现自己花费大部分时间在会议上,PowerPoint演示文稿和项目管理(包括时间/成本估算,资源管理,风险管理,最后期限...),以及一切实际的东西都减少成为模块和箭头。现在你必须停下来问问自己:这是你真正想要的吗?我不是说成为软件架构师是一个不好的职业决定。我只是说,如果你选择走这条路线,你必须有意识到它的优缺点:
优点:
1.可以影响项目方向和公司整体方向。
2.在公司内部的职位以及与之相伴的一切。
3.钱。
缺点:
1.你可能会失去对编码的掌握,而且随着时间的推移,你可能不太可能找到作为开发人员的工作。你可以像我一样防止这种情况发生,但这并不容易。
2.从软件架构师的工作转换到软件工程师更难。首先,因为对架构师的需求较少,其次,因为架构师通常是从优秀的工程师演变而来,所以你更有可能是被升职为架构师,而不是被直接雇用。
3.你的知识将开始更多地北京治疗白癜风的最佳疗法白癜风早期可以治愈吗